diff --git a/.github/workflows/build-and-run-tests-from-branch.yml b/.github/workflows/build-and-run-tests-from-branch.yml deleted file mode 100644 index 67641da8..00000000 --- a/.github/workflows/build-and-run-tests-from-branch.yml +++ /dev/null @@ -1,364 +0,0 @@ -name: "[M] UTBot Java: build and run tests" - -on: - workflow_dispatch: - inputs: - commit_sha: - required: false - type: string - description: "Commit SHA (optional -- otherwise the last commit from the branch will be taken)" - - workflow_call: - inputs: - commit_sha: - required: false - type: string - -env: - REGISTRY: ghcr.io - IMAGE_NAME: utbot_java_cli - DOCKERFILE_PATH: docker/Dockerfile_java_cli - # Environment variable setting gradle options. - # - # When configuring Gradle behavior you can use these methods, - # listed in order of highest to lowest precedence (first one wins): - # - Command-line flags such as --build-cache. - # These have precedence over properties and environment variables. - # - System properties such as systemProp.http.proxyHost=somehost.org - # stored in a gradle.properties file in a root project directory. - # - Gradle properties such as org.gradle.caching=true that are - # typically stored in a gradle.properties file in a project - # directory or in the GRADLE_USER_HOME. - # - Environment variables such as GRADLE_OPTS sourced by the - # environment that executes Gradle. - # - # read more at: https://docs.gradle.org/current/userguide/build_environment.html - # - # example of GRADLE_OPTS: -# GRADLE_OPTS: "-XX:MaxHeapSize=2048m -Dorg.gradle.daemon=false -Dorg.gradle.parallel=false -Dkotlin.compiler.execution.strategy=in-process" - PUSHGATEWAY_HOSTNAME: monitoring.utbot.org - ELK_HOSTNAME: logs.utbot.org - FILEBEAT_DIR: /tmp/filebeat - -jobs: - prepare-matrices: - runs-on: ubuntu-latest - # Outputs are used for passing data to dependent jobs. - outputs: - framework-tests-matrix: ${{ steps.set-matrices.outputs.framework-tests-matrix }} - combined-projects-matrix: ${{ steps.set-matrices.outputs.combined-projects-matrix }} - steps: - - name: Print environment variables - run: printenv - - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - id: set-matrices - name: Read and print config from framework-tests-matrix.json and combined-projects-matrix.json - run: | - FRAMEWORK_TESTS=$(echo $(cat .github/workflows/framework-tests-matrix.json)) - COMBINED_PROJECTS=$(echo $(cat .github/workflows/combined-projects-matrix.json)) - echo "framework-tests-matrix=$FRAMEWORK_TESTS" >> $GITHUB_OUTPUT - echo "combined-projects-matrix=$COMBINED_PROJECTS" >> $GITHUB_OUTPUT - echo $FRAMEWORK_TESTS - echo $COMBINED_PROJECTS - - - framework-tests: - needs: prepare-matrices - # Using matrices let create multiple jobs runs based on the combinations of the variables from matrices. - # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs - strategy: - # The option forces to execute all jobs even though some of them have failed. - fail-fast: false - matrix: ${{ fromJson(needs.prepare-matrices.outputs.framework-tests-matrix) }} - runs-on: ubuntu-20.04 - container: - image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - volumes: - - "/home/runner/runners:/home/runner/runners" - - "/tmp/filebeat:/tmp/filebeat" - steps: - - name: Print environment variables - run: printenv - - - name: Checkout repository - uses: actions/checkout@v3 - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - - name: Run monitoring - # secret uploaded using base64 encoding to have one-line output: - # cat file | base64 -w 0 - continue-on-error: true - run: | - chmod +x ./scripts/project/monitoring.sh - ./scripts/project/monitoring.sh "${PUSHGATEWAY_HOSTNAME}" "${{ secrets.PUSHGATEWAY_USER }}" "${{ secrets.PUSHGATEWAY_PASSWORD }}" - echo "Please visit Grafana to check metrics: https://${PUSHGATEWAY_HOSTNAME}/d/rYdddlPWk/node-exporter-full?orgId=1&from=now-1h&to=now&var-service=github&var-instance=${GITHUB_RUN_ID}-${HOSTNAME}&refresh=1m" - echo --- - printf ${{ secrets.CA_CERT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/ca.crt - printf ${{ secrets.CLIENT_CRT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.crt - printf ${{ secrets.CLIENT_KEY }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.key - chmod +x ./scripts/project/logging.sh - ./scripts/project/logging.sh "${FILEBEAT_DIR}" "${{ secrets.ELK_HOST }}:5044" - echo "Please visit ELK to check logs https://logs.utbot.org/app/discover#/ using the following search pattern: github.env.HOSTNAME:\"${HOSTNAME}\" and github.env.GITHUB_RUN_ID:\"${GITHUB_RUN_ID}\" and not github.log_level:\"INFO\"" - - # cache will use the key you provided and contains the files you specify in path. - # - # When key matches an existing cache, it's called a cache hit, and the action - # restores the cached files to the path directory. - # When key doesn't match an existing cache, it's called a cache miss, and a new - # cache is automatically created if the job completes successfully. - # - # The cache action first searches for cache hits for key and restore-keys in the - # branch containing the workflow run. If there are no hits in the current branch, - # the cache action searches for key and restore-keys in the parent branch and - # upstream branches. - - uses: actions/cache@v3 - with: - path: /root/.gradle/caches - # key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle', '*.gradle.kts', './*.gradle', './*.gradle.kts') }} - # hashFiles returns a single hash for the set of files that matches the path pattern - key: ${{ runner.os }}-gradle-framework-${{ hashFiles('./*.gradle*', './utbot-framework*/*.gradle*') }} - restore-keys: ${{ runner.os }}-gradle-framework - - - name: Run tests - run: | - gradle -PprojectType=ExperimentalLanguages --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-framework-test:test ${{ matrix.project.TESTS_TO_RUN }} - - - name: Upload logs - if: ${{ always() }} - uses: actions/upload-artifact@v3 - with: - name: logs ${{ matrix.project.PART_NAME }} - path: utbot-framework-test/logs/* - - - name: Upload UTBot temp directory content - if: ${{ always() }} - uses: actions/upload-artifact@v3 - with: - name: utbot_temp ${{ matrix.project.PART_NAME }} - path: | - /tmp/UTBot/generated*/* - /tmp/UTBot/utbot-instrumentedprocess-errors/* - - name: Upload test report if tests have failed - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: test_report ${{ matrix.project.PART_NAME }} - path: utbot-framework-test/build/reports/tests/test/* - - - spring-tests: - runs-on: ubuntu-20.04 - container: - image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - volumes: - - "/home/runner/runners:/home/runner/runners" - - "/tmp/filebeat:/tmp/filebeat" - steps: - - name: Print environment variables - run: printenv - - - name: Checkout repository - uses: actions/checkout@v3 - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - - name: Run monitoring - continue-on-error: true - run: | - chmod +x ./scripts/project/monitoring.sh - ./scripts/project/monitoring.sh "${PUSHGATEWAY_HOSTNAME}" "${{ secrets.PUSHGATEWAY_USER }}" "${{ secrets.PUSHGATEWAY_PASSWORD }}" - echo "Please visit Grafana to check metrics: https://${PUSHGATEWAY_HOSTNAME}/d/rYdddlPWk/node-exporter-full?orgId=1&from=now-1h&to=now&var-service=github&var-instance=${GITHUB_RUN_ID}-${HOSTNAME}&refresh=1m" - echo --- - printf ${{ secrets.CA_CERT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/ca.crt - printf ${{ secrets.CLIENT_CRT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.crt - printf ${{ secrets.CLIENT_KEY }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.key - chmod +x ./scripts/project/logging.sh - ./scripts/project/logging.sh "${FILEBEAT_DIR}" "${{ secrets.ELK_HOST }}:5044" - echo "Please visit ELK to check logs https://logs.utbot.org/app/discover#/ using the following search pattern: github.env.HOSTNAME:\"${HOSTNAME}\" and github.env.GITHUB_RUN_ID:\"${GITHUB_RUN_ID}\" and not github.log_level:\"INFO\"" - - - uses: actions/cache@v3 - with: - path: /root/.gradle/caches - key: ${{ runner.os }}-gradle-spring-${{ hashFiles('./*.gradle*', './utbot-spring*/*.gradle*') }} - restore-keys: ${{ runner.os }}-gradle-spring - - - name: Run tests - run: | - cd utbot-spring-test - gradle -PprojectType=Spring --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-spring-test:test - - - name: Upload logs - if: ${{ always() }} - uses: actions/upload-artifact@v3 - with: - name: logs utbot-spring-test - path: utbot-spring-test/logs/* - - name: Upload UTBot temp directory content - if: ${{ always() }} - uses: actions/upload-artifact@v3 - with: - name: utbot_temp utbot-spring-test - path: | - /tmp/UTBot/generated*/* - /tmp/UTBot/utbot-instrumentedprocess-errors/* - - name: Upload test report if tests have failed - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: test_report utbot-spring-test - path: utbot-spring-test/build/reports/tests/test/* - - - combined-projects: - # This job does not need to wait for 'prepare-tests-matrix' result. - # GitHub allocates runners portionally. Framework tests are time consuming. That's why we want to force them - # to start execution early. - needs: prepare-matrices - # Using matrices let create multiple jobs runs based on the combinations of the variables from matrices. - # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs - strategy: - # The option forces to execute all jobs even though some of them have failed. - fail-fast: false - matrix: ${{ fromJson(needs.prepare-matrices.outputs.combined-projects-matrix) }} - runs-on: ubuntu-20.04 - container: - image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - volumes: - - "/home/runner/runners:/home/runner/runners" - - "/tmp/filebeat:/tmp/filebeat" - steps: - - name: Print environment variables - run: printenv - - - name: Checkout repository - uses: actions/checkout@v3 - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - - name: Run monitoring - run: | - chmod +x ./scripts/project/monitoring.sh - ./scripts/project/monitoring.sh "${PUSHGATEWAY_HOSTNAME}" "${{ secrets.PUSHGATEWAY_USER }}" "${{ secrets.PUSHGATEWAY_PASSWORD }}" - echo "Please visit Grafana to check metrics: https://${PUSHGATEWAY_HOSTNAME}/d/rYdddlPWk/node-exporter-full?orgId=1&from=now-1h&to=now&var-service=github&var-instance=${GITHUB_RUN_ID}-${HOSTNAME}&refresh=1m" - echo --- - printf ${{ secrets.CA_CERT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/ca.crt - printf ${{ secrets.CLIENT_CRT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.crt - printf ${{ secrets.CLIENT_KEY }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.key - chmod +x ./scripts/project/logging.sh - ./scripts/project/logging.sh "${FILEBEAT_DIR}" "${{ secrets.ELK_HOST }}:5044" - echo "Please visit ELK to check logs https://logs.utbot.org/app/discover#/ using the following search pattern: github.env.HOSTNAME:\"${HOSTNAME}\" and github.env.GITHUB_RUN_ID:\"${GITHUB_RUN_ID}\" and not github.log_level:\"INFO\"" - - - uses: actions/cache@v3 - with: - path: /root/.gradle/caches - key: ${{ runner.os }}-gradle-combined-${{ hashFiles('./*.gradle*', './*/.gradle*') }} - restore-keys: ${{ runner.os }}-gradle-combined- - - name: Build project ${{ matrix.projects.first }} - id: first-project - run: | - cd ${{ matrix.projects.first }} - gradle build --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g - - - name: Build project ${{ matrix.projects.second }} - if: ${{ steps.first-project.outcome != 'cancelled' && steps.first-project.outcome != 'skipped' }} - run: | - cd ${{ matrix.projects.second }} - gradle build --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g - - - name: Upload test report if tests have failed - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: test_report ${{ matrix.projects.first }} - path: ${{ matrix.projects.first }}/build/reports/tests/test/* - - - name: Upload test report if tests have failed - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: test_report ${{ matrix.projects.second }} - path: ${{ matrix.projects.second }}/build/reports/tests/test/* - - - single-project: - # This job does not need to wait for 'prepare-tests-matrix' result. - # GitHub allocates runners portionally. Framework tests are time consuming. That's why we want to force them - # to start execution early. - needs: prepare-matrices - # Using matrices let create multiple jobs runs based on the combinations of the variables from matrices. - # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs - strategy: - # The option forces to execute all jobs even though some of them have failed. - fail-fast: false - matrix: - project: [utbot-core, utbot-java-fuzzing, utbot-gradle, utbot-junit-contest, utbot-sample] - runs-on: ubuntu-20.04 - container: - image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - volumes: - - "/home/runner/runners:/home/runner/runners" - - "/tmp/filebeat:/tmp/filebeat" - steps: - - name: Print environment variables - run: printenv - - - name: Checkout repository - uses: actions/checkout@v3 - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - - name: Run monitoring - run: | - chmod +x ./scripts/project/monitoring.sh - ./scripts/project/monitoring.sh "${PUSHGATEWAY_HOSTNAME}" "${{ secrets.PUSHGATEWAY_USER }}" "${{ secrets.PUSHGATEWAY_PASSWORD }}" - echo "Please visit Grafana to check metrics: https://${PUSHGATEWAY_HOSTNAME}/d/rYdddlPWk/node-exporter-full?orgId=1&from=now-1h&to=now&var-service=github&var-instance=${GITHUB_RUN_ID}-${HOSTNAME}&refresh=1m" - echo --- - printf ${{ secrets.CA_CERT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/ca.crt - printf ${{ secrets.CLIENT_CRT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.crt - printf ${{ secrets.CLIENT_KEY }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.key - chmod +x ./scripts/project/logging.sh - ./scripts/project/logging.sh "${FILEBEAT_DIR}" "${{ secrets.ELK_HOST }}:5044" - echo "Please visit ELK to check logs https://logs.utbot.org/app/discover#/ using the following search pattern: github.env.HOSTNAME:\"${HOSTNAME}\" and github.env.GITHUB_RUN_ID:\"${GITHUB_RUN_ID}\" and not github.log_level:\"INFO\"" - - - uses: actions/cache@v3 - with: - path: /root/.gradle/caches - key: ${{ runner.os }}-gradle-${{ matrix.project }}-${{ hashFiles('./*.gradle*', format('{0}{1}{2}', './', matrix.project, '/*.gradle*')) }} - restore-keys: ${{ runner.os }}-gradle-${{ matrix.project }}- - - name: Run tests - run: | - cd ${{ matrix.project }} - gradle build --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g - - - name: Upload test report if tests have failed - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: test_report ${{ matrix.project }} - path: ${{ matrix.project }}/build/reports/tests/test/* diff --git a/.github/workflows/build-and-run-tests.yml b/.github/workflows/build-and-run-tests.yml deleted file mode 100644 index 0779d056..00000000 --- a/.github/workflows/build-and-run-tests.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: "UTBot Java: build and run tests" - -on: - push: - branches: - - 'main' - - 'unit-test-bot/r**' - pull_request: - branches: - - 'main' - - 'unit-test-bot/r**' - -jobs: - build-and-run-tests: - uses: ./.github/workflows/build-and-run-tests-from-branch.yml - secrets: inherit - - publish_plugin: - needs: build-and-run-tests - uses: ./.github/workflows/publish-plugin-from-branch.yml - with: - # upload artifacts on push action to main only - upload-artifact: ${{ github.event_name == 'push' }} - secrets: inherit - - publish_cli: - needs: build-and-run-tests - uses: ./.github/workflows/publish-cli-from-branch.yml - with: - # upload artifacts on push action to main only - upload-artifact: ${{ github.event_name == 'push' }} - secrets: inherit - - publish-cli-image: - needs: build-and-run-tests - if: ${{ github.event_name == 'push' }} - uses: ./.github/workflows/publish-cli-image-from-branch.yml - secrets: inherit diff --git a/.github/workflows/collect-statistics.yml b/.github/workflows/collect-statistics.yml deleted file mode 100644 index 499ea35e..00000000 --- a/.github/workflows/collect-statistics.yml +++ /dev/null @@ -1,224 +0,0 @@ -name: "UTBot Java: collect statistics" - -on: - workflow_call: - inputs: - runners: - description: 'Runners number' - required: false - default: '1' - type: string - run_number: - description: 'Number of run tries per runner (values greater than 1 are not supported with grafana)' - required: false - default: '1' - type: string - message_prefix: - description: 'Commit message prefix' - required: false - default: manual-run - type: string - push_results: - description: 'Push metrics into github' - required: false - default: false - type: boolean - send_to_grafana: - description: 'Send metrics to grafana' - required: false - default: false - type: boolean - - workflow_dispatch: - inputs: - runners: - description: 'Runners number' - required: false - default: '1' - type: string - run_number: - description: 'Number of run tries per runner (values greater than 1 are not supported with grafana)' - required: false - default: '1' - type: string - message_prefix: - description: 'Commit message prefix' - required: false - default: manual-run - type: string - push_results: - description: 'Push metrics into github' - required: false - default: false - type: boolean - send_to_grafana: - description: 'Send metrics to grafana' - required: false - default: false - type: boolean - -env: - data_branch: monitoring-data - data_path: monitoring/data - monitoring_projects: monitoring/projects/ - push_script: monitoring/push_with_rebase.sh - PUSHGATEWAY_HOSTNAME: monitoring.utbot.org - PUSHGATEWAY_ADDITIONAL_PATH: /pushgateway-custom - PROM_ADDITIONAL_LABELS: /service/github - -jobs: - setup_matrix: - runs-on: ubuntu-latest - outputs: - projects: ${{ steps.set-matrix.outputs.projects }} - matrix: ${{ steps.set-matrix.outputs.matrix }} - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Create matrix - id: set-matrix - shell: bash - run: | - read -r -a projects <<< $(ls --format=horizontal --indicator-style=none $monitoring_projects) - projects=(${projects[@]/#/\"}) - projects=(${projects[@]/%/\"}) - printf -v projects '%s,' "${projects[@]}" - projects=$(echo [${projects%,}]) - echo "projects=$projects" >> $GITHUB_OUTPUT - echo $projects - - arr=$(echo [$(seq -s , ${{ inputs.runners }})]) - echo "matrix=$arr" >> $GITHUB_OUTPUT - echo $arr - - build_and_collect_statistics: - needs: setup_matrix - continue-on-error: true - strategy: - max-parallel: 3 - matrix: - project: ${{ fromJson(needs.setup_matrix.outputs.projects) }} - value: ${{ fromJson(needs.setup_matrix.outputs.matrix) }} - runs-on: ubuntu-20.04 - container: unittestbot/java-env:java17-zulu-jdk-fx-gradle7.6.1-kotlinc1.8.0 - steps: - - name: Install git - run: | - apt-get upgrade -y - apt-get update -y - apt-get install git -y - git config --global --add safe.directory $(pwd) - - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Checkout monitoring data - uses: actions/checkout@v3 - with: - ref: ${{ env.data_branch }} - path: ${{ env.data_path }} - - - uses: actions/setup-python@v4 - with: - python-version: '3.9' - - - name: Build and run monitoring UTBot Java - run: | - gradle :utbot-junit-contest:monitoringJar - for i in $(seq ${{ inputs.run_number }}) - do - java -jar \ - -Dutbot.monitoring.settings.path=$monitoring_projects/${{ matrix.project }}/monitoring.properties \ - utbot-junit-contest/build/libs/monitoring.jar \ - stats-$i.json - mv logs/utbot.log logs/utbot-$i.log - done - - - name: Get current date - id: date - run: | - echo "date=$(date +'%Y-%m-%d-%H-%M-%S')" >> $GITHUB_OUTPUT - echo "timestamp=$(date +%s)" >> $GITHUB_OUTPUT - echo "last_month=$(date --date='last month' +%s)" >> $GITHUB_OUTPUT - - - name: Get metadata - id: metadata - run: | - echo "commit=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT - echo "short_commit=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - echo "branch=$(git name-rev --name-only HEAD)" >> $GITHUB_OUTPUT - echo "build=$(date +'%Y.%-m')" >> $GITHUB_OUTPUT - - - name: Insert metadata - id: insert - shell: bash - run: | - OUT_FILE="$data_path/$date-$short_commit-${{ matrix.project }}-${{ matrix.value }}.json" - echo "output=$OUT_FILE" >> $GITHUB_OUTPUT - - INPUTS=($(seq ${{ inputs.run_number }})) - INPUTS=(${INPUTS[@]/#/stats-}) - INPUTS=(${INPUTS[@]/%/.json}) - INPUTS=${INPUTS[@]} - echo $INPUTS - - python monitoring/insert_metadata.py \ - --stats_file $INPUTS \ - --output_file "$OUT_FILE" \ - --commit $commit \ - --branch $branch \ - --build "$build" \ - --timestamp $timestamp \ - --source_type "github-action" \ - --source_id $run_id - env: - date: ${{ steps.date.outputs.date }} - timestamp: ${{ steps.date.outputs.timestamp }} - commit: ${{ steps.metadata.outputs.commit }} - short_commit: ${{ steps.metadata.outputs.short_commit }} - branch: ${{ steps.metadata.outputs.branch }} - build: ${{ steps.metadata.outputs.build }} - run_id: ${{ github.run_id }}-${{ matrix.value }} - - - name: Upload statistics - uses: actions/upload-artifact@v3 - with: - name: statistics-${{ matrix.value }}-${{ matrix.project }} - path: ${{ steps.insert.outputs.output }} - - - name: Commit and push statistics - if: ${{ inputs.push_results }} - run: | - chmod +x $push_script - ./$push_script - env: - target_branch: ${{ env.data_branch }} - target_directory: ${{ env.data_path }} - message: ${{ inputs.message_prefix }}-${{ steps.date.outputs.date }} - github_token: ${{ secrets.GITHUB_TOKEN }} - - - name: Send metrics to grafana - if: ${{ inputs.send_to_grafana }} - run: | - python monitoring/prepare_metrics.py --stats_file $stats_file --output_file grafana_metrics.json - chmod +x scripts/project/json_to_prometheus.py - python3 scripts/project/json_to_prometheus.py grafana_metrics.json | curl -u "${{ secrets.PUSHGATEWAY_USER }}:${{ secrets.PUSHGATEWAY_PASSWORD }}" --data-binary @- "https://${PUSHGATEWAY_HOSTNAME}${PUSHGATEWAY_ADDITIONAL_PATH}/metrics/job/pushgateway-custom/instance/run-${{ matrix.value }}-${{ matrix.project }}${PROM_ADDITIONAL_LABELS}" - echo "Please visit Grafana to check metrics: https://monitoring.utbot.org/d/m6bagaD4z/utbot-nightly-statistic" - env: - stats_file: ${{ steps.insert.outputs.output }} - - - name: Upload logs - if: ${{ always() }} - uses: actions/upload-artifact@v3 - with: - name: logs-${{ matrix.value }}-${{ matrix.project }} - path: logs/ - - - name: Upload artifacts - if: ${{ always() }} - uses: actions/upload-artifact@v3 - with: - name: generated-${{ matrix.value }}-${{ matrix.project }} - path: | - /tmp/UTBot/generated*/* diff --git a/.github/workflows/combined-projects-matrix.json b/.github/workflows/combined-projects-matrix.json deleted file mode 100644 index 83130dd1..00000000 --- a/.github/workflows/combined-projects-matrix.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "projects": [ - { - "FIRST": "utbot-intellij", - "SECOND": "utbot-cli" - }, - { - "FIRST": "utbot-instrumentation", - "SECOND": "utbot-instrumentation-tests" - }, - { - "FIRST": "utbot-summary", - "SECOND": "utbot-summary-tests" - }, - { - "FIRST": "utbot-api", - "SECOND": "utbot-framework-api" - } - ] -} diff --git a/.github/workflows/framework-tests-matrix.json b/.github/workflows/framework-tests-matrix.json deleted file mode 100644 index 6e87eaed..00000000 --- a/.github/workflows/framework-tests-matrix.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "project": [ - { - "PART_NAME": "composite-part1", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.manual.*\"" - }, - { - "PART_NAME": "composite-part2", - "TESTS_TO_RUN": "--tests \"org.utbot.engine.*\" --tests \"org.utbot.framework.*\" --tests \"org.utbot.sarif.*\" --tests \"org.utbot.examples.taint.*\"" - }, - { - "PART_NAME": "composite-part3", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.stream.*\"" - }, - { - "PART_NAME": "collections-part1", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.MapValuesTest\" --tests \"org.utbot.examples.collections.OptionalsTest\" --tests \"org.utbot.examples.collections.SetIteratorsTest\" --tests \"org.utbot.examples.collections.CustomerExamplesTest\" --tests \"org.utbot.examples.collections.GenericListsExampleTest\" --tests \"org.utbot.examples.collections.LinkedListsTest\" --tests \"org.utbot.examples.collections.ListAlgorithmsTest\"" - }, - { - "PART_NAME": "collections-part2", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.SetsTest\" --tests \"org.utbot.examples.collections.ListIteratorsTest\" --tests \"org.utbot.examples.collections.ListWrapperReturnsVoidTest\" --tests \"org.utbot.examples.collections.MapEntrySetTest\" --tests \"org.utbot.examples.collections.MapKeySetTest\"" - }, - { - "PART_NAME": "examples-part1", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.annotations.*\" --tests \"org.utbot.examples.arrays.*\" --tests \"org.utbot.examples.casts.*\" --tests \"org.utbot.examples.controlflow.*\" --tests \"org.utbot.examples.enums.*\"" - }, - { - "PART_NAME": "examples-part2", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.exceptions.*\" --tests \"org.utbot.examples.invokes.*\" --tests \"org.utbot.examples.lambda.*\" --tests \"org.utbot.examples.make.symbolic.*\" --tests \"org.utbot.examples.math.*\" --tests \"org.utbot.examples.mixed.*\"" - }, - { - "PART_NAME": "examples-part3", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.primitives.*\"" - }, - { - "PART_NAME": "examples-part4", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.thirdparty.numbers.*\" --tests \"org.utbot.examples.types.*\" --tests \"org.utbot.examples.unsafe.*\" --tests \"org.utbot.examples.wrappers.*\" --tests \"org.utbot.examples.recursion.*\" --tests \"org.utbot.examples.statics.substitution.*\" --tests \"org.utbot.examples.stdlib.*\" --tests \"org.utbot.examples.structures.*\"" - }, - { - "PART_NAME": "examples-part5", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.strings.*\"" - }, - { - "PART_NAME": "examples-part6", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.strings11.*\"" - }, - { - "PART_NAME": "examples-part7", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.algorithms.*\"" - }, - { - "PART_NAME": "examples-part8", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.codegen.*\"" - }, - { - "PART_NAME": "examples-part9", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.mock.*\" --tests \"org.utbot.examples.models.*\" --tests \"org.utbot.examples.natives.*\" --tests \"org.utbot.examples.objects.*\" --tests \"org.utbot.examples.reflection.*\" --tests \"org.utbot.examples.threads.*\"" - }, - { - "PART_NAME": "examples-lists", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.ListsPart1Test\" --tests \"org.utbot.examples.collections.ListsPart2Test\" --tests \"org.utbot.examples.collections.ListsPart3Test\"" - }, - { - "PART_NAME": "examples-maps-part1", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.MapsPart1Test\"" - }, - { - "PART_NAME": "examples-maps-part2", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.MapsPart2Test\"" - } - ] -} diff --git a/.github/workflows/gradle-publish.yml b/.github/workflows/gradle-publish.yml new file mode 100644 index 00000000..27df01f2 --- /dev/null +++ b/.github/workflows/gradle-publish.yml @@ -0,0 +1,47 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created +# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle + +name: Gradle Package + +on: + push: + branches: [main] + +jobs: + build: + + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'corretto' + server-id: github # Value of the distributionManagement/repository/id field of the pom.xml + settings-path: ${{ github.workspace }} # location for the settings.xml file + + - name: Build with Gradle + uses: gradle/gradle-build-action@v2 + with: + gradle-version: 7.4.2 + arguments: :utbot-light:build -x test + + # The USERNAME and TOKEN need to correspond to the credentials environment variables used in + # the publishing section of your build.gradle + - name: Publish to GitHub Packages + uses: gradle/gradle-build-action@v2 + with: + gradle-version: 7.4.2 + arguments: publish + env: + GITHUB_ACTOR: ${{ github.actor }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/issue-to-project.yml b/.github/workflows/issue-to-project.yml deleted file mode 100644 index 3a0b7edb..00000000 --- a/.github/workflows/issue-to-project.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Add issues to UTBot Java project - -on: - issues: - types: - - opened - -jobs: - add-to-project: - name: Add issue to project - runs-on: ubuntu-latest - steps: - - uses: actions/add-to-project@main - with: - project-url: https://github.com/orgs/UnitTestBot/projects/2 - github-token: ${{ secrets.COPY_ISSUE_TO_PROJECT }} diff --git a/.github/workflows/night-statistics-monitoring.yml b/.github/workflows/night-statistics-monitoring.yml deleted file mode 100644 index 99af44d6..00000000 --- a/.github/workflows/night-statistics-monitoring.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: "UTBot Java: night statistics monitoring" - -on: - schedule: - - cron: '0 0 * * *' - -jobs: - run_monitoring: - uses: ./.github/workflows/collect-statistics.yml - secrets: inherit - with: - runners: 3 - run_number: 1 - message_prefix: night-monitoring - push_results: true - send_to_grafana: true diff --git a/.github/workflows/public-rider-plugin.yml b/.github/workflows/public-rider-plugin.yml deleted file mode 100644 index 271abfb6..00000000 --- a/.github/workflows/public-rider-plugin.yml +++ /dev/null @@ -1,84 +0,0 @@ -# This is a basic workflow that is manually triggered - -name: Publish Rider plugin - -# Controls when the action will run. Workflow runs when manually triggered using the UI -# or API. -on: - workflow_dispatch: - # Inputs the workflow accepts. - inputs: - minor-release: - type: choice - description: "It adds minor release indicator to version." - required: true - default: 'none' - options: - - 'none' - - '1' - - '2' - - '3' - - '4' - - version-postfix: - type: choice - description: "It adds alpha or beta postfix to version." - required: true - default: no-postfix-prod - options: - - no-postfix-prod - - no-postfix - - alpha - - beta - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "greet" - public_rider_plugin: - # The type of runner that the job will run on - runs-on: ubuntu-20.04 - container: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - # Runs a single command using the runners shell - - name: Print environment variables - run: printenv - - - uses: actions/checkout@v3 - - - name: Set environment variables - run: | - # "You can make an environment variable available to any subsequent steps in a workflow job by - # defining or updating the environment variable and writing this to the GITHUB_ENV environment file." - echo "VERSION="$(date +%Y).$(date +%-m).${GITHUB_RUN_NUMBER}"" >> $GITHUB_ENV - echo "POSTFIX=${{ github.event.inputs.version-postfix }}" >> $GITHUB_ENV - - - name: Set production version - if: ${{ github.event.inputs.version-postfix == 'no-postfix-prod' || github.event.inputs.version-postfix == 'alpha' || github.event.inputs.version-postfix == 'beta' }} - run: | - echo "VERSION="$(date +%Y).$(date +%-m)"" >> $GITHUB_ENV - - - name: Set version for minor release - if: ${{ github.event.inputs.minor-release != 'none' }} - run: | - echo "VERSION=${{ env.VERSION }}.${{ github.event.inputs.minor-release }}" >> $GITHUB_ENV - - - name: Create version with postfix - if: ${{ (env.POSTFIX == 'alpha') || (env.POSTFIX == 'beta') }} - run: - echo "VERSION=${{ env.VERSION }}-${{ env.POSTFIX }}" >> $GITHUB_ENV - - - name: Build UTBot Rider plugin - run: | - gradle clean :utbot-rider:buildPlugin --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx2g -Dkotlin.daemon.jvm.options=-Xmx4g -PsemVer=${{ env.VERSION }} -PincludeRiderInBuild=true - cd utbot-rider/build/distributions - unzip utbot-rider-${{ env.VERSION }}.zip - rm utbot-rider-${{ env.VERSION }}.zip - - - name: Archive UTBot Rider plugin - uses: actions/upload-artifact@v3 - with: - name: utbot-rider-${{ env.VERSION }} - path: utbot-rider/build/distributions/* - diff --git a/.github/workflows/publish-cli-from-branch.yml b/.github/workflows/publish-cli-from-branch.yml deleted file mode 100644 index 66190711..00000000 --- a/.github/workflows/publish-cli-from-branch.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: "[M] CLI: publish as archive" - -on: - workflow_call: - inputs: - upload-artifact: - type: string - description: "Upload artifacts or not" - required: false - default: false - commit_sha: - required: false - type: string - description: "(optional) Commit SHA" - custom_version: - type: string - description: "Custom version" - required: false - default: "" - - workflow_dispatch: - inputs: - upload-artifact: - type: choice - description: "Upload artifacts or not" - required: false - default: true - options: - - true - - false - commit_sha: - required: false - type: string - description: "(optional) Commit SHA" - custom_version: - type: string - description: "Custom version" - required: false - default: "" - -jobs: - publish_cli: - strategy: - fail-fast: false # force to execute all jobs even though some of them have failed - matrix: - configuration: - - plugin_type: IC - extra_options: "-PideType=IC" - lang: java - dir: utbot-cli - - plugin_type: IC - extra_options: "-PideType=IC" - lang: python - dir: utbot-cli-python - - plugin_type: IU - extra_options: "-PideType=IU" - lang: go - dir: utbot-cli-go - - plugin_type: IU - extra_options: "-PideType=IU" - lang: js - dir: utbot-cli-js - runs-on: ubuntu-20.04 - container: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - steps: - - uses: actions/checkout@v3 - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - # "You can make an environment variable available to any subsequent steps in a workflow job by - # defining or updating the environment variable and writing this to the GITHUB_ENV environment file." - - name: Setup custom version - if: ${{ github.event.inputs.custom_version != '' }} - run: | - echo "VERSION=${{ github.event.inputs.custom_version }}" >> $GITHUB_ENV - - name: Setup version - if: ${{ github.event.inputs.custom_version == '' }} - shell: bash - run: | - echo "VERSION=${GITHUB_REF_NAME:0:4}-$(date +%Y).$(date +%-m).${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV - - - name: Print environment variables - run: printenv - - - name: Build UTBot CLI - run: | - cd "${{ matrix.configuration.dir }}" - gradle clean build --no-daemon --build-cache --no-parallel ${{ matrix.configuration.extra_options }} -Dorg.gradle.jvmargs=-Xmx2g -Dkotlin.daemon.jvm.options=-Xmx4g -PsemVer=${{ env.VERSION }} - - - name: Archive UTBot CLI - if: ${{ inputs.upload-artifact == 'true' }} - uses: actions/upload-artifact@v3 - with: - name: utbot-cli-${{ matrix.configuration.lang }}-${{ env.VERSION }} - path: ${{ matrix.configuration.dir }}/build/libs/${{ matrix.configuration.dir }}-${{ env.VERSION }}.jar diff --git a/.github/workflows/publish-cli-image-from-branch.yml b/.github/workflows/publish-cli-image-from-branch.yml deleted file mode 100644 index 2e9939f6..00000000 --- a/.github/workflows/publish-cli-image-from-branch.yml +++ /dev/null @@ -1,97 +0,0 @@ -name: "[M] CLI: publish docker image" - -on: - workflow_call: - workflow_dispatch: - -env: - REGISTRY: ghcr.io - -jobs: - publish-cli-image: - strategy: - fail-fast: false # force to execute all jobs even though some of them have failed - matrix: - configuration: - - image_name: utbot_java_cli - directory: utbot-cli - extra_options: "" - - image_name: utbot_js_cli - directory: utbot-cli-js - extra_options: "-PbuildType=ALL" - # we can't use utbot_python_cli image name because of the bug while pushing image - # ERROR: unexpected status: 403 Forbidden - - image_name: utbot_py_cli - directory: utbot-cli-python - extra_options: "" - runs-on: ubuntu-20.04 - container: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - steps: - - uses: actions/checkout@v3 - - # "You can make an environment variable available to any subsequent steps in a workflow job by - # defining or updating the environment variable and writing this to the GITHUB_ENV environment file." - - name: Set environment variables - run: | - echo VERSION="$(date +%Y).$(date +%-m)" >> $GITHUB_ENV - echo DOCKER_TAG="$(date +%Y).$(date +%-m).$(date +%-d)-$(echo -n ${GITHUB_SHA} | cut -c 1-7)" >> $GITHUB_ENV - - - name: Print environment variables - run: printenv - - - name: Build UTBot CLI - run: | - cd ${{ matrix.configuration.directory }} - gradle build --no-daemon --build-cache --no-parallel ${{ matrix.configuration.extra_options }} -Dorg.gradle.jvmargs=-Xmx2g -Dkotlin.daemon.jvm.options=-Xmx4g -x test -PsemVer=${{ env.VERSION }} - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - # fix of containerd issue, see https://github.com/containerd/containerd/issues/7972 - # could be removed as soon as new containerd version will be released and included in buildkit - driver-opts: | - image=moby/buildkit:v0.10.6 - - - name: Log in to the Container registry - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Cache Docker layers - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ matrix.configuration.image_name }}-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx-${{ matrix.configuration.image_name }}- - - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ github.repository }}/${{ matrix.configuration.image_name }} - tags: | - type=raw,value=${{ env.DOCKER_TAG }} - - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: . - push: true - tags: | - ${{ steps.meta.outputs.tags }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new - file: ${{ matrix.configuration.directory }}/Dockerfile - build-args: | - ARTIFACT_PATH=${{ matrix.configuration.directory }}/build/libs/${{ matrix.configuration.directory }}-${{ env.VERSION }}.jar - - # Temp fix - # https://github.com/docker/build-push-action/issues/252 - # https://github.com/moby/buildkit/issues/1896 - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache diff --git a/.github/workflows/publish-on-github-packages.yml b/.github/workflows/publish-on-github-packages.yml deleted file mode 100644 index 1404878c..00000000 --- a/.github/workflows/publish-on-github-packages.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: "[M] Publish on GitHub Packages" - -on: - workflow_dispatch: - inputs: - commit_sha: - type: string - required: true - description: "commit SHA: e.g. cab4799c" - -jobs: - build-and-run-tests: - if: ${{ github.actor == 'korifey' || github.actor == 'denis-fokin' || github.actor == 'victoriafomina' || github.actor == 'bissquit' }} - uses: ./.github/workflows/build-and-run-tests-from-branch.yml - with: - commit_sha: ${{ github.event.inputs.commit_sha }} - secrets: inherit - - publish_on_github_packages: - needs: build-and-run-tests - runs-on: ubuntu-20.04 - steps: - - name: Print environment variables - run: printenv - - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - - uses: gradle/gradle-build-action@v2 - with: - gradle-version: 7.4.2 - arguments: publish - env: - GITHUB_ACTOR: ${{ github.actor }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish-plugin-from-branch.yml b/.github/workflows/publish-plugin-from-branch.yml deleted file mode 100644 index 26a19a4a..00000000 --- a/.github/workflows/publish-plugin-from-branch.yml +++ /dev/null @@ -1,95 +0,0 @@ -name: "[M] Plugin: publish as archive" - -on: - workflow_call: - inputs: - upload-artifact: - type: string - description: "Upload artifacts or not" - required: false - default: false - commit_sha: - required: false - type: string - description: "(optional) Commit SHA" - custom_version: - type: string - description: "Custom version" - required: false - default: "" - - workflow_dispatch: - inputs: - upload-artifact: - type: choice - description: "Upload artifacts or not" - required: false - default: true - options: - - true - - false - commit_sha: - required: false - type: string - description: "(optional) Commit SHA" - custom_version: - type: string - description: "Custom version" - required: false - default: "" - -jobs: - publish_plugin: - strategy: - fail-fast: false # force to execute all jobs even though some of them have failed - matrix: - configuration: - - plugin_type: IC - extra_options: "-PideType=IC -PprojectType=PureJava" - - plugin_type: IU - extra_options: "-PideType=IU -PprojectType=ExperimentalLanguages" - - plugin_type: IC-Spring - extra_options: "-PideType=IC -PprojectType=Spring" - - plugin_type: IU-Spring - extra_options: "-PideType=IU -PprojectType=Spring" - runs-on: ubuntu-20.04 - container: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - steps: - - uses: actions/checkout@v3 - - name: Check out ${{ github.event.inputs.commit_sha }} commit - if: github.event.inputs.commit_sha != '' - run: | - git config --global --add safe.directory ${GITHUB_WORKSPACE} - git fetch - git checkout ${{ github.event.inputs.commit_sha }} - - # "You can make an environment variable available to any subsequent steps in a workflow job by - # defining or updating the environment variable and writing this to the GITHUB_ENV environment file." - - name: Setup custom version - if: ${{ github.event.inputs.custom_version != '' }} - run: | - echo "VERSION=${{ github.event.inputs.custom_version }}" >> $GITHUB_ENV - echo "VERSION_ARCHIVE=${{ github.event.inputs.custom_version }}" >> $GITHUB_ENV - - name: Setup version - if: ${{ github.event.inputs.custom_version == '' }} - shell: bash - run: | - echo "VERSION=$(date +%Y).$(date +%-m).${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV - echo "VERSION_ARCHIVE=${GITHUB_REF_NAME:0:4}-$(date +%Y).$(date +%-m).${GITHUB_RUN_NUMBER}" >> $GITHUB_ENV - - - name: Print environment variables - run: printenv - - - name: Build UTBot IntelliJ IDEA plugin - run: | - gradle clean buildPlugin --no-daemon --build-cache --no-parallel ${{ matrix.configuration.extra_options }} -Dorg.gradle.jvmargs=-Xmx2g -Dkotlin.daemon.jvm.options=-Xmx4g -PsemVer=${{ env.VERSION }} - cd utbot-intellij/build/distributions - unzip utbot-intellij-${{ env.VERSION }}.zip - rm utbot-intellij-${{ env.VERSION }}.zip - - - name: Archive UTBot IntelliJ IDEA plugin - if: ${{ inputs.upload-artifact == 'true' }} - uses: actions/upload-artifact@v3 - with: - name: utbot-intellij-${{ matrix.configuration.plugin_type }}-${{ env.VERSION_ARCHIVE }} - path: utbot-intellij/build/distributions/* diff --git a/.github/workflows/run-chosen-tests-from-branch.yml b/.github/workflows/run-chosen-tests-from-branch.yml deleted file mode 100644 index e9029880..00000000 --- a/.github/workflows/run-chosen-tests-from-branch.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: "[M] Run chosen tests" - -on: - workflow_dispatch: - inputs: - project-name: - type: choice - description: "Project you want to run tests for." - required: true - default: utbot-framework - options: - - utbot-analytics - - utbot-cli - - utbot-core - - utbot-framework-api - - utbot-framework - - utbot-java-fuzzing - - utbot-gradle - - utbot-instrumentation-tests - - utbot-instrumentation - - utbot-intellij - - utbot-sample - - utbot-summary - - utbot-summary-tests - tests-bunch-name: - type: string - required: true - description: "{package-name}.{class-name-optional}.{test-name-optional}" - -env: - PUSHGATEWAY_HOSTNAME: monitoring.utbot.org - -jobs: - run-chosen-tests: - runs-on: ubuntu-20.04 - container: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 - - steps: - - name: Print environment variables - run: printenv - - - uses: actions/checkout@v3 - - - name: Run monitoring - run: | - echo Find your Prometheus metrics using label {instance=\"${GITHUB_RUN_ID}-${HOSTNAME}\"} - chmod +x ./scripts/project/monitoring.sh - ./scripts/project/monitoring.sh ${PUSHGATEWAY_HOSTNAME} ${{ secrets.PUSHGATEWAY_USER }} ${{ secrets.PUSHGATEWAY_PASSWORD }} - - - name: Run chosen tests - run: | - gradle :${{ github.event.inputs.project-name }}:test -PprojectType=ExperimentalLanguages --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx2g -Dkotlin.daemon.jvm.options=-Xmx4g --tests ${{ github.event.inputs.tests-bunch-name }} - - - name: Upload ${{ github.event.inputs.project-name }} tests report if tests have failed - if: ${{ failure() }} - uses: actions/upload-artifact@v3 - with: - name: ${{ github.event.inputs.project-name }}-tests-report - path: ${{ github.event.inputs.project-name }}/build/reports/tests/test/* - - - name: Upload generated tests - if: ${{ always() && github.event.inputs.project-name == 'utbot-framework' }} - uses: actions/upload-artifact@v3 - with: - name: generated-tests - path: | - /tmp/UTBot/generated*/* - /tmp/UTBot/utbot-instrumentedprocess-errors/* - - name: Upload utbot-framework logs - if: ${{ always() && github.event.inputs.project-name == 'utbot-framework' }} - uses: actions/upload-artifact@v3 - with: - name: utbot-framework-logs - path: utbot-framework/logs/* diff --git a/.gitignore b/.gitignore index 5b11d761..c0954c2e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,5 @@ target/ .gradle/ *.log *.rdgen -utbot-intellij/src/main/resources/settings.properties __pycache__ .dmypy.json diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 9ef2a4bb..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,117 +0,0 @@ -# UnitTestBot contributing guide - ---- - -## Welcome! - -Hello and thanks for reading this! - -As the UnitTestBot core team we develop tools for automated unit test generation to help programmers test their code -in a more effective way with less effort. We believe that software development is great fun when you spend your time -finding creative solutions and automate the things you already know. If you are curious about making test generation -fast, smart and reliable, we are happy to invite you for contributing! - -We welcome absolutely everyone. With one big and kind request: please follow these guidelines to make our communication smooth and to keep UnitTestBot improving. - -## Contributions we are looking for - -There are so many ways to contribute. Choose yours and find the relevant short guide below. - -| (1) Choose what you like and check the guideline: | (2) Contribute: | -|-------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------| -| [Reporting a bug](#Reporting-a-bug) | Create a [bug reporting issue](https://github.com/UnitTestBot/UTBotJava/issues/new?assignees=&labels=&template=bug_report.md&title=) | -| [Requesting a feature](#Requesting-a-feature) | Create a [feature suggestion issue](https://github.com/UnitTestBot/UTBotJava/issues/new?assignees=&labels=&template=feature_request.md&title=) | -| [Contributing the code (bug fix or feature implementation)](#Contributing-the-code-(bug-fix-or-feature-implementation)) | Create a pull request | -| [Reproducing a reported bug](#Reproducing-a-reported-bug) | Comment on the issue | -| [Testing a pull request](#Testing-a-pull-request) | Comment on the pull request | -| [Improving documentation](#Improving-documentation) | Create an issue
Create a pull request
Comment on issues and PRs | -| [Sharing ideas](#Sharing-ideas) | Start the [Discussion](https://github.com/UnitTestBot/UTBotJava/discussions) or join the existing one | - -# How to submit a contribution - -## Reporting a bug - -1. Check if the bug (a true bug!) has already been reported: search through [UnitTestBot issues](https://github.com/UnitTestBot/UTBotJava/issues). Please, don't duplicate. -2. Check with the [Naming and labeling conventions](docs/contributing/Conventions.md). -3. Make sure you have all the necessary information as per [template](https://github.com/UnitTestBot/UTBotJava/issues/new?assignees=&labels=&template=bug_report.md&title=) and create the bug reporting issue. - -## Requesting a feature - -1. Check if the feature has already been requested: search through [UnitTestBot issues](https://github.com/UnitTestBot/UTBotJava/issues). -2. Check with our [Naming and labeling conventions](docs/contributing/Conventions.md). -3. Make sure you are able to provide all the necessary information as per [template](https://github.com/UnitTestBot/UTBotJava/issues/new?assignees=&labels=&template=feature_request.md&title=) and create the feature request issue. - -## Contributing the code (bug fix or feature implementation) - -### "Good first issue" - -If you have little experience in contributing, try to resolve the issues labeled as the ["good first"](https://github.com/UnitTestBot/UTBotJava/contribute) ones. - -### Small or "obvious" fixes - -Do you need to create an issue if you want to fix a bug? - -* Quick fix → no issue → pull request. -* Takes time to fix → detailed issue → pull request. - -### General flow for contributing code - -1. Make sure you've carefully read the [Legal notes](#Legal-notes)! -2. Create your own fork of the code. -3. Clone the forked repository to your local machine. -4. Implement changes. Please refer to the [Developer guide](DEVNOTE.md) for **system requirements**, **code - style** and - **steps for building the project**. -5. Test your code: - * Please, provide regression or integration tests for your code changes. If you don't do that, the reviewer can and highly likely **_will reject_** the PR. It is the contributor's responsibility to provide such tests or to reason why they are missing. - * When implementing something new, it's great to find real users and ask them to try out your feature — to prove - the necessity and quality of your suggestion. -6. Check with the [Naming and labeling conventions](docs/contributing/Conventions.md). -7. Create the pull request, and you'll see if the automated tests pass on GitHub. Your reviewer will possibly recommend - you more tests. - -## Reproducing a reported bug - -If you reproduce an existing issue and it helps to get some additional context on the problem, feel free to comment on the issue. - -## Testing a pull request - -You can merge a pull request into your local copy of the project and test the changes. If you find something you'd like to share, add the outcome of your testing in a comment on the pull request. - -## Improving documentation - -Here at UnitTestBot we regard documentation as code. It means that the general flow for writing and reviewing docs -is the same as for the code. If you'd like to improve the existing docs or to add something new, please follow the flow: - -1. Make sure you've carefully read the [Legal notes](#Legal-notes)! -2. Create your own fork of the code. -3. Clone the forked repository to your local machine. -4. Implement changes to docs (change the existing doc or create a new one). Usually, we create a new doc for a new feature, not for the small fixes. You are not obliged to write a detailed text about the feature you implement. You have to only describe it properly in both the related issue and the pull request, but it will be great if you still provide some docs. -6. Check with the [Naming and labeling conventions](docs/contributing/Conventions.md). -7. Create the pull request, and we'll review it. - -* You can request a new doc — create an issue, using the [guide for a feature request](#Requesting-a-feature). -* You can comment on the docs-related issues or PRs. - -## Sharing ideas - -We have a lot of new ideas, but we always need more! - -These are our main areas of interest: - -* technologies for code analysis, generating unit tests, e. g. symbolic execution, fuzzing, machine learning, etc.; -* real-life examples of using UnitTestBot, as well as possible use cases, scenarios and user stories; -* practices and problems or UX research related to unit testing with or without automated test generation tools. - -If you are keen on these things too, please share your ideas with us. Even if they are sketchy and not ready for being implemented or even requested right now, go ahead and join the existing [Discussions](https://github.com/UnitTestBot/UTBotJava/discussions) or [start](https://github.com/UnitTestBot/UTBotJava/discussions/new) the new one. - -# Code review process -Please choose [denis-fokin](https://github.com/denis-fokin) as a reviewer. He will reassign your PR to someone else from the core team, if necessary. - -We do our best in reviewing, but we can hardly specify the exact timeout for it. Be sure that we'll certainly answer your pull request! - -# Legal notes - -By contributing, you agree that your contributions will be licensed under the [Apache License 2.0](https://github.com/UnitTestBot/UTBotJava/blob/main/LICENSE). - -Feel free to [contact us directly](https://www.utbot.org/about) if that's a concern. \ No newline at end of file diff --git a/COPYRIGHT_HEADER.txt b/COPYRIGHT_HEADER.txt deleted file mode 100644 index d405aac3..00000000 --- a/COPYRIGHT_HEADER.txt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2022 UnitTestBot contributors (utbot.org) - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ \ No newline at end of file diff --git a/DEVNOTE.md b/DEVNOTE.md deleted file mode 100644 index a47be234..00000000 --- a/DEVNOTE.md +++ /dev/null @@ -1,24 +0,0 @@ -# UnitTestBot developer guide - ---- - -When you have the forked repository on your local machine, you are almost ready to build your own version of UnitTestBot. - -💡 Before you start coding, please check the [system requirements](https://github.com/UnitTestBot/UTBotJava/wiki/Check-system-requirements) and find instructions on -configuring development environment. - -💡 Get to know the [code style](https://github.com/saveourtool/diktat/blob/master/info/guide/diktat-coding-convention.md) we are used to. - -## How to build UnitTestBot with your improvements - -The project structure is mostly straightforward and the modules are self-explanatory, e.g.: - -* ```utbot-framework``` — everything related to UnitTestBot engine (including tests); -* ```utbot-intellij``` — IDE plugin implementation; -* ```utbot-sample``` — a framework with examples to demonstrate engine capacity. - -Learn UnitTestBot from inside and implement changes. To verify your improvements open Gradle tool window in IntelliJ IDEA: - -* to _run/debug plugin_ in IntelliJ IDEA choose and run the task: **utbot → utbot-intellij → intellij → runIde**; -* to _compile plugin_ choose and run the task: **utbot → utbot-intellij → intellij → buildPlugin**. The resulting ZIP - file is located at ```utbot-intellij/build/distributions```. \ No newline at end of file diff --git a/EnableLogging.md b/EnableLogging.md deleted file mode 100644 index 2247b67e..00000000 --- a/EnableLogging.md +++ /dev/null @@ -1,38 +0,0 @@ -# How to enable UTBot logging in IntelliJ IDEA - -In UTBot we use loggers like the following one: - - -`val logger = Logger.getInstance(CodeGenerator::class.java)` - - -Instead of sending loggers output in the standard stream or a file, we can put them right into IntelliJ IDEA. So, let\`s do it then! 😃 - - -1. In UTBot repository find Gradle > Tasks > intellij > runIde and choose it with the right button click - -![image](https://user-images.githubusercontent.com/106974353/175880783-57a190f1-283d-448f-984b-8acd62af657c.png) - - -2. Select Modify Run Configuration... item, and then Modify options > Specify logs to be shown in console - -![image](https://user-images.githubusercontent.com/106974353/175881032-944bc31a-bd13-43c1-9ebf-e2b542984b7d.png) - - -3. Click ➕ and add new Idea log file (or choose any name you want for it 😉) in the Log files to be shown in console section - -![image](https://user-images.githubusercontent.com/106974353/175881081-4612493b-a8fb-4c5b-b3b2-edaa4bea0703.png) - - -4. Restart the 'runIde' task, check that the new tab is present in your IDE - -![image](https://user-images.githubusercontent.com/106974353/175881135-6fa393fb-4f62-4f39-b009-dea9bc742411.png) - - -5. And we\`re done! 😃 Narrow logging messages to the loggers you are interested in - -![image](https://user-images.githubusercontent.com/106974353/175881203-9e6e1ed2-3ba7-4ea9-a18a-a5ce314a13ab.png) - - -If you want to use the existing loggers in UTBot or you`re a contributor and you have your own loggers to add, please watch [this article](HowToUseLoggers.md) to know how to do it in a better way. - diff --git a/HowToUseLoggers.md b/HowToUseLoggers.md deleted file mode 100644 index fdb3da4b..00000000 --- a/HowToUseLoggers.md +++ /dev/null @@ -1,83 +0,0 @@ -# How to use loggers in UTBotJava - -If you develop different modules of our project like CE, CLI or else, you might need to use loggers or even add your own ones to UTBot. -
Let\`s see how you can work with it. 🙂 - -🟢**1. Find out where appropriate log4j2.xml configuration file is** - -It depends on two factors: - -- Find the project you will run. For instance, for Idea plugin it is **_utbot-intellij_** subproject -- Chose appropriate log4j2.xml. If you are going to run tests for framework, it\`s in the test folder of utbot-framework subproject. - -The file is usually in the resource folder. -
-
-
-🟢**2. Find out the logger name** - -The easiest way is: - -- Go in the code that you are going to debug. Let’s assume it is a method in org.utbot.framework.plugin.api.TestCaseGenerator. -- Find out if there is a KotlinLogging object that is used to create a **logger** -- If such a logger exists, use the fully qualified class name as the logger name in the next steps -
- -🟢**3. Add logger** - -Open log4j2.xml and add the logger in the loggers section like this - -``` - - - -``` -
-
- -🟢**4. Logger level** - -Depending on the desired amount of information, change the **level** attribute. If you do not see output in the console, the wrong level value could be the reason. The **trace** is most verbose level. -
-
- -🟢**5. Output** - -Sometimes the logging information could be printed in a wrong destination. In that case, change the AppenderRef tag. It can be used with Console value or some other value (for instance, FrameworkAppender) -
-
- -🟢**6. Message format** - -If you do not like the format for logging output, you can change it in PatternLayout tag (see log4j2.xml in utbot-framework/src/test/resources/) -
-
- -🟢**7. Multiple loggers** - -Sometimes it is handy to add an extra logger to a Kotlin class in order to log different functionality independently. - -The primary logger is usually defined as - -`private val logger = KotlinLogging.logger {} ` - - -You may add an extra logger - -`private val timeoutLogger = KotlinLogging.logger(logger.name + ".timeout") ` - - -Having this logger, you can use it in code with different log levels in parallel with the primary logger. -
-
- -🟢**7.1 To enable the logger** - -1. Go to the file you are currently working on -2. Select the file in the project tab (alt-f1) -3. Find the closest log4j2.xml file (usually it is located in the resources file), enable the logger with a desirable log level - - -`` - - diff --git a/build.gradle.kts b/build.gradle.kts index 09df3eeb..983411d7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ val collectionsVersion: String by project val junit5Version: String by project val dateBasedVersion: String = SimpleDateFormat("YYYY.MM").format(System.currentTimeMillis()) // CI proceeds the same way -version = semVer ?: "$dateBasedVersion-SNAPSHOT" +version = semVer ?: "$dateBasedVersion" plugins { `java-library` @@ -181,21 +181,14 @@ dependencies { configure( listOf( - project(":utbot-api"), - project(":utbot-core"), - project(":utbot-framework"), - project(":utbot-framework-api"), - project(":utbot-java-fuzzing"), - project(":utbot-instrumentation"), - project(":utbot-rd"), - project(":utbot-summary") + project(":utbot-light") ) ) { publishing { repositories { maven { name = "GitHubPackages" - url = uri("https://maven.pkg.github.com/UnitTestBot/UTBotJava") + url = uri("https://maven.pkg.github.com/UnitTestBot/USE") credentials { username = System.getenv("GITHUB_ACTOR") password = System.getenv("GITHUB_TOKEN") diff --git a/buildSrc/src/main/java/SettingsTemplateHelper.java b/buildSrc/src/main/java/SettingsTemplateHelper.java deleted file mode 100644 index 45502e2f..00000000 --- a/buildSrc/src/main/java/SettingsTemplateHelper.java +++ /dev/null @@ -1,197 +0,0 @@ -import org.gradle.api.*; - -import java.io.*; -import java.text.*; -import java.util.*; -import java.util.function.*; - -/** - * The purpose of this helper is to convert UtSettings.kt source code - * to template resource file settings.properties (top-level entry in plugin JAR file). - * There are two stages: parsing of input to build models and then rendering models to output file - */ - -public class SettingsTemplateHelper { - private static final String[] apacheLines = - ("Copyright (c) " + new SimpleDateFormat("yyyy").format(System.currentTimeMillis()) + " utbot.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.").split("\n"); - - public static void proceed(Project project) { - File settingsSourceDir = new File(project.getBuildDir().getParentFile().getParentFile(), "utbot-framework-api/src/main/kotlin/org/utbot/framework/"); - String sourceFileName = "UtSettings.kt"; - File settingsResourceDir = new File(project.getBuildDir().getParentFile().getParentFile(), "utbot-intellij/src/main/resources/"); - String settingsFileName = "settings.properties"; - - Map dictionary = new HashMap<>(); - dictionary.put("Int.MAX_VALUE", String.valueOf(Integer.MAX_VALUE)); - - List models = new ArrayList<>(); - List enums = new ArrayList<>(); - StringBuilder acc = new StringBuilder(); - List docAcc = new ArrayList<>(); - // Stage one: parsing sourcecode - try(BufferedReader reader = new BufferedReader(new FileReader(new File(settingsSourceDir, sourceFileName)))) { - for (String s = reader.readLine(); s != null; s = reader.readLine()) { - s = s.trim(); - if (s.startsWith("enum class ")) {//Enum class declaration - enums.add(new EnumInfo(s.substring(11, s.length() - 2))); - } else if (s.matches("[A-Z_]+,?") && !enums.isEmpty()) {//Enum value - String enumValue = s.substring(0, s.length()); - if (enumValue.endsWith(",")) enumValue = enumValue.substring(0, enumValue.length() - 1); - enums.get(enums.size() - 1).docMap.put(enumValue, new ArrayList<>(docAcc)); - } else if (s.startsWith("const val ")) {//Constand value to be substitute later if need - int pos = s.indexOf(" = "); - dictionary.put(s.substring(10, pos), s.substring(pos + 3)); - } else if (s.equals("/**")) {//Start of docuemntation block - docAcc.clear(); - } else if (s.startsWith("* ")) { - if (!s.contains("href")) {//Links are not supported, skip them - docAcc.add(s.substring(2)); - } - } else if (s.startsWith("var") || s.startsWith("val")) {//Restart accumulation - acc.delete(0, acc.length()); - acc.append(s); - } else if (s.isEmpty() && acc.length() > 0) {//Build model from accumulated lines - s = acc.toString(); - acc.delete(0, acc.length()); - if (s.startsWith("var") || s.startsWith("val")) { - int i = s.indexOf(" by ", 3); - if (i > 0) { - String key = s.substring(3, i).trim(); - if (key.contains(":")) { - key = key.substring(0, key.lastIndexOf(':')); - } - PropertyModel model = new PropertyModel(key); - models.add(model); - s = s.substring(i + 7); - i = s.indexOf("Property"); - if (i > 0) model.type = s.substring(0, i); - if (i == 0) { - i = s.indexOf('<', i); - if (i != -1) { - s = s.substring(i+1); - i = s.indexOf('>'); - if (i != -1) { - model.type = s.substring(0, i); - } - } - } - - i = s.indexOf('(', i); - if (i > 0) { - s = s.substring(i + 1); - String defaultValue = s.substring(0, s.indexOf(')')).trim(); - if (defaultValue.contains(",")) defaultValue = defaultValue.substring(0, defaultValue.indexOf(',')); - defaultValue = dictionary.getOrDefault(defaultValue, defaultValue); - if (defaultValue.matches("[\\d_]+L")) { - defaultValue = defaultValue.substring(0, defaultValue.length() - 1).replace("_", ""); - } - if (defaultValue.matches("^\".+\"$")) { - defaultValue = defaultValue.substring(1, defaultValue.length() - 1); - } - model.defaultValue = defaultValue; - model.docLines.addAll(docAcc); - } - } - } - } else if (acc.length() > 0) { - acc.append(" " + s); - } - } - } catch (IOException ioe) { - System.err.println("Unexpected error when processing " + sourceFileName); - ioe.printStackTrace(); - } - - // Stage two: properties file rendering - try (PrintWriter writer = new PrintWriter(new File(settingsResourceDir, settingsFileName))) { - for (String apacheLine : apacheLines) { - writer.println("# " + apacheLine); - } - for (PropertyModel model : models) { - if (model.type.equals("Enum")) { - String[] split = model.defaultValue.split("\\."); - if (split.length > 1) { - model.defaultValue = split[1]; - EnumInfo enumInfo = enums.stream().filter(new Predicate() { - @Override - public boolean test(EnumInfo enumInfo) { - return enumInfo.className.equals(split[0]); - } - }).findFirst().orElse(null); - if (enumInfo != null) { - model.docLines.add(""); - for (Map.Entry> entry : enumInfo.docMap.entrySet()) { - String enumValue = entry.getKey(); - if (entry.getValue().size() == 1) { - model.docLines.add(enumValue + ": " + entry.getValue().get(0)); - } else { - model.docLines.add(enumValue); - for (String line : entry.getValue()) { - model.docLines.add(line); - } - } - } - } - } - } - writer.println(); - writer.println("#"); - for (String docLine : model.docLines) { - if (docLine.isEmpty()) { - writer.println("#"); - } else { - writer.println("# " + docLine); - } - } - boolean defaultIsAlreadyMentioned = model.docLines.stream().anyMatch(new Predicate() { - @Override - public boolean test(String s) { - return s.toLowerCase(Locale.ROOT).contains("default"); - } - }); - if (!defaultIsAlreadyMentioned) { - writer.println("#"); - writer.println("# Default value is [" + model.defaultValue + "]"); - } - writer.println("#" + model.key + "=" + model.defaultValue); - } - writer.flush(); - writer.close(); - } catch (IOException ioe) { - System.err.println("Unexpected error when saving " + settingsFileName); - ioe.printStackTrace(); - } - } - - private static class PropertyModel { - final String key; - String type = ""; - String defaultValue = ""; - List docLines = new ArrayList<>(); - - PropertyModel(String key) { - this.key = key; - } - } - - private static class EnumInfo { - final String className; - Map> docMap = new LinkedHashMap<>(); - - public EnumInfo(String className) { - this.className = className; - } - } -} \ No newline at end of file diff --git a/docs/AndroidStudioSupport.md b/docs/AndroidStudioSupport.md deleted file mode 100644 index 6feabebc..00000000 --- a/docs/AndroidStudioSupport.md +++ /dev/null @@ -1,134 +0,0 @@ -# Android Studio support - -## Installing Android Studio - -> Install the latest version of Android Studio -> * - -### Installing Lombok plugin - -> Lombok plugin is not required to use UnitTest Bot. -> However, if this plugin is required for your own goals, do the following: -> -> * go to https://plugins.jetbrains.com/plugin/6317-lombok/versions -> -> * download .zip with the latest version -> -> * unpack it to ~/android-studio/plugins (use your path to Android Studio) -> -> * restart IDE - -## Prerequisites - -> Install and setup gradle version 7.2+ (version 7.4 tested) -> -> Use JDK 11 for Gradle in\ -> `File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM` -> -> \ -> If you want to use JDK 8, you can: -> 1. Generate tests with JDK 8 -> 2. Switch to JDK 11 and compile tests -> 3. Switch back to JDK 8 and run tests -> -> The reason for it is the Android Gradle Plugin, which requires Java 11 to build anything. - -## Running in Android Studio - -> For now, running Utbot is supported only for Kotlin libraries. You can -> create one like this: -> -> -> -> To run generated tests, you must create separate JUnit configuration.\ -> ("Green arrows" will not work, since they launch Android Emulator.) -> -## Debug Intellij code - -> At first, when entering Intellij code, you might be presented with -> decompiled code. -> -> If you try to debug it, you might soon find out that it does not match -> sources. -> -> (TO BE TESTED) -> -> To fix this, you are able to connect alternative Intellij sources -> using jar-files from AS. -> -> File -> Project Structure -> Libraries -> + -> -> After that, you might want to enable "Choose sources switch": -> -> - -## Crucial differences from Intellij IDEA - -### Host Android SDK - -> Android Studio uses **host Android SDK** to build project, which is -> basically **a stub(mock) version of real Android SDK**, that is -> supposed to be found on a real device. -> -> It means that, for instance, the constructor of java.lang.Object in -> that SDK throws Exception explicitly, saying "Stub!". -> -> The main idea is that user is not supposed to run anything on host -> machine, they must use real device or emulator. -> -> That leads to the **inability to analyze Android SDK**, thus we have -> to take real java from Gradle JDK, for example. - -### KtClass tree in View-based modules - -> UtBot Plugin window won't even show up if you try to analyze code from -> the visual components inside AS. That is because insead of PsiClass -> tree we find KtClass tree. -> -> TODO: There is something to be done about this... - -## Troubleshooting - -### Maven can't install some dependencies -> 1. Proxy might have been installed automatically - > Solution: remove gradle-wrapper file -> 2. Mockito can't be found - > Solution: specify version explicitly -### No target device found -> File -> Settings -> Build, Execution, Deployment -> Testing -> Run android tests with Gradle(or smth like that) - -### Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8 - -> Solution: Use JUNIT (manually create run config for it), not Gradle! -> -> Also, turn off 'build before run' for tests, if you use Java 11 in your project. -> -> TODO: how to create config -> -> (!) In Generation Window, you have to set correct source root(src/test/java). - -### Test events were not received - -> Solution: Use JUNIT (manually create run config for it), not Gradle! -> -> TODO: how to create config -> -> (!) In Generation Window, you have to set correct source root(src/test/java). - -### Can't run tests because Android project complains about 'tools.jar' - -> The project is messed up, copy sources and make a clean one. -> -> TODO: a better solution? -> -### java: Cannot run program AppData/Local/Android/Sdk/bin/java - -> The project is messed up, copy sources and make a clean one. -> -> TODO: a better solution? - -### \[possible\] org.jetbrains.android not found - -> Use latest Kotlin in UTBotJava/utbot-intellij/build.gradle: -> -> > intellij.plugins = [..., 'org.jetbrains.kotlin',...] diff --git a/docs/AssumptionsMechanism.md b/docs/AssumptionsMechanism.md deleted file mode 100644 index 487c69dd..00000000 --- a/docs/AssumptionsMechanism.md +++ /dev/null @@ -1,216 +0,0 @@ -# Assumptions mechanism -We have a public API that might help both us and external users to interact with UTBot. -This document contains detailed instructions about how to use `assume` methods of `UtMock` class and description -of the problems we encountered during the implementation. - -## Brief description -This section contains short explanations of the meaning for mentioned functions and examples of usage. - -### UtMock.assume(predicate) - -`assume` is a method that gives the opportunity for users to say to the symbolic virtual machine that -instructions of the MUT (Method Under Test) encountered after this instruction satisfy the given predicate. -It is natively understandable concept and the closest analog from Java is the `assert` function. -When the virtual machine during the analysis encounters such instruction, it drops all the branches in the -control flow graph violating the predicate. - -Examples: -```java -int foo(int x) { - // Here `x` is unbounded symbolic variable. - // It can be any value from [MIN_VALUE..MAX_VALUE] range. - - UtMock.assume(x > 0); - // Now engine will adjust the range to (0..MAX_VALUE]. - - if (x <= 0) { - throw new RuntimeException("Unreachable exception"); - } else { - return 0; - } -} - -// A function that removes all the branches with a null, empty or unsorted list. -public List sortedList(List a) { - // An invariant that the list is non-null, non-empty and sorted - UtMock.assume(a != null); - UtMock.assume(a.size() > 0); - UtMock.assume(a.get(0) != null); - - for (int i = 0; i < a.size() - 1; i++) { - Integer element = a.get(i + 1) - UtMock.assume(element != null); - UtMock.assume(a.get(i) <= element); - } - - return a; -} -``` - -Thus, `assume` is a mechanism to provide some known properties of the program to the symbolic engine. - -### UtMock.assumeOrExecuteConcretely(predicate) -It is a similar concept to the `assume` with the only difference: it does not drop -paths violating the predicate, but execute them concretely from the moment of the -first encountered controversy. Let's take a look at the example below: - -```java -int foo(List list) { - // Let's assume that we have small lists only - UtMock.assume(list.size() <= 10); - - if (list.size() > 10) { - throw new RuntimeException("Unreachable branch"); - } else { - return 0; - } -} -``` -Here we decided to take into consideration lists with sizes less or equal to 10 to improve performance, and, therefore, lost -the branch with possible exception. Let's change `assume` to `assumeOrExecuteConcretely`. -```java -int foo(List list) { - // Let's assume that we have small lists only - UtMock.assumeOrExecuteConcretely(list.size() <= 10); - - if (list.size() > 10) { - throw new RuntimeException("Now we will cover this branch"); - } else { - return 0; - } -} -``` -Now we will cover both branches of the MUT. How did we do it? -At the moment we processed `if` condition we got conflicting constraints: `list.size <= 10` and -`list.size > 10`. In contrast to the example with `assume` method usage, here we know that -we got conflict with the provided predicate and we stop symbolic analysis, remove this assumption from -the path constraints, resolve the MUT's parameters and run the MUT using concrete execution. - -Thus, `assumeOrExecuteConcretely` is a way to provide to the engine information about the program -you'd like to take into account, but if it is impossible, the engine will run the MUT concretely trying to -cover at least something after the encountered controversy. - -## Implementation -Implementation of the `assume` does not have anything interesting -- -we add the predicate into path hard-constraints, and it eventually removes violating -paths from consideration. - -Processing a predicate passed as argument in `assumeOrExecuteConcretely` is more tricky. -Due to the way we work with the solver, it cannot be added to the path constraints -directly. We treat hard PC as hypothesis and add them to the solver directly, that deprives us -opportunity to calculate unsat-core to check whether the predicate was a part of it. - -Because of it, we introduced an additional type of path constraints. Now we have three of them: -hard, soft and assumptions. -* Hard constraints -- properties of the program that must be satisfied at any point of the program. -* Soft constraints -- properties of the program we want to satisfy, but we can remove them if it is impossible. -For example, it might be information that some number should be less than zero. But if it is not, we still -can continue exploration of the same path without this constraint. -* Assumptions -- predicates passed in the `assumeOrExecuteConcretely`. If we have a controversy between -an assumption and hard constraints, we should execute the MUT concretely without violating assumption. - -Now, when we check if some state is satisfiable, we put hard constraints as hypothesis into the solver -and check their consistency with soft constraints and assumptions. If the solver returns UNSAT status with -non-empty unsat core, we remove all conflicting soft constraints from it and try again. If we have -UNSAT status for the second time and assumptions in it, we remove them from the request and calculates -status once again. If it is SAT, we put this state in the queue for concrete executions, otherwise -- remove the -state from consideration. - -## Problems -The main problem is that we didn't get the result we expected. We have many `assume` usages -in overridden classes source code that limits their size to improve performance. Because of that, the following -code does not work (we don't generate any executions for them). - -```java -void bigList(List list) { - UtMock.assume(list != null && list.size() > MAX_LIST_SIZE); -} - -void bigSet(Set set) { - UtMock.assume(set != null && set.size() > MAX_SET_SIZE); -} - -void bigMap(Map map) { - UtMock.assume(map != null && map.size() > MAX_MAP_SIZE); -} -``` -The problem in a `preconditionCheck` method of the wrappers. It contains something like that: -```java -private void preconditionCheck() { - if (alreadyVisited(this)) { - return; - } - ... - assume(elementData.end >= 0 & elementData.end <= MAX_LIST_SIZE); - ... -} -``` -It is a method that imposes restrictions at the overridden classes provided as arguments. -For `Lists` the idea works fine, we replace `assume` with `assumeOrExecuteConcretely` and -find additional branches. -```java -private void preconditionCheck() { - if (alreadyVisited(this)) { - return; - } - ... - assume(elementData.end >= 0); - assumeOrExecuteConcretely(elementData.end <= MAX_LIST_SIZE); - ... -} - -// Now it works! -void bigList(List list) { - UtMock.assume(list != null && list.size() > MAX_LIST_SIZE); -} -``` - -But it doesn't work for `String`, `HashSet` and `HashMap`. - -The problem with `String` is connected with the way we represent them. Restriction for the size is closely -connected with the internal storage of chars -- we create a new arrays of chars with some size `n` using `new char[n]` instruction. -It adds hard constraint that max size of the string is `n` and assumption that `n` is less that `MAX_STRING_SIZE`. -Somewhere later in the code we have a condition that `String.length() > MAX_STRING_SIZE`. Unfortunately, -it will cause not only controversy between the assumption and new hard constraints, but and controversy -between internal array size (hard constraint) and the new-coming hard constraint, that will cause UNSAT status and -we will lose this branch anyway. - -`HashSet` and `HashMap` is a different story. The problem there is inside of `preconditionCheck` implementation. Let's take -a look at a part of it: -```java -assume(elementData.begin == 0); -assume(elementData.end >= 0); -assumeOrExecuteConcretely(elementData.end <= 3); - -parameter(elementData); -parameter(elementData.storage); -doesntThrow(); - -// check that all elements are distinct. -for (int i = elementData.begin; i < elementData.end; i++) { - E element = elementData.get(i); - parameter(element); - // make element address non-positive - - // if key is not null, check its hashCode for exception - if (element != null) { - element.hashCode(); - } - - // check that there are no duplicate values - // we can start with a next value, as all previous values are already processed - for (int j = i + 1; j < elementData.end; j++) { - // we use Objects.equals to process null case too - assume(!Objects.equals(element, elementData.get(j))); - } -} - -visit(this); -``` -The problem happens at the first line of the cycle. We now (from the first line of the snippet) that -the cycle will be from zero to three. The problem is in the `i < elementData.end` check. It produces -at the fourth iteration hard constraint that `elementData.begin + 4 < elementData.end` and we have -an assumption that `elementData.end <= 3`. It will cause a concrete run of the MUT in every -`preconditionCheck` analysis with a constraint `elementData.end == 4`. Moreover, it still won't -help us with code like `if (someHashSet.size() == 10)`, since we will never get here without hard -constraint `elementData.end < 4` that came from the cycle. \ No newline at end of file diff --git a/docs/ChoosingLanguageSpecificIDE.md b/docs/ChoosingLanguageSpecificIDE.md deleted file mode 100644 index 6512898e..00000000 --- a/docs/ChoosingLanguageSpecificIDE.md +++ /dev/null @@ -1,23 +0,0 @@ -# Choosing language specific IDE - -Some language-specific modules depends on specific IntelliJ IDE: -* Python can work with IntelliJ Community, IntelliJ Ultimate, PyCharm Community, PyCharm Professional -* JavaScript can work with IntelliJ Ultimate, PyCharm Professional and WebStorm -* Java and Kotlin - IntelliJ Community and IntelliJ Ultimate - -You should select correct IDE in `gradle.properties` file: -``` -ideType= -ideVersion=<222.4167.29> -``` - -### IDE marking - -| Mark | Full name | Supported plugin | -|------|----------------------|----------------------------------------| -| IC | IntelliJ Community | JVM, Python, AndroidStudio | -| IU | IntelliJ Ultimate | JVM, Python, JavaScript, AndroidStudio | -| PC | PyCharm Community | Python | -| PY | PyCharm Professional | Python, JavaScript | - -[IntelliJ Platform Plugin SDK documentation](https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#tasks-runpluginverifier) \ No newline at end of file diff --git a/docs/CodeGenerationAndRendering.md b/docs/CodeGenerationAndRendering.md deleted file mode 100644 index eab4d567..00000000 --- a/docs/CodeGenerationAndRendering.md +++ /dev/null @@ -1,339 +0,0 @@ -# Code generation and rendering - -Code generation and rendering are a part of the test generation process in UnitTestBot (find the overall picture in the -[UnitTestBot architecture -overview](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/OverallArchitecture.md)). -UnitTestBot gets the synthetic representation of generated test cases from the fuzzer or the symbolic engine. -This representation (or model) is implemented in the `UtExecution` class. - -The `codegen` module generates the real test code based on this `UtExecution` model and renders it in a -human-readable form in accordance with the requested configuration (considering programming language, testing -framework, mocking and parameterization options). - -The `codegen` module -- converts `UtExecution` test information into an Abstract Syntax Tree (AST) representation using `CodeGenerator`, -- renders this AST according to the requested programming language and other configurations using `renderer`. - -## Example - -Consider the following method under test: - -```java -package pack; - -public class Example { - - public int maxIfNotEquals(int a, int b) throws IllegalArgumentException { - if (a == b) throw new IllegalArgumentException("a == b"); - if (a > b) return a; else return b; - } -} -``` - -The standard UnitTestBot-generated tests for this method (without test summaries and clustering into regions) -look like this: - -```java -package pack; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.DisplayName; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; - -public final class ExampleStandardTest { - - @Test - @DisplayName("maxIfNotEquals: a == b : False -> a > b") - public void testMaxIfNotEquals_AGreaterThanB() { - Example example = new Example(); - - int actual = example.maxIfNotEquals(1, 0); - - assertEquals(1, actual); - } - - @Test - @DisplayName("maxIfNotEquals: a == b -> ThrowIllegalArgumentException") - public void testMaxIfNotEquals_AEqualsB() { - Example example = new Example(); - - assertThrows(IllegalArgumentException.class, () -> example.maxIfNotEquals(-255, -255)); - } - - @Test - @DisplayName("maxIfNotEquals: a < 0, b > 0 -> return 1") - public void testMaxIfNotEqualsReturnsOne() { - Example example = new Example(); - - int actual = example.maxIfNotEquals(-1, 1); - - assertEquals(1, actual); - } -} -``` - -Here is an example of the parameterized tests for this method. We also implement the data provider method — the -argument source. - -```java -package pack; - -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; - -import java.util.ArrayList; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.params.provider.Arguments.arguments; - -public final class ExampleParameterizedTest { - - @ParameterizedTest - @MethodSource("pack.ExampleTest#provideDataForMaxIfNotEquals") - public void parameterizedTestsForMaxIfNotEquals(Example example, int a, int b, Integer expectedResult, Class expectedError) { - try { - int actual = example.maxIfNotEquals(a, b); - - assertEquals(expectedResult, actual); - } catch (Throwable throwable) { - assertTrue(expectedError.isInstance(throwable)); - } - } - - public static ArrayList provideDataForMaxIfNotEquals() { - ArrayList argList = new ArrayList(); - - { - Example example = new Example(); - - Object[] testCaseObjects = new Object[5]; - testCaseObjects[0] = example; - testCaseObjects[1] = 1; - testCaseObjects[2] = 0; - testCaseObjects[3] = 1; - testCaseObjects[4] = null; - argList.add(arguments(testCaseObjects)); - } - { - Example example = new Example(); - - Object[] testCaseObjects = new Object[5]; - testCaseObjects[0] = example; - testCaseObjects[1] = -255; - testCaseObjects[2] = -128; - testCaseObjects[3] = -128; - testCaseObjects[4] = null; - argList.add(arguments(testCaseObjects)); - } - { - Example example = new Example(); - - Object[] testCaseObjects = new Object[5]; - testCaseObjects[0] = example; - testCaseObjects[1] = -255; - testCaseObjects[2] = -255; - testCaseObjects[3] = null; - testCaseObjects[4] = IllegalArgumentException.class; - argList.add(arguments(testCaseObjects)); - } - - return argList; - } -} -``` - -## Configurations - -UnitTestBot renders code in accordance with the chosen programming language, testing framework, -mocking and parameterization options. - -Supported languages for code generation are: -- Java -- Kotlin (experimental) — we have significant problems with the support for nullability and generics -- Python and JavaScript — in active development - -Supported testing frameworks are: -- JUnit 4 -- JUnit 5 -- TestNG (only for the projects with JDK 11 or later) - -Supported mocking options are: -- No mocking -- Mocking with Mockito framework -- Mocking static methods with Mockito - -Parameterized tests can be generated in Java only. Parameterization is not supported with the mocks enabled or -with JUnit 4 chosen as the testing framework. - -## Entry points - -The `codegen` module gets calls from various UnitTestBot components. The most common scenario is to call `codegen` -from integration tests as well as from the `utbot-intellij` project and its `CodeGenerationController` class. The -`utbot-online` and `utbot-cli` projects call `codegen` as well. - -The `codegen` entry points are: -- `CodeGenerator.generateAsString()` -- `CodeGenerator.generateAsStringWithTestReport()` - -The latter gets `UtExecution` information received from the symbolic engine or the fuzzer and converts it into the -`codegen`-related data units, each called `CgMethodTestSet`. As a result of further processing, the test code is -generated as a string with a test generation report (see [Reports](#Reports) for details). - -Previously, `CgMethodTestSet` has been considerably different from `UtMethodTestSet` as it has been using -`ExecutableId` instead of the legacy `UtMethod` (has been removed recently). -For now, `CgMethodTestSet` contains utility functions required for code generation, mostly for parameterized tests. - -## Abstract Syntax Tree (AST) - -The `codegen` module converts `UtExecution` information to the AST representation. -We create one AST per one source class (and one resulting test class). We use our own AST implementation. - -We generate a `UtUtils` class containing a set of utility functions, when they are necessary for a given test class. -If the `UtUtils` class has not been created previously, its AST representation is generated as well. To learn more -about the `UtUtils` class and how it is generated, refer to the -[design doc](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/UtUtilsClass.md). - -All the AST elements are `CgElement` inheritors. -`CgClassFile` is the top level element — it contains `CgClass` with the required imports. - -The class has the body (`CgClassBody`) as well as minor properties declared: documentation comments, annotations, -superclasses, interfaces, etc. - -The class body is a set of `CgRegion` elements, having the `header` and the corresponding `content`, which is mostly -the set of `CgMethod` elements. - -The further AST levels are created similarly. The AST leaves are `CgLiteral`, `CgVariable`, -`CgLogicalOr`, `CgEmptyLine`, etc. - -## Test method - -The below-mentioned functionality is implemented in `CgMethodConstructor`. - -To create a test method: -* store the initial values of the static fields and perform the seven steps for creating test method body mentioned later; -* if the static field values undergo changes, perform these seven steps in the `try` block and recover these values in the `finally` block accordingly. - -To create test method body: -1. substitute static fields with local variables -2. set up instrumentation (get mocking information from `UtExecution`) -3. create a variable for the current instance -4. create variables for method-under-test arguments -5. record an actual result by calling method under test -6. generate result assertions -7. for successful tests, generate field state assertions - -_Note:_ generating assertions has pitfalls. In primitive cases, like comparing two integers, we can use the standard -assertions of a selected test framework. To compare two objects of an arbitrary type, we need a -custom implementation of equality assertion, e.g. using `deepEquals()`. The `deepEquals()` method compares object -structures field by field. The method is recursive: if the current field is not of the primitive type, we call -`deepEquals()` for this field. The maximum recursion depth is limited. - -For the parameterized tests -- we do not support mocking, so we do not set up the initial environment; -- we do not generate field state assertions. - -`UtExecution` usually represents a single test scenario, and one `UtExecution` instance is used to create a single -test method. Parameterized tests are supposed to cover several test scenarios, so several `UtExecution` instances -are used for generating test methods. - -## Generic execution - -Parameterization often helps to reveal similarities between test scenarios. The combined outcome is sometimes more -expressive. To represent these similarities, we construct generic executions. - -Generic execution is a synthetic execution, formed by a group of real executions, that have -- the same type of result, -- the same modified static fields. - -Otherwise, we create several generic executions and several parameterized tests. The logic of splitting executions -into the test sets is implemented in the `CgMethodTestSet` class. - -From the group of `UtExecution` elements, we take the first successful execution with the non-nullable result. See -`CgMethodConstructor.chooseGenericExecution()` for more details. - -## Renderer - -We have a general approach for rendering the code of test classes. `UtUtils` class is rendered differently: we -hardcode the required method implementations for the specific code generation language. - -All the renderers implement `CgVisitor` interface. It has a separate `visit()` method for each supported -`CgElement` item. - -There are three renderers: -- `CgAbstractRenderer` for elements that are similar in Kotlin and Java -- `CgJavaRenderer` for Java-specific elements -- `CgKotlinRenderer` for Kotlin-specific elements - -Each renderer method visits the current `CgElement`. It means that all the required instructions are printed properly. -If an element contains the other element, the first one delegates rendering to its _child_. - -`CgVisitor` refers us to the _Visitor_ design pattern. Delegating means asking the _child_ element to -accept the renderer and manage it. Then we go through the list of `CgElement` types to find the first -matching `visit()` method. - -_Note:_ the order of `CgElement` items listed in `CgElement.accept()` is important. - -Rendering may be terminated if the generated code is too long (e.g. due to test generation bugs). - -## Reports - -While constructing the test class, we create test generation reports. It contains basic statistical information: the -number of generated tests, the number of successful tests, etc. It also may contain information on potential problems -like trying to use mocks when mocking framework is not installed. - -The report is an HTML string with clickable links. - -_Note:_ no test generation reports are created for parameterized tests. - -## Services - -Services help the `codegen` module to produce human-readable test code. - -### Name generator - -With this service, we create names for variables and methods. It assures avoiding duplicates in names, -resolving conflicts with keywords, etc. It also adds suffixes if we process a mock or a static item. - -Name generator is called directly from `CgStatementConstructor`. - -_Note:_ if you need a new variable, you should better use this service (e.g. the `newVar()` method) instead of calling -the `CgVariable` constructor manually. - -### Framework and language services - -Framework services help the `codegen` module to generate constructions (e.g. assertions) according to a given -testing or mocking framework. -Language services provide the `codegen` module with language-specific information on test class extensions, -prohibited keywords, etc. - -See the `Domain` file for more framework- and language-specific implementations. - -### CgFieldStateManager - -`CgFieldStateManager` stores the initial and the final environment states for the given method under test. -These states are used for generating assertions. Usually, the environment state consists of three parts: -* current instance state, -* argument state, -* static field state. - -All the state-related variables are marked as `INITIAL` or `FINAL`. - -### CgCallableAccessManager - -This service helps to validate access. For example, if the current argument -list is valid for the method under test, `CgCallableAccessManager` checks if one can call this method with these -arguments without using _Reflection_. - -`CgCallableAccessManager` analyzes callables as well as fields for accessibility. - -## CgContext - -`CgContext` contains context information for code generation. The `codegen` module uses one -context per one test class. `CgContext` also stores information about the scope for the inner context elements: e.g. when -they should be instantiated and cleared. For example, the context of the nested class is the part of the owner class context. - -`CgContext` is the so-called "God object" and should be split into independent storages and -helpers. This task seems to be difficult and is postponed for now. \ No newline at end of file diff --git a/docs/Fuzzing Platform.md b/docs/Fuzzing Platform.md deleted file mode 100644 index 37b2314f..00000000 --- a/docs/Fuzzing Platform.md +++ /dev/null @@ -1,246 +0,0 @@ -# Fuzzing Platform (FP) Design - -**Problem:** fuzzing is a versatile technique for generating values to be used as method arguments. Normally, -to generate values, one needs information on a method signature, or rather on the parameter types (if a fuzzer is -able to "understand" them). -The _white-box_ approach also requires AST, and the _grey-box_ approach needs coverage -information. To generate values that may serve as method arguments, the fuzzer uses generators, mutators, and -predefined values. - -* _Generators_ yield concrete objects created by descriptions. The basic description for creating objects is _type_. - Constants, regular expressions, and other structured object specifications (e.g. in HTML) may also be used as - descriptions. - -* _Mutators_ modify the object in accordance with some logic that usually means random changes. To get better - results, mutators obtain feedback (information on coverage and the inner state of the - program) during method call. - -* _Predefined values_ work well for known problems, e.g. incorrect symbol sequences. To discover potential problems, one can analyze parameter names as well as the specific constructs or method calls inside the method body. - -The general API for using the fuzzer looks like this: - -``` -fuzz( - params = "number", "string", "object: number, string", - seedGenerator = (type: Type) -> seeds - details: (constants, providers, etc) -).forEveryGeneratedValues { values: List -> - feedback = exec(values); - return feedback -} -``` - -The fuzzer gets the list of types, -which can be provided in different formats: as a string, an object, or a Class<*> in Java. -The seed generator accepts these types and produces seeds. -The seeds are base objects for value generation and mutations. - -It is the fuzzer, which is responsible for choosing, combining and mutating values from the seed set. -The fuzzer API should not provide access to the inner fuzzing logic. -Only general configuration is available. - -## Parameters - -The general fuzzing process gets the list of parameter descriptions as input and returns the corresponding list of values. The simplest description is the specific object type, for example: - -```kotlin -[Int, Bool] -``` - -In this particular case, the fuzzing process can generate the set of all the pairs having integer as the first value -and `true` or `false` as the second one. -If values `-3, 0, 10` are generated to be the `Int` values, the set of all the possible combinations has six items: -`(-3, false), (0, false), (10, false), (-3, true), (0, true), (10, true)`. -Depending on the programming language, -one may use interface descriptions or annotations (type hints) instead of defining the specific type. -Fuzzing platform (FP) is not able to create the concrete objects as it does not deal with the specific languages. -It can still convert the descriptions to the known constructs it can work with. - -Say, in most of the programming languages, any integer may be represented as a bit array, and the fuzzer can construct and -modify bit arrays. So, in the general case, the boundary values for the integer are these bit arrays: - -* [0, 0, 0, ..., 0] — zero -* [1, 0, 0, ..., 0] — minimum value -* [0, 1, 1, ..., 1] — maximum value -* [0, 0, ..., 0, 1] — plus 1 -* [1, 1, 1, ..., 1] — minus 1 - -One can correctly use this representation for unsigned integers as well: - -* [0, 0, 0, ..., 0] — zero (minimum value) -* [1, 0, 0, ..., 0] — maximum value / 2 -* [0, 1, 1, ..., 1] — maximum value / 2 + 1 -* [0, 0, ..., 0, 1] — plus 1 -* [1, 1, 1, ..., 1] — maximum value - -Thus, FP interprets the _Byte_ and _Unsigned Byte_ descriptions in different ways: in the former case, -the maximum value is [0, 1, 1, 1, 1, 1, 1, 1], while in the latter case it is [1, 1, 1, 1, 1, 1, 1, 1]. -FP types are described in detail further. - -## Refined parameter description - -During the fuzzing process, some parameters get the refined description, for example: - -``` -public boolean isNaN(Number n) { - if (!(n instanceof Double)) { - return false; - } - return Double.isNaN((Double) n); -} -``` - -In the above example, let the parameter be `Integer`. Considering the feedback, the fuzzer suggests that nothing but `Double` might increase coverage, so the type may be downcasted to `Double`. This allows for filtering out a priori unfitting values. - -## Statically and dynamically generated values -Predefined, or _statically_ generated, values help to define the initial range of values, which could be used as method arguments. - -These values allow us to: -* check if it is possible to call the given method with at least some set of values as arguments; -* gather statistics on executing the program; -* refine the parameter description. - -_Dynamic_ values are generated in two ways: -* internally, via mutating the existing values, successfully performed as method arguments (i.e. seeds); -* externally, via obtaining feedback that can return not only the statistics on the execution (the paths explored, - the time spent, etc.) but also the set of new values to be blended with the values already in use. - -Dynamic values should have a higher priority for a sample; -that is why they should be chosen either first or at least more likely than the statically generated ones. -In general, the algorithm that guides the fuzzing process looks like this: - -``` -# dynamic values are stored with respect to their return priority -dynamic_values = empty_priority_queue() -# static values are generated beforehand -static_values = generate() -# "good" values -seeded_values = [] -# -filters = [] - -# the loop runs until coverage reaches 100% -while app.should_fuzz(seeded_values.feedbacks): - # first we choose all dynamic values - # if there are no dynamic values, choose the static ones - value = dynamic_values.take() ?: static_values.take_random() - # if there is no value or it was filtered out (static values are generated in advance — they can be random and unfitting), try to generate new values via mutating the seeds - if value is null or filters.is_filtered(value): - value = mutate(seeded_values.random_value()) - # if there is still no value at this point, it means that there are no appropriate values at all, and the process stops - if value is null: break - - # run with the given values and obtain feedback - feedback = yield_run(value) - # feedback says if it is reasonable to add the current value to the set of seeds - if feedback is good: - seeded_values[feedback] += value - # feedback may also provide fuzzer with the new values - if feedback has suggested_value: - dynamic_values += feedback.suggested_values() with high_priority - - # mutate the static value thus allowing fuzzer to alternate static and dynamic values - if value.is_static_generated: - dynamic_values += mutate(seeded_values.random_value()) with low_priority -``` - -## Helping fuzzer via code modification - -Sometimes it is reasonable to modify the source code so that it makes applying fuzzer to it easier. This is one of possible approaches: to split the complex _if_-statement into the sequence of simpler _if_-statements. See [Circumventing Fuzzing Roadblocks with Compiler Transformations](https://lafintel.wordpress.com/2016/08/15/circumventing-fuzzing-roadblocks-with-compiler-transformations/) for details. - -## Generators - -There are two types of generators: -* yielding values of primitive data types: integers, strings, booleans -* yielding values of recursive data types: objects, lists - -Sometimes it is necessary not only to create an object but to modify it as well. We can apply fuzzing to -the fuzzer-generated values that should be modified. For example, you have the `HashMap.java` class, and you need to -generate -three -modifications for it using `put(key, value)`. For this purpose, you may request for applying the fuzzer to six -parameters `(key, value, key, value, key, value)` and get the necessary modified values. - -Primitive type generators allow for yielding: -1. Signed integers of a given size (8, 16, 32, and 64 bits, usually) -2. Unsigned integers of a given size -3. Floating-point numbers with a given size of significand and exponent according to IEEE 754 -4. Booleans: _True_ and _False_ -5. Characters (in UTF-16 format) -6. Strings (consisting of UTF-16 characters) - -The fuzzer should be able to provide out-of-the-box support for these types — be able to create, modify, and process -them. -To work with multiple languages, it is enough to specify the possible type size and to describe and create -concrete objects based on the FP-generated values. - -The recursive types include two categories: -* Collections (arrays and lists) -* Objects - -Collections may be nested and have _n_ dimensions (one, two, three, or more). - -Collections may be: -* of a fixed size (e.g., arrays) -* of a variable size (e.g., lists and dictionaries) - -Objects may have: -1. Constructors with parameters -2. Modifiable inner fields -3. Modifiable global values (the static ones) -4. Calls for modifying methods - -FP should be able to create and describe such objects in the form of a tree. The semantics of actual modifications is under the responsibility of a programming language. - - -## Typing - -FP does not use the concept of _type_ for creating objects. Instead, FP introduces the _task_ concept — it -encapsulates the description of a type, which should be used to create an object. Generally, this task consists of two -blocks: the task for initializing values and the list of tasks for modifying the initialized value. - -``` -Task = [ - Initialization: [T1, T2, T3, ..., TN] - Modification(Initialization): [ - М1: [T1, T2, ..., TK], - М2: [T1, T2, ..., TJ], - МH: [T1, T2, ..., TI], - ] -] -``` - -Thus, we can group the tasks as follows: - -``` -1. Trivial task = [ - Initialization: [INT|UNSIGNED.INT|FLOAT.POINT.NUMBER|BOOLEAN|CHAR|STRING] - Modification(Initialization): [] -] - - -2. Task for creating an array = [ - Initialization: [UNSIGNED.INT] - Modification(UNSIGNED.INT) = [T] * UNSIGNED.INT -] - -or - -2. Task for creating an array = [ - Initialization: [UNSIGNED.INT] - Modification(UNSIGNED.INT) = [[T * UNSIGNED.INT]] -] - -where "*" means repeating the type the specified number of times - -3. Task for creating an object = [ - Initialization: [Т1, Т2, ... ТN], - Modification(UNSIGNED.INT) = [ - ... - ] -] - -``` - -Therefore, each programming language defines how to interpret a certain type and how to infer it. This allows fuzzer -to store and mutate complex objects without any additional support from the language. diff --git a/docs/GoSupport.md b/docs/GoSupport.md deleted file mode 100644 index 10518a49..00000000 --- a/docs/GoSupport.md +++ /dev/null @@ -1,145 +0,0 @@ -# UnitTestBot Go - -UnitTestBot Go automatically generates ready-to-use unit tests for Go programs. - -With UnitTestBot Go, you can find bugs in your code and fixate the desired program behavior with less effort. - -The project is under development, -so feel free to [contribute](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-go/docs/DEVELOPER_GUIDE.md). - -## Features and details - -UnitTestBot Go now implements the _basic fuzzing technique_. -It generates input values considering the parameter types, -inserts these values into the user functions, and executes the resulting test cases. - -### Supported types for function parameters - -Now UnitTestBot Go can generate values for _primitive types_, _arrays_, _slices_, _maps_, _structs_, _channels_, _interfaces_, and _pointers_. - -For _floating point types_, UnitTestBot Go supports working with _infinity_ and _NaN_. - -### Supported types for the returned results - -For the returned function results, -UnitTestBot Go supports the `error` type as well as all the types supported for the function parameters except _interfaces_ and _channels_. - -It also captures `panic` cases correctly. - -Check the examples of [supported functions](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-go/go-samples/simple/samples.go). - -### Keeping tests near the source code - -[Testing code typically -lives in the same package as the code it tests](https://gobyexample.com/testing). -By default, UnitTestBot Go generates tests into the `[name of source file]_go_ut_test.go` file located in the same -directory and Go package as the corresponding source file. - -If you need to change the location for the generated tests, -use the `generateGo` CLI command and set the generated test output mode to -`StdOut` (`-p, --print-test` flag). -Then, with bash primitives, redirect the output to an arbitrary file. - -### Requirements to source code - -To simplify handling dependencies and generating tests, UnitTestBot Go requires the code under test _to -be a part of a Go project_ consisting of a module and packages. - -To create a simple project, refer to the [starter tutorial](https://go.dev/doc/tutorial/getting-started) if necessary. - -For larger projects, try the [Create a Go module](https://go.dev/doc/tutorial/create-module) -and [Call your code from another module](https://go.dev/doc/tutorial/call-module-code) tutorials. - -To create a new module rooted in the current directory, use the `go mod init` command. - -To add missing module requirements necessary to build the current module’s packages and dependencies, -use the `go mod tidy` command. For editing and formatting `go.mod` files, use the `go mod edit` command. - -In the future, we plan to make UnitTestBot Go working with arbitrary code as input and generate the simplest -Go projects automatically. - -## IntelliJ IDEA plugin - -### Requirements - -* IntelliJ IDEA Ultimate — for compatibility, see [UnitTestBot on JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19445-unittestbot/versions). -* Go SDK 1.18 or later -* Compatible [Go plugin](https://plugins.jetbrains.com/plugin/9568-go) for IntelliJ IDEA -* Properly configured `go.mod` file for the code under test -* `github.com/stretchr/testify/assert` Go module installed (IntelliJ IDEA automatically offers to install it as soon as the tests are generated) - -### Installation - -Please refer to [UnitTestBot user guide](https://github.com/UnitTestBot/UTBotJava/wiki/Install-or-update-plugin). - -### Usage - -1. In your IntelliJ IDEA, go to **File** > **Settings** > **Tools**, choose **UnitTestBot** and enable **Experimental languages support**. - - **(!) NOTE:** be sure to enable this option for **_each_** project. - -2. Open a `.go` file and press **Alt+Shift+U**. -3. In the **Generate Tests with UnitTestBot** window, you can configure the settings. - -## Command-line interface (CLI) - -### Requirements - -* Java SDK 17 or later -* Go SDK 1.18 or later -* Properly configured `go.mod` file for the code under test -* GCC and `github.com/stretchr/testify/assert` installed - -### Installation - -To install the UnitTestBot Go CLI application, go to GitHub, scroll through the release notes and click **Assets**. -Download the zip-archive named like **utbot-cli-VERSION**. -Extract the JAR file from the archive. - -### Usage - -Run the extracted JAR file using a command line: `generateGo` and `runGo` actions are supported for now. -To find info about the options for these actions, -insert the necessary JAR file name instead of `utbot-cli-2022.8-beta.jar` in the example and run the following commands: - -```bash -java -jar utbot-cli-2022.8-beta.jar generateGo --help -``` -or -```bash -java -jar utbot-cli-2022.8-beta.jar runGo --help -``` - -`generateGo` options: - -* `-s, --source TEXT`, _required_: specifies a Go source file to generate tests for. -* `-f, --function TEXT`: specifies a function name to generate tests for. Can be used multiple times to select multiple functions. -* `-m, --method TEXT`: specifies a method name to generate tests for. Can be used multiple times to select multiple methods. -* `-go TEXT`, _required_: specifies a path to a Go executable. For example, `/usr/local/go/bin/go`. -* `-gopath TEXT`, _required_: specifies a path to your workspace location. It defaults to a directory named `go` in your home directory: `$HOME/go` for Unix, `$home/go` for Plan 9, and `%USERPROFILE%\go` (usually `C:\Users\YourName\go`) for Windows. -* `-parallel INT`: specifies the number of fuzzing processes running at once (eight by default). -* `-et, --each-execution-timeout INT`: specifies a timeout in milliseconds for each target function execution. - The default timeout is 1,000 ms. -* `-at, --all-execution-timeout INT`: specifies a timeout in milliseconds for all target function executions. - The default timeout is 60,000 ms. -* `-p, --print-test`: specifies whether a test should be printed out to `StdOut`. Disabled by default. -* `-w, --overwrite`: specifies whether to overwrite the output test file if it already exists. Disabled by default. -* `-fm, --fuzzing-mode`: stops test generation when a `panic` situation, an error, or timeout occurs (only one test will be generated for one of these cases). -* `-h, --help`: shows a help message and exits. - -`runGo` options: - -* `-p, --package TEXT`, _required_: specifies a Go package to run tests for. -* `-go, --go-path TEXT`, _required_: specifies a path to a Go executable. For example, `/usr/local/go/bin/go`. -* `-v, --verbose`: specifies whether an output should be verbose. Disabled by default. -* `-j, --json`: specifies whether an output should be in JSON format. Disabled by default. -* `-o, --output TEXT`: specifies an output file for a test run report. Prints to `StdOut` by default. -* `-cov-mode, --coverage-mode [html|func|json]`: specifies whether a test coverage report should be generated and defines the report format. - Coverage report generation is disabled by default. -* `-cov-out, --coverage-output TEXT`: specifies the output file for a test coverage report. Required if `[--coverage-mode]` is - set. - -## Contributing to UnitTestBot Go - -To take part in project development or learn more about UnitTestBot Go, check -out the [Developer guide](../utbot-go/docs/DEVELOPER_GUIDE.md) and our [plans](../utbot-go/docs/FUTURE_PLANS.md). \ No newline at end of file diff --git a/docs/JavaScriptSupport.md b/docs/JavaScriptSupport.md deleted file mode 100644 index cfafa94e..00000000 --- a/docs/JavaScriptSupport.md +++ /dev/null @@ -1,117 +0,0 @@ -# UnitTestBot JavaScript - -[UnitTestBot](https://www.utbot.org/) is the tool for automated unit test generation available as an IntelliJ IDEA plugin, or a command-line interface. - -Now UnitTestBot provides fuzzing-based support for JavaScript. - -## IntelliJ IDEA plugin - -### Requirements - -1. IntelliJ IDEA Ultimate — for compatibility, see [UnitTestBot on JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19445-unittestbot/versions). -2. UnitTestBot plugin: please refer to [UnitTestBot user guide](https://github.com/UnitTestBot/UTBotJava/wiki/Install-or-update-plugin). -3. [Node.js 10.0.0 or later](https://nodejs.org/en/download/) (we recommend that you add Node.js to environment variables) - -_Note:_ when _npm_ cannot install requirements, try troubleshooting. -1. If the system prohibits installation: run _cmd_ via `sudo` or with administrator access, run `npm install -g `. -2. If Node.js is missing, or _npm_ is not installed: install Node.js with default configuration from the official website. - -### How to use - -1. In your IntelliJ IDEA, go to **File** > **Settings** > **Tools**, choose **UnitTestBot** and enable **Experimental languages support**. - - **(!) NOTE:** be sure to enable this option for **_each_** project. - -2. Go to **File** > **Settings** > **Languages & Frameworks**, choose **Node.js** and check if the path to Node.js executable file is specified. -3. In a JavaScript file, press **Alt+Shift+U** to open the generation dialog. - -## Command-line interface (CLI) - -### Build - -JAR file can be built in [GitHub Actions](https://github.com/UnitTestBot/UTBotJava/actions/workflows/publish-plugin-and-cli-from-branch.yml) with the `publish-plugin-and-cli-from-branch` script. - -### Requirements - -* [Node.js 10.0.0 or later](https://nodejs.org/en/download/) -* [Java 11 or later](https://www.oracle.com/java/technologies/downloads/) -* _nyc_ 15.1.0 or later: `> npm install -g nyc` -* Mocha 10.0.0 or later: `> npm install -g mocha` - -_Note:_ for each new project, _npm_ needs internet connection to install the required packages. - -### Generate tests: `generate_js` - - java -jar utbot-cli.jar generate_js --source="dir/file_with_sources.js" --output="dir/generated_tests.js" - - This will generate tests for top-level functions from `file_with_sources.js`. - -#### Options - -- `-s, --source ` - - _(required)_ Source code file for test generation. -- `-c, --class ` - - Specifies the class to generate tests for. - If not specified, tests for top-level functions or a single class are generated. - -- `-o, --output ` - - File for generated tests. -- `-p, --print-test` - - Specifies whether a test should be printed out to `StdOut` (default = false). -- `-t, --timeout ` - - Timeout for a single test case to generate: in seconds (default = 15). -- `--coverage-mode ` - - Specifies the coverage mode for test generation (used for coverage-based optimization). For now, the fast mode cannot deal with exceeding timeouts, but works faster (default = FAST). Do not use the fast mode if you guess there might be infinite loops in your code. -- `--path-to-node ` - - Sets a path to Node.js executable (default = "node"). -- `--path-to-nyc ` - - Sets a path to _nyc_ executable (default = "nyc"). -- `--path-to-npm ` - - Sets a path to _npm_ executable (default = "npm"). - -### Run generated tests: `run_js` - - java -jar utbot-cli.jar run_js --fileOrDir="generated_tests.js" - - This will run generated tests from a file or directory. - -#### Options - -- `-f, --fileOrDir` - - _(required)_ File or directory with tests. -- `-o, --output` - - Specifies the output TXT file for a test framework result (if empty, prints the result to `StdOut`). - -- `-t, --test-framework ` - - Test framework to use for test running (default = "Mocha"). - -### Generate a coverage report: `coverage_js` - - java -jar utbot-cli.jar coverage_js --source=dir/generated_tests.js - - This will generate a coverage report for generated tests and print it to `StdOut`. - -#### Options - -- `-s, --source ` - - _(required)_ File with tests to generate a report for. - -- `-o, --output` - - Specifies the output JSON file for a coverage report (if empty, prints the report to `StdOut`). -- `--path-to-nyc ` - - Sets a path to _nyc_ executable (default = "nyc"). diff --git a/docs/NightStatisticsMonitoring.md b/docs/NightStatisticsMonitoring.md deleted file mode 100644 index 226356b9..00000000 --- a/docs/NightStatisticsMonitoring.md +++ /dev/null @@ -1,241 +0,0 @@ -# Night Statistics Monitoring - -## What is the problem? - -As UnitTestBot contributors, we'd like to constantly improve our product. There are many of us introducing code changes simultaneously — unfortunately, some changes or combinations of them may lead to reduced plugin efficiency. To avoid such an unlucky result we need to monitor statistics on test generation performance. - -## Why monitor nightly? - -It would be great to collect statistics as soon as the contributor changes the code. In case you have a huge project it takes too long to run the monitoring system after each push into master. -Thus, we decided to do it every night when (hopefully!) no one makes changes. - -## How do we collect statistics? - -To find the algorithm you can refer to `StatisticsMonitoring.kt`. Shortly speaking, it is based on `ContestEstimator.kt`, which runs test generation on the sample projects and then compile the resulting tests. We repeat the whole process several times to reduce measurement error. - -## Statistics monitoring usage - -### Collecting statistics - -To run statistics monitoring you have to specify the name of the JSON output file. - -Input arguments: ``. - -Output format: you get the JSON file, which contains an array of objects with statistics and input parameters on each run. - -More about each statistic: `Statistics.kt`. - -More about monitoring settings: `MonitoringSettings.kt`. - -Input example: - -``` -stats.json -``` - -Output example (the result of three runs during one night): - -```json5 -[ - { - "parameters": { - "fuzzing_ratio": 0.1, // how long does fuzzing takes - "class_timeout_sec": 20, // test generation timeout for one class - "run_timeout_min": 20 // total timeout for this run - }, - "targets": [ // projects that have been processed - { - "target": "guava", // name of project - "summarised_metrics": { // summarised metrics for processed project - "total_classes": 20, // classes count - "testcases_generated": 1042, // generated unit-tests count - "classes_failed_to_compile": 0, // classes that's tests are not compilable - "classes_canceled_by_timeout": 4, // classes that's generation was canceled because of timeout - "total_methods": 526, // methods count - "methods_with_at_least_one_testcase_generated": 345, // methods with at least one successfully generated test - "methods_with_at_least_one_exception": 32, // methods that's generation contains exceptions - "methods_without_any_tests_and_exceptions": 59, // suspicious methods without any tests and exceptions - "covered_bytecode_instructions": 4240, // amount of bytecode instructions that were covered by generated tests - "covered_bytecode_instructions_by_fuzzing": 2946, // amount of bytecode instructions that were covered by fuzzing's generated tests - "covered_bytecode_instructions_by_concolic": 3464, // amount of bytecode instructions that were covered by concolic's generated tests - "total_bytecode_instructions": 9531, // total amount of bytecode instructions in methods with at least one testcase generated - "averaged_bytecode_instruction_coverage_by_classes": 0.5315060991492891 // mean bytecode coverage by class - }, - "metrics_by_class": [ // metrics for all classes in this project - { - "class_name": "com.google.common.math.LongMath", // name of processed class - "metrics": { // metrics for specified class - "testcases_generated": 91, // amount of generated unit-tests - "failed_to_compile": false, // compilation generated tests are failure - "canceled_by_timeout": true, // generation is interrupted because of timeout - "total_methods_in_class": 31, // methods count in this class - "methods_with_at_least_one_testcase_generated": 26, // methods with at least one successfully generated test - "methods_with_at_least_one_exception": 0, // methods that's generation contains exceptions - "methods_without_any_tests_and_exceptions": 5, // suspicious methods without any tests and exceptions - "covered_bytecode_instructions_in_class": 585, // amount of bytecode instructions that were covered by generated tests - "covered_bytecode_instructions_in_class_by_fuzzing": 489, // amount of bytecode instructions that were covered by fuzzing's generated tests - "covered_bytecode_instructions_in_class_by_concolic": 376, // amount of bytecode instructions that were covered by concolic's generated tests - "total_bytecode_instructions_in_class": 1442 // total amount of bytecode instructions in methods with at least one testcase generated - } - }, - // ... - ] - } - ] - } -] -``` - -### Metadata - -Our main goal is to find code changes or run conditions related to the reduced UnitTestBot performance. Thus, we collect metadata about each run: the commit hash, the UnitTestBot build number, and also information about the environment (including JDK and build system versions, and other parameters). - -The `insert_metadata.py` script is responsible for doing this. To run it you have to specify the following arguments. - -To get more information about input arguments call script with option `--help`. - -Output format: you get the JSON file, containing metadata, statistics and parameters grouped by target project and classes. - -Input example: -``` ---stats_file stats.json --output_file data/meta-stats.json ---commit 66a1aeb6 --branch main ---build 2022.8 --timestamp 1661330445 ---source_type github-action --source_id 2917672580 -``` - -Output example (statistics followed by metadata): -```json5 -{ - "version": 2, // version of json format - "targets": [ // projects and methods that have been processed - { - "target": "guava", // name of project - "summarised": [ // list of summarised metrics with parameters on each run - { - "parameters": { - "fuzzing_ratio": 0.1, // how long does fuzzing takes - "class_timeout_sec": 20, // test generation timeout for one class - "run_timeout_min": 20 // total timeout for this run - }, - "metrics": { - "total_classes": 20, // classes count - "testcases_generated": 1042, // generated unit-tests count - "classes_failed_to_compile": 0, // classes that's tests are not compilable - "classes_canceled_by_timeout": 4, // classes that's generation was canceled because of timeout - "total_methods": 526, // methods count - "methods_with_at_least_one_testcase_generated": 345, // methods with at least one successfully generated test - "methods_with_at_least_one_exception": 32, // methods that's generation contains exceptions - "methods_without_any_tests_and_exceptions": 59, // suspicious methods without any tests and exceptions - "total_bytecode_instruction_coverage": 0.44486412758, // total bytecode coverage of generated tests - "total_bytecode_instruction_coverage_by_fuzzing": 0.30909663204, // total bytecode coverage of fuzzing's generated tests - "total_bytecode_instruction_coverage_by_concolic": 0.36344559857, // total bytecode coverage of concolic's generated tests - "averaged_bytecode_instruction_coverage_by_classes": 0.5315060991492891 // mean bytecode coverage by class - } - }, - // ... - ], - "by_class": [ // list of metrics and parameters for all classes in project and on each run - { - "class_name": "com.google.common.math.LongMath", // name of processed class - "data": [ // metrics and parameters on each run - { - "parameters": { // parameters on this run - "fuzzing_ratio": 0.1, // how long does fuzzing takes - "class_timeout_sec": 20, // test generation timeout for one class - "run_timeout_min": 20 // total timeout for this run - }, - "metrics": { // metrics for specified class on this run - "testcases_generated": 91, // amount of generated unit-tests - "failed_to_compile": false, // compilation generated tests are failure - "canceled_by_timeout": true, // generation is interrupted because of timeout - "total_methods_in_class": 31, // methods count in this class - "methods_with_at_least_one_testcase_generated": 26, // methods with at least one successfully generated test - "methods_with_at_least_one_exception": 0, // methods that's generation contains exceptions - "methods_without_any_tests_and_exceptions": 5, // suspicious methods without any tests and exceptions - "total_bytecode_instruction_coverage_in_class": 0.40568654646, // bytecode coverage of generated tests - "total_bytecode_instruction_coverage_in_class_by_fuzzing": 0.33911234396, // bytecode coverage of fuzzing's generated tests - "total_bytecode_instruction_coverage_in_class_by_concolic": 0.26074895977 // bytecode coverage of concolic's generated tests - } - }, - // ... - ] - }, - // ... - ] - }, - // ... - ], - "metadata": { // device's properties - "source": { // information about runner - "type": "github-action", - "id": "2917672580" - }, - "commit_hash": "66a1aeb6", // commit hash of used utbot build - "branch": "main", // branch of used utbot build - "build_number": "2022.8", // build number of used utbot build - "timestamp": 1661330445, // run timestamp - "date": "2022-08-24T08:40:45", // human-readable run timestamp - "environment": { // device's environment - "host": "fv-az183-700", - "OS": "Linux version #20~20.04.1-Ubuntu SMP Fri Aug 5 12:16:53 UTC 2022", - "java_version": "openjdk version \"11.0.16\" 2022-07-19 LTS\nOpenJDK Runtime Environment Zulu11.58+15-CA (build 11.0.16+8-LTS)\nOpenJDK 64-Bit Server VM Zulu11.58+15-CA (build 11.0.16+8-LTS, mixed mode)\n", - "gradle_version": "Gradle 7.4.2", - "JAVA_HOME": "/opt/hostedtoolcache/Java_Zulu_jdk+fx/11.0.16-8/x64", - "KOTLIN_HOME": "/usr", - "PATH": "/opt/hostedtoolcache/Python/3.9.13/x64/bin:/opt/hostedtoolcache/Python/3.9.13/x64:/home/runner/gradle-installations/installs/gradle-7.4.2/bin:/opt/hostedtoolcache/Java_Zulu_jdk+fx/11.0.16-8/x64/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/snap/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" - } - } -} -``` - -### Datastorage structure - -We store the collected statistics in our repository. You can find two special branches: `monitoring-data` and `monitoring-aggregated-data`. - -The `monitoring-data` branch is a storage for raw statistics data as well as metadata. - -The filename format: `--
-------.json` - -### Grafana - -#### Usage - -We can use [Grafana](https://monitoring.utbot.org) for more dynamic and detailed statistics visualisation. Grafana pulls data from our repository automatically. - -#### Metrics format - -Our goal after collecting statistics is uploading results into grafana. For this we should prepare data and send it to our server. - -The `prepare_metrics.py` script is responsible for doing this. To run it you have to specify the following arguments. - -To get more information about input arguments call script with option `--help`. - -Output format: you get the JSON file, containing array of metrics with some labels. - -Output example: -```json5 -[ - // summarised - { - "metric": "testcases_generated", - "labels": { - "project": "guava", - "fuzzing_ratio": 0.1 - }, - "value": 1024 - }, - // ... - // by classes - { - "metric": "testcases_generated", - "labels": { - "project": "guava", - "class": "com.google.common.math.LongMath", - "fuzzing_ratio": 0.1 - }, - "value": 91 - }, - // ... -] -``` diff --git a/docs/OverallArchitecture.md b/docs/OverallArchitecture.md deleted file mode 100644 index ba9a4856..00000000 --- a/docs/OverallArchitecture.md +++ /dev/null @@ -1,380 +0,0 @@ -# UnitTestBot overall architecture - -Get the bird's-eye view of UnitTestBot overall architecture in the following chart. Check the purpose of each component in the descriptions below. - -```mermaid -flowchart TB - subgraph Clients - direction LR - IntellijPlugin - MavenPlugin["Maven/Gradle plugins"] - GithubAction-->MavenPlugin - ExternalJavaClient[\External Java Client\] - CLI - ContestEstimator - - end - - subgraph Facades - direction LR - EngineMain[[EngineMain]] - UtBotJavaApi[[UtBotJavaApi]] - GenerateTestsAndSarifReport[[GenerateTestsAndSarifReport]] - end - IntellijPlugin--Rd-->EngineMain - MavenPlugin-->GenerateTestsAndSarifReport - ExternalJavaClient-->UtBotJavaApi - - subgraph API["Generation API"] - direction LR - TestCaseGenerator[[TestCaseGenerator]] - CodeGenerator[[CodeGenerator]] - end - Facades-->API - CLI-->API - ContestEstimator-->API - - - - subgraph Components - direction LR - SymbolicEngine-->jlearch - SymbolicEngine-->ConcreteExecutor - Fuzzer-->ConcreteExecutor - SarifReport - Minimizer - CodeRenderer - Summaries - jlearch - end - CodeGenerator-->CodeRenderer - TestCaseGenerator-->SymbolicEngine - TestCaseGenerator-->Fuzzer - TestCaseGenerator-->Minimizer - TestCaseGenerator-->Summaries - GenerateTestsAndSarifReport-->SarifReport - - UTSettings((UTSettings)) - UTSettings<--Rd/local-->Components - UTSettings<---->Clients - TestCaseGenerator--warmup-->ConcreteExecutor - ConcreteExecutor--Rd-->InstrumentedProcess - -``` - -## Typical interaction between components - -An interaction diagram for UnitTesBot components is presented below. See how it starts from IntelliJ IDEA plugin UI and follow the flow. -```mermaid -sequenceDiagram - autonumber - actor user as User - participant ij as IDE process - participant engine as Engine process - participant concrete as Instrumented process - - user ->> ij: Invoke "Generate Tests with UnitTestBot" - ij ->> ij: Calculate methods, framework to show - ij ->> user: Show UI - - break User clicked "Cancel" - user -->> user: Exit - end - user ->> ij: Click "Generate Tests" - ij ->> ij: Calculate what JAR needs to be installed - - opt Some JARs need to be installed - ij ->> ij: Install JARs - end - - ij ->> engine: Start process - activate engine - ij ->> engine: Setup up context - - loop For all files - ij ->> engine: Generate UtExecution models - loop For all UtExecution models: for the method found by engine - engine ->> concrete: Run concretely - end - engine --> engine: Minimize the number of tests for the method - engine --> engine: Generate summaries for the method - end - ij ->> engine: Render code - engine ->> ij: File with tests - deactivate engine - -``` - -## Clients - -### IntelliJ IDEA plugin - -The plugin provides -* a UI for the IntelliJ-based IDEs to use UnitTestBot directly from source code, -* the linkage between IntelliJ Platform API and UnitTestBot API, -* support for the most popular programming languages and frameworks for end users (the plugin and its optional dependencies are described in [plugin.xml](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/resources/META-INF/plugin.xml) and nearby, in the [`META-INF`](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-intellij/src/main/resources/META-INF) folder). - -The main plugin module is [utbot-intellij](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-intellij), providing support for Java and Kotlin. -Also, there is an auxiliary [utbot-ui-commons](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-ui-commons) module to support providers for other languages. - -As for the UI, there are two entry points: -* [GenerateTestAction](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt) for _preparing and calling_ test generation; -* [SettingsWindow](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/SettingsWindow.kt) for _per-project_ UnitTestBot configuring. - -The main plugin-specific features are: -* A common action for generating tests right from the editor or a project tree — with a generation scope from a single method up to the whole source root. See [GenerateTestAction](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt) — the same for all supported languages. -* Auto-installation of the user-chosen testing framework as a project library dependency (JUnit 4, JUnit 5, and TestNG are supported). See [UtIdeaProjectModelModifier](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtIdeaProjectModelModifier.kt) and the Maven-specific version: [UtMavenProjectModelModifier](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtMavenProjectModelModifier.kt). -* Suggesting the location for a test source root and auto-generating the `utbot_tests` folder there, providing users with a sandbox in their code space. -* Optimizing generated code with IDE-provided intentions (experimental). See [IntentionHelper](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/IntentionHelper.kt) for details. -* An option for distributing generation time between symbolic execution and fuzzing explicitly. -* Running generated tests while showing coverage with the IDE-provided measurement tools. See [RunConfigurationHelper](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/RunConfigurationHelper.kt) for implementation. -* Displaying the UnitTestBot-found code defects as IntelliJ-specific inspections and quickfixes in the "Problems" tool window. See the [inspection](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/inspection) package. -* Two kinds of Javadoc comments in the generated code: rendered as plain text and structured via custom tags. See the [javadoc](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/javadoc) package. -* A self-documenting [`settings.properties`](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/SettingsProperties.md) file with the settings for low-level UnitTestBot tuning. - -### Gradle/Maven plugins - -Plugins for Gradle/Maven build systems provide the UnitTestBot `GenerateTestsAndSarifReportFacade` component with the user-chosen settings (test generation timeout, testing framework, etc.). This component runs test generation and creates SARIF reports. - -For more information on the plugins, please refer to the detailed design documents: -- [UnitTestBot Gradle plugin](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-gradle/docs/utbot-gradle.md) -- [UnitTestBot Maven plugin](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-maven/docs/utbot-maven.md) - -You can find the modules here: -* [utbot-gradle](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-gradle) -* [utbot-maven](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-maven) - -### GitHub Action - -UnitTestBot GitHub Action displays the detected code defects in the GitHub "Security Code Scanning Alerts" section. - -You can find UnitTestBot GitHub Action in the separate [repository](https://github.com/UnitTestBot/UTBotJava-action). - -UnitTestBot GitHub Action uses the [UnitTestBot Gradle plugin](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-gradle) -to run UnitTestBot on the user's repository and imports the SARIF output into the "Security Code Scanning Alerts" section. -Please note that at the moment this action cannot work with Maven projects because -the [UnitTestBot Maven plugin](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-maven) has not been published yet. - -For more information on UnitTestBot GitHub Action, please refer to the [related docs](https://github.com/UnitTestBot/UTBotJava-action#readme). -You can also find a detailed [usage example](https://github.com/UnitTestBot/UTBotJava-action-example). - -### Command-line interface (CLI) - -With CLI, one can run UnitTestBot from the command line. - -CLI implementation is placed in the [utbot-cli](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-cli) module. UnitTestBot CLI has two main commands: `generate` and `run` — use `--help` to find more info on their options. - -An executable CLI is distributed as a JAR file. - -We provide Linux Docker images containing CLI. They are stored on [GitHub Packages](https://github.com/UnitTestBot/UTBotJava/pkgs/container/utbotjava%2Futbot_java_cli). - -### Contest estimator - -Contest estimator runs UnitTestBot on the provided projects and returns the generation statistics such as instruction coverage. - -Contest estimator is placed in the [utbot-junit-contest](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-junit-contest) module and has two entry points: -- [ContestEstimator.kt](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ContestEstimator.kt) is the main entry point. It runs UnitTestBot on the specified projects, calculates statistics for the target classes and projects, and outputs them to a console. -- [StatisticsMonitoring.kt](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-junit-contest/src/main/kotlin/org/utbot/monitoring/StatisticsMonitoring.kt) is an additional entry point, which does the same as the previous one but can be configured from a file and dumps the resulting statistics to a file. - It is used to [monitor and chart](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/NightStatisticsMonitoring.md) statistics nightly. - -## Components - -### Symbolic engine - -Symbolic engine is a component maintaining the whole analysis process: from the moment it takes information about a method under test (MUT) till the moment it returns a set of execution results along with the information required to reproduce the MUT's execution paths. The engine uses symbolic execution to explore the paths in a MUT's control flow graph (CFG). - -The technique is rather complex, so the engine consists of several subcomponents, each responsible for a certain part of the analysis: - -* [UtBotSymbolicEngine.kt](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt) contains a `UtBotSymbolicEngine` class — it manages interaction between different parts of the system and controls the analysis flow. This class is an entry point for symbolic execution in UnitTestBot. Using `UtBotSymbolicEngine` API, the users or UnitTestBot components can start, suspend or stop the analysis. `UtBotSymbolicEngine` provides a connection between the components by taking execution states from [PathSelector](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/PathSelector.kt) and pushing them either into [Traverser](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt) or in [ConcreteExecutor](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/ConcreteExecutor.kt), depending on their status and settings. - In a few words, the pipeline looks like this: the engine takes a state from [PathSelector](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/PathSelector.kt), pushes it into [Traverser](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt), and then gets an updated state from it. If this state is not terminal, `UtBotSymbolicEngine` pushes it to the queue in the path selector. If this state is terminal, it either calls `ConcreteExecutor` to get a concrete result state or yields a symbolic result into the resulting flow. -* [PathSelector](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/PathSelector.kt) is a class making a decision on which instruction of the program should be processed next. It is located in `PathSelector.kt`, but the whole [selectors](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-framework/src/main/kotlin/org/utbot/engine/selectors) package is related to it. `PathSelector` has a pretty simple interface: it can put a state in the queue or return a state from that queue. -* [Traverser](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt) processes a given state. It contains information about CFG, a hierarchy of classes in the program, a symbolic type system, and mocking information. `Traverser` is the most important class in the symbolic engine module. It knows how to process instructions in CFG, how to update the dependent symbolic memory, and which constraints should be added to go through a certain path. Having processed an instruction from the given state, `Traverser` creates a new one, with updated memory and path constraints. - -There are other important classes in the symbolic engine subsystem. Here are some of them: -* [Memory](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/Memory.kt) is responsible for the symbolic memory representation of a state in the program. -* [TypeRegistry](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/engine/types/TypeRegistry.kt) contains information about a type system. -* `Mocker` decides whether we should mock an object or not. - -You can find all the engine-related classes in the [engine](https://github.com/UnitTestBot/UTBotJava/tree/main/utbot-framework/src/main/kotlin/org/utbot/engine) module. - -### Concrete executor - -`ConcreteExecutor` is the input point for the _instrumented process_ used by UnitTestBot symbolic engine and fuzzer. This class provides a smooth and concise interaction between the _instrumented process_ and a user, whereas the _instrumented process_ executes a given function with the supplied arguments. - -`ConcreteExecutor` is parameterized with `Instrumentation` and its return type via the generic arguments. `Instrumentation` is an interface, so inheritors have to implement the logic of a specific method invocation in an isolated environment as well as the `transform` function used for instrumenting classes. For our purposes, we use `UtExecutionInstrumentation`. - -The main `ConcreteExecutor` function is -```kotlin -suspend fun executeAsync( - kCallable: KCallable<*>, - arguments: Array, - parameters: Any? -): TResult -``` -It serializes the arguments and some parameters (e.g., static fields), sends it to the _instrumented process_ and retrieves the result. - -Internally, `ConcreteExecutor` uses `Rd` for interprocess communication and `Kryo` for objects serialization. You don't need to provide a marshaller, as `Kryo` serializes the objects (sometimes it fails). - -`ConcreteExecutor` is placed in the [utbot-instrumentation](../utbot-instrumentation) module. You can find the corresponding tests in the [utbot-instrumentation-tests](../utbot-instrumentation-tests) module. - -### Instrumented process - -`Instrumented process` concretely runs the user functions with the specified arguments and returns the result of execution. - -Additionally, `Instrumented process` evaluates instruction coverage and mocks function invocations and creating instances via the user's Java bytecode instrumentation. - -The main concept is _instrumentation_. `Instrumentation` is a class that implements the [corresponding](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/Instrumentation.kt) interface. It transforms the user code and provides invoking user functions. - -`Instrumented process` supports the following commands described in [InstrumentedProcessModel.kt](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-rd/src/main/rdgen/org/utbot/rd/models/InstrumentedProcessModel.kt): -- `AddPaths` tells where the `Instrumented process` should search for the user classes. -- `Warmup` forces loading and instrumenting user classes. -- `SetInstrumentation` tells which instrumentation the `Instrumented process` should use. -- `InvokeMethodCommand` requests the `Instumented process` to invoke a given user function and awaits the results. -- `StopProcess` just stops the `Instrumented process`. -- `CollectCoverage` requests collecting code coverage for the specified class. -- `ComputeStaticField` requests the specified static field value. - -These commands are delivered from the other processes by `Rd`. - -The main instrumentation of UnitTestBot is [UtExecutionInstrumentation](https://github.com/UnitTestBot/UTBotJava/blob/main/utbot-framework/src/main/kotlin/org/utbot/framework/concrete/UtExecutionInstrumentation.kt). - -### Code generator - -Code generation and rendering are a part of the test generation process in UnitTestBot. -UnitTestBot gets the synthetic representation of generated test cases from the fuzzer or the symbolic engine. -This representation (or model) is implemented in the `UtExecution` class. -The `codegen` module generates the real test code based on this `UtExecution` model -and renders it in a human-readable form. - -The `codegen` module -- converts `UtExecution` test information into an Abstract Syntax Tree (AST) representation using `CodeGenerator`, -- renders this AST according to the requested configuration (considering programming language, testing - framework, mocking and parameterization options) using `renderer`. - -The `codegen` entry points are: -- `CodeGenerator.generateAsString()` -- `CodeGenerator.generateAsStringWithTestReport()` - -The detailed implementation is described in the [Code generation and rendering](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/CodeGenerationAndRendering.md) design doc. - -### Fuzzer - -Fuzzing is a versatile technique for "guessing" values to be used as method arguments. To generate these kinds of values, the fuzzer uses generators, mutators, and predefined values. - -Fuzzing has been previously implemented in UnitTestBot as the solution for Java. For now, we have developed the generic platform that supports generating fuzzing tests for different languages. The Java fuzzing solution in UnitTestBot is marked as deprecated — it will soon be replaced with the fuzzing platform. - -You can find the relevant code here: -- `utbot-fuzzing` is the general fuzzing platform module. The related API is located in `org/utbot/fuzzing/Api.kt`. -- `utbot-fuzzer` is the module with the fuzzing solution for Java. Find the corresponding API in `org/utbot/fuzzing/JavaLanguage.kt`. - -Entry point for generating values (Java): `org/utbot/fuzzing/JavaLanguage.kt#runJavaFuzzing(...)` - -You can find the detailed description in the [Fuzzing Platform](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/Fuzzing%20Platform.md) design doc. - -### Minimizer - -Minimization is used to decrease the amount of `UtExecution` instances without decreasing coverage. - -The entry point is the [minimizeTestCase](https://github.com/UnitTestBot/UTBotJava/blob/d2d2e350bc75943b78f2078002a5cabc5dd62072/utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt#L38) function. It receives a set of `UtExecution` instances and a grouping function (grouping by `UtExecution::utExecutionResult`). Then the minimization procedure divides the set of `UtExecution` instances into several groups. Each group is minimized independently. - -We have different groups — here are some of them: -- A _successful regression suite_ that consists of `UtSuccess` and `UtExplicitlyThrownException` executions. -- An _error suite_ consisting of `UtImplicitlyThrownException` executions. -- A _timeout suite_ that consists of `UtTimeoutException` executions. -- A _crash suite_ consisting of executions where some parts of the engine failed. - -Each `UtExecution` instance provided should have coverage information, otherwise we add this execution to the test suite instantly. Coverage data are usually obtained from the _instrumented process_ and consist of covered lines. - -To minimize the number of executions in a group, we use a simple greedy algorithm: -1. Pick an execution that covers the maximum number of the previously uncovered lines. -2. Add this execution to the final suite and mark new lines as covered. -3. Repeat the first step and continue till there are executions containing uncovered lines. - -The whole minimization procedure is located in the [org.utbot.framework.minimization](../utbot-framework/src/main/kotlin/org/utbot/framework/minimization) package inside the [utbot-framework](../utbot-framework) module. - -### Summarization module - -Summarization is the process of generating detailed test descriptions consisting of -- test method names -- testing framework annotations (including `@DisplayName`) -- Javadoc comments for tests -- cluster comments for groups of tests (_Regions_) - -Each of these description elements can be turned off via `{userHome}/.utbot/settings.properties` (which gets information from `UtSettings.kt`). -If the summarization process fails due to an error or insufficient information, then the test method receives a unique name and no additional meta-information. - -This meta-information is generated for each type of `UtExecution` model and thus may vary significantly. -Also, Javadoc comments can be rendered in two styles: as plain text or in a special format enriched with the [custom Javadoc tags](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/summaries/CustomJavadocTags.md). - -The whole summarization subsystem is located in the `utbot-summary` module. - -For detailed information, please refer to the Summarization architecture design document. - -### SARIF report generator - -SARIF (Static Analysis Results Interchange Format) is a JSON-based format for displaying static analysis results. - -All the necessary information about the format and its usage can be found -in the [official documentation](https://github.com/microsoft/sarif-tutorials/blob/main/README.md) -and in the related [GitHub Docs](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning). - -In UnitTestBot, the `SarifReport` class is responsible for generating SARIF reports. -We use them to display UnitTestBot-detected errors such as unchecked exceptions, overflows, assertion errors, etc. - -For example, for the class below -```Java -public class Main { - int example(int x) { - return 1 / x; - } -} -``` - -UnitTestBot creates a report containing the following information: -- `java.lang.ArithmeticException: / by zero` may occur in line 3 -- The exception occurs if `x == 0` -- To reproduce this error, the user can run the generated `MainTest.testExampleThrowsAEWithCornerCase` test -- The exception stack trace: - - `Main.example(Main.java:3)` - - `MainTest.testExampleThrowsAEWithCornerCase(MainTest.java:39)` - -## Cross-cutting subsystems - -### Rd - -UnitTestBot consists of three processes (according to the execution order): -* _IDE process_ — the process where the plugin part executes. -* _Engine process_ — the process where the test generation engine executes. -* _Instrumented process_ — the process where concrete execution takes place. - -These processes are built on top of the [Reactive distributed communication framework (Rd)](https://github.com/JetBrains/rd) developed by JetBrains. - -One of the main Rd concepts is a _Lifetime_ — it helps to release shared resources upon the object's termination. -You can find the Rd basic ideas and UnitTestBot implementation details in the [Multiprocess architecture](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/RD%20for%20UnitTestBot.md) design doc. - -### Settings - -In UnitTestBot, _settings_ are the set of _properties_. Each _property_ is a _key=value_ pair and affects some important aspect of UnitTestBot behavior. UnitTestBot as an IntelliJ IDEA plugin, a CI-tool, or a CLI-tool has low-level _core settings_. The UnitTestBot plugin also has per-project _plugin-specific_ settings. - -Core settings are persisted in the _settings file_: `{userHome}/.utbot/settings.properties`. This file is designed for reading only. The defaults for the core settings are provided in source code (`UtSettings.kt`). - -The plugin-specific settings are stored per project in the _plugin configuration file_: `{projectDir}/.idea/utbot-settings.xml`. Nobody is expected to edit this file manually. - -The end user has three places to change UnitTestBot behavior: -1. A `{userHome}/.utbot/settings.properties` file — for global settings. -2. Plugin settings UI (**File** > **Settings** > **Tools** > **UnitTestBot**) — for per-project settings. -3. Controls in the **Generate Tests with UnitTestBot window** dialog — for per-generation settings. - -### Logging - -The UnitTestBot Java logging system is implemented across the IDE process, the Engine process, and the Instrumented process. - -UnitTestBot Java logging relies on `log4j2` library. -The custom Rd logging system is recommended as the default one for the Instrumented process. - -In the [Logging](../docs/contributing/InterProcessLogging.md) document, -you can find how to configure the logging system when UnitTestBot Java is used -* as an IntelliJ IDEA plugin, -* as Contest estimator or the Gradle/Maven plugins, via CLI or during the CI test runs. - -Implementation details, log level and performance questions are also addressed [here](../docs/contributing/InterProcessLogging.md). \ No newline at end of file diff --git a/docs/PythonSupport.md b/docs/PythonSupport.md deleted file mode 100644 index eea6d809..00000000 --- a/docs/PythonSupport.md +++ /dev/null @@ -1,31 +0,0 @@ -# UnitTestBot Python - -[UnitTestBot](https://www.utbot.org/) is the tool for automated unit test generation available as an IntelliJ IDEA plugin, or a command-line interface. - -Now UnitTestBot provides fuzzing-based support for Python. - -## Requirements - -1. IntelliJ IDEA — for compatibility, see [UnitTestBot on JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19445-unittestbot/versions). -2. Python 3.8 or later -3. [Python plugin](https://plugins.jetbrains.com/plugin/631-python) for IntelliJ IDEA - -If you already have a Python project, you usually have no need to install or configure anything else, but if you -have trouble with launching UnitTestBot for Python code, please refer to [advanced requirements section](../utbot-python/docs/CLI.md#requirements). - -## How to install and use - -To try UnitTestBot Python in your IntelliJ IDEA: -1. To install the plugin, please refer to [UnitTestBot user guide](https://github.com/UnitTestBot/UTBotJava/wiki/Install-or-update-plugin). -2. Configure the Python interpreter for your project and make sure IntelliJ IDEA resolves all the imports. -3. In your IntelliJ IDEA, go to **File** > **Settings** > **Tools**, choose **UnitTestBot** and enable **Experimental languages support**. - - **(!) NOTE:** be sure to enable this option for **_each_** project. - -4. To generate tests, place the caret at the required function and press **Alt+Shift+U**. To find the appropriate shortcut for the OS you are using, check the context menu. - -To use UnitTestBot Python via command-line interface, please refer to the [CLI guide](../utbot-python/docs/CLI.md). - -## How to contribute and get support - -To get information on contributing and getting support, please see [UnitTestBot Java Readme](https://github.com/UnitTestBot/UTBotJava#readme). diff --git a/docs/RD for UnitTestBot.md b/docs/RD for UnitTestBot.md deleted file mode 100644 index 49ffba4e..00000000 --- a/docs/RD for UnitTestBot.md +++ /dev/null @@ -1,235 +0,0 @@ -# Multiprocess architecture - -## Overview - -UnitTestBot consists of three processes: -1. `IDE process` — the process where the plugin part executes. We also call it the _plugin process_ or the - _IntelliJ IDEA process_. -2. `Engine process` — the process where the test generation engine executes. -3. `Instrumented process` — the process where concrete execution takes place. - -These processes are built on top of the [Reactive distributed communication framework (Rd)](https://github.com/JetBrains/rd) developed by JetBrains. Rd plays a crucial role in UnitTestBot machinery, so we briefly -describe this library here. - -To gain an insight into Rd, one should grasp these Rd concepts: -1. Lifetime -2. Rd entities -3. `Rdgen` - -## Lifetime concept - -Imagine an object holding resources that should be released upon the object's death. In Java, -`Closeable` and `AutoCloseable` interfaces are introduced to help release resources that the object is holding. -Support for `try`-with-resources in Java and `Closeable.use` in Kotlin are also implemented to assure that the -resources are closed after the execution of the given block. - -Though, releasing resources upon the object's death is still problematic: -1. An object's lifetime can be more complicated than the scope of `Closeable.use`. -2. If `Closeable` is a function parameter, should we close it? -3. Multithreading and concurrency may lead to more complex situations. -4. Considering all these issues, how should we correctly close the objects that depend on some other object's - lifetime? How can we perform this task in a fast and easy way? - -So, Rd introduces the concept of `Lifetime`. - -### `Lifetime` - -_Note:_ the described relationships and behavior refer to the JVM-related part of Rd. - -`Lifetime` is an abstract class, with `LifetimeDefinition` as its inheritor. `LifetimeDefinition` -has only one difference from its parent: `LifetimeDefinition` can be terminated. -Each `Lifetime` variable is an instance of `LifetimeDefinition` (we later call it "`Lifetime` instance"). You -can register callbacks in this `Lifetime` instance — all of them will be executed upon the termination. - -Though all `Lifetime` objects are instances of `LifetimeDefinition`, there are conventions for using them: -1. Do not cast `Lifetime` to `LifetimeDefinion` unless you are the one who created `LifetimeDefinition`. -2. If you introduce `LifetimeDefinition` somewhere, you should attach it to another `Lifetime` or provide - the code that terminates it. - -A `Lifetime` instance has these useful methods: -- `onTermination` executes _lambda_/_closeable_ when the `Lifetime` instance is terminated. If an instance has been - already terminated, it executes _lambda_/_closeable_ instantly. Termination proceeds on a thread that has invoked - `LifetimeDefinition.terminate`. Callbacks are executed in the **reversed order**, which is _LIFO_: the last added - callback is executed first. -- `onTerminationIfAlive` is the same as `onTermination`, but the callback is executed only if the `Lifetime` - instance is `Alive`. -- `executeIfAlive` executes _lambda_ if the `Lifetime` instance is `Alive`. This method guarantees that the `Lifetime` - instance is alive (i.e. will not be terminated) during the whole time of _lambda_ execution. -- `createdNested` creates the _child_ `LifetimeDefinition` instance: it can be terminated if the _parent_ - instance is terminated as well; or it can be terminated separately, while the parent instance stays alive. -- `usingNested` is the same as the `createNested` method but behaves like the `Closeable.use` pattern. - -See also: -- `Lifetime.Eternal` is a global `Lifetime` instance that is never terminated. -- `Lifetime.Terminated` is a global `Lifetime` instance that has been already terminated. -- `status` — find more details in the -[LifetimeStatus.kt](https://github.com/JetBrains/rd/blob/9b806ccc770515f6288c778581c54607420c16a7/rd-kt/rd-core/src/main/kotlin/com/jetbrains/rd/util/lifetime/LifetimeStatus.kt) class from the Rd repository. There are three - convenient methods: `IsAlive`, `IsNotAlive`, `IsTerminated`. - -### `LifetimeDefinition` - -`LifetimeDefinition` instances have the `terminate` method that terminates a `Lifetime` instance and invokes all -the registered callbacks. If multiple concurrent terminations occur, the method may sometimes return before -executing all the callbacks because some other thread executes them. - -## Rd entities - -Rd is a lightweight reactive one-to-one RPC protocol, which is cross-language as well as cross-platform. It can -work on the same or different machines via the Internet. - -These are some Rd entities: -- `Protocol` encapsulates the logic of all Rd communications. All the entities should be bound to `Protocol` before - being used. `Protocol` contains `IScheduler`, which executes a _runnable_ instance on a different thread. -- `RdSignal` is an entity allowing one to **fire and forget**. You can add a callback for every received message - via the `advise(lifetime, callback)` method. There are two interfaces: `ISink` that only allows advising for - messages and `ISignal` that can also `fire` events. There is also a `Signal` class with the same behavior - but without remote communication. - -**Important:** if you `advise` and `fire` from the same process, your callback receives _not only_ -messages from the other process, but also the ones you `fire`. - -- `RdProperty` is a stateful property. You can get the current value and advise the callback — an advised - callback is executed on a current value and every change. -- `RdCall` is the remote procedure call. - -There are `RdSet`, `RdMap`, and other entities. - -An `async` property allows you to `fire` entities from any thread. Otherwise, you would need to do it from -the `Protocol.scheduler` thread: all Rd entities should be bound to the `Protocol` from the `scheduler` thread, or you -would get an exception. - -## `Rdgen` - -`Rdgen` generates custom classes and requests that can be bound to protocol and advised. There is a special model DSL -for it. - -### Model DSL - -Examples: -1. [Korifey](https://github.com/korifey/rd_example/blob/main/src/main/kotlin/org/korifey/rd_example/model/Root.kt) — - a simple one. -2. [Rider Unity plugin](https://github.com/JetBrains/resharper-unity/tree/net223/rider/protocol/src/main/kotlin/model) — a complicated one. - -First, you need to define a `Root` object: only one instance of each `Root` can be assigned to `Protocol`. - -There is a `Root` extension — `Ext(YourRoot)` — where you can define custom types and model entities. You can assign -multiple `Root` extensions to the `Protocol`. To generate the auxiliary structures, define them as direct fields. - -DSL: -- `structdef` is a structure with fields that cannot be bound to `Protocol` but can be serialized. This structure - can be `openstruct`, i.e. open for inheritance, and `basestruct`, i.e. abstract. Only `field` can be a member. -- `classdef` is a class that can be bound to a model. It can have `property`, `signal`, `call`, etc. - as members. It is possible to inherit: the class can be `openclass`, `baseclass`. -- `interfacedef` is provided to define interfaces. Use `method` to create a signature. - -You can use `extends` and `implements` to implement inheritance. - -_Note:_ `Rdgen` can generate models for C# and C++. Their structs and classes have different behavior. - -Rd entities — only in bindable models (`Ext`, `classdef`): -- `property` -- `signal` -- `source` -- `sink` -- `array` and `immutablelist` - -Useful properties in DSL entities: -- `async` — the same as `async` in Rd entities -- `docs` — provides KDoc/Javadoc documentation comments for the generated entity - -### Gradle - -[Example](https://github.com/korifey/rd_example/blob/main/build.gradle) - -`RdGenExtension` configures `Rdgen`. The properties are: -- `sources` — the folders with DSL `.kt` files. If there are no `sources`, scan classpath for the inheritors of `Root` - and `Ext`. -- `hashfile` — a folder to store the `.rdgen` hash file for incremental generation. -- `packages` — Java package names to search in toplevels, delimited by `,`. Example: `com.jetbrains.rd.model.nova,com, - org`. - -Configure model generation with the `RdGenExtension.generator` method: -- `root` — for which root this generator is declared. -- `namespace` — which namespace should be used in the generated source. In Kotlin, it configures the generated package - name. -- `directory` — where to put the generated files. -- `transform` — can be `symmetric`, `asis`, and `reversed`. It allows configuring of different model interfaces for - various client-server scenarios. _Note:_ in 99% of cases you should use `symmetric`. If you need another option, consult with someone. -- `language` — can be `kotlin`, `cpp` or `csharp`. - -## UnitTestBot project - -The `utbot-rd` Gradle project contains model sources in `rdgenModels`. You can find them at -[`utbot-rd/src/main/rdgen/org/utbot/rd/models`](../utbot-rd/src/main/rdgen/org/utbot/rd/models). - -### IDE process - -An _IDE process_ uses bundled JetBrains JDK. Code in `utbot-intellij` _**must**_ be compatible will all JDKs and plugin -SDKs, used by our officially supported Intellij IDEA versions. -See `sinceBuild` and `untilBuild` in [`utbot-intellij/build.gradle.kts`](../utbot-intellij/build.gradle.kts). - -The _IDE process_ starts the _Engine process_. The _IDE process_ keeps the `UtSettings` instance in memory and gets updates for it from Intellij IDEA. The other processes "ask" the _IDE process_ about settings via Rd RPC. - -### Engine process - -`TestCaseGenerator` and `UtBotSymbolicEngine` run here, in the _Engine process_. The process classpath contains all -the plugin JAR files (it uses the plugin classpath). - -The _Engine process_ _**must**_ run on the JDK that is used in the project under analysis. Otherwise, there will be -numerous problems with code analysis, `soot`, _Reflection_, and the divergence of the generated code Java API will occur. - -Currently, it is prohibited to run more than **one** generation process simultaneously (the limitation is related to -the characteristics of the native libraries). The process logging mechanism relies on -that fact, so UnitTestBot processes can exclusively write to a log file. - -The starting point in the _IDE process_ is the -[`EngineProcess`](../utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/process/EngineProcess.kt) class. -The _Engine process_ start file is -[`EngineProcessMain`](../utbot-framework/src/main/kotlin/org/utbot/framework/process/EngineProcessMain.kt). -The _Engine process_ starts the _Instrumented process_. - -### Instrumented process - -The starting points in the _Engine process_ are the -[`InstrumentedProcess`](../utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/rd/InstrumentedProcess.kt) -and the [`ConcreteExecutor`](../utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/ConcreteExecutor.kt) -classes. The first one encapsulates the state, while the second one implements the request logic for concrete execution. - -The _Instrumented process_ runs on the same JDK as the _Engine process_ to prevent deviation from the _Engine process_. -Sometimes the _Instrumented process_ may unexpectedly die due to concrete execution. - -### Useful info - -1. If you need to use Rd, add the following dependencies: - ``` - implementation group: 'com.jetbrains.rd', name: 'rd-framework', version: rdVersion - - implementation group: 'com.jetbrains.rd', name: 'rd-core', version: rdVersion - ``` -2. There are useful classes in `utbot-rd` to work with Rd and processes: - - `LifetimedProcess` binds a `Lifetime` instance to a process. If the process dies, the `Lifetime` instance - terminates, and vice versa. You can terminate the `Lifetime` instance manually — this will destroy the process. - - `ProcessWithRdServer` starts the Rd server and waits for the connection. - - `ClientProtocolBuilder` — you can use it in a client process to correctly connect to `ProcessWithRdServer`. -3. How `ProcessWithRdServer` communication works: - - Choose a free port. - - Create a client process and pass the port as an argument. - - Both processes create protocols, bind the model and setup callbacks. - - A server process cannot send messages until the _child_ creates a protocol (otherwise, messages are lost), so - the client process has to signal that it is ready. - - The client process creates a special file in the `temp` directory, which is observed by a _parent_ process. - - When the parent process spots the file, it deletes this file and sends a special message to the client process - confirming communication success. - - Only when the answer of the client process reaches the server, the processes are ready. -4. How to write custom RPC commands: - - Add a new `call` in a model, for example, in `EngineProcessModel`. - - Re-generate models: there are special Gradle tasks for this in the `utbot-rd/build.gradle` file. - - Add a callback for the new `call` in the corresponding start files, for example, in `EngineProcessMain.kt`. - - **Important**: do not add [`Rdgen`](https://mvnrepository.com/artifact/com.jetbrains.rd/rd-gen) as - an implementation dependency — it breaks some JAR files as it contains `kotlin-compiler-embeddable`. -5. Logging & debugging: - - [Interprocess logging](contributing/InterProcessLogging.md) - - [Interprocess debugging](./contributing/InterProcessDebugging.md) -6. Custom protocol marshaling types: do not spend time on it until `UtModels` get simpler, e.g. compatible with - `kotlinx.serialization`. - diff --git a/docs/ResultAndErrorHandlingApiOfTheInstrumentedProcess.md b/docs/ResultAndErrorHandlingApiOfTheInstrumentedProcess.md deleted file mode 100644 index e605f8c1..00000000 --- a/docs/ResultAndErrorHandlingApiOfTheInstrumentedProcess.md +++ /dev/null @@ -1,92 +0,0 @@ -# Instrumented process API: handling errors and results - -In UnitTestBot Java, there are three processes: -* IDE process -* Engine process -* Instrumented process - -The IDE process launches the plugin so a user can request test generation. -Upon the user request, the Engine process is initiated — it is responsible for the input values generation. - -Here, in the Engine process, there is a `ConcreteExecutor` class, -conveying the generated input values to the `InstrumentedProcess` class. -The `InstrumentedProcess` class creates the third physical process — -the Instrumented process that runs the user functions concretely with the provided input values -and returns the execution result. - -A _client_ is an object that uses the `ConcreteExecutor` directly — it works in the Engine process as well. - -`ConcreteExecutor` expects an `Instrumentation` object, which is responsible for, say, mocking static methods. In UnitTestBot Java, we use `UtExecutionInstrumentation` that implements the `Instrumentation` interface. - -Basically, if an exception occurs in the Instrumented process, -it is rethrown to the client object in the Engine process via Rd. - -## Concrete execution outcomes - -`ConcreteExecutor` is parameterized with `UtExecutionInstrumentation`. When the `ConcreteExecutor::executeAsync` method is called, it leads to one of the three possible outcomes: - -* `InstrumentedProcessDeathException` - -Some errors lead to the instant termination of the Instrumented process. - Such errors are wrapped in `InstrumentedProcessDeathException`. - Prior to processing the next request, the Instrumented process is restarted automatically, though it can take time. -`InstrumentedProcessDeathException` means that there is an Instrumented process internal issue. -Nonetheless, this exception is handled in the Engine process. - -* `InstrumentedProcessError` - -Errors that do not cause the Instrumented process termination are wrapped in `InstrumentedProcessError`. - The process is not restarted, so client's requests will be handled by the same process. - We believe that the Instrumented process state is consistent but in some tricky situations it _may be not_. - These situations should be reported as bugs. -`InstrumentedProcessError` also means -that there is an Instrumented process internal issue that should be handled by the client object -(in the Engine process). -The issue may occur because the client provides the wrong configuration or parameters, -but the Instrumented process cannot exactly determine what's wrong with the client's data: -one can find a description of the phase the exception has been thrown from. - -* `UtConcreteExecutionResult` - -If the Instrumented process performs well, -or something is broken but the Instrumented process knows exactly what is wrong with the input, `UtConcreteExecutionResult` is returned. -The Instrumented process guarantees that the state is _consistent_. -A `UtConcreteExecutionResult::result` field helps to find the exact reason for a failure: -* `UtSandboxFailure` — permission violation; -* `UtTimeoutException` — test execution time exceeds the provided time limit (`UtConcreteExecutionData::timeout`); -* `UtExecutionSuccess` — successful test execution; -* `UtExplicitlyThrownException` — explicitly thrown exception for a target method (via `throw` instruction); -* `UtImplicitlyThrownException` — implicitly thrown exception for a target method (`NPE`, `OOB`, etc., or an exception thrown inside the system library). - -## Error handling implementation - -The pipeline of `UtExecutionInstrumentation::invoke` includes 6 phases: -1. `ValueConstructionPhase` — constructs values from the models; -2. `PreparationPhase` — prepares statics, etc.; -3. `InvocationPhase` — invokes the target method; -4. `StatisticsCollectionPhase` — collects coverage and execution-related data; -5. `ModelConstructionPhase` — constructs the result models from the heap objects (`Any?`); -6. `PostprocessingPhase` — restores statics, clears mocks, etc. - -Each phase can throw two kinds of exceptions: -- `ExecutionPhaseStop` — indicates that the phase tries to stop the invocation pipeline completely because it already has a result. The returned result is the `ExecutionPhaseStop::result` field. -- `ExecutionPhaseError` — indicates that an unexpected error has occurred during the phase execution, and this error is rethrown to the Engine process. - -`PhasesController::computeConcreteExecutionResult` then matches on the exception type: -* it rethrows the exception if the type is `ExecutionPhaseError`, -* it returns the result if type is `ExecutionPhaseStop`. - -## Timeout - -Concrete execution is limited in time: the `UtExecutionInstrumentation::invoke` method is subject to timeout as well. - -For `UtExecutionInstrumentation` in the Instrumented process, we wrap the phases that can take a long time with the `executePhaseInTimeout` block. -This block tracks the elapsed time. -If a phase wrapped with this block exceeds the timeout, it returns `TimeoutException`. - -One cannot be sure that the cancellation request immediately breaks the invocation pipeline inside the Instrumented process. -Invocation is guaranteed to finish within timeout. -It may or _may not_ finish earlier. -The request that has been sent to the Instrumented process is _uncancellable_ by design. - -Even if the `TimeoutException` occurs, the Instrumented process is ready to process the new requests. \ No newline at end of file diff --git a/docs/Sandboxing.md b/docs/Sandboxing.md deleted file mode 100644 index 15d29611..00000000 --- a/docs/Sandboxing.md +++ /dev/null @@ -1,110 +0,0 @@ -# Sandboxing tests with Java Security Manager - -## What is sandboxing? - -Sandboxing is a security technique to find unsafe code fragments and prevent them from being executed. - -What do we mean by "unsafe code" in Java? The most common forbidden actions are: - -* working with files (read, write, create, delete), -* connecting to [sockets](https://github.com/UnitTestBot/UTBotJava/issues/792), -* invoking `System.exit()`, -* accessing system properties or JVM properties, -* using reflection. - -## Why do we need sandboxing for test generation? - -During test generation, UnitTestBot executes the source code with the concrete values. All the fuzzer runs require -concrete execution and some of the symbolic execution processes invoke it as well. If the source code contains -potentially unsafe operations, executing them with the concrete values may lead to fatal errors. It is safer to catch -these operations and break the concrete execution process with `AccessControlException` thrown. - -## What do the sandboxed tests look like? - -When the source code fragments are suspicious and the corresponding test generation processes are interrupted, the tests with the `@Disabled` annotation and a stack trace appear in the output: - - public void testPropertyWithBlankString() { - SecurityCheck securityCheck = new SecurityCheck(); - - /* This test fails because method [com.company.security.SecurityCheck.property] produces [java.security.AccessControlException: access denied ("java.util.PropertyPermission" " " "read")] - java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) - java.security.AccessController.checkPermission(AccessController.java:886) - java.lang.SecurityManager.checkPermission(SecurityManager.java:549) - java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294) - java.lang.System.getProperty(System.java:719) - com.company.security.SecurityCheck.property(SecurityCheck.java:32) */ - } - -## How does UnitTestBot sandbox code execution? - -UnitTestBot for Java/Kotlin uses [Java Security Manager](https://docs.oracle.com/javase/tutorial/essential/environment/security.html) for sandboxing. In general, the Security Manager allows applications to implement a security policy. It determines whether an operation is potentially safe or not and interrupts the execution if needed. - -In UnitTestBot the **secure mode is enabled by default**: only a small subset of runtime permissions necessary for -test generation are given (e.g. fields reflection is permitted by default). To extend the list of permissions learn -[How to handle sandboxing](#How-to-handle-sandboxing). - -Java Security Manager monitors [all the code](https://github.com/UnitTestBot/UTBotJava/issues/791) for the risk of performing forbidden operations, including code in _class constructors, private methods, static blocks, [threads](https://github.com/UnitTestBot/UTBotJava/issues/895)_, and combinations of all of the above. - -## How to handle sandboxing - -You can **add permissions** by creating and editing the `~\.utbot\sandbox.policy` file. Find more about [Policy File and Syntax](https://docs.oracle.com/javase/7/docs/technotes/guides/security/PolicyFiles.html#Examples) and refer to the [Full list of permissions](https://docs.oracle.com/javase/1.5.0/docs/guide/security/spec/security-spec.doc3.html) to choose the proper approach. - -If the permission was added but somehow [not recognized](https://github.com/UnitTestBot/UTBotJava/issues/796), the UnitTestBot plugin will fail to start and generate no tests. - -If you are sure you want the code to be executed as is (**including the unsafe operations!**) you can **turn sandboxing off**: - -* You can add `AllPermission` to `~\.utbot\sandbox.policy`. Be careful! -* Alternatively, you can add `useSandbox=false` to `~\.utbot\settings.properties`. Create this file manually if you don't have one. Find [more information](https://github.com/UnitTestBot/UTBotJava/pull/857) on how to manage sandboxing to test the UnitTestBot plugin itself. - -It is reasonable to regard the `@Disabled` tests just as supplemental information about the source code, not as the tests for actual usage. - -## How to improve sandboxing - -For now there are several unsolved problems related to sandboxing in UnitTestBot: - -1. We need to replace Java Security Manager with our own tool. - - [Java Security Manager is deprecated since JDK 17](https://openjdk.org/jeps/411) and is subject to removal in some - future version. It is still present in JDK 19 but with limited functionality. E.g., in Java 18, a Java application or library is prevented from dynamically installing a Security Manager unless the end user has explicitly opted to allow it. Obviously, we cannot rely upon the deprecated tool and need to create our own one. - - -2. We need to provide a unified and readable description for disabled tests. - - UnitTestBot supports three testing frameworks and their annotations are slightly different: - -JUnit 4: `@Ignore("")` - -JUnit 5: `@Disabled("")` - -TestNG: `@Ignore` as an alternative to `@Test(enabled=false)` - -* How should we unify these annotations? -* How should we show info in Javadoc comments? -* Do we need to print a stack trace? - - -3. We need to add emulation for restricted operations (a kind of mocks) - - Emulating unsafe operations will allow UnitTestBot to generate useful tests even for the sandboxed code and run them instead of disabling. - -4. We need to provide a user with the sandboxing settings. - - The UnitTestBot plugin UI provides no information about configuring the behavior of Security Manager. Information on [How to - handle -sandboxing](#How-to-handle-sandboxing) is available only on GitHub. - -* Should we add Sandboxing (or Security Manager) settings to plugin UI? E.g.: **File operations: Forbidden / Allowed / Emulated in sandbox**. - -* Should we add a hyperlink to a piece of related documentation or to the `~\.utbot\sandbox.policy` file? - -## How to test sandboxing - -See the [short manual testing scenario](https://github.com/UnitTestBot/UTBotJava/pull/625) and the [full manual testing checklist](https://github.com/UnitTestBot/UTBotJava/issues/790). - -## Related links - -Initial feature request: [Add SecurityManager support to block suspicious code #622](https://github.com/UnitTestBot/UTBotJava/issues/622) - -Pull request: [Add SecurityManager support to block suspicious code #622 #625](https://github.com/UnitTestBot/UTBotJava/pull/625) - -Improvement request: [Improve sandbox-relative description in generated tests #782](https://github.com/UnitTestBot/UTBotJava/issues/782) \ No newline at end of file diff --git a/docs/SettingsProperties.md b/docs/SettingsProperties.md deleted file mode 100644 index 3cc80ef6..00000000 --- a/docs/SettingsProperties.md +++ /dev/null @@ -1,86 +0,0 @@ -# UnitTestBot settings - -First, let's define "**settings**" as the set of "**properties**". -Each property is a _key=value_ pair, and it may be represented as source code or plain text stored in a file. -This property set affects the key aspects of UnitTestBot behavior. - -UnitTestBot is available as -- an IntelliJ IDEA plugin, -- a continuous integration (CI) tool, -- a command-line interface (CLI). - -These three application types have low-level _**core**_ settings. The plugin also has per-project _**plugin-specific**_ settings. - -## Core settings - -Core settings are persisted in the **_settings file_**: `{userHome}/.utbot/settings.properties`. This file is designed for reading only. - -The defaults for the core settings are provided in source code (namely in `UtSettings.kt`) so the file itself may be absent or exist with a few of the customized properties only. For example, a file with just one line like `utBotGenerationTimeoutInMillis=15000` is valid and useful. - -## Plugin-specific settings - -IDE persists the plugin-specific settings automatically (per project!) in the **plugin configuration file**: `{projectDir}/.idea/utbot-settings.xml`. Nobody is expected to edit this file manually. - -At the moment, the core and plugin-specific settings have very small intersection (i.e. the keys of different levels control the same behavior aspects). -If they still intersect, the core settings should provide the defaults for the plugin-specific settings. -As for now, this concept is partially implemented. - -## Property categories - -A developer usually represents the new feature settings as a subset of properties and has to choose the proper "level" for them. In practice, we have these property categories: - -- **Hardcoded directly as constants in source code** -_One can build the plugin with their own hardcoded preset._ -- **Experimental or temporary** -_These properties can disappear from the settings file or jump back to the hardcoded constants. We do not expect the end user to change these properties, but it is still possible to specify them in the settings file._ -- **Engine-level tuning with reasonable defaults** -_Designed for low-level tuning during contests, etc._ -- **Rarely used, good to be changed once per PC** -- **Project-level setup in IDE** -_The end user can change them via **File** > **Settings** > **Tools** > **UnitTestBot**_. -- **Small set of per-generation options** - -Thereby, some properties can be considered as public API while the rest are pretty "internal". - -The end user has three places to change UnitTestBot behavior: -1. Settings file, which is PC-wide — read by all the UnitTestBot instances across PC. -For example, CLI and two different projects in IDE will re-use it. -2. Plugin settings UI (**File** > **Settings** > **Tools** > **UnitTestBot**). -3. Controls in the **Generate Tests with UnitTestBot window** dialog. - -Properties from the plugin settings UI and the dialog are plugin-specific, and they are automatically persisted in `{projectDir}/.idea/utbot-settings.xml`. _Note:_ only non-default values are stored here. - -## Configuring UnitTestBot with auto-generated `settings.properties` - -Common users usually change UnitTestBot settings via UI: -* in the **Generate Tests with UnitTestBot** dialog, -* via **File** > **Settings** > **Tools** > **UnitTestBot**. - -Advanced users and contributors require advanced settings. - -### How to configure advanced settings: motivation to improve - -Advanced settings were not visible in UnitTestBot UI and were configurable only via `settings.properties`. -UnitTestBot did not provide this file by default, so you had to create it manually in your `{home}/.utbot` directory. -You could configure advanced settings here if you knew available options — they are listed in UnitTestBot source code, -namely, `UtSettings.kt`. As UnitTestBot is a developing product, it often gets new features and new settings -that UnitTestBot users sometimes are not aware of. - -### Implemented `settings.properties` improvements - -Currently, UnitTestBot generates a template `settings.properties` file with the up-to-date list of available setting -options, corresponding default values, and explicit descriptions for each option. - -This template file is auto-generated on the basis of `UtSettings.kt` doc comments. The template file consists of -the commented lines, so you can uncomment the line to enable the setting or easily get back to defaults. - -_Idea to be implemented: we can annotate properties in UtSettings.kt as @api to provide the template file with a narrow subset of properties._ - -Generating `settings.properties` is a part of a Gradle task in IntelliJ IDEA. The `settings.properties` file is -bundled with the published UnitTestBot plugin as a top-level entry inside the `utbot-intellij-{version}.jar` file. - -Upon IntelliJ IDEA start, the UnitTestBot plugin loads its settings and checks whether the template setting file exists -in the local file system as `{home}/.utbot/settings.properties`: -* If there is no such file, it is created (along with the hidden `{home}/.utbot` directory if needed). -* An existing file is updated with new settings and corresponding info if necessary. -* UnitTestBot does not re-write `settings.properties` if the file exists and has already been customized. \ No newline at end of file diff --git a/docs/SpeculativeFieldNonNullability.md b/docs/SpeculativeFieldNonNullability.md deleted file mode 100644 index 0cd70fd6..00000000 --- a/docs/SpeculativeFieldNonNullability.md +++ /dev/null @@ -1,68 +0,0 @@ -# Speculative field non-nullability assumptions - -## The problem - -When a field is used as a base for a dot call (i.e., a method call or a field access), -the symbolic engine creates a branch corresponding to the potential `NullPointerException` -that can occur if the value of the field is `null`. For this path, the engine generates -the hard constraint `addr(field) == null`. - -If the field is marked as `@NotNull`, a hard constraint `addr(field) != null` is generated -for it. If both constraints have been generated simultaneously, the `NPE` branch is discarded -as the constraint set is unsatisfiable. - -If a field does not have `@NotNull` annotation, the `NPE` branch will be kept. This behavior -is desirable, as it increases the coverage, but it has a downside. It is possible that -most of generated branches would be `NPE` branches, while useful paths could be lost due to timeout. - -Beyond that, in many cases the `null` value of a field can't be generated using the public API -of the class. - -- First of all, this is particularly true for final fields, especially in system classes. -it is also often true for non-public fields from standard library and third-party libraries (even setters often do not -allow `null` values). Automatically generated tests assign `null` values to fields using reflection, -but these tests may be uninformative as the corresponding `NPE` branches would never occur -in the real code that limits itself to the public API. - -- After that, field may be declared with some annotation that shows that null value is actually impossible. -For example, in Spring applications `@InjectMocks` and `@Mock` annotations on the fields of class under test -mean that these fields always have value, so `NPE` branches for them would never occur in real code. - - -## The solution - -To discard irrelevant `NPE` branches, we can speculatively mark fields we as non-nullable even they -do not have an explicit `@NotNull` annotation. - -- In particular, we can use this approach to final and non-public -fields of system classes, as they are usually correctly initialized and are not equal `null` -- For Spring application, we use this approach for the fields of class -under test not obtained from Spring bean definitions - -At the same time, for non-Spring classes, -we can't always add the "not null" hard constraint for the field: it would break -some special cases like `Optional` class, which uses the `null` value of its final field -as a marker of an empty value. - -The engine checks for NPE and creates an NPE branch every time the address is used -as a base of a dot call (i.e., a method call or a field access); -see `UtBotSymbolicEngine.nullPointerExceptionCheck`). The problem is what at that moment, we would have -no way to check whether the address corresponds to a final field, as the corresponding node -of the global graph would refer to a local variable. The only place where we have the complete -information about the field is this method. - -We use the following approach. If the field belongs to a library class (according to `soot.SootClass.isLibraryClass`) -and is final or non-public, we mark it as a speculatively non-nullable in the memory -(see `org.utbot.engine.Memory.speculativelyNotNullAddresses`). During the NPE check -we will add the `!isSpeculativelyNotNull(addr(field))` constraint -to the `NPE` branch together with the usual `addr(field) == null` constraint. - -For final/non-public fields, these two conditions can't be satisfied at the same time, as we speculatively -mark such fields as non-nullable. As a result, the NPE branch would be discarded. If a field -is public or not final, the condition is satisfiable, so the NPE branch would stay alive. - -We limit this approach to the library classes only, because it is hard to speculatively assume -something about non-nullability of final/non-public fields in the user code. - -The same approach can be extended for other cases where we want to speculatively consider some -fields as non-nullable to prevent `NPE` branch generation. diff --git a/docs/StaticInitializersAnalysis.md b/docs/StaticInitializersAnalysis.md deleted file mode 100644 index 7c050720..00000000 --- a/docs/StaticInitializersAnalysis.md +++ /dev/null @@ -1,73 +0,0 @@ -# Symbolic analysis of static initializers - -## Problem - -Before the [Prohibit to set static fields from library classes](https://github.com/UnitTestBot/UTBotJava/pull/699) -change was implemented, every static field outside the `` block (the so-called _meaningful_ static fields) -was stored in `modelBefore` and `modelAfter`. These _meaningful_ static fields were set (and reset for test isolation) during code generation. This led to explicit static field initializations, which looked unexpected for a user. For example, an `EMPTY` static field from the `Optional` class might be set for the following method under test - -```java -class OptionalEmptyExample { - public java.util.Optional optionalExample(boolean isEmpty) { - return isEmpty ? java.util.Optional.empty() : java.util.Optional.of(42); - } -} -``` - -like: - -```java -setStaticField(optionalClazz, "EMPTY", empty); -``` - -**Goal**: we should not set such kind of static fields with initializers. - -## Current solution - -Having merged [Prohibit to set static fields from library classes](https://github.com/UnitTestBot/UTBotJava/pull/699) -, we now do not explicitly set the static fields of the classes from the so-called _trusted_ libraries (by default, -they are JDK packages). This behavior is guided by the `org.utbot.framework. -UtSettings#getIgnoreStaticsFromTrustedLibraries` setting. Current solution possibly **leads to coverage regression** -and needs to be investigated: [Investigate coverage regression because of not setting static fields](https://github.com/UnitTestBot/UTBotJava/issues/716). -So, take a look at other ways to fix the problem. - -## Alternative solutions - -### Use concrete values as soft constraints _(not yet implemented)_ - -The essence of the problem is assigning values to the static fields that should be set at runtime. To prevent it, -we can try to create models for the static fields according to their runtime values and filter out the static fields -that are equal to runtime values, using the following algorithm: - -1. Extract a concrete value for a static field. -2. Create `UtModel` for this value and store it. -3. Transform the produced model to soft constraints. -4. Add them to the current symbolic state. -5. Having resolved `stateBefore`, compare the resulting `UtModel` for the static field with the stored model and then drop the resulting model from `stateBefore` if they are equal. - -### Propagate information on the read static fields _(not yet implemented)_ - -We can define the _meaningful_ static fields in a different way: we can mark the static fields as _meaningful_ if only they affect the method-under-test result. To decide if they do: - -- find out whether a given statement reads a specific static value or not and store this info, -- while traversing the method graph, propagate this stored info to each of the following statements in a tree, -- upon reaching the `return` statement of the method under test, mark all these read static fields as _meaningful_. - -### Filter out static methods: check if they affect `UtExecution` _(not yet implemented)_* -Having collected all executions, we can analyze them and check whether the given static field affects the result of a current execution. Changing the static field value may have the same effect on every execution or no effect at all. It may also be required as an entry point during the executions (e.g., an _if_-statement as the first statement in the method under test): - -```java -class AlwaysThrowingException { - public void throwIfMagic() { - if (ClassWithStaticField.staticField == 42) { - throw new RuntimeException("Magic number"); - } - } -} - -class ClassWithStaticField { - public final static int staticField = 42; -} -``` - -*This solution should only be used with the [propagation](#propagate-information-on-the-read-static-fields) solution. \ No newline at end of file diff --git a/docs/Summarization module.md b/docs/Summarization module.md deleted file mode 100644 index b9b3d6ca..00000000 --- a/docs/Summarization module.md +++ /dev/null @@ -1,80 +0,0 @@ -# Summarization module - -## Overview - -UnitTestBot minimizes the number of tests so that they are necessary and sufficient, but sometimes there are still a lot of them. Tests may look very similar to each other, and it may be hard for a user to distinguish between them. To ease test case comprehension, UnitTestBot generates summaries, or human-readable test descriptions. Summaries also facilitate navigation: they structure the whole collection of generated tests by clustering them into groups. - -Summarization module generates detailed meta-information: -- test method names -- testing framework annotations (including `@DisplayName`) -- Javadoc comments for tests -- cluster comments for groups of tests (_regions_) - -Javadoc comments can be rendered in two styles: as plain text or in a special format enriched with the [custom Javadoc tags](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/summaries/CustomJavadocTags.md). - -If the summarization process fails due to an error or insufficient information, then the test method receives a unique name and no meta-information. - -The whole summarization subsystem is located in the `utbot-summary` module. - -## Implementation - -At the last stage of test generation process, the `UtMethodTestSet.summarize` method is called. -As input, this method receives the set of `UtExecution` models with empty `testMethodName`, `displayName`, and `summary` fields. It fills these fields with the corresponding meta-information, groups the received `UtExecution` models into clusters and generates cluster names. - -Currently, there are three main `UtExecution` implementations: -* `UtSymbolicExecution`, -* `UtFailedExecution`, -* `UtFuzzedExecution`. - -To construct meta-information for the `UtFuzzedExecution` models, the summarization module uses method parameters with their values and types as well as the return value type. To generate summaries for each `UtSymbolicExecution`, it uses the symbolic code analysis results. - -Let's describe this process in detail for `UtSymbolicExecution` and `UtFuzzedExecution`. - -### Constructing meta-information for `UtSymbolicExecution` - -1. **Producing _Jimple statements_.** - For each method under test (or MUT), the symbolic execution engine generates `UtMethodTestSet` consisting of `UtExecution` models, i.e. a test suite consisting of unit tests. A unit test (or `UtExecution`) in this suite is a set of execution steps that traverses a particular path in the MUT. An execution `Step` contains info on a statement, the depth of execution step and an execution decision. -* A statement (`stmt`) is a Jimple statement, provided with the [Soot](https://github.com/soot-oss/soot) framework. A Jimple statement is a simplified representation of the Java program that is based on the three-address code. The symbolic engine accepts Java bytecode and transforms it to the Jimple statements for the analytical traversal of execution paths. -* The depth of execution step (`depth`) depicts an execution depth of the statement in a call graph where the MUT is a root. -* An execution decision (`decision`) is a number indicating the execution direction inside the control flow graph. If there are two edges coming out of the execution statement in the control flow graph, a decision number shows what edge is chosen to be executed next. - -2. **_Tagging_.** - For each pair of `UtMethodTestSet` and its source code file, the summarization module identifies unique execution steps, recursions, iteration cycles, skipped iterations, etc. These code constructs are marked with tags or meta-tags, which represent the execution paths in a structural view. The summarization module uses these tags directly to create meta-information, or summaries. - -At this moment, the summarization module is able to assign the following tags: -- Uniqueness of a statement: - - _Unique_: no other execution path in the cluster contains this step, so only one execution triggers this statement in its cluster. - - _Common_: all the paths execute these statements. - - _Partly Common_: only some executions in a cluster contain this step. -- The decision in the CFG (branching): _Right_, _Left_, _Return_ -- The number of statement executions in a given test -- Dealing with loops: _starting/ending an iteration_, _invoking the recursion_, etc. - -We use our own implementation of the [DBSCAN](https://en.wikipedia.org/wiki/DBSCAN) clustering algorithm with the non-euclidean distance measure based on the Minimum Edit Distance to identify _unique_, _common_ and _partly common_ execution steps. Firstly, we manually divided execution paths into groups: -- successfully executed paths (only this group is clustered into different regions with DBSCAN) -- paths with expected exceptions -- paths with unexpected exceptions -- other groups with errors and exceptions based on the given `UtResult` - -3. **Building _sentences_.** - _Sentences_ are the blocks for the resulting summaries. - To build the _sentence_, the summarization module -- parses the source file (containing the MUT) using [JavaParser](https://javaparser.org/) to get AST representations; -- maps the AST representations to Jimple statements (so each statement is mapped to AST node); -- builds the _sentence_ blocks (to provide custom Javadoc tags or plain-text mode); -- builds the _final sentence_ (valid for plain-text mode only); -- generates the `@DisplayName` annotation and test method names using the following rule: find the last _unique_ statement in each path (preferably, the condition statement) that has been executed once (being satisfied or unsatisfied); then the AST node of this statement is used for naming the execution; -- builds the cluster names based on the _common_ execution paths. - -### Constructing meta-information for `UtFuzzedExecution` - -For `UtFuzzedExecution`, meta-information is also available as test method names, `@DisplayName` annotations, Javadoc comments, and cluster comments. - -The difference is that clustering tests for `UtFuzzedExecution` is based on `UtResult`. No subgroups are generated for the successfully completed tests. - -The algorithm for generating meta-information is described in the `ModelBasedNameSuggester` class, which is the registration point for `SingleModelNameSuggester` interface. This interface is implemented in `PrimitiveModelNameSuggester` and `ArrayModelNameSuggester`. - -Depending on the received `UtExecutionResult` type, `ModelBasedNameSuggester` produces the basic part of the method name or the `@DisplayName` annotation. `UtFuzzedExecution` provides `FuzzedMethodDescription` and `FuzzedValue` that supplement the generated basic part for test name with information about the types, names and values of the MUT parameters. - -_Note:_ test method names and `@DisplayName` annotations are generated if only the number of MUT parameters is no more than three, otherwise they are not generated. - diff --git a/docs/TaintAnalysis.md b/docs/TaintAnalysis.md deleted file mode 100644 index dea7d876..00000000 --- a/docs/TaintAnalysis.md +++ /dev/null @@ -1,535 +0,0 @@ -# Taint analysis - -## Introduction to the technique - -Taint analysis is a method that allows you to track the spread of unverified external data on the program. Getting such -data into critical sections of the code can lead to various vulnerabilities, including SQL injection, cross-site -scripting -(XSS) and many others. Attackers can use these vulnerabilities to disrupt the correct operation of the system, obtain -confidential data or conduct other unauthorized operations. Taint analysis helps to find the described mistakes at the -compilation stage. - -The key idea of the approach is that any variable that can be changed by an external user stores a potential security -threat. -If this variable is used in some expression, then the value of this expression also becomes suspicious. -Further, the algorithm tracks and notifies of situations when any of these marked variables are used in dangerous -command execution, -for example, direct queries to the database or the computer's operating system. - -For its work, taint analysis requires a configuration in which program methods can be assigned one of the following -roles. - -- Taint source — a source of unverified data. - For example, it can be a method for reading user input or a method for obtaining a parameter of an incoming HTTP - request. - The Taint source execution result is called marked. The semantics of the method determines which mark will be applied - to the variable. - Moreover, the name of the mark can be completely arbitrary, since it is chosen by the one who writes the - configuration. - For example, it can be set that the `getPassword()` method marks its return value with a "sensitive-data" mark. -- Taint pass — a function that marks the return value taking into account the marks in its arguments. - Depending on the implementation, marks can be applied not only to the result of the method but also to the object - `this`, and on the input parameters. For example, it can be set that the concatenation - method `concat(String a, String b)` - marks its result with all marks from `a` and from `b`. -- Taint cleaner — a function that removes a given set of marks from the passed arguments. - Most often, this is some kind of validation method that verifies that the user has entered data in the expected - format. - For example, the `validateEmail(String email)` method removes the XSS mark upon successful completion of the checks, - because now there is no unverified data in the `email` that can lead to vulnerability of cross-site - scripting. -- Taint sink — a receiver, some critical section of the application. - It can be a method of direct access to the database or file system, as well as any other potentially dangerous - operation. - For the Taint sink, you can set a list of marks. Variables with specified marks should not leak into this taint sink. - For example, if a value marked "sensitive-data" is passed to the logging function, which prints its arguments directly - to the console, then this is a developer mistake, since data leaks. - -The taint analysis algorithm scans the data flow graph, trying to detect a route between a method from a set of Taint -sources -and a method from Taint sinks. The UnitTesBot taint analysis is implemented inside the symbolic engine -to avoid a large number of false positives. - -### Example - -Consider an example of a simple function in which there is an SQL injection vulnerability: -if an attacker enters the string `"name'); DROP TABLE Employees; --"` into the variable name, then he will be able -to delete the Employees table along with all the data that was stored in it. - -```java -class Example { - void example(Connection connection) { - Scanner sc = new Scanner(System.in); - String name = sc.nextLine(); - Statement stmt = connection.createStatement(); - String query = "INSERT INTO Employees(name) VALUES('" - .concat(name) - .concat("')"); - stmt.executeUpdate(query); - } -} -``` - -For taint analysis, you must set the configuration. - -- Taint source is a `java.util.Scanner.nextLine` method that adds a "user-input" mark to the returned value. -- Taint pass is a `java.lang.String.concat` method that passes the "user-input" marks through itself received - either from the first argument or from the object on which this method is called (`this`). -- Taint sink is a `java.sql.Statement.executeUpdate` method that checks variables marked "user-input". - -Any correct implementation of the taint analysis algorithm should detect a mistake in this code: the variable with -the mark "user-input" is passed to the `executeUpdate` (sink). - -It is important to note that the duties of the algorithm do not include detecting specific data that an attacker could -enter to harm the program. It is only necessary to discover the route connecting the source and the sink. - -## UnitTestBot implementation - -There is no unified configuration format for taint analysis in the world and all static analyzers describe their -own way of configuration. Thus, we are going to do the same thing: to come up with a configuration scheme -where it would be possible to describe the rules: sources, passes, cleaners and sinks. - -### Configuration - -The general structure of the configuration format (based on YAML) is presented below. - -```yaml -sources: - - - - - - <...> -passes: - - - - <...> -cleaners: - - - - <...> -sinks: - - - - <...> -``` - -That is, these are just lists of rules related to a specific type. - -Each rule has a certain set of characteristics. - -- The unique identifier of the method that this rule describes. - It consists of the full name of the method, including the package name and class name, - as well as the signature of the method — a set of types of its arguments (the `signature` key in YAML). -- Some `conditions` that must be met during execution for the rule to work. -- A set of `marks` that the rule uses. -- A set of specific mark management actions that occur when a rule is triggered (`add-to`, `get-from`, `remove-from`, or - `check`, depending on the semantics of the rule). - -Thus, one rule, for example, taint source, can look like - -```yaml -com.abc.ClassName.methodName: - signature: [ , _, ] - conditions: - arg1: - not: [ -1, 1 ] - add-to: [ this, arg2, return ] - marks: user-input -``` - -This rule is defined for a method named `methodName` from the `ClassName` class, which is in the `com.abc` package. -The method takes exactly 3 arguments, the first of which has the `int` type, the second can be anything, -and the last has the `java.lang.Object` type. -The `signature` key may not be specified, then any `methodName` overload is considered appropriate. - -Triggering occurs only when the first argument (`arg1`) is not equal to either -1 or 1, -which is specified by the `conditions` key (the list is interpreted as a logical OR). -This parameter is optional, if it is not present, no conditions will be checked. - -The described source adds a "user-input" mark on the variables corresponding to `this`, `arg2` and `return`. -In other words, to the class object `ClassName` on which methodName is called, the second argument of the function -and the return value. Moreover, the `add-to` and `marks` keys can contain both a list and a single value — this is done -for more convenient use. - -The other types of rules have the same syntax as the source, except for the `add-to` key. - -- Taint pass transfers marks from one set of objects to another, so two keys are defined for it: - `get-from` and `add-to`, respectively. The mark specified in `marks` are added on `add-to` if there is one in `get-from`. -- Taint cleaner removes marks from objects, so its key is called `remove-from`. -- Taint sink checks for the presence of some marks in variables, which locates under the `check` key. - -### Configuration details - -Fully qualified method names can be written in one line or using nested structure: the package name is specified first, -then the class name appears, and finally, there is the method name itself. - -```yaml -- com.abc.def.Example.example: ... -``` - -or - -```yaml -- com: - - abc.def: - - Example.example: ... -``` - -Note that regular expressions in names are not supported yet. - ---- - -The `add-to`, `get-from`, `remove-from`, and `check` fields specify the objects (or entities) to be marked. -You can specify only one value here or a whole list. - -Possible values are: - -- `this` -- `arg1` -- `arg2` -- ... -- `return` - ---- - -The user can define arbitrary mark names or specify an empty list (`[]`) if he means all possible marks. - -```yaml -passes: - - java.lang.String.concat: - get-from: this - add-to: return - marks: [ user-input, sensitive-data, my-super-mark ] -``` - -or - -```yaml -passes: - - java.lang.String.concat: - get-from: this - add-to: return - marks: [ ] # all possible marks -``` - ---- - -To check the conformity to `conditions`, you can set: - -- the specific values of method arguments -- their runtime types - -Values can be set for the following types: `boolean`, `int`, `float` or `string` (and also `null` value for all nullable -types). - -The full type name must be specified in the angle brackets `<>`. - -The `conditions` field specifies runtime conditions for arguments (`arg1`, `arg2`, ...). -Conditions can also be specified for `this` and `return` if it makes sense. -For sinks there is no sense to check some conditions for return value, so such functionality is not supported. - -```yaml -conditions: - this: # this should be java.lang.String - arg1: "test" # the first argument should be equal to "test" - arg2: 227 # int - arg3: 227.001 # float - arg4: null # null - return: true # return value should be equal to `true` -``` - -Values and types can be negated using the `not` key, as well as combined using lists (`or` semantics). - -Nesting is allowed. - -```yaml -conditions: - this: [ "in", "out" ] # this should be equal to either "in" or "out" - arg1: [ , ] # arg1 should be int or float - arg2: { not: 0 } # arg2 should not be equal to 0 - arg3: - not: [ 1, 2, 3, 5, 8 ] # should not be equal to any of the listed numbers - arg4: [ "", { not: } ] # should be an empty string or not a string at all -``` - ---- - -If several rules are suitable for one method call, they will all be applied in some kind of order. - ---- - -### Overall example - -```yaml -sources: - - com: - - abc: - - method1: - signature: [ _, _, ] - add-to: return - marks: xss - - method1: - signature: [ , _, ] - add-to: [ this, return ] - marks: sql-injection - - bca.method2: - conditions: - this: - not: "in" - add-to: return - marks: [ sensitive-data, xss ] - -passes: - - com.abc.method2: - get-from: [ this, arg1, arg3 ] - add-to: return - marks: sensitive-data - - org.example.method3: - conditions: - arg1: { not: "" } - get-from: arg1 - add-to: [ this, return ] - marks: sql-injection - -cleaners: - - com.example.pack.method7: - conditions: - return: true - remove-from: this - marks: [ sensitive-data, sql-injection ] - -sinks: - - org.example: - - log: - check: arg1 - marks: sensitive-data - - method17: - check: [ arg1, arg3 ] - marks: [ sql-injection, xss ] -``` - -### Usage examples - -`java.lang.System.getenv` is a source of the "environment" mark. There are two overloads of this method: with one string -parameter and no parameters at all. We want to describe only the first overload: - - ```yaml - sources: - - java.lang.System.getenv: - signature: [ ] - add-to: return - marks: environment - ``` - -`java.lang.String.concat` is a pass-through only if `this` is marked and not equal to `""`, or if `arg1` is marked and -not equal to `""`: - - ```yaml - passes: - - java.lang.String: - - concat: - conditions: - this: { not: "" } - get-from: this - add-to: return - marks: sensitive-data - - concat: - conditions: - arg1: { not: "" } - get-from: arg1 - add-to: return - marks: sensitive-data - ``` - -If you want to define `+` operator for strings as taint pass, you should write the following rules: - -```yaml -passes: - - java.lang.StringBuilder.append: - get-from: arg1 - add-to: this - marks: [ ] - - java.lang.StringBuilder.toString: - get-from: this - add-to: return - marks: [ ] -``` - -`java.lang.String.isEmpty` is a cleaner only if it returns `true`: - - ```yaml - cleaners: - - java.lang.String.isEmpty: - conditions: - return: true - remove-from: this - marks: [ sql-injection, xss ] - ``` - -Suppose that the `org.example.util.unsafe` method is a sink for the "environment" mark if the second argument is -an `Integer` and equal to zero: - - ```yaml - sinks: - - org.example.util.unsafe: - signature: [ _, ] - conditions: - arg2: 0 - check: arg2 - marks: environment - ``` - -The configuration above checks the type at compile-time, but sometimes we want to check the type at runtime: - - ```yaml - sinks: - - org.example.util.unsafe: - conditions: - arg2: - not: [ { not: 0 }, { not: } ] - check: arg2 - marks: environment - ``` - -Perhaps explicit `and` for `conditions` will be added in the future. - -### Algorithm implementation details - -The main idea of the implemented approach is that each symbolic variable is associated with a taint vector — a 64-bit -value, each bit `i` of which is responsible for the presence of a mark with the number `i` in this object. -After that, during the symbolic execution, these mappings are maintained and updated in accordance with -the classical taint analysis algorithm. - -The implementation mostly affect the `Traverser` and `Memory` classes. Also, the new classes `TaintMarkRegistry` -and `TaintMarkManager`. The diagram below shows a high-level architecture of the taint module (actually, in the code -it was written a little differently, but to understand the idea, the diagram is greatly simplified). - - - -The `TaintMarkRegistry` class stores a mapping between the mark name and its ordinal number from 0 to 63. -The number of marks is limited to 64. However, firstly, this is enough for almost any reasonable example, -and secondly, the decision was made due to performance issues — operations with the `Long` data type are -performed much faster than if a bit array was used. - -The TaintModel component (data classes at `org.utbot.taint.model`) is responsible for providing access -to the configuration. In particular, it defines a way to convert conditions (the value of the `conditions` key -in a YAML document) into logical expressions over symbolic variables. - -`Memory` stores the values of the taint bit-vectors for symbolic variables. Only simple methods were implemented there -(functions to update vectors and get them at the address of a symbolic object). -All the complex logic of adding and removing marks, based on taint analysis theory, -was written in a separate class `TaintMarkManager`. In other words, this class wraps low-level memory work into -domain-friendly operations. - -The information about the marked variables is updated during the `Traverser` work. Before each of the `invoke()` -instruction, which corresponds to the launch of some method in the user code, a special `Traverser.processTaintSink` -handler is called, and after the `invoke` instruction, the `Traverser.processTaintSource`, `Traverser.processTaintPass` -and `Traverser.processTaintCleaner` handlers are called. This order is because all rules, except sinks, -need the result of the function. At the same time, the transfer fact of tainted data occurs at the time of launching -the sink function, therefore, you can report the vulnerability found even before it is executed. - -The listed rule handlers get the configuration and perform the taint analysis semantics. The `processTaintSink` method -requests information from the `TaintMarkManager` about the marks already set and adds constraints to the SMT solver, -the satisfiability of which corresponds to the detection of a defect. The other handlers modify the symbolic `Memory` -through the `TaintMarkManager`, adding and removing marks from the selected symbolic variables. - -### Code generator modification - -The result of the UnitTestBot (in addition to the SARIF report) are unit tests. `CodeGenerator` is launched on each -found test case, and generates the test (as Java code). Moreover, the test which leads to throwing an unhandled exception -should not pass. The taint analysis errors are not real from the point of view of the language, since they are not -real exceptions. However, it is still needed to highlight such tests as failed, so the code generator was modified -in such a way that an artificial error was added at the end of each test, which would ensure a fall (the same strategy -was used in the integer overflow detection). - -```java -fail("'java.lang.String' marked 'user-input' was passed into 'Example.example' method"); -``` - -The solution allows to automatically get integration with SARIF reports and visualization of results -in the Problems view tab in IntelliJ IDEA. The found test case is treated as a real exception, -and all the necessary logic has already been written for them. - -### Example - -Consider the code below - -```java -public class User { - - String getLogin() { /* some logic */ } - - String getPassword() { /* some logic */ } - - String userInfo(String login, String password) { - return login + "#" + password; - } - - void printUserInfo() { - var login = getLogin(); - var password = getPassword(); - var info = userInfo(login, password); - System.out.println(info); - } -} -``` - -The `getPassword` method returns sensitive data that should never leak out of the application, but the programmer prints -them to the `stdout`, which is a serious mistake. First, we will write a configuration that expresses the thought said, -and save it to the file `./.idea/utbot-taint-config.yaml`, from where the analyzer can read it. - -```yaml -sources: - - User.getPassword: - add-to: return - marks: sensitive-data - -passes: - - User.userInfo: - get-from: [ arg1, arg2 ] - add-to: return - marks: [ ] # all - -sinks: - - java.io.PrintStream.println: - check: arg1 - marks: sensitive-data -``` - -Then we enable taint analysis in settings and run the UnitTestBot using the IntelliJ IDEA plugin. - - - -Generated code: - -```java -public final class UserTest { - // some omitted code - - ///region SYMBOLIC EXECUTION: TAINT ANALYSIS for method printUserInfo() - - @Test - @DisplayName("printUserInfo: System.out.println(info) : True -> DetectTaintAnalysisError") - public void testPrintUserInfo_PrintStreamPrintln_1() { - User user = new User(); - - user.printUserInfo(); - fail("'java.lang.String' marked 'sensitive-data' was passed into 'PrintStream.println' method"); - } - - ///endregion -} -``` - -Also, we can see the detected problem on the Problems tab: - - - -**A brief explanation**: After executing the `getPassword` method, the symbol corresponding to the password variable -is marked as "sensitive-data" (a zero bit is set to 1 in its taint vector). After calling `userInfo`, the `info` -variable is also marked, since `userInfo` is a taint pass that adds to the return value all the marks collected from -both of its arguments. Before printing `info` to the console, the `processTaintSink` handler function adds a constraint -to the SMT solver, the satisfiability of which corresponds to throwing our artificial error. The logical formula for -this path is satisfiable, so the analyzer reports an error detected, which we eventually observe. - -### Unit tests - -Taint analysis unit tests are at the `./utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/` -directory. Tests use examples at the `utbot-sample/src/main/java/org/utbot/examples/taint`. Each example has its own -configuration file stored at the `utbot-sample/src/main/resources/taint`. diff --git a/docs/UnitTestBotDecomposition.md b/docs/UnitTestBotDecomposition.md deleted file mode 100644 index ac118e90..00000000 --- a/docs/UnitTestBotDecomposition.md +++ /dev/null @@ -1,71 +0,0 @@ -# UnitTestBot decomposition - -This document is a part of UnitTestBot roadmap for the nearest future. We plan to decompose the whole UnitTestBot mechanism into the following standalone systems. - -## Fuzzing platform - -Entry points: -* `org.utbot.fuzzing.Fuzzing` -* `fuzz` extension function - -Exit point: -overridden `Fuzzing#run` method - -Probable fields of use (without significant implementation changes): -1. Test generation -2. Taint analysis -3. Finding security vulnerabilities -4. Static analysis validation -5. Automatic input minimization -6. Specific input-output search - -## Symbolic engine platform - -Probable fields of use (without significant implementation changes): -1. Test generation -2. Taint analysis -3. Type inference - -A more abstract interface can be extracted. For instance, we can use the interface to solve type constraints for Python or other languages. -Currently, there are two levels of abstraction: -1. Java-oriented abstraction that is intended to mimic heap and stack memory. -2. More low-level and less Java-coupled API to store constraints for Z3 solver. - -There is a room for improvement, namely we can extract more high-level abstraction, which can be extended for different languages. - -Entry points: -* `org.utbot.engine.Memory` -* `org.utbot.engine.state.LocalVariableMemory` -* `org.utbot.engine.SymbolicValue` - -Exit point: -`org.utbot.engine.Resolver` → `UtModel` - -Another level of abstraction is `UtExpression`. Basically, it is a thin abstraction over Z3 solver. - -## Program synthesis system - -An implementation that allows `UtAssembleModel` to keep information about object creation in a human-readable format. Otherwise, the object state should be initiated with _Reflection_ or sufficient constructor call. The synthesizing process is built upon the UnitTestBot symbolic execution memory model and is supposed to preserve construction information during the analysis process. - -Entry and exit point: -`org.utbot.framework.synthesis.Synthesizer` - -## Program analysis system - -We use an outdated approach with the [Soot](https://github.com/soot-oss/soot) framework. It is not worth being extracted as a separate service. A good substitution is the [JacoDB](https://github.com/UnitTestBot/jacodb) library. Currently, this library provides an API to work with Java code, send queries, provide custom indexes, and so on. - -## Code generation system - -The current domain of code generation is specific for generating tests, though it could be reused for other purposes. Currently, the engine can be used to generate tests for different test frameworks. One can use the code generator to generate test templates inside the IntelliJ-based IDEs. - -Entry and exit point: -`org.utbot.framework.codegen.generator.CodeGenerator#generateAsStringWithTestReport` - -Note that for Spring projects `SpringCodeGenerator` is used. It supports both unit and integration tests generation. - -## SARIF report visualizer - -UnitTestBot represents the result of analysis using SARIF — the format that is widely used in the GitHub community. SARIF allows users to easily represent the results in the built-in GitHub viewer. Additionally, we provide our own SARIF report visualizer for IntelliJ IDEA. - -Entry and exit point: -`org.utbot.gradle.plugin.GenerateTestsAndSarifReportTask` \ No newline at end of file diff --git a/docs/UtUtilsClass.md b/docs/UtUtilsClass.md deleted file mode 100644 index af99a94b..00000000 --- a/docs/UtUtilsClass.md +++ /dev/null @@ -1,57 +0,0 @@ -# UtUtils class - -## What are the utility methods - -_Utility methods_ implement common, often re-used operations which are helpful for accomplishing tasks in many -classes. In UnitTestBot, _utility methods_ include those related to creating instances, checking deep -equality, mocking, using lambdas and so on — miscellaneous methods necessary for generated tests. - -## Why to create UtUtils class - -Previously, UnitTestBot generated _utility methods_ for each test class when they were needed — and only those which -were necessary for the given class. They were declared right in the generated test class, occupying space. Generating multiple test classes often resulted in duplicating _utility methods_ and consuming even more space. - -For now UnitTestBot provides a special `UtUtils` class containing all _utility methods_ if at least one test class needs some of them. This class is generated once and the specific methods are imported from it if necessary. No need for _utility methods_ — no `UtUtils` class is generated. - -We create a separate `UtUtils` class for each supported language (if required). - -## What does it look like - -Here is an example of a documentation comment inherent to every `UtUtils` class: - -![Documentation](images/utbot_ututils_2.0.png) - -As one can see, the comment mentions two characteristics of the `UtUtils` class: - -1. _Version_ - -If the generated tests require additional _utility methods_, the -existing `UtUtils` class is upgraded and gets a new version number, which should be defined here: - -`org.utbot.framework.codegen.domain.builtin.UtilClassFileMethodProvider.UTIL_CLASS_VERSION` - -_2. Mockito support_ - -UnitTestBot uses [Mockito framework](https://site.mockito.org/) to implement mocking. When generated tests imply mocking, the -`deepEquals()` -_utility method_ should be configured — it should have a check: whether the compared object is a mock or not. That is why the `UtUtils` class for the tests with mocking differs from the one without mocking support. - -If you have previously generated tests with mocking, the next generated `UtUtils` class supports mocking as well — -even if -its version is upgraded or current tests do not need mocking, so that the existing tests can still -rely on the proper methods from `UtUtils` class. - -## Where to find it - -`UtUtils` class is usually located in the chosen **Test sources root** near the generated test classes. The corresponding package name mentions the language of the generated tests: e.g. `org.utbot.runtime.utils.java`. - -## How to test - -If you want to test `UtUtils` class generation using UnitTestBot project itself, refer to the [Manual testing of -UtUtils class generation #1233](https://github.com/UnitTestBot/UTBotJava/issues/1233). - -## How to improve - -UnitTestBot does not currently support generating tests for classes from multiple modules simultaneously. If this option was possible, we would probably have to generate a separate `UtUtils` class for each module. Perhaps we could find a special location for a `UtUtils` class reachable from every module. - -For now, you can generate separate `UtUtils` classes for different modules only if you manually choose the different **Test sources roots** when generating tests. \ No newline at end of file diff --git a/docs/UtbotFamilyChanges.md b/docs/UtbotFamilyChanges.md deleted file mode 100644 index e739aab9..00000000 --- a/docs/UtbotFamilyChanges.md +++ /dev/null @@ -1,87 +0,0 @@ -# Changes - -## Main settings - -| File | Changes | -|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `gradle.properties` | Add version parameters and IDE dependencies | -| `settings.gradle` | Rewrite to kts | - -## utbot-framework-api - -| File | Changes | -|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/Api.kt` | Make `UtModel` open | -| `utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/CoverageApi.kt` | Add field `missedInstructions` to class `Coverage` (default empty) | - -## utbot-framework - -| File | Changes | -|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `utbot-framework/src/main/kotlin/org/utbot/engine/ValueConstructor.kt` | Add default else branch for Python and JS models in method `construct` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/assemble/AssembleModelGenerator.kt` | Add default else branch for Python and JS models in method `assembleModel` | - -## utbot-framework > codegen - -| File | Changes | -|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/Domain.kt` | Make class `Import` abstract (for python imports), make class `TestFramework` open, field `assertEquals` and methdod `assertionId` open. Add nullable field `testSuperClass` to `TestFramework` (contains superclass for test class). | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/Keywords.kt` | Move function `getLanguageKeywords` into `CgLanguageAssistant` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/CodeGenerator.kt` | Make class `CodeGenerator`, field `context` and methods open. Swap fields in class `CodeGeneratorResult`. | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/CgMethodTestSet.kt` | Add new constructors for `CgMethodTestSet` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/TestClassContext.kt` | Remove internal from data class `TestClassContext` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/builtin/UtilMethodBuiltins.kt` | Remove internal from class `UtilMethodProvider` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/context/CgContext.kt` | Remove internal from classes `Context` and `CgContextOwner`. Add field `cgLanguageAssistant` into `CgContextOwner`. Move logic from `CgContext.__outerMostTestClassContext` and `CgContext.outerMostTestClass` to `CgLanguageAssistant` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/name/CgNameGenerator.kt` | Remove internal from `CgNameGenerator` and `CgNameGeneratorImpl`, change `codegenLanguage` argument to `cgLanguageAssistant` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgFieldStateManager.kt` | Remove internal from interface `CgFieldStateManager` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgMethodConstructor.kt` | Change private to protected and add empty else branches in `UtModel`-when | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgTestClassConstructor.kt` | Change private to open or protected, add `cgLanguageAssistant` call instead standard implementations | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/CgVariableConstructor.kt` | Change private to open and add else branch in `UtModel`-when | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/MockFrameworkManager.kt` | Remove internal and add else branch in `UtModel`-when | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/tree/TestFrameworkManager.kt` | Remove internal from `TestFrameworkManager` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/constructor/util/ConstructorUtils.kt` | Remove internal from `EnvironmentFieldStateCache`, `FieldStateCache`, `CgFieldState`, `CgContextOwner.importIfNeeded` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/tree/CgElement.kt` | Add visit for `CgForEachLoop` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/util/DependencyPatterns.kt` | Add else-branch in `TestFramework`-whens | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/util/TreeUtil.kt` | Remove internal from `buildExceptionHandler` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgAbstractRenderer.kt` | Add `CgForEachLoop` visit function, change private to protected some methods, move `makeRender` logic to `CgLanguageAssistant` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgJavaRenderer.kt` | Remove `language` field | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgKotlinRenderer.kt` | Remove `language` field, change `context.codegenLanugage` to `context.cgLanguageAssistant` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgRendererContext.kt` | Remove internal and add `cgLanguageAssistant` field | -| `utbot-framework/src/main/kotlin/org/utbot/framework/codegen/model/visitor/CgVisitor.kt` | Add visit for `CgForEachLoop` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/concrete/MockValueConstructor.kt` | Add else-branch in `UtModel`-when | -| `utbot-framework/src/main/kotlin/org/utbot/framework/concrete/UtModelConstructor.kt` | Remove internal | -| `utbot-framework/src/main/kotlin/org/utbot/framework/fields/ExecutionStateAnalyzer.kt` | Add else-branch in `UtModel`-when | -| `utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt` | Add else-branch in `UtModel`-when | -| `utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/CgLanguageAssistant.kt` | New file with `CgLanguageAssistant` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/JavaCgLanguageAssistant.kt` | Implementation `CgLanguageAssistant` for Java | -| `utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/KotlinCgLanguageAssistant.kt` | Implementation `CgLanguageAssistant` for Kotlin | -| `utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/LanguageTestFrameworkManager.kt` | New file with `LanguageTestFrameworkManager` | -| `utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/JVMTestFrameworkManager.kt` | Implementation `LanguageTestFrameworkManager` for JVM (Java + Kotlin) | - -## utbot-fuzzers - -| File | Changes | -|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `utbot-fuzzers/src/main/kotlin/org/utbot/fuzzer/FuzzedMethodDescription.kt` | Make class `FuzzedMethodDescription` open | - - -## utbot-intellij and utbot-ui-commons - -| File | Changes | -|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/generator/CodeGenerationController.kt` | Move `GenerateTestsModel.getAllTestSourceRoots()` to `BaseTestModel` method, add empty else branch to `insertImports` | -| `utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/language/JavaLanguage.kt` | Implementation `LanguageAssistant` for Java | -| `utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/GenerateTestsModel.kt` | Move common logic to `BaseTestModel` | -| `utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt` | Add else-branches in `TestFramework`-whens | -| `utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt` | Move all logic to `JvmLanguageAssistant` | -| `utbot-intellij/src/main/resources/META-INF/` | Add config xml files for Java, Kotlin, Android, Python, JS | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/language/agnostic/LanguageAssistant.kt` | New class for Actions logic | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/models/BaseTestModel.kt` | New parent class for TestModels | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/Notifications.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/CodeGenerationSettingItemRenderer.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestSourceDirectoryChooser.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ErrorUtils.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtils.kt` | New file, moved from `utbot-intellij` | -| `utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/IntelliJApiHelper.kt` | New file, moved from `utbot-intellij` | \ No newline at end of file diff --git a/docs/ci/ci-in-utbot-java.md b/docs/ci/ci-in-utbot-java.md deleted file mode 100644 index 8fd539fc..00000000 --- a/docs/ci/ci-in-utbot-java.md +++ /dev/null @@ -1,61 +0,0 @@ - - -# CI features - -UTBot Java offers contributors bunch of workflows e.g., the workflow _building the project and running tests_, the workflow _archiving plugin and CLI_. - -The main CI features in UTBot Java: -* reproducible environment -* available monitoring processes - -## Reproducible environment - -Depending on the resources where you are intended to build and test software environment will be different. The key goal is to provide the same environment on different resources. To do that we use Docker images with appropriate software, environment variables and OS settings. - -Crucial CI workflows run in those docker containers thus you can reproduce the environment locally. The environment can be used for running tests or for debugging ([see detailed information](https://github.com/UnitTestBot/UTBotJava/wiki/docker-for-utbot-java)). - -If you have any questions of where images are placed, how many they are, what software versions are used, visit [repository](https://github.com/UnitTestBot/infra-images) please (now is private, will be changed in the future), leave an issue with your questions or ask in DM. - -## All stages Monitoring - -Since the workflow has started you can check access to the metrics on our monitoring service (ask teammates for url). The server offers developers the following dashboards: - -* **Node Exporter Full** - metrics of consuming the RAM, CPU, Network and other resources on the host -* **JVM dashboard** (don't forget to set job to `pushgateway`) - Java metrics -* **Test executor statistics*** - RAM consuming by Java processes -* **cAdvisor: container details*** - system resources consuming by certain container -* **cAdvisor: host summary*** - summarized system resources consuming by all containers - -**Note:** * developed by UTBot team - -When you open a dashboard you need to choose valid instance. GitHub runs **each job on separate runner** so instance ID (`HOSTNAME` env var) would be different. But all instances have **the same Run ID** (`GITHUB_RUN_ID` env var). Follow this steps: - -1. Go to Actions and open your Run; -2. Expand job list and choose any job you need; -3. At the right you'll see a list of steps. You need step `Run monitoring`; -4. Find the string like: -``` -Find your Prometheus metrics using label {instance="2911909439-7f83f93ff335"} -``` -5. Copy value between double quotes and go to monitoring dashboard. Set `github` service and expand instance list, CTRL+F and paste copied value. Choose your instance - -image - -**Note:** label consists of two part - `${GITHUB_RUN_ID}-${HOSTNAME}`. Use only one part to find all jobs of your Run. - -# Available workflows - -| Workflow name | What it's supposed to do | What it triggers on | -| --- | --- | --- | -| UTBot Java: build and run tests | Builds the project and runs tests for it | **push** or **pull request** to the **main** branch | -| [M] UTBot Java: build and run tests | Builds the project and runs tests for it | **manual** call or call from **another workflow** | -| [M] Run chosen tests | Runs a single test or tests in chosen package/class | **manual** call | -| Plugin and CLI: publish as archives | Archives plugin and CLI and stores them attached to the workflow run report | **push** to the **main** branch | -| [M] Plugin and CLI: publish as archives | Archives plugin and CLI and stores them attached to the workflow run report | **manual** call or call from **another workflow** | -| [M] Publish on GitHub Packages | Publishes artifacts such as _utbot-api_, _utbot-core_, _utbot-framework_, etc., on GitHub Packages | **manual** call | \ No newline at end of file diff --git a/docs/ci/docker-for-utbot-java.md b/docs/ci/docker-for-utbot-java.md deleted file mode 100644 index 2a4d4178..00000000 --- a/docs/ci/docker-for-utbot-java.md +++ /dev/null @@ -1,95 +0,0 @@ - - -# Reproducible environment - -It's available to download docker image with the environment for UTBot. The environment is also used in the crucial CI scripts focused on building project and running tests. - -The docker image pre-installed environment includes: -1. *Java 17* + *JDK* package -3. *Gradle 7.6.1* -3. *Kotlin compiler 1.8.0* - -It's based on Ubuntu [SOME VERSION]. - -## How to install Docker - -Using reproducible environment requires Docker installed. - -The detailed information of how to install Docker can be found on the [official site](https://docs.docker.com/engine/install/). - -## How to run tests in docker container - -Do the following steps to run tests in docker container: - -1. Pull docker image -``` -docker pull unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 -``` -2. Run docker container -```bash -# -v :/usr/utbot-debug - mounts the host directory into the container directory -# -it - make the container look like a terminal connection session -# -w /usr/utbot-tests - sets up working directory inside the container -docker run -it -v :/usr/utbot-tests --name utbot-tests -w /usr/utbot-tests unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 -``` -3. Do whatever you want - -* Build UTBot and run tests: -``` -gradle clean build --no-daemon -``` -* Build UTBot without running tests: -``` -gradle clean build --no-daemon -x test -``` -* Run tests for *utbot-framework* project *CustomerExamplesTest* class: -``` -gradle :utbot-framework:test --no-daemon --tests "org.utbot.examples.collections.CustomerExamplesTest" -``` -4. Exit container -``` -exit -``` - -## How to debug UTBot in docker container - -Do the following steps to debug UTBot in docker container: - -1. Set up configuration for remote debug in IntelliJ IDEA - -**Run/Debug Configurations** → **Add New Configuration** → Choose **Remote JVM Debug** → Set up **Configuration name** → **Ok** - -2. Pull docker image -``` -docker pull unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 -``` -3. Run docker container -```bash -# -v :/usr/utbot-debug - mounts the host directory into the container directory -# -it - make the container look like a terminal connection session -# -w /usr/utbot-tests - sets up working directory inside the container -# -p 5005:5005 - mounts the host port into the container port (debugging port) -docker run -it -p 5005:5005 -v :/usr/utbot-debug --name utbot-debug -w /usr/utbot-tests unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 -``` -4. Set up gradle options for remote debug: -``` -export GRADLE_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 -``` -5. Start building and running tests -``` -gradle clean build --no-daemon -``` -6. Attach in IntelliJ IDEA to the gradle process in the container - -Set up **breakpoints** wherever you want → **Run** new **Configuration** in **Debug** mode - -7. Exit container -``` -exit -``` diff --git a/docs/ci/ssh-session-with-github-agent.md b/docs/ci/ssh-session-with-github-agent.md deleted file mode 100644 index 5f8b8b48..00000000 --- a/docs/ci/ssh-session-with-github-agent.md +++ /dev/null @@ -1,21 +0,0 @@ - - -# SSH session with GitHub agent - -It's available to use **action** letting set up SSH session with GitHub agent in your **workflows**. The detailed documentation with the examples of use can be found in the [official repository](https://github.com/mxschmitt/action-tmate). - -The action setting SSH session can be easily plugged in your workflow with the example below: -``` -- name: Setup tmate session - uses: mxschmitt/action-tmate@v3 -``` - -When the action is plugged in the workflow log (the part corresponding to tmate action log) can be found the URL. By the URL you can access the terminal of your host. - -There are also some ways to setup action behavior. E.g., the default behavior of the action is to remain SSH session open until the workflow times out. It's available to setup timeout parameter yourself. \ No newline at end of file diff --git a/docs/contributing/Conventions.md b/docs/contributing/Conventions.md deleted file mode 100644 index 306f3c17..00000000 --- a/docs/contributing/Conventions.md +++ /dev/null @@ -1,44 +0,0 @@ -# Naming and labeling conventions - ---- - -## Naming conventions - -### How to name a branch - -We use feature branches for development. Our best practice is to use the "my-github-username" prefix for each branch and to split words with the low line, e.g.: - -**_githubuser/my_feature_branch_** - -### How to name issues, commits and pull requests - -We have been using GitHub for a while, and now we have a couple of tips for naming issues, commits and pull requests ( -PRs). You are welcome to stick to them too 🙂 - -Our favorite recipes are: - -**issue title = feature request or bug description + issue ID** - -**commit message = PR title = fix description + issue ID + (PR number)** - -How to insert the issue ID into the commit message and the PR title?
-— Manually. - -How to append the PR number to the PR title?
-— It appends automatically. - -How to insert the PR number into the commit message?
-— *Push* the feature branch + *Create pull request* on GitHub and then →
- -1) The preferred and the easiest flow: -
*Squash and merge* on GitHub → the PR number automatically appends to the resulting commit message -2) The flow for advanced users: -
(a) squash the commits locally → insert the PR number in parentheses (!) manually into the resulting commit - message + *Force Push* the resulting commit → *Rebase and merge* on GitHub -
or -
(b) change the commit message locally → insert the PR number in parentheses (!) manually + *Force Push* the - commit → *Rebase and merge* on GitHub - -## Labeling conventions - -To choose the proper labels for your issue or PR, refer to the [Label usage guidelines](https://github.com/UnitTestBot/UTBotJava/wiki/Labels-usage-guidelines). \ No newline at end of file diff --git a/docs/contributing/InterProcessDebugging.md b/docs/contributing/InterProcessDebugging.md deleted file mode 100644 index d488d7f5..00000000 --- a/docs/contributing/InterProcessDebugging.md +++ /dev/null @@ -1,122 +0,0 @@ -# Interprocess debugging of UnitTestBot Java - -### Background - -We have split the UnitTestBot machinery into three processes. See the [document on UnitTestBot multiprocess -architecture](../RD%20for%20UnitTestBot.md). -This approach has improved UnitTestBot capabilities, e.g., provided support for various JVMs and scenarios but also -complicated the debugging flow. - -These are UnitTestBot processes (according to the execution order): - -* _IDE process_ -* _Engine process_ -* _Instrumented process_ - -Usually, the main problems happen in the _Engine process_, but it is not the process we run first. -See how to debug UnitTestBot processes effectively. - -### Enable debugging - -Debugging the _IDE process_ is pretty straightforward: start the debugger session (**Shift+F9**) for the `runIde` -Gradle task in `utbot-intellij` project from your IntelliJ IDEA. - -To debug the _Engine process_ and the _Instrumented process_, you need to enable the debugging options: -1. Open [`UtSettings.kt`](../../utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt). -2. There are two similar options: `runEngineProcessWithDebug` and `runInstrumentedProcessWithDebug` — enable the - relevant one(s). There are two ways to do this: - * You can create the `~/.utbot/settings.properties` file and write the following: - - ``` - runEngineProcessWithDebug=true - runInstrumentedProcessWithDebug=true - ``` - Then restart the IntelliJ IDEA instance you want to debug. - - * **Discouraged**: you can change the options in the source file, but this will involve moderate project - recompilation. -3. You can set additional options for the Java Debug Wire Protocol (JDWP) agent if debugging is enabled: - * `engineProcessDebugPort` and `instrumentedProcessDebugPort` are the ports for debugging. - - Default values: - - 5005 for the _Engine process_ - - 5006 for the _Instrumented process_ - - * `suspendEngineProcessExecutionInDebugMode` and `suspendInstrumentedProcessExecutionInDebugMode` define whether - the JDWP agent should suspend the process until the debugger is connected. - - More formally, if debugging is enabled, the following switch is added to the _Engine process_ JVM at the start by - default: - ``` - "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,quiet=y,address=5005" - ``` - - These options set `suspend` and `address` values. For example, with the following options in `~/.utbot/settings.properties`: - ``` - runEngineProcessWithDebug=true - engineProcessDebugPort=12345 - suspendEngineProcessExecutionInDebugMode=false - ``` - the resulting switch will be: - ``` - "-agentlib:jdwp=transport=dt_socket,server=n,suspend=n,quiet=y,address=12345" - ``` - See `org.utbot.intellij.plugin.process.EngineProcess.Companion.debugArgument` for switch implementation. -4. For information about logs, refer to the [Interprocess logging](InterProcessLogging.md) guide. - -### Run configurations for debugging the Engine process - -There are three basic run configurations: -1. `Run IDE` configuration allows running the plugin in IntelliJ IDEA. -2. `Utility Configurations/Listen for Instrumented Process` configuration allows listening to port 5006 to check if - the _Instrumented process_ is available for debugging. -3. `Utility Configurations/Listen for Engine Process` configuration allows listening to port 5005 to check if the _Engine process_ is available for debugging. - -On top of them, there are three compound run configurations for debugging: -1. `Debug Engine Process` and `Debug Instrumented Process` — a combination for debugging the _IDE process_ and - the selected process. -3. `Debug All` — a combination for debugging all three processes. - -To make debug configurations work properly, you need to set the required properties in `~/.utbot/settings.properties`. If you change the _port number_ and/or the _suspend mode_, do change these default values in the corresponding Utility Configuration. - -### How to debug - -Let's walk through an example illustrating how to debug the "_IDE process_ → _Engine process_" communication. - -1. In your current IntelliJ IDEA with source code, use breakpoints to define where the program needs to be stopped. For example, set the breakpoints at `EngineProcess.generate` and somewhere in `watchdog.wrapActiveCall(generate)`. -2. Select the `Debug Engine Process` configuration, add the required parameters to `~/.utbot/settings.properties` and - start the debugger session. -3. Generate tests with UnitTestBot in the debug IDE instance. Make sure symbolic execution is turned on, otherwise some processes do not even start. -4. The debug IDE instance will stop generation (if you have not changed the debug parameters). If you take no action, test generation will be canceled by timeout. -5. When the _Engine process_ has started (build processes have finished, and the progress bar says: _"Generate - tests: read classes"_), there will be another debug window — "Listen for Engine Process", — which automatically - connects and starts debugging. -6. Wait for the program to be suspended upon reaching the first breakpoint in the _Engine process_. - -### Interprocess call mapping - -Now you are standing on a breakpoint in the _IDE process_, for example, the process stopped on: - - EngineProcess.generate() - -If you go along the execution, it reaches the next line (you are still in the _IDE process_): - - engineModel.generate.startBlocking(params) - -It seems that test generation itself should occur in the _Engine process_ and there should be an entry point in the _Engine process_. -How can we find it? - -Standing on the breakpoint at `engineModel.generate.startBlocking(params)`, right-click on -`EngineProcessModel.generate` and **Go to** > **Declaration or Usages**. This navigates to the `RdCall` definition (which is -responsible for cross-process communication) in the `EngineProcesModel.Generated.kt` file. - -Now **Find Usages** for `EngineProcessModel.generate` and see the point where `RdCall` is passed to the next method: - - watchdog.wrapActiveCall(generate) - -This is the point where `RdCall` is called in the _Engine process_. - -You could have skipped the previous step and used **Find Usages** right away, but it is useful to know -where `RdCall` is defined. - -If you are interested in the trailing lambda of `watchdog.wrapActiveCall(generate)`, set the breakpoint here. \ No newline at end of file diff --git a/docs/contributing/InterProcessLogging.md b/docs/contributing/InterProcessLogging.md deleted file mode 100644 index a023dba5..00000000 --- a/docs/contributing/InterProcessLogging.md +++ /dev/null @@ -1,248 +0,0 @@ -# Interprocess logging - -This document describes -how logging is implemented across the UnitTestBot Java [processes](https://github.com/UnitTestBot/UTBotJava/blob/main/docs/RD%20for%20UnitTestBot.md): -the IDE process, the Engine process, and the Instrumented process. - -## Architecture - -The UnitTestBot Java logging system relies on `log4j2` library. - -For UnitTestBot Java used as an IntelliJ IDEA plugin, the configuration file for logging is [`utbot-intellij/log4j2.xml`](../../utbot-intellij/src/main/resources/log4j2.xml). - -When used as Contest estimator or the Gradle/Maven plugins, via CLI or during the CI test runs, -UnitTestBot Java engine searches classpath for the first `log4j2.xml` in the `resources` directory. - -### IDE process - -The IDE process writes logging information to standard `idea.log` files and puts them into the default log directory. - -To configure logs for the IDE process, use the log configuration file in a straightforward way. - -To change the log configuration for the prebuilt plugin, -go to **Help** > **Diagnostic Tools** > **Debug Log Settings...** and configure `log4j2.xml`. - -To store log data for the Engine process started from the IDE process, the UnitTestBot Java plugin creates a directory: -`org.utbot.intellij.plugin.process.EngineProcessKt.engineProcessLogDirectory`. - -### Engine process - -The Engine process can be started either from IntelliJ IDEA or separately — as a standalone engine. - -#### Engine process started from IntelliJ IDEA - -As the plugin does not support multiple generation processes, -the logs from the Engine process are written to the same file. - -The default log file directory is `%user_temp%/UtBot/rdEngineProcessLogs`. - -The [`utbot-intellij/log4j2.xml`](../../utbot-intellij/src/main/resources/log4j2.xml) file is copied to the -UnitTestBot Java temporary directory: -`org.utbot.intellij.plugin.process.EngineProcessKt.engineProcessLogConfigurationsDirectory`. -Then this file is provided to the Engine process via the following CLI switch: - ``` - -Dlog4j2.configurationFile=%configuration_file% - ``` - -Here, `%configuration_file%` can take one of two values: -1. A modified copy of [`utbot-intellij/log4j2.xml`](../../utbot-intellij/src/main/resources/log4j2.xml) file, which is stored in UnitTestBot Java temporary directory. - - More precisely, there are 2 appenders in the configuration file: - ```xml - - - - - ``` - By default, `IdeaAppender` is used everywhere in a file for the IDE plugin. - - For the Engine process, a temporary `log4j2.xml` is created, - where the `ref="IdeaAppender"` substring is replaced with `ref="EngineProcessAppender"`: - this replacement changes all the appenders and the log pattern - but keeps categories and log levels for the loggers the same. - - As soon as the file reaches 20 MB size, `RollingFileAppender` writes the logs to the `utbot-engine-current.log` file. - The created log files are named `utbot-engine-%i.log`. - A log file with the largest index is the latest one: `utbot-engine-1.log` has been created earlier than `utbot-engine-10.log`. - - Each time the Engine process starts, the following lines are printed into the IntelliJ IDEA log: - ``` - | UtBot - EngineProcess | Engine process started with PID = 4172 - | UtBot - EngineProcess | Engine process log directory - C:\Users\user_name\AppData\Local\Temp\UTBot\rdEngineProcessLogs - | UtBot - EngineProcess | Engine process log file - C:\Users\user_name\AppData\Local\Temp\UTBot\rdEngineProcessLogs\utbot-engine-current.log - ``` - -2. A path from `UtSettings.engineProcessLogConfigFile`. - - The option provides the external `log4j2` configuration file with the path instead of [`utbot-intellij/log4j2.xml`](../../utbot-intellij/src/main/resources/log4j2.xml). - In the `~/.utbot/settings.properties` file, one can set this path to a custom configuration file applicable to the Engine process, for example: - ``` - engineProcessLogConfigFile=C:\wrk\UTBotJava\engineProcessLog4j2.xml - ``` - This allows you to configure logs for the Engine process even for the prebuilt plugin (you need to restart an IDE). - -#### Engine process started separately - -When used as Contest estimator or the Gradle/Maven plugins, via CLI or during the CI test runs, -UnitTestBot Java engine searches classpath for the first `log4j2.xml` in the `resources` directory -to get configuration information. - -### Instrumented process - -The Instrumented process sends the logs to its parent — to the Engine process. -Logs are sent via the corresponding Rd model: `org.utbot.rd.models.LoggerModel`. - -See also `org.utbot.instrumentation.rd.InstrumentedProcess.Companion.invoke` and -`org.utbot.instrumentation.process.InstrumentedProcessMainKt.main`. - -## Rd logging system - -Rd has the custom logging system based on `com.jetbrains.rd.util.Logger` interface. -It is convenient to set the Rd logging system as default for the Instrumented process: -during concrete execution, -the `log4j2` classes in UnitTestBot Java could be confused with the `log4j2` classes from the project under test. -Duplicated `log4j2` libraries can break instrumentation and coverage statistics. - -You should always override the default Rd logging strategy, which writes log data to `stdout/stderr`. -Use `com.jetbrains.rd.util.Logger.Companion.set` method to provide custom -`com.jetbrains.rd.util.ILoggerFactory`. -The created loggers will be automatically re-instantiated to obtain a new logger from the provided factory. -You can obtain a logger via the `com.jetbrains.rd.util.getLogger` function. -Check `EngineProcessMain` for Rd logging example. - -For available Rd factories, see the `org.utbot.rd.loggers` package: it contains the implemented factories. -The format of the log messages is the same as described in `utbot-intellij/src/main/resources/log4j2.xml`. - -## Implementation details - -### Additivity - -An entry may appear in a log many times due to _additivity_. The resulting log may look like this: -``` -13:55:41.204 | INFO | AnalyticsConfigureUtil | PathSelectorType: INHERITORS_SELECTOR -13:55:41.204 | INFO | AnalyticsConfigureUtil | PathSelectorType: INHERITORS_SELECTOR -``` - -The logger's full name constitutes a tree structure so that the logged events from a child are visible to a parent. - -For example, the following `log4j2.xml` configuration in IntelliJ IDEA will produce such a problem: -```xml -... - - - - - - - - -... -``` - -This happens because the `org.utbot` logger is a parent to `org.utbot.intellij`, and all the events from -`org.utbot.intellij` are also transferred to `org.utbot`. - -To modify this behavior, add the `additivity="false"` tag to all loggers manually: -```xml -... - - - - - - - - -... -``` - -Consider this problem when you manually configure log level and appender for a logger. - -For more information, -refer to the [`log4j2` additivity](https://logging.apache.org/log4j/2.x/manual/configuration.html#Additivity) document. - -### Logging: auxiliary methods - -Find more logging-related methods at `UtRdLogUtil.kt` and `Logging.kt`. - -To trace the execution duration, -use the `measureTime` method (see `Logging.kt`) with the corresponding log level scope. - -In the Engine process, the entries from the Instrumented process are logged by `org.utbot.instrumentation.rd.InstrumentedProcessKt.rdLogger`. - -## Log levels and performance - -For development, the `Debug` level is preferred in most cases. - -The `Info` log level is sufficient for release. - -In Rd, if you choose the `Trace` level for all loggers or set it as default for the root logger, -this enables logging for all technical _send/receive_ events from protocol. -It may cause ~50 MB of additional entries per generation to appear and _heavily_ pollutes the log. This might be useful -for troubleshooting interprocess communication but in all other cases prefer the `Debug` level or -specify the `Trace` level per logger explicitly. - -For the `Debug` level, if a log message requires heavy string interpolation, wrap it in lambda, for example: -```kotlin -val someVeryBigDataStructure = VeryBigDataStructure() - -logger.debug("data structure representation - $someVeryBigDataStructure") // <---- interpolation -``` -Here, even for a message with the `Debug` level, interpolation will always occur because -the message is passed as a parameter, which is evaluated at call site. -If the `Info` level (or higher) is set for a logger, -the message is built, but not logged, -resulting in unnecessary work, possibly causing performance issues. - -Consider using lambdas: -```kotlin -// message will be created only if debug log level is available -logger.debug { "data structure representation - $someVeryBigDataStructure"} -``` - -Here, although the logs are sent from one process to another, no performance penalties have been noticed. - -To reach higher performance, try to use `bufferedIO` and `immediateFlush` properties in `log4j2.xml`. -For example, you can make the following changes to the `log4j2.xml` file in `utbot-intellij`: -```xml - -``` - -This will reduce a number of I/O operations and help to use `log4j2` buffer more efficiently. -This may also have a flip side: -when the process terminates, `log4j2` terminates the logging service before the buffer is flushed, and -you will lose the last portion of logs. -This behavior is undesirable for testing and debugging, -but probably acceptable for release. - -## Docker and Gradle - -To see the logs in Gradle from console, Docker and CI, add the following `build.gradle.kts` file: -```kotlin -allprojects { - tasks { - withType { - testLogging.showStandardStreams = true - testLogging.showStackTraces = true - } - } -} -``` - -## Useful links - -UnitTestBot Java documentation: -1. [Multiprocess architecture](../RD%20for%20UnitTestBot.md) -2. [Interprocess debugging](InterProcessDebugging.md) -3. [How to use loggers](../../HowToUseLoggers.md) - -`log4j2` documentation: -1. [Architecture](https://logging.apache.org/log4j/2.x/manual/architecture.html) — an overall `log4j2` description. -2. [Layouts](https://logging.apache.org/log4j/2.x/manual/layouts.html) — how to format log messages. - (UnitTestBot Java uses `Pattern layout` everywhere.) -3. [Appenders](https://logging.apache.org/log4j/2.x/manual/appenders.html) — - a description of various ways to store log entries (and how to configure the storages). - UnitTestBot Java uses the `Console`, `File` and `RollingFile` appenders. -4. [Configuration](https://logging.apache.org/log4j/2.x/manual/configuration.html) — - how to use a configuration file, how to check the file, and other useful information. - It is **highly advised** to read the `Additivity` part. \ No newline at end of file diff --git a/docs/contributing/LabelUsageGuideline.md b/docs/contributing/LabelUsageGuideline.md deleted file mode 100644 index 05007f6b..00000000 --- a/docs/contributing/LabelUsageGuideline.md +++ /dev/null @@ -1,93 +0,0 @@ -# Label usage guideline - -We recommend to use labels only in these cases - - -![bug](https://user-images.githubusercontent.com/106974353/174105036-53ac8736-2e63-4a02-ac90-1aca34a8fb53.png) - -Something isn't working. -Indicates an unexpected problem or unintended behavior. - -# - -![170533338-082f808e-b74b-437d-802e-568099036b1e-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105268-52897d9b-3939-4063-bfec-2572dcef67f4.png) - -This label applies to the issues and pull requests related to `org.utbot.engine` package. -Use it if your issue or fix deals with model construction (including Soot and Jimple), -memory modeling, symbolic values, wrappers, mocking, value resolving, or interaction -with the SMT solver. - -Path selector issues generally should also have the "engine" label, unless the problem -is specific to a ML-based path selection algorithm. - -# - -![171006007-3ad32d41-1968-4a43-ac4b-f68f016f978b-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105349-f33620af-8694-486b-95af-eaabfd1e4fa7.png) - -This label applies to the issues and pull requests related to `org.utbot.intellij` module. -Use it if your changes in code are related to plugin UI appearance (mostly `ui` package) -or close functionality: frameworks installation, sarif reports generation, etc. - -# - -![171006369-d7810250-258d-4b8d-8321-2742bd0a81db-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105444-beab859e-ea77-47dd-a5c2-27c0be350e82.png) - -This label applies to the issues and pull requests related to `org.utbot.framework.codegen`package. -Use it if your issue or fix deals with generating (rendering) code of unit tests based on obtained -from symbolic engine executions. It may relate to generation on both supported languages (Java and Kotlin). -Code generator related class names are often marked with `Cg` prefix or with `CodeGenerator` suffix. - -# - -![170533255-7fe1342b-4121-44f8-8678-78e52581235e-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105494-23cd502f-6181-445e-85fa-1f80ddc90e5f.png) - -Indicates a need for improvements or additions to documentation. - - -# - -![170533304-e0f95623-1fa5-427b-8545-ceb4113de597-depositphotos-bgremover (1)](https://user-images.githubusercontent.com/106974353/174105712-5ffc4157-142f-4971-8e4b-aced5ed2bc19.png) - -This issue or pull request already exists. -Indicates similar issues, pull requests, or discussions. - -# - -![170537552-fba154f5-14b8-4054-aa3b-d0c7a040677f-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105774-4688face-7e82-4bb6-8b2a-2372e3fb6400.png) - -New feature or request. - -# - -![170537570-ae56bc9f-19b7-4864-8a92-05e5b7f5f342-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105839-f0fbd000-b4c7-40fe-a261-bde8048de13b.png) - -Good for newcomers. -Indicates a good issue for first-time contributors. - -# - -![170537578-37181739-204f-4527-a337-17333d45542d-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174105932-596eb120-4f28-4e5c-842a-3fb4c5c375b7.png) - -Extra attention is needed. -Indicates that a maintainer wants help on an issue or pull request. - -# - -![170537586-ef98f24c-d12d-47b3-95eb-e396c2a14337-depositphotos-bgremover](https://user-images.githubusercontent.com/106974353/174106017-4be04dff-0451-46f1-b552-e5f5f3730438.png) - -This issue / PR doesn't seem right. -Indicates that an issue, pull request, or discussion is no longer relevant. - -# - -![170537612-daeed618-7cc2-44e6-9d67-d74939761dae-depositphotos-bgremover1](https://user-images.githubusercontent.com/106974353/174106553-506fe0bc-7ddb-47a7-9609-b7cd1b775f22.png) - -Further information is requested. -Indicates that an issue, pull request, or discussion needs more information. - -# - -![170537619-538ec3a4-1f50-4f19-8bf3-71ce7e2d1afe-depositphotos-bgremover (3)](https://user-images.githubusercontent.com/106974353/174106628-08b7cd36-8dc7-4eb3-82c7-e917d7d11e8f.png) - -This will not be worked on. -Indicates that work won't continue on an issue, pull request, or discussion. \ No newline at end of file diff --git a/docs/images/utbot_custom_javadoc_tags.png b/docs/images/utbot_custom_javadoc_tags.png deleted file mode 100644 index 0025b4bb..00000000 Binary files a/docs/images/utbot_custom_javadoc_tags.png and /dev/null differ diff --git a/docs/images/utbot_settings.png b/docs/images/utbot_settings.png deleted file mode 100644 index efd77571..00000000 Binary files a/docs/images/utbot_settings.png and /dev/null differ diff --git a/docs/images/utbot_ututils_2.0.png b/docs/images/utbot_ututils_2.0.png deleted file mode 100644 index c1146646..00000000 Binary files a/docs/images/utbot_ututils_2.0.png and /dev/null differ diff --git a/docs/jlearch/execution-state-changes.md b/docs/jlearch/execution-state-changes.md deleted file mode 100644 index b3a88d39..00000000 --- a/docs/jlearch/execution-state-changes.md +++ /dev/null @@ -1,41 +0,0 @@ -# Changes in Execution State - -```mermaid -classDiagram - class StateAnalyticsProperties{ - +int depth - +int visitedAfterLastFork - +int visitedBeforeLastFork - +int stmtsSinceLastCovered - +ExecutionState? parent - +long executingTime - +double reward - +List~Double~ features - -boolean isFork - -boolean isVisitedNew - -int successorDepth - -int successorVisitedAfterLastFork - -int successorVisitedBeforeLastFork - -int successorStmtSinceLastCovered - - +updateIsVisitedNew() - +updateIsFork() - } - ExecutionState o-- StateAnalyticsProperties -``` - -`StateAnalyticsProperties` maintains properties of `ExecutionState`, which don't need for symbolic execution, but need for `JLearch`. - -* `depth: Int` - number of forks on the state's path excluded current state, if it is fork. In this case, fork is a state with more than one successor excluded implicit `NPE` branches. -* `visitedAfterLastFork: Int` - number of `stmt`, that was visited by `states` on this state's path after the last fork in first time. -* `visitedBeforeLastFork: Int` - number of `stmt`, that was visited by `states` on this state's path before the last fork in first time. -* `stmtsSinceLastCovered: Int` - number of `states` on this state's path after the last state that visited any `stmt` in first time. -* `parent: ExecutionState?` - parent of current `state`. If `UtSettings.featureProcess == false`, then it is always null, because we don't need this field in this case. If it is not null, then we can't delete `state` until all successors of this state will be deleted, which may cause memory issue. -* `executingTime: Long` - amount of time, during which this state was traversed. -* `reward: Double?` - calculated reward of this state -* `features: List` - list of extracted features for this state - -Field with `successor` prefix is used for a constructor of successor properties. - -* `updateIsFork()` - set `isFork` on true. This method is called when traversing of `stmt` produces more than one explicit state. Now it may be during the traversing of `IfStmt`, `SwitchStmt`, `AssignStmt` or `InvokeStmt`. -* `updateIsCoveredNew()` - set `isVisitedNew` on true, set `stmtsSinceLastCovered` on zero and increase `visitedAfterLastFork` on 1. This method is called in `UtBotSymbolicEngine` after new state `s` is polled and `s.stmt` was not visited yet. diff --git a/docs/jlearch/features.md b/docs/jlearch/features.md deleted file mode 100644 index 1b3ca05a..00000000 --- a/docs/jlearch/features.md +++ /dev/null @@ -1,17 +0,0 @@ -# Collecting features - -Now we collect 13 features, that will be described in original [paper](https://files.sri.inf.ethz.ch/website/papers/ccs21-learch.pdf), except constraint representation, but it can be extended. - -* `stack` - size of state’s current call stack. -* `successor` - number of successors of state’s current basic block. -* `testCase` - number of test cases generated so far -* `coverageByBranch` - number of instructions, which was covered first time on our last branch -* `coverageByPath` - number of instructions, which was covered first time on our path -* `depth` - number of forks already performed along state’s path. -* `cpicnt` - number of instructions visited in state's current function. -* `icnt` - number of times for which st ate’s current instruction has - been visited -* `covNew` - number of instructions executed by st ate since the last - time a new instruction is covered -* `subpath` - number of times for which st ate’s subpaths have been - visited. The length of the subpaths can be 1, 2, 4, or 8 respectively diff --git a/docs/jlearch/jlearch-architecture.md b/docs/jlearch/jlearch-architecture.md deleted file mode 100644 index 0f7c8d12..00000000 --- a/docs/jlearch/jlearch-architecture.md +++ /dev/null @@ -1,154 +0,0 @@ -# JLearch architecture - -# Global Class Diagram - -```mermaid -classDiagram - class FeatureProcessor{ - dumpFeatures() - } - <> FeatureProcessor - class TraverseGraphStatistics{ - onVisit(ExecutionState) - onTraversed(ExecutionState) - } - class InterproceduralUnitGraph - class FeatureExtractorFactory - <> FeatureExtractorFactory - class FeatureProcessorFactory - <> FeatureProcessorFactory - class EngineAnalyticsContext - class UtBotSymbolicEngine - class NNRewardGuidedSelectorFactory - <> NNRewardGuidedSelectorFactory - class FeatureExtractor{ - extractFeatures(ExecutionState) - } - <> FeatureExtractor - - UtBotSymbolicEngine ..> EngineAnalyticsContext - EngineAnalyticsContext o-- FeatureProcessorFactory - EngineAnalyticsContext o-- FeatureExtractorFactory - EngineAnalyticsContext o-- NNRewardGuidedSelectorFactory - - FeatureProcessor --|> TraverseGraphStatistics - InterproceduralUnitGraph o-- TraverseGraphStatistics - UtBotSymbolicEngine *-- FeatureProcessor - UtBotSymbolicEngine *-- InterproceduralUnitGraph - - class Predictors - class StateRewardPredictor - class NNRewardGuidedSelector - - - class GreedySearch - - class BasePathSelector - - GreedySearch --|> BasePathSelector - NNRewardGuidedSelector --|> GreedySearch - - UtBotSymbolicEngine *-- BasePathSelector - - Predictors o-- StateRewardPredictor - NNRewardGuidedSelector ..> Predictors - NNRewardGuidedSelector *-- FeatureExtractor - - NNStateRewardPredictorSmile --|> StateRewardPredictor - StateRewardPredictorTorch --|> StateRewardPredictor - LinearStateRewardPredictor --|> StateRewardPredictor - - NNStateRewardGuidedSelectorWithRecalculationWeight --|> NNRewardGuidedSelector - NNStateRewardGuidedSelectorWithoutRecalculationWeight --|> NNRewardGuidedSelector -``` - -This diagram doesn't illustrate some details, so read them below. - -# FeatureProcessor - -It is interface in framework-module, that allows to use implementation from analytics module. - -* `dumpFeatures(state: ExecutionState)` - dump features and rewards in some format on disk. Called at the end of traverse in `UtBotSymbolicEngine` - -## Implementation class diagram - -```mermaid -classDiagram - class FeatureProcessorWithStatesRepetition{ - -Map~Int, FeatureList~ dumpedStates - -Set~Stmt~ visitedStmts - -List~TestCase~ testCases - -int generatedTestCases - dumpFeatures() - } - - class FeatureExtractor{ - extractFeatures(ExecutionState) - } - - class TraverseGraphStatistics{ - onVisit(ExecutionState) - onTraversed(ExecutionState) - } - - class RewardEstimator{ - calculateRewards(List~TestCase~) - } - - class TestCase{ - +List states - +int newCoverage - +int testIndex - } - - FeatureProcessorWithStatesRepetition --|> TraverseGraphStatistics - FeatureProcessorWithStatesRepetition o-- FeatureExtractor - FeatureProcessorWithStatesRepetition o-- RewardEstimator - FeatureProcessorWithStatesRepetition ..> EngineAnalyticsContext - -``` - -`State = Pair` - -`FeatureList = List): Map` - calculates `coverage` for each state and `time` for each state. `Coverage` - sum of `newCoverage` by `TestCase` that contains its state. `Time` - sum of `state.executingTime` by all states, that has this state on its path. Then calculates `reward(coverage, time)`. - -## FeatureProcessorWithStatesRepetition - -* `onVisit(state: ExecutionState)` - extractFeatures for state -* `onTraversed(state: ExecutionState)` - create `TestCase`, so we go from `state` to `state.parent` while it is not root, for each `state` on path add its features to `dumpedStates`, calculate coverage of its `TestCase`, increment `generatedTestCases` on 1 and add new `TestCase` in `testCases`. -* `dumpFeatures()` - call `RewardEstimator.calculateRewards()` and write `csv` file for each `TestCase` in format: `newCov,features,reward` for each `state` in it. `newCov` - flag that indicates whether this `TestCase` cover something new or not. So in this approach, each `state` will be written as many times as the number of `TestCase` that has it. -For creating `FeatureExtractor`, it uses `FeatureExtractorFactory` from `EngineAnalyticsContext`. - -# FeatureExtractor - -It is interface in framework-module, that allows to use implementation from analytics module. -* `extractFeatures(state: ExecutionState)` - create features list for state and store it in `state.features`. Now we extract all features, which were described in [paper](https://files.sri.inf.ethz.ch/website/papers/ccs21-learch.pdf). In feature, we can extend the feature list by other features, for example, NeuroSMT. - -# StateRewardPredictor - -Interface for reward predictors. Now it has three implementations in `analytics` module: - -* `NNStateRewardPredictorSmile`: it uses our own format to store feedforward neural network, and it uses `Smile` library to do multiplication of matrix. -* `NNStateRewardPredictorTorch`: it assumed that a model is any type of model in `pt` format. It uses the `Deep Java library` to use such models. -* `LinearStateRewardPredictor`: it uses our own format to store weights vector: line of doubles, separated by comma with bias as last weight. - -It should be created at the beginning of work and stored at `Predictors` class to be used in `NNRewardGuidedSelector` from the `framework` module. - - -# NNStateRewardGuidedSelector - -It uses an `EngineAnalyticsContext` to create `FeatureExtractor`. -We override `ExecutionState.weight` as `NNStateRewardPredictor.predict(this.features)`. -We have two different implementantions: -* `NNStateRewardGuidedSelectorWithRecalculation`: we recalculate reward every time, so in `ExecutionState.weight` we extract features and call predict. -* `NNStateRewardGuidedSlectorWithoutRecalculation`: we extract features in `offerImpl`, calculate `reward` and store it in `ExecutionState.reward` without recalculation it every time. - -# EngineAnalyticsContext - -It is an object that should be filled by factories in the beginning of work to allow objects from the `framework` module using objects from `analytics` module. diff --git a/docs/jlearch/new-heuristical-path-selectors.md b/docs/jlearch/new-heuristical-path-selectors.md deleted file mode 100644 index 756abb2c..00000000 --- a/docs/jlearch/new-heuristical-path-selectors.md +++ /dev/null @@ -1,93 +0,0 @@ -# GreedySearch - -```mermaid -classDiagram - class GreedySearch{ - -Set~ExecutionState~ states - +ExecutionState.weight - } - GreedySearch --|> BasePathSelector -``` -Base methods such as `offer` or `remove` is implemented pretty simple and just a delegation to `states`. - -In `peekImpl` we find the set of `states` with maximum `weight` and peek random among them, so to use this class in implementation of some `pathSelector`, you just need to override an `ExecutionState.weight`. - -# SubpathStatistics - -```mermaid -classDiagram - class SubpathStatistics{ - +int index - -Map~Subpath, Int~ subpathCount - subpathCount(ExecutionState) - } - class TraverseGraphStatistics{ - onVisit(ExecutionState) - } - - SubpathStatistics --|> TraverseGraphStatistics - TraverseGraphStatistics o-- InterProceduralUnitGraph -``` -`Subpath` = `List` - -This class maintains frequency of each subpath with length `2^index`, which is presented as `List`, in a certain instance of `InterproceduralUnitGraph` - -* `onVisit(state: ExecutionState)` - we calculate subpath of this state and increment its frequency on `1` -* `subpathCount(state: ExecutionState)` - we calculate subpath of this state and return its frequency - -# SubpathGuidedSelector - -```mermaid -classDiagram - SubpathGuidedSelector o-- SubpathStatistics - SubpathGuidedSelector --|> GreedySearch -``` - -Inspired by [paper](http://pxzhang.cn/paper/concolic_testing/oopsla13-pgse.pdf). - -We override `ExecutionState.weight` as `-StatementStatistics.subpathCount(this)`, so we pick the `state`, which `subpath` is less traveled. - -# StatementStatistics - -```mermaid -classDiagram - class StatementStatistics{ - -Map~Stmt, Int~ statementsCount - -Map~SootMethod, Int~ statementsInMethodCount - +statementCount(ExecutionState) - +statementsInMethodCount(ExecutionState) - } - - class TraverseGraphStatistics{ - onVisit(ExecutionState) - } - - StatementStatistics --|> TraverseGraphStatistics - TraverseGraphStatistics o-- InterProceduralUnitGraph -``` - -This class maintains frequency of each `Stmt` and number of `Stmt`, that was visited in some `SootMethod`, on a certain instance of `InterproceduralUnitGraph`. - -* `onVisit(state: ExecutionState)` - increment frequency of state's `stmt` on 1. If we visit this `stmt` for the first time, then increment number of `Stmt`, that we visit in the current state's `method`, on 1. -* `statementCount(state: ExecutionState)` - get a frequency of state's `stmt` -* `statementsInMethodCount(state: ExecutionState)` - get number of `stmt`, that was visited in the current state's `method`. - -# CPInstSelector - -```mermaid -classDiagram - CPInstSelector o-- StatementStatistics - CPInstSelector --|> NonUniformRandomSearch -``` - -Override `ExecutionState.cost` as `StatementStatistics.statementInMethodCount(this)`, so we are more likely to explore the least explored `method`. - -# ForkDepthSelector - -```mermaid -classDiagram - ForkDepthSelector --|> NonUniformRandomSearch -``` - -Override `ExecutionState.cost` as `ExecutionState.depth`, so we are more likely to explore the least deep `state` in terms of the number of forks on its path. - diff --git a/docs/jlearch/pipeline-training-usage.md b/docs/jlearch/pipeline-training-usage.md deleted file mode 100644 index 9c68d35f..00000000 --- a/docs/jlearch/pipeline-training-usage.md +++ /dev/null @@ -1,37 +0,0 @@ -# Pipeline diagram - -```mermaid -graph TD - Projects --> ContestEstimator - Selectors --> ContestEstimator - subgraph FeatureGeneration - ContestEstimator --> Tests - Tests --> Features - Tests --> Rewards - end - - - Features --> Data - Rewards --> Data - - Data --> Models - Models --> NNRewardGuidedSelector --> UsualTestGeneration -``` - -# Training - -Briefly: - -* Get dataset `D` by running `ContestEstimator` on several projects using several selectors. -* Train `model_0` using `D` -* For several `iterations` repeat (assume we on `i`-th step): - * Get dataset `D'` by running `ContestEstimator` on several projects using `NNRewardGuidedSelector`, which will use `model_i` - * $$D = D \cup D'$$ - * Train `model_$(i+1)` using `D` - -To do this, you should: -* Be sure that you use `Java 8` by `java` command and set `JAVA_HOME` to `Java 8`. -* Put projects, on which you want to learn in `contest_input/projects` folder, then list classes, on which you want to learn in `contest_input/classes//list` (if it is empty, than we will take all classes from project jar). -* Run `pip install -r scripts/ml/requirements.txt`. It is up to you to make it in virtual environment or not. -* List selectors in `scripts/ml/selector_list` and projects in `scripts/ml/prog_list` -* Run `./scripts/ml/train_iteratively.sh ` diff --git a/docs/jlearch/scripts.md b/docs/jlearch/scripts.md deleted file mode 100644 index 4e23e43f..00000000 --- a/docs/jlearch/scripts.md +++ /dev/null @@ -1,65 +0,0 @@ -# How to use scripts -For each scenario: go to root of `UTBotJava` repository - it is `WORKDIR`. - -`PATH_SELECTOR` as argument is `"PATH_SELECTOR_TYPE [PATH_SELECTOR_PATH for NN] [IS_COMBINED (false by default)] [ITERATIONS]"`. - -Before start of work run: -```bash -./scripts/ml/prepare.sh -``` - -It will copy contest resources in `contest_input` folder and build the project, because we use jars, so if you want to change something in code and re-run scripts, then you should run: -```bash -./gradlew clean build -x test -``` - -## To Train a few iterations of your models: -By default features directory is `eval/features` - it should be created, to change it you should manually do it in source code of scripts. - -List projects and selectors on what you want to train in `scripts/ml/prog_list` and `scripts/selector_list`. You will be trained on all methods of all classes from `contest_input/classes//list`. - -Then just run: -```bash -./scripts/ml/train_iteratively.sh -``` -Python command is your command for python3, in the end of execution you will get iterations models in `` folder and features for each selector and project in `//` for `selector` from `selectors_list` and in `/jlearch//` for models. - -## To Run Contest Estimator with coverage: -Check that `srcTestDir` with your project exist in `build.gradle` of `utbot-junit-contest`. If it is not then add `build/output/test/`. - -Then just run: -```bash -./scripts/ml/run_with_coverage.sh -``` - -In the end of execution you will get jacoco report in `eval/jacoco///` folder. - -## To estimate quality -Just run: -```bash -./scripts/ml/quality_analysis.sh -``` -It will take coverage reports from relative report folders (at `eval/jacoco/project/alias`) and generate charts in `$outputDir//.html`. -`outputDir` can be changed in `QualityAnalysisConfig`. Result file will contain information about 3 metrics: -* $\frac{\sum_{c \in classSet} instCoverage(c)}{|classSet|}$ -* $\frac{\sum_{c \in classSet} coveredInstructions(c)}{\sum_{c \in classSet} allInstructions(c)}$ -* $\frac{\sum_{c \in classSet} branchCoverage(c)}{|classSet|}$ - -For each metric for each selector you will have: -* value of metric -* some chart with median, $q_1$, $q_3$ and so on - - -## To scrap solution classes from codeforces -Note: You can't scrap many classes, because codeforces api has a request limit. - -It can be useful, if you want to train Jlearch on classes usually without virtual functions, but with many algorithms, so cycles and conditions. - -Just run: -```bash -python3 path/to/codeforces_scrapper.py --problem_count --submission_count --min_rating --max_rating --output_dir -``` - -All arguments are optional. Default values: `100`, `10`, `0`, `1500`, `.`. - -At the end you should get `submission_count` classes for each of `problem_count` problems with rating between `min_rating` and `max_rating` at `output_dir`. Each class have package `p.p`. \ No newline at end of file diff --git a/docs/jlearch/setup.md b/docs/jlearch/setup.md deleted file mode 100644 index d24be695..00000000 --- a/docs/jlearch/setup.md +++ /dev/null @@ -1,35 +0,0 @@ -# How to setup environment for experiments on Linux - -* Clone repository, go to root -* `chmod +x ./scripts/ml/*` and `chmod +x gradlew`. -* Set `Java 8` as default and set `JAVA_HOME` to this `Java`. - For example - * Go through [this](https://sdkman.io/install) until `Windows installation` - * `sdk list java` - * Find any `Java 8` - * `sdk install ` - * `sdk use ` - * Check `java -version` -* `mkdir -p eval/features` -* `mkdir models` -* Set environment for `Python`. - For example - * `python3 -m venv /path/to/new/virtual/environment` - * `source /path/to/venv/bin/activate` - * Check `which python3`, it should be somewhere in `path/to/env` folder. - * `pip install -r scripts/ml/requirements.txt` -* `./scripts/ml/prepare.sh` -* Change `scripts/ml/prog_list` to run on smaller project or delete some classes from `contest_input/classes//list`. - -# Default settings and how to change it -* You can reduce number of models in `models` variable in `scripts/ml/train_iteratively.sh` -* You can change amount of required RAM in `run_contest_estimator.sh`: `16 gb` by default -* You can change `batch_size` or `device` n `train.py`: `4096` and `gpu` by default -* If you are completing setup on server, then you will need to uncomment tmp directory option in `run_contest_estimator.sh` - -# Continue setup -* `scripts/ml/train_iteratively.sh 30 2 models ` -* In `models/` you should get models. -* `mkdir eval/jacoco` -* `./scripts/ml/run_with_coverage.sh 30 "NN_REWARD_GUIDED_SELECTOR path/to/model" some_alias`. `path/to/model` should be something like `models/nn32/0`, where `nn32` is a type of model and `0` is the iteration number -* You should get jacoco report in `eval/jacoco/guava-26.0/some_alias/` \ No newline at end of file diff --git a/docs/summaries/CustomJavadocTags.md b/docs/summaries/CustomJavadocTags.md deleted file mode 100644 index 5b1a7eb8..00000000 --- a/docs/summaries/CustomJavadocTags.md +++ /dev/null @@ -1,85 +0,0 @@ -## Custom Javadoc Tags - -Currently, summaries are hard to read because of formatting issues and a lot of details they contain. - -**Goal**: to make test summaries structured and clear. - -**Idea**: to structure summary by introducing custom JavaDoc tags. - -Tags should start with a prefix "utbot" to avoid possible issues with user (or some plugin) custom tags (if they have -the same names). - -**Suggested custom tags (NOT ALL OF THEM ARE USED)** - -| Name | Description | Usage example | -|----------------------------|------------------------------------|-----------------------------------------------------------------| -| `@utbot.classUnderTest` | Inline link to the enclosing class | `@utbot.methodUnderTest {@link main.IntMath}` | -| `@utbot.methodUnderTest` | Inline link to the method we test. | `@utbot.methodUnderTest {@link main.IntMath#pow(int, int)}` | -| `@utbot.expectedResult` | Value we expect to get. | `@utbot.expectedResult 4` | -| `@utbot.actualResult` | Value we got. | `@utbot.actualResult 64` | -| `@utbot.executes` | Executed condition. | `@utbot.executes {@code (k < Integer.SIZE): True}` | -| `@utbot.invokes` | Invoked method. | `@utbot.invokes {@link main.IntMath#mul(int, int)}` | -| `@utbot.triggersRecursion` | Triggered recursion. | `@utbot.recursion triggers recursion of leftBinSearch` | -| `@utbot.activatesSwitch` | Activated switch case. | `@utbot.activatesSwitch {code case 10}` | -| `@utbot.returnsFrom` | Statement we return from. | `@utbot.returnsFrom {@code return (k == 0) ? 1 : 0;}` | -| `@utbot.throwsException` | Thrown exception. | `@utbot.throwsException {@link java.lang.NullPointerException}` | -| `@utbot.caughtException` | Caught exception. | `@utbot.caughtException {@code RuntimeException e}` | - -## Settings - -There is a setting `Javadoc comment style` in the main plugin's `Settings`. It has two options: `Plain` text -and `Structured via custom Javadoc tags` (selected by default). - -![Settings](../images/utbot_settings.png) - -## View - -There are two modes the comment could be shown in IntelliJ IDEA: plain text and rendered view. - -To activate rendered mode, click on the toggle near comment. - -![Example](../images/utbot_custom_javadoc_tags.png) - -## Implementation details - -Implemented `JavadocTagInfo` to introduce our custom JavaDoc tags. - -Implemented `CustomJavadocTagProvider` and registered it in `plugin.xml` to support plugin's custom tags. - -Overrided behavior of `JavaDocumentationProvider#generateRenderedDoc` and registered it in `plugin.xml` to render our -custom JavaDoc tags correctly. - -Added a flag `USE_CUSTOM_TAGS` to settings. - -After plugin's removal, IDE doesn't recognize our custom tags. It doesn't lead to errors, but highlights tags with -yellow color. - -## Test scenarios - -Currently, the feature works only for Symbolic execution engine, so make sure the slider is on the Symbolic execution -side. - -### Default behaviour (the feature is enabled). - -1. Run plugin on any Java project and run tests generation. -2. Check if the comments are generated and pretty formatted. -3. Check that all links are clickable (parts that start with `@link` tag). - -### Manual settings (you can choose any comment style – old and new). - -1. Go to the `Settings` menu, check that the drop-down list `Javadoc comment style` exists and has two options (Plain - text - and Structured via custom Javadoc tags). -2. Select any option, click OK, run tests generation and check that the option is applied and the comments are generated - according to the chosen style. - -### Content - -First, generate comment with one style, then generate with another one and compare its content. If it differs, -please, provide code snippet and both generated comments. It could differ because currently the -style with custom Javadoc tags is a bit simplified. - -### View - -Check that the comments are rendered well. To do it, click on the toggle near the comment (see post about Rendered -view feature in IntelliJ IDEA). \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 603eb5e3..f5e32dbc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ kotlin.code.style=official # - ExperimentalLanguages: for Java + { Python, JavaScript, Go } # - Spring: for Java + Spring # - Ultimate: for all supported functionality -projectType=Ultimate +projectType=PureJava pureJavaEdition=PureJava languagesEdition=ExperimentalLanguages @@ -41,7 +41,7 @@ junit4PlatformVersion=1.9.0 mockitoVersion=4.11.0 mockitoInlineVersion=4.11.0 ksmtVersion=0.4.3 -sootVersion=4.4.0-FORK-2 +sootVersion=4.2.1 kotlinVersion=1.8.0 log4j2Version=2.13.3 coroutinesVersion=1.6.3 diff --git a/models/0/nn.json b/models/0/nn.json deleted file mode 100644 index 99cee81f..00000000 --- a/models/0/nn.json +++ /dev/null @@ -1,18970 +0,0 @@ -{ - "linearLayers": [ - [ - [ - -0.2812620997428894, - -0.20690025389194489, - 0.025239119306206703, - 0.16666702926158905, - -0.3015841245651245, - -0.2231411188840866, - -0.2339421808719635, - 0.1372300386428833, - -0.09653409570455551, - -0.20102998614311218, - -0.1517055481672287, - 0.06770151108503342, - 0.1736624538898468 - ], - [ - 0.07755041122436523, - 0.2603122293949127, - 0.4763484597206116, - 0.23077495396137238, - 0.18743446469306946, - -0.002347304718568921, - -0.31861305236816406, - -0.5238833427429199, - -0.5596318244934082, - -0.13943715393543243, - -0.4900222718715668, - -0.13874824345111847, - -0.026209624484181404 - ], - [ - 0.005672903265804052, - 0.2812194228172302, - -0.029947057366371155, - 0.2998824715614319, - -0.18556763231754303, - -0.2329135686159134, - 0.03805786743760109, - 0.20632661879062653, - 0.32710668444633484, - 0.11301928013563156, - 0.21198059618473053, - 0.12055762112140656, - 0.12616081535816193 - ], - [ - 0.32202479243278503, - 0.1650446057319641, - -0.2244292050600052, - 0.2871652841567993, - -0.38242897391319275, - 0.20216849446296692, - 0.4162890613079071, - -0.24852490425109863, - -0.3516800105571747, - -0.5501313805580139, - -0.1989777386188507, - -0.1753005087375641, - -0.0997919887304306 - ], - [ - -0.2073894888162613, - -0.026421066373586655, - 0.20444630086421967, - 0.4853132665157318, - 0.13209407031536102, - 0.15783868730068207, - 0.08547142148017883, - -0.10429231822490692, - -0.04476998746395111, - 0.19800862669944763, - 0.3543761968612671, - -0.1627587378025055, - 0.0691845715045929 - ], - [ - -0.2442532181739807, - 0.18623562157154083, - -0.31594496965408325, - 0.040417544543743134, - -0.32911941409111023, - 0.18138383328914642, - 0.02217470109462738, - -0.18134571611881256, - -0.17334285378456116, - -0.04029788821935654, - 0.19143174588680267, - 0.22332844138145447, - -0.12598943710327148 - ], - [ - -0.1842803806066513, - -0.23971040546894073, - -0.5434504151344299, - 0.261478990316391, - 0.1484641134738922, - 0.16955262422561646, - 0.18890511989593506, - 0.016144687309861183, - -0.1485966444015503, - 0.11260021477937698, - -0.19952836632728577, - -0.1845572590827942, - 0.0750923678278923 - ], - [ - -0.3827153742313385, - 0.19904662668704987, - -0.3166623115539551, - -0.09563996642827988, - -0.029124295338988304, - -0.5873277187347412, - 0.28851452469825745, - 0.15390384197235107, - 0.13283896446228027, - -0.27946051955223083, - -0.03319583460688591, - 0.017873387783765793, - -0.2255309373140335 - ], - [ - 0.213275745511055, - -0.1601620465517044, - -0.23047587275505066, - -0.04881864786148071, - 0.10892008990049362, - 0.39467450976371765, - 0.4419712722301483, - 0.15421095490455627, - -0.27766215801239014, - -0.3739401698112488, - -0.12171220779418945, - -0.124486543238163, - 0.21379370987415314 - ], - [ - -0.3494093716144562, - -0.016638662666082382, - -0.19239097833633423, - -0.2745112180709839, - -0.22391216456890106, - 0.024962177500128746, - 0.41822320222854614, - -0.25197410583496094, - 0.06916783004999161, - -0.08406639099121094, - 0.025617875158786774, - -0.06838371604681015, - -0.11775310337543488 - ], - [ - -0.27412572503089905, - -0.04075736179947853, - -0.10035921633243561, - -0.1511864960193634, - -0.3486115038394928, - 0.284804105758667, - 0.2807717025279999, - -0.022341251373291016, - 0.40422338247299194, - 0.11742650717496872, - 0.18943603336811066, - -0.07526147365570068, - -0.29136690497398376 - ], - [ - 0.08565166592597961, - -0.17808888852596283, - 0.23337233066558838, - -0.01672634296119213, - -0.4955122768878937, - -0.029994111508131027, - 0.30877816677093506, - 0.04895417392253876, - 0.026867445558309555, - -0.003204688662663102, - 0.025512006133794785, - 0.28954002261161804, - -0.2107226848602295 - ], - [ - -0.3008478283882141, - -0.14909999072551727, - 0.09242149442434311, - 0.09902229905128479, - -0.31035372614860535, - 0.5288253426551819, - 0.12252070754766464, - -0.4221459925174713, - -0.2459046095609665, - -0.22813886404037476, - -0.1747918277978897, - -0.40906938910484314, - 0.14370641112327576 - ], - [ - 0.2579241991043091, - 0.022276267409324646, - 0.22654399275779724, - -0.19261173903942108, - -0.03431123495101929, - -0.7823503017425537, - -0.10113504528999329, - 0.09389126300811768, - 0.25544309616088867, - 0.04565619304776192, - -0.052542056888341904, - 0.2994041442871094, - -0.19028615951538086 - ], - [ - 0.2774119973182678, - 0.24429869651794434, - 0.1913207620382309, - -0.20841751992702484, - -0.1672147959470749, - 0.28855234384536743, - 0.25656870007514954, - -0.6109725832939148, - 0.19135800004005432, - -0.41654518246650696, - -0.10192546248435974, - 0.4338851273059845, - 0.3700643479824066 - ], - [ - 0.0926647037267685, - 0.053513601422309875, - 0.2527933716773987, - 0.13285507261753082, - 0.24765196442604065, - -0.09636160731315613, - -0.33351197838783264, - -0.17052969336509705, - -0.23085607588291168, - -0.3964312970638275, - 0.10264739394187927, - -0.014026672579348087, - 0.2935609817504883 - ], - [ - -0.3148519694805145, - -0.20939618349075317, - 0.07581528276205063, - -0.018568221479654312, - -0.29132771492004395, - -0.010084452107548714, - 0.28648287057876587, - -0.2784898281097412, - 0.21446862816810608, - -0.08985134959220886, - -0.02956037037074566, - 0.14641478657722473, - 0.03872504457831383 - ], - [ - 0.33660048246383667, - 0.15843205153942108, - -0.45638447999954224, - -0.07325007021427155, - 0.22450771927833557, - 0.11804356426000595, - 0.39345601201057434, - -0.08022525906562805, - 0.0825900211930275, - 0.05784780904650688, - -0.19954009354114532, - -0.20153969526290894, - 0.16775847971439362 - ], - [ - -0.4311541020870209, - -0.3013177514076233, - -0.06462755799293518, - 0.08752308785915375, - 0.12869223952293396, - 0.07245280593633652, - -0.1027635782957077, - -0.38550764322280884, - -0.12315567582845688, - 0.1788141131401062, - -0.06572850793600082, - 0.3179053068161011, - 0.24983134865760803 - ], - [ - -0.3641359210014343, - -0.09185764938592911, - 0.28328436613082886, - 0.2730138301849365, - 0.12595508992671967, - -0.04021301865577698, - -0.0639706626534462, - -0.07912948727607727, - -0.08967989683151245, - -0.458464652299881, - 0.11333420872688293, - -0.10430294275283813, - 0.12423478066921234 - ], - [ - -0.2626790404319763, - -0.029405439272522926, - 0.1691773235797882, - -0.16682051122188568, - 0.00991673581302166, - 0.33753031492233276, - -0.8686320185661316, - -0.38862550258636475, - 0.18885909020900726, - 0.2196504920721054, - 0.06935793161392212, - -0.21568086743354797, - 0.04005394130945206 - ], - [ - -0.12052804976701736, - 0.15113531053066254, - -0.2258468121290207, - -0.14269405603408813, - -0.007194845471531153, - 0.0751257836818695, - 0.08895590901374817, - -0.3100498616695404, - -0.22949354350566864, - 0.3293784558773041, - -0.12956123054027557, - -0.2043842077255249, - -0.1533811092376709 - ], - [ - -0.49806979298591614, - -0.04830557107925415, - 0.1700863391160965, - 0.418049693107605, - 0.3638938367366791, - 0.3594074249267578, - 0.39813557267189026, - -0.09734770655632019, - 0.23351074755191803, - 0.13417662680149078, - 0.08594613522291183, - 0.4296848177909851, - -0.07181321829557419 - ], - [ - 0.08223146200180054, - -0.0018819124670699239, - -0.26730579137802124, - -0.20485271513462067, - -0.012915043160319328, - 0.28456470370292664, - 0.13464391231536865, - -0.2727796137332916, - 0.15094691514968872, - -0.3096568286418915, - -0.4623531401157379, - -0.05994802713394165, - -0.44913995265960693 - ], - [ - 0.09303081035614014, - 0.12237520515918732, - 0.012606668286025524, - 0.3872867226600647, - 0.10020188242197037, - -0.02615727111697197, - -0.2934131622314453, - 0.4300881028175354, - 0.06807950139045715, - -0.1847943365573883, - -0.2719053030014038, - -0.06416849792003632, - -0.17496007680892944 - ], - [ - 0.10023966431617737, - -0.22861520946025848, - -0.3516126275062561, - -0.5764127373695374, - -0.44583749771118164, - -0.07259082794189453, - 0.35537412762641907, - 0.3627690374851227, - -0.15680935978889465, - -0.07226448506116867, - -0.13952721655368805, - -0.07210751622915268, - 0.23389209806919098 - ], - [ - -0.30529338121414185, - -0.06843209266662598, - -0.29780495166778564, - -0.9098109006881714, - -0.09131325781345367, - -0.3501591384410858, - -0.7427487373352051, - -0.1393917202949524, - 0.08865808695554733, - -0.18189974129199982, - -0.0876726433634758, - 0.14123141765594482, - 0.13371805846691132 - ], - [ - 0.4503017067909241, - 0.16772980988025665, - -0.37819141149520874, - -0.44360822439193726, - 0.060817278921604156, - 0.32554227113723755, - 0.35835281014442444, - 0.01980886608362198, - 0.20961534976959229, - 0.09152323007583618, - 0.36215516924858093, - -0.2382376343011856, - 0.029010865837335587 - ], - [ - 0.1671791672706604, - -0.025726061314344406, - 0.46037933230400085, - 0.33599135279655457, - -0.3053950369358063, - -0.21956385672092438, - 0.018729867413640022, - 0.008232119493186474, - 0.19710946083068848, - -0.05239027366042137, - -0.11997734010219574, - -0.28433626890182495, - -0.05396251007914543 - ], - [ - -0.08888962119817734, - -0.0074840327724814415, - 0.0010366961359977722, - 0.16012191772460938, - -0.4859410524368286, - -0.004400375299155712, - -0.25691479444503784, - -0.2501823306083679, - -0.037692420184612274, - 0.21454042196273804, - -0.06574186682701111, - 0.028364578261971474, - 0.10614991933107376 - ], - [ - -0.19984053075313568, - 0.3999255895614624, - 0.3859013020992279, - -0.008763164281845093, - 0.05337761715054512, - -0.05795661360025406, - 0.19042441248893738, - -0.3980652391910553, - 0.2606085240840912, - -0.36224454641342163, - -0.13887424767017365, - -0.01993805356323719, - 0.25798115134239197 - ], - [ - -0.18213874101638794, - 0.3282216787338257, - -0.5462505221366882, - -0.1092725321650505, - -0.6331356167793274, - 0.12781599164009094, - -0.09713553637266159, - 0.3483908474445343, - 0.11978042870759964, - -0.1137649416923523, - -0.12099278718233109, - 0.024691687896847725, - -0.04209648817777634 - ], - [ - 0.5497441291809082, - -0.0014693968696519732, - 0.2241649627685547, - -0.4881584048271179, - 0.06641259044408798, - -0.3958529233932495, - 0.4216475188732147, - 0.05082586780190468, - 0.20942124724388123, - 0.27624326944351196, - 0.02658577263355255, - -0.1346961259841919, - -0.02302182838320732 - ], - [ - -0.3392588198184967, - 0.20843234658241272, - 0.03391489386558533, - -0.3654923737049103, - -0.11971007287502289, - 0.03183070942759514, - 0.19257013499736786, - 0.18359732627868652, - 0.4768144190311432, - -0.22112081944942474, - 0.24759984016418457, - -0.35773754119873047, - -0.04972255229949951 - ], - [ - 0.1251971572637558, - -0.13569964468479156, - 0.4806353449821472, - -0.0601363442838192, - 0.23355363309383392, - 0.10462657362222672, - -0.8310760855674744, - 0.11379008740186691, - -0.14354120194911957, - 0.2514714002609253, - -0.1564786732196808, - -0.28444764018058777, - 0.10283307731151581 - ], - [ - -0.10372496396303177, - 0.01423429325222969, - 0.4853004217147827, - -0.06958960741758347, - -0.46353626251220703, - -0.0851714089512825, - 0.36282333731651306, - 0.31007006764411926, - 0.2311960607767105, - -0.4897943437099457, - -0.2712634801864624, - 0.008577444590628147, - -0.4192871153354645 - ], - [ - 0.21138827502727509, - -0.38202965259552, - 0.3968730866909027, - 0.18384063243865967, - -0.06147631257772446, - -0.6775612235069275, - -0.07260699570178986, - 0.2006090134382248, - 0.3689287602901459, - -0.08281159400939941, - 0.30175113677978516, - 0.11554694175720215, - 0.005002783611416817 - ], - [ - 0.002080874750390649, - 0.27095964550971985, - -0.05258764326572418, - 0.130062535405159, - -0.0028593065217137337, - 0.4235307276248932, - 0.13979874551296234, - 0.2026497721672058, - 0.10380033403635025, - -0.042964424937963486, - -0.0009023332968354225, - -0.2256675362586975, - 0.11393173038959503 - ], - [ - -0.061181627213954926, - -0.2582927644252777, - 0.31414633989334106, - 0.1496669501066208, - -0.0485113151371479, - 0.5886037945747375, - -0.04424503818154335, - 0.7054523229598999, - 0.18600822985172272, - 0.0029492543544620275, - 0.24034881591796875, - -0.09117217361927032, - -0.1324344426393509 - ], - [ - -0.24351762235164642, - -0.10972386598587036, - 0.1460368037223816, - 0.2663494348526001, - 0.1085638701915741, - 0.2671543061733246, - -0.2784324884414673, - -0.15602554380893707, - 0.21003027260303497, - -0.08113177120685577, - -0.12597565352916718, - -0.2952854037284851, - -0.28854620456695557 - ], - [ - 0.05862046033143997, - -0.05087459459900856, - -0.010610814206302166, - -0.11003550887107849, - 0.03449758514761925, - -0.24074164032936096, - 0.039885833859443665, - 0.2177591174840927, - -0.47024598717689514, - -0.34501907229423523, - -0.46926116943359375, - -0.20928184688091278, - 0.008205903694033623 - ], - [ - -0.17373758554458618, - 0.12019117176532745, - 0.0429859459400177, - -0.42440903186798096, - -0.0805688351392746, - -0.148147314786911, - -0.5859450101852417, - 0.05209624022245407, - 0.031402524560689926, - -0.1676451563835144, - 0.30912086367607117, - 0.27882272005081177, - -0.38265812397003174 - ], - [ - -0.3918400704860687, - -0.2818326950073242, - -0.019607387483119965, - -0.38601183891296387, - -0.25343936681747437, - 0.10142719745635986, - 0.5019767880439758, - 0.014465565793216228, - -0.25335201621055603, - 0.13931375741958618, - -0.04524105787277222, - 0.1716393381357193, - -0.02344362623989582 - ], - [ - -0.2799905836582184, - -0.15262730419635773, - 0.1665252447128296, - -0.1660282164812088, - 0.2298835664987564, - 0.3248575031757355, - 0.1524488925933838, - -0.00577168446034193, - -0.07428950816392899, - -0.17003528773784637, - 0.2906138598918915, - -0.25770461559295654, - -0.10956588387489319 - ], - [ - -0.09922421723604202, - 0.24231721460819244, - 0.033530302345752716, - -0.1840294897556305, - -0.14863182604312897, - -0.3239496350288391, - -0.2615140378475189, - 0.06989920884370804, - -0.471751868724823, - -0.3283047378063202, - 0.02946913056075573, - -0.136993408203125, - -0.06648393720388412 - ], - [ - 0.21499907970428467, - 0.03529290109872818, - -0.08019367605447769, - 0.25295111536979675, - -0.2972573935985565, - -0.6035439968109131, - -0.023684166371822357, - 0.29705801606178284, - 0.34756386280059814, - 0.20807844400405884, - 0.3178033232688904, - 0.02867848612368107, - -0.3608260452747345 - ], - [ - -0.08934739977121353, - -0.04203595966100693, - 0.5485541820526123, - -0.01818658597767353, - -0.5079426765441895, - -0.005266811698675156, - 0.40319061279296875, - -0.016706913709640503, - 0.06470813602209091, - 0.1396273672580719, - 0.026197118684649467, - -0.07552863657474518, - -0.28042691946029663 - ], - [ - -0.24888604879379272, - 0.3297758102416992, - -0.3071618378162384, - -0.0316467359662056, - 0.1978953629732132, - 0.3074512481689453, - 0.1256120502948761, - 0.27231618762016296, - -0.10071903467178345, - 0.06435053050518036, - -0.38230153918266296, - 0.17152005434036255, - 0.007021758705377579 - ], - [ - -0.06701122224330902, - -0.2750074863433838, - -0.4473819434642792, - -0.12073979526758194, - -0.007767376024276018, - 0.030878812074661255, - 0.2267475724220276, - -0.4004344642162323, - 0.3063676655292511, - -0.3240155875682831, - 0.13530080020427704, - -0.04287036508321762, - 0.05107332020998001 - ], - [ - -0.46750450134277344, - 0.16815143823623657, - 0.32987233996391296, - -0.06962510198354721, - 0.09750789403915405, - 0.047996725887060165, - 0.05034244805574417, - -0.1954888552427292, - -0.22761309146881104, - 0.1371261328458786, - -0.08804171532392502, - 0.06251535564661026, - 0.0341489277780056 - ], - [ - 0.09755714982748032, - 0.050311241298913956, - 0.5460689663887024, - -0.42048707604408264, - -0.11051499843597412, - -0.5397922396659851, - -0.08603452146053314, - -0.007517437916249037, - 0.08747653663158417, - 0.10564997792243958, - 0.21647235751152039, - 0.06287024170160294, - -0.032532304525375366 - ], - [ - 0.6455535292625427, - -0.21332912147045135, - -0.5545065402984619, - 0.19560132920742035, - -0.0995100736618042, - 0.3261417746543884, - 0.17067904770374298, - -0.04307596758008003, - 0.1488419622182846, - 0.3426224887371063, - 0.2755790054798126, - 0.006430555135011673, - -0.23489603400230408 - ], - [ - -0.15865539014339447, - 0.20476694405078888, - 0.08771807700395584, - 0.06349878013134003, - 0.10917392373085022, - 0.35466164350509644, - 0.03037361428141594, - -0.14445681869983673, - -0.4520297348499298, - -0.4569331705570221, - -0.14660608768463135, - 0.002050685463473201, - -0.1341574490070343 - ], - [ - 0.15667667984962463, - -0.07297471165657043, - -0.2468172162771225, - 0.23662665486335754, - 0.21779346466064453, - -0.39004045724868774, - -0.3326071798801422, - 0.019281471148133278, - 0.2276054173707962, - 0.08268521726131439, - -0.004261565860360861, - 0.13863730430603027, - 0.2932063937187195 - ], - [ - -0.23732174932956696, - 0.17523734271526337, - 0.16314567625522614, - -0.26516351103782654, - 0.09924314171075821, - -0.3351919949054718, - 0.3986639678478241, - 0.035489097237586975, - -0.17189034819602966, - -0.2672170102596283, - 0.24250206351280212, - 0.2463962435722351, - -0.06627291440963745 - ], - [ - -0.17010390758514404, - -0.016220485791563988, - -0.4636819064617157, - 0.18988023698329926, - -0.44871529936790466, - 0.2544304132461548, - 0.08711282163858414, - -0.00048645163769833744, - 0.23620043694972992, - -0.16803961992263794, - 0.21301205456256866, - 0.15039919316768646, - 0.2291892021894455 - ], - [ - 0.14537300169467926, - 0.09081799536943436, - -0.3272501528263092, - -0.02106560207903385, - 0.12440982460975647, - -0.44731810688972473, - -0.06430705636739731, - -0.02917785383760929, - 0.3398036062717438, - 0.19899587333202362, - -0.06645840406417847, - 0.21473471820354462, - 0.16143213212490082 - ], - [ - -0.25066161155700684, - -0.47398641705513, - -0.2939445972442627, - -0.02203419804573059, - -0.033632926642894745, - -0.01639193668961525, - 0.1068260446190834, - 0.019428517669439316, - 0.21907247602939606, - 0.20629872381687164, - -0.2705807685852051, - -0.07170672714710236, - 0.11179506033658981 - ], - [ - 0.41125601530075073, - 0.2971354126930237, - -0.16849102079868317, - 0.3532737195491791, - 0.2555796504020691, - 0.19581814110279083, - -0.08383610844612122, - -0.017013592645525932, - -0.432533860206604, - 0.025904299691319466, - 0.2505236864089966, - -0.04781761392951012, - -0.02294793538749218 - ], - [ - 0.1652211993932724, - 0.03988897427916527, - 0.04730714485049248, - 0.253953218460083, - 0.337531715631485, - -0.443236380815506, - 0.08540553599596024, - -0.5470725893974304, - 0.016836510971188545, - -0.42600706219673157, - -0.2048584520816803, - 0.02917277254164219, - 0.3407105505466461 - ], - [ - -0.3491149842739105, - 0.11713100969791412, - 0.0007417536107823253, - -0.04195642098784447, - 0.07632623612880707, - 0.4266873598098755, - 0.2728149890899658, - 0.0772416889667511, - 0.2699781358242035, - 0.0138264624401927, - 0.37652042508125305, - -0.08127383887767792, - -0.4270368814468384 - ], - [ - -0.18139664828777313, - -0.03625515475869179, - 0.06310547888278961, - 0.3512726426124573, - 0.09623705595731735, - -0.704629123210907, - 0.23323501646518707, - -0.011263130232691765, - -0.13306908309459686, - -0.1254596710205078, - -0.2687686085700989, - -0.08939646929502487, - 0.12440017610788345 - ], - [ - -0.3647765815258026, - -0.010604667477309704, - -0.21224327385425568, - 0.22111843526363373, - 0.18880735337734222, - -0.25782427191734314, - 0.061157021671533585, - -0.375694215297699, - 0.28101179003715515, - -0.05660352483391762, - -0.1162019744515419, - 0.13459806144237518, - -0.010806424543261528 - ], - [ - -0.29103779792785645, - -0.051839955151081085, - 0.4144618511199951, - -0.0376129113137722, - 0.1778261661529541, - -0.18882791697978973, - 0.08701316267251968, - 0.10776394605636597, - -0.17684288322925568, - -0.3458026945590973, - 0.02329202927649021, - 0.07106459885835648, - 0.0950731411576271 - ], - [ - 0.1390323042869568, - -0.23956452310085297, - -0.5130435228347778, - -0.17717060446739197, - 0.2641371488571167, - 0.4788528084754944, - -0.0034938743337988853, - -0.27584993839263916, - 0.05254009738564491, - 0.022839419543743134, - 0.13870586454868317, - -0.08523643761873245, - 0.124752476811409 - ], - [ - -0.3572181463241577, - 0.029650887474417686, - -0.09930124878883362, - 0.31546223163604736, - -0.1751370131969452, - 0.1705775409936905, - -0.2079431563615799, - -0.17675724625587463, - -0.6910910606384277, - -0.17347437143325806, - 0.20725809037685394, - -0.0918068066239357, - -0.0344637855887413 - ], - [ - -0.20070190727710724, - -0.340415894985199, - -0.12730151414871216, - -0.8188026547431946, - -0.055193398147821426, - -0.2129935771226883, - -0.02483142912387848, - -0.2894546687602997, - -0.08048653602600098, - 0.07144548743963242, - 0.39024782180786133, - 0.015637502074241638, - 0.03475908190011978 - ], - [ - -0.18702059984207153, - -0.30298954248428345, - -0.1267576813697815, - 0.09775310009717941, - -0.18700116872787476, - 0.0017182804876938462, - -0.005887078586965799, - 0.008853036910295486, - -0.14848875999450684, - 0.2002364546060562, - -0.11037757247686386, - -0.1156177669763565, - -0.26102134585380554 - ], - [ - -0.15566055476665497, - 0.03335363045334816, - -0.29146015644073486, - -0.08010867238044739, - 0.1009998545050621, - 0.39260533452033997, - 0.12639951705932617, - -0.054133277386426926, - -0.18723736703395844, - 0.07253473252058029, - 0.07900170236825943, - -0.14228202402591705, - -0.23021511733531952 - ], - [ - -0.2746272087097168, - -0.12257865816354752, - -0.27903813123703003, - 0.27374038100242615, - 0.37847673892974854, - -0.3476799428462982, - 0.12571293115615845, - 0.08535917103290558, - 0.06525271385908127, - -0.15264751017093658, - 0.1868678331375122, - 0.19229933619499207, - -0.07252367585897446 - ], - [ - -0.14401091635227203, - -0.018945656716823578, - 0.01930980756878853, - -0.1692747175693512, - 0.29491451382637024, - -0.39945587515830994, - -0.4657893180847168, - 0.25520092248916626, - 0.15174074470996857, - -0.007469676434993744, - 0.21958154439926147, - -0.05757985636591911, - 0.15635746717453003 - ], - [ - -0.08630824834108353, - 0.03445489704608917, - -0.1587214320898056, - -0.29107725620269775, - -0.41421937942504883, - -0.03159508481621742, - 0.383916974067688, - 0.15776893496513367, - -0.723247230052948, - -0.4182873070240021, - -0.07698579132556915, - -0.3728782534599304, - -0.19663608074188232 - ], - [ - -0.003848988562822342, - -0.07503966242074966, - -0.19928322732448578, - -0.010966913774609566, - 0.2619953155517578, - 0.2057601511478424, - 0.39855146408081055, - -0.18244194984436035, - 0.004585072863847017, - -0.19169408082962036, - -0.1245870515704155, - 0.04967397078871727, - 0.07290806621313095 - ], - [ - 0.35430967807769775, - -0.3794298470020294, - 0.38995155692100525, - -0.3296014964580536, - 0.14668290317058563, - 0.2387242466211319, - 0.2088487595319748, - -0.34669339656829834, - 0.18535639345645905, - 0.2890818417072296, - 0.08807805180549622, - -0.025784548372030258, - 0.2272142767906189 - ], - [ - 0.007772244047373533, - 0.367416113615036, - 0.5523821115493774, - 0.031086372211575508, - 0.4815885126590729, - -0.04104354605078697, - 0.301297664642334, - 0.12076990306377411, - -0.003298743162304163, - 0.11882071942090988, - 0.22718319296836853, - 0.029434815049171448, - 0.09854426234960556 - ], - [ - -0.35811614990234375, - -0.0029762613121420145, - 0.11649613827466965, - 0.181138813495636, - 0.05056029185652733, - -0.5606780052185059, - -0.13362886011600494, - -0.3810370862483978, - -0.5162398219108582, - -0.2884252965450287, - -0.2629288136959076, - 0.21195419132709503, - -0.16714325547218323 - ], - [ - 0.2704832851886749, - 0.17021799087524414, - -0.05895324796438217, - -0.3384433686733246, - -0.3909049928188324, - 0.38553494215011597, - 0.01870807074010372, - -0.1617358922958374, - 0.18386588990688324, - -0.0516870841383934, - -0.28463879227638245, - 0.02212064154446125, - 0.08001381903886795 - ], - [ - 0.18656830489635468, - 0.12879183888435364, - -0.23685885965824127, - 0.26886171102523804, - 0.056689467281103134, - 0.6753718256950378, - -0.29059427976608276, - 0.2333647906780243, - -0.5413393974304199, - 0.006537044420838356, - 0.02271474525332451, - -0.33299899101257324, - -0.004220182541757822 - ], - [ - 0.16717033088207245, - 0.03256445750594139, - 0.052902307361364365, - -0.377789169549942, - 0.2971380352973938, - 0.39744600653648376, - 0.10926368832588196, - 0.10302362591028214, - 0.29225292801856995, - -0.09506676346063614, - 0.23629330098628998, - -0.12180318683385849, - -0.36593934893608093 - ], - [ - -0.13522948324680328, - -0.2980266511440277, - 0.35451021790504456, - 0.3378157317638397, - -0.13947799801826477, - -0.2996511459350586, - -0.0011742900824174285, - 0.32273370027542114, - 0.21668893098831177, - 0.13573935627937317, - 0.02383076772093773, - -0.19183333218097687, - 0.315691739320755 - ], - [ - 0.6778576970100403, - -0.04117833077907562, - 0.10995204746723175, - -0.3809323310852051, - 0.2231072336435318, - -0.1827763319015503, - -0.3075316548347473, - 0.08501533418893814, - -0.027295786887407303, - -0.37125441431999207, - -0.1212998703122139, - -0.10183098912239075, - -0.21415814757347107 - ], - [ - -0.0762210413813591, - 0.09954733401536942, - -0.15605054795742035, - 0.22454659640789032, - 0.11856045573949814, - 0.43652135133743286, - -0.6064560413360596, - -0.36591899394989014, - -0.1464727520942688, - 0.029258253052830696, - 0.16411681473255157, - 0.11690740287303925, - -0.0962761715054512 - ], - [ - 0.199836865067482, - 0.22389492392539978, - -0.3283970355987549, - 0.138694167137146, - -0.20468315482139587, - -0.33403313159942627, - 0.1508159339427948, - -0.5105782151222229, - 0.12724126875400543, - -0.6165580749511719, - -0.21978545188903809, - 0.1782406121492386, - -0.23975792527198792 - ], - [ - -0.6032638549804688, - -0.08001580089330673, - 0.2054527848958969, - 0.13716137409210205, - 0.22460231184959412, - 0.0669151246547699, - -0.22342315316200256, - -0.21532557904720306, - 0.1287473440170288, - 0.2931123971939087, - 0.11478902399539948, - -0.17180760204792023, - 0.12911562621593475 - ], - [ - 0.30323949456214905, - -0.19083261489868164, - -0.2938980758190155, - 0.11518747359514236, - 0.19093647599220276, - -0.3192421495914459, - -0.10780483484268188, - -0.009294162504374981, - 0.2394648641347885, - -0.2130894511938095, - -0.05057841166853905, - -0.3542744815349579, - 0.3232356309890747 - ], - [ - 0.08124428242444992, - -0.0520966537296772, - -0.305100679397583, - 0.12247081100940704, - 0.2345213145017624, - -0.1901734620332718, - -0.15933141112327576, - -0.42104876041412354, - 0.4137115776538849, - 0.09924782812595367, - -0.13499872386455536, - 0.08106622844934464, - 0.0781460553407669 - ], - [ - 0.15870879590511322, - 0.09990561008453369, - 0.27799907326698303, - 0.2629215717315674, - 0.13102057576179504, - -0.2877577543258667, - 0.40693390369415283, - -0.48053330183029175, - 0.2045319676399231, - -0.016775695607066154, - 0.18923497200012207, - 0.026728512719273567, - -0.22340798377990723 - ], - [ - 0.03815097734332085, - 0.006906353402882814, - -0.7048632502555847, - 0.18865975737571716, - 0.43252676725387573, - 0.10937977582216263, - -0.17060090601444244, - 0.10367278009653091, - 0.3629976212978363, - 0.10823354125022888, - 0.13696011900901794, - -0.12976552546024323, - 0.13773807883262634 - ], - [ - 0.081364206969738, - 0.014384191483259201, - -0.2249748408794403, - 0.237743079662323, - 0.16067472100257874, - 0.07851991057395935, - -0.25540047883987427, - 0.29653051495552063, - -0.33306562900543213, - 0.0682794377207756, - 0.2870417833328247, - 0.07474291324615479, - -0.3287220299243927 - ], - [ - 0.07060158252716064, - -0.024512024596333504, - -0.03694286197423935, - 0.42087429761886597, - -0.18074922263622284, - 0.11496856063604355, - -0.16152912378311157, - 0.0698959156870842, - -0.4579349458217621, - -0.2639523148536682, - -0.009549521841108799, - 0.06875064224004745, - 0.057391270995140076 - ], - [ - 0.23166728019714355, - 0.007819642312824726, - -0.39796069264411926, - -0.21911300718784332, - -0.5087413787841797, - -0.12054325640201569, - -0.7190596461296082, - 0.16286888718605042, - 0.46715089678764343, - 0.3178914785385132, - 0.31097346544265747, - 0.07557210326194763, - -0.233867347240448 - ], - [ - 0.5317090153694153, - 0.0028773273807018995, - -0.13949105143547058, - 0.018030831590294838, - 0.33018386363983154, - -0.09435267746448517, - 0.08993704617023468, - 0.20230573415756226, - 0.08943954855203629, - -0.5996811985969543, - -0.2202225923538208, - 0.12224872410297394, - -0.19368217885494232 - ], - [ - 0.45899030566215515, - 0.046330150216817856, - 0.4984212815761566, - -0.02563645876944065, - 0.23955535888671875, - 0.3887278139591217, - 0.07934596389532089, - 0.15366822481155396, - 0.0895312950015068, - -0.02693980745971203, - -0.024568097665905952, - -0.03571607545018196, - -0.045017536729574203 - ], - [ - -0.10204503685235977, - -0.05773258954286575, - -0.3882671296596527, - -0.21408991515636444, - 0.2925959527492523, - 0.21455040574073792, - -0.09583521634340286, - 0.2944086790084839, - -0.09217576682567596, - 0.11946061253547668, - -0.09293468296527863, - -0.007104878313839436, - -0.2693921625614166 - ], - [ - -0.18011142313480377, - -0.2118837982416153, - 0.0850146934390068, - 0.1694103628396988, - -0.32840582728385925, - 0.14944404363632202, - 0.23146238923072815, - 0.20516279339790344, - 0.42950439453125, - -0.06966119259595871, - -0.0071711004711687565, - -0.10337621718645096, - 0.31259724497795105 - ], - [ - 0.07168317586183548, - 0.21827077865600586, - -0.27759888768196106, - 0.29261383414268494, - -0.06325048208236694, - -0.5041850209236145, - -0.05989640951156616, - -0.5404871702194214, - -0.022050760686397552, - -0.29488927125930786, - 0.08027458935976028, - 0.2240152806043625, - 0.25452467799186707 - ], - [ - 0.2295425683259964, - -0.01091746985912323, - -0.6873616576194763, - 0.14215250313282013, - 0.10926423221826553, - 0.39578527212142944, - 0.37126031517982483, - -0.3968247175216675, - 0.1312207579612732, - 0.36060577630996704, - -0.11749473959207535, - -0.14821843802928925, - -0.0017166062025353312 - ], - [ - -0.15426145493984222, - -0.09958052635192871, - -0.30049723386764526, - 0.3120000660419464, - 0.4002348482608795, - -0.2877107858657837, - 0.18284407258033752, - -0.19913774728775024, - -0.21860559284687042, - 0.18161757290363312, - -0.18319052457809448, - 0.19935055077075958, - -0.26109716296195984 - ], - [ - -0.1182982549071312, - -0.16623692214488983, - -0.5328167676925659, - 0.06709256768226624, - 0.3430011570453644, - 0.1386127769947052, - 0.19337624311447144, - -0.16799069941043854, - -0.08994141966104507, - 0.16045938432216644, - -0.08240030705928802, - 0.09082669764757156, - 0.07869929075241089 - ], - [ - 0.373100608587265, - 0.48242470622062683, - 0.08913648873567581, - 0.11254587024450302, - 0.2600317895412445, - 0.4537370502948761, - -0.011607207357883453, - -0.3495674431324005, - 0.11303351819515228, - 0.031104419380426407, - 0.00182831019628793, - -0.08544334024190903, - 0.06462124735116959 - ], - [ - -0.04729556664824486, - -0.46088406443595886, - -0.025429124012589455, - -0.01890188828110695, - -0.08289019018411636, - -0.22444570064544678, - 0.0013382409233599901, - -0.5519993901252747, - 0.26369428634643555, - -0.07250865548849106, - -0.03536079078912735, - 0.12147058546543121, - -0.2906624674797058 - ], - [ - 0.3772434592247009, - -0.2750411927700043, - -0.1991979479789734, - 0.07719862461090088, - 0.04119456931948662, - -0.0746307447552681, - 0.1634635031223297, - -0.1075339987874031, - 0.084819495677948, - 0.4463717043399811, - -0.24016119539737701, - -0.4854397475719452, - 0.28085842728614807 - ], - [ - -0.16955941915512085, - -0.03763536736369133, - -0.06554953753948212, - -0.09292160719633102, - 0.2598607540130615, - -0.005644072778522968, - 0.02511029876768589, - -0.09065071493387222, - 0.17232531309127808, - 0.1180548220872879, - 0.05640468746423721, - 0.003190274117514491, - 0.16484257578849792 - ], - [ - -0.19256524741649628, - -0.035885315388441086, - -0.23651671409606934, - 0.3579004108905792, - -0.26118576526641846, - 0.12682922184467316, - 0.10423010587692261, - 0.4358757436275482, - -0.14004173874855042, - 0.050905436277389526, - 0.30501025915145874, - -0.2547728717327118, - 0.02909197099506855 - ], - [ - -0.00884551927447319, - -0.21905195713043213, - -0.016784757375717163, - 0.3731747567653656, - 0.05382183939218521, - 0.4842839241027832, - -0.1682250052690506, - 0.04149759188294411, - 0.2835145890712738, - 0.1944265067577362, - -0.4236717224121094, - 0.1908518522977829, - -0.351588636636734 - ], - [ - 0.6380516290664673, - -0.023523081094026566, - -0.3044954836368561, - 0.2128516435623169, - 0.1512865275144577, - 0.40091660618782043, - 0.037681423127651215, - 0.14179585874080658, - -0.48863479495048523, - 0.04738679528236389, - 0.3187534213066101, - 0.00045700688497163355, - 0.014066076837480068 - ], - [ - 0.0046538542956113815, - 0.011670686304569244, - -0.37707990407943726, - 0.07988515496253967, - -0.18374578654766083, - 0.10665654391050339, - -0.8602948188781738, - -0.43007123470306396, - -0.20295551419258118, - -0.015174103900790215, - -0.1182069182395935, - 0.11701013147830963, - -0.2779524326324463 - ], - [ - 0.11691876500844955, - -0.2790720462799072, - 0.3339858949184418, - -0.17912739515304565, - -0.002426190534606576, - -0.01318464893847704, - -0.9231696128845215, - -0.2608726918697357, - 0.40690794587135315, - 0.26437997817993164, - 0.042692236602306366, - 0.052349288016557693, - 0.22482885420322418 - ], - [ - 0.2128976732492447, - 0.1569250524044037, - 0.2805536091327667, - -0.12567950785160065, - 0.0372452437877655, - -0.3785509765148163, - 0.0754832774400711, - 0.19418121874332428, - -0.6833413243293762, - -0.18037380278110504, - 0.23891323804855347, - 0.15983836352825165, - 0.2443924844264984 - ], - [ - -0.045922715216875076, - 0.11699707061052322, - 0.057824309915304184, - -0.08571387827396393, - 0.32767918705940247, - -0.29945218563079834, - 0.05165475234389305, - 0.11789916455745697, - 0.3142908811569214, - -0.011986806988716125, - 0.17400377988815308, - -0.3995846211910248, - -0.19427980482578278 - ], - [ - -0.004445775877684355, - 0.15081952512264252, - -0.4417363107204437, - 0.15362563729286194, - 0.21907241642475128, - -0.08657603710889816, - 0.21606825292110443, - 0.3533935546875, - 0.20068368315696716, - -0.24532738327980042, - 0.20568029582500458, - 0.03230249509215355, - -0.18857671320438385 - ], - [ - -0.5563863515853882, - 0.19991205632686615, - 0.7072317600250244, - -0.2047976851463318, - -0.07489289343357086, - 0.34304749965667725, - 0.3296198546886444, - 0.09766529500484467, - -0.0784999430179596, - -0.34556302428245544, - -0.09842559695243835, - 0.039142169058322906, - -0.021947449073195457 - ], - [ - -0.1367456018924713, - -0.0030623823404312134, - 0.057499416172504425, - -0.3996986746788025, - 0.2854032516479492, - -0.3701781928539276, - 0.21766968071460724, - -0.05653444305062294, - -0.23038651049137115, - -0.01095053181052208, - -0.17491167783737183, - 0.10995952039957047, - -0.0757833868265152 - ], - [ - -0.10128746926784515, - 0.10665752738714218, - 0.008848436176776886, - 0.07620900124311447, - 0.0059105996042490005, - 7.205065776361153e-05, - 0.3944801390171051, - 0.3251148462295532, - 0.23769496381282806, - -0.15892939269542694, - 0.07100225985050201, - -0.4332124888896942, - 0.010096431709825993 - ], - [ - -0.1768210083246231, - -0.18340276181697845, - 0.001623425050638616, - 0.20159699022769928, - -0.08927533030509949, - 0.6392431259155273, - -0.9325793385505676, - 0.25249183177948, - -0.24121147394180298, - 0.33376017212867737, - 0.4692442715167999, - 0.035955436527729034, - 0.08090293407440186 - ], - [ - -0.22564229369163513, - -0.2561354637145996, - -1.3654130697250366, - -0.15530513226985931, - -0.0026599070988595486, - 0.08762144297361374, - -0.38049525022506714, - 0.10087984055280685, - -0.09655912220478058, - -0.02611776441335678, - 0.012519799172878265, - 0.030432825908064842, - -0.09684382379055023 - ], - [ - 0.28824716806411743, - -0.21870803833007812, - -0.16924481093883514, - 0.46756282448768616, - -0.3193212151527405, - -0.20083653926849365, - -0.45283883810043335, - 0.4936756193637848, - -0.25036272406578064, - 0.1074955016374588, - 0.13981464505195618, - -0.07062017917633057, - 0.20453374087810516 - ], - [ - -0.37632426619529724, - 0.023242535069584846, - 0.403758704662323, - -0.5405698418617249, - -0.04872119426727295, - -0.1674855798482895, - -0.5529700517654419, - -0.3500245213508606, - -0.5704483389854431, - -0.014192325994372368, - -0.0592123307287693, - -0.11486945301294327, - -0.2126927375793457 - ], - [ - -0.20464110374450684, - -0.0850566029548645, - -0.029002338647842407, - 0.12800747156143188, - -0.6059226393699646, - 0.3300586938858032, - 0.28265616297721863, - -0.02119620144367218, - 0.3012149930000305, - -0.30299875140190125, - 0.09099925309419632, - 0.07387415319681168, - 0.11487554013729095 - ], - [ - 0.1986282914876938, - 0.19519412517547607, - -0.38607245683670044, - 0.3127345144748688, - 0.002946534426882863, - -0.4678138792514801, - -0.2860093116760254, - 0.09629431366920471, - 0.270903080701828, - -0.12366373091936111, - 0.12661738693714142, - -0.30580514669418335, - -0.3104628920555115 - ], - [ - -0.2955853044986725, - -0.3251827359199524, - -0.2509268820285797, - 0.07475117594003677, - -0.20850567519664764, - -0.44456949830055237, - 0.051270436495542526, - 0.018012693151831627, - 0.11225541681051254, - -0.1231650710105896, - -0.2772364616394043, - -0.22073239088058472, - -0.0653977021574974 - ], - [ - 0.1933528631925583, - -0.1599702686071396, - 0.3890591859817505, - 0.1769028753042221, - -0.1299305111169815, - 0.11517280340194702, - 0.21320852637290955, - -0.023867473006248474, - -0.08731769770383835, - -0.238845095038414, - -0.06022835522890091, - 0.20325517654418945, - 0.26722362637519836 - ], - [ - -0.34047064185142517, - -0.07236069440841675, - 0.06118741258978844, - 0.08961661905050278, - 0.17382913827896118, - 0.2728501558303833, - 0.25996580719947815, - -0.28523385524749756, - -0.447998970746994, - -0.16263441741466522, - 0.030397776514291763, - 0.07321569323539734, - 0.10687745362520218 - ], - [ - -0.32778340578079224, - -0.36357372999191284, - 0.10514234751462936, - 0.1822606474161148, - 0.026659611612558365, - -0.002128040883690119, - -0.16742902994155884, - 0.22414827346801758, - 0.34101632237434387, - -0.414081871509552, - -0.24726711213588715, - -0.1910814791917801, - -0.25300133228302 - ], - [ - 0.20284202694892883, - 0.22310879826545715, - -0.09175264835357666, - -0.40912482142448425, - -0.1802767962217331, - -0.2787109911441803, - -0.3064904510974884, - 0.22596676647663116, - -0.3635615408420563, - 0.2812367081642151, - 0.11356999725103378, - -0.318589448928833, - 0.08336939662694931 - ], - [ - 0.38195160031318665, - 0.03335738927125931, - -0.5335058569908142, - -0.03819908946752548, - -0.02460385486483574, - -0.3300994336605072, - 0.3992239832878113, - -0.07268156111240387, - 0.03751498460769653, - 0.17805716395378113, - -0.08026189357042313, - -0.3458326756954193, - -0.20366187393665314 - ], - [ - -0.46825602650642395, - -0.0029622504953294992, - -0.09496761858463287, - 0.1982409507036209, - 0.15728545188903809, - -0.2035212367773056, - 0.16241173446178436, - -0.38586297631263733, - 0.3763304650783539, - -0.03425220027565956, - -0.22369584441184998, - -0.31587332487106323, - -0.13464592397212982 - ], - [ - -0.13012930750846863, - 0.3396182954311371, - -0.4679093360900879, - -0.3572634756565094, - -0.19409683346748352, - 0.04419347643852234, - 0.24613319337368011, - 0.061356887221336365, - 0.4071618914604187, - 0.47669270634651184, - -0.09375584870576859, - -0.19679337739944458, - -0.44209086894989014 - ] - ], - [ - [ - 0.018219739198684692, - -0.09646723419427872, - 0.07454709708690643, - 0.06161380931735039, - -0.006799010559916496, - 0.10184838622808456, - 0.08798973262310028, - -0.07850953191518784, - 0.011188327334821224, - 0.08524810522794724, - -0.1571773737668991, - 0.035052474588155746, - 0.1785498410463333, - 0.029873937368392944, - -0.08988912403583527, - 0.022495459765195847, - 0.03982220217585564, - 0.029116356745362282, - -0.08388350903987885, - -0.03617621585726738, - -0.02884429693222046, - -0.04017459228634834, - -0.017280157655477524, - 0.04433999955654144, - -0.02471611648797989, - 0.029065009206533432, - 0.013151707127690315, - 0.07672682404518127, - -0.02299288846552372, - -0.0760030522942543, - 0.03338173031806946, - -0.021944932639598846, - -0.0662168487906456, - -0.0046288142912089825, - -0.020774496719241142, - 0.16680222749710083, - -0.03899861127138138, - 0.05796864256262779, - 0.0340903140604496, - 0.049473755061626434, - -0.047948434948921204, - -0.1550675332546234, - 0.07000972330570221, - 0.07917586714029312, - 0.016673870384693146, - -0.009089440107345581, - 0.017897728830575943, - -0.015161716379225254, - 0.06361237168312073, - -0.062846340239048, - -0.07507970184087753, - 0.02215183526277542, - 0.0723285973072052, - 0.053254906088113785, - 0.026656638830900192, - -0.09317565709352493, - 0.11220590770244598, - 0.07024280726909637, - 0.0561104454100132, - 0.02861620858311653, - 0.03564126044511795, - -0.009296980686485767, - 0.0075655654072761536, - -0.009516087360680103, - -0.02917361631989479, - -0.21397820115089417, - 0.0018511217785999179, - 0.00492468848824501, - -0.01981751248240471, - -0.09233584254980087, - -0.18141627311706543, - 0.061435017734766006, - 0.010503634810447693, - 0.0050401524640619755, - -0.03528561443090439, - -0.0941401794552803, - 0.07366326451301575, - 0.0035352243576198816, - 0.05383983254432678, - -0.06497901678085327, - 0.08547446876764297, - 0.019188271835446358, - 0.013645362108945847, - -0.07891425490379333, - 0.10479230433702469, - 0.11281126737594604, - 0.04737356677651405, - 0.046065255999565125, - 0.007549292407929897, - 0.03802464157342911, - -0.048982586711645126, - -0.07231000810861588, - 0.05617180094122887, - -0.05134878680109978, - -0.06102363392710686, - 0.06286761909723282, - 0.10445437580347061, - -0.06788648664951324, - -8.455992792733014e-05, - -0.053546905517578125, - 0.0407492071390152, - -0.05465124920010567, - 0.0558830089867115, - -0.05688697472214699, - -0.05511736869812012, - 0.01887454278767109, - -0.036653291434049606, - -0.09590993076562881, - 0.08518277108669281, - 0.04751770943403244, - 0.00690359016880393, - 0.01838502660393715, - -0.0657363012433052, - 0.043211743235588074, - 0.09584445506334305, - -0.01736079715192318, - 0.005686406046152115, - -0.14709696173667908, - -0.027912955731153488, - 0.044494785368442535, - 0.04404277354478836, - -0.018893957138061523, - 0.031774066388607025, - -0.030790507793426514, - 0.10381884127855301, - 0.10012118518352509, - 0.04456346854567528, - -0.12345439940690994 - ], - [ - -0.04366224259138107, - -0.03988340497016907, - -0.027272675186395645, - -0.08578596264123917, - 0.09593483805656433, - 0.1438608467578888, - 0.22205762565135956, - -0.054564010351896286, - -0.029638443142175674, - 0.24980893731117249, - 0.2250930815935135, - 0.038504816591739655, - 0.02610793709754944, - 0.14048533141613007, - -0.013169611804187298, - 0.0033675716258585453, - 0.1559501588344574, - -0.08512993901968002, - -0.009641251526772976, - 0.04013749212026596, - -0.16436025500297546, - 0.02284420095384121, - 0.04611126706004143, - 0.011338652111589909, - -0.05414551869034767, - -0.0033125155605375767, - 0.055500030517578125, - 0.15653949975967407, - -0.051860034465789795, - 0.034047193825244904, - 0.09617786854505539, - 0.017718710005283356, - 0.1395457237958908, - 0.059239376336336136, - -0.08237612247467041, - 0.0016281215939670801, - -0.12236908078193665, - 0.05766136944293976, - 0.030708888545632362, - 0.0032188640907406807, - -0.1876683384180069, - 0.07252556830644608, - -0.05732478201389313, - 0.024640005081892014, - -0.2488022893667221, - -0.036899764090776443, - 0.08544021844863892, - 0.023594796657562256, - 0.12174620479345322, - -0.10455157607793808, - 0.07488745450973511, - -0.008201503194868565, - -0.5354313850402832, - -0.032505642622709274, - -0.1553194522857666, - 0.024152345955371857, - 0.020946798846125603, - 0.11037244647741318, - -0.08579467982053757, - 0.054161135107278824, - 0.054597996175289154, - -0.18702523410320282, - -0.06077027693390846, - -0.045753903687000275, - -0.06247496232390404, - -0.1746106743812561, - -0.01596141792833805, - -0.041279226541519165, - 0.026474345475435257, - -0.06815830618143082, - -0.07384060323238373, - -0.04557356610894203, - -0.02851514145731926, - -0.15558405220508575, - 0.032944124191999435, - -0.1305556744337082, - 0.15945951640605927, - -0.09210573881864548, - 0.045924678444862366, - -0.03189486265182495, - -0.016103772446513176, - -0.1000695675611496, - 0.08418722450733185, - 0.02808430790901184, - -0.018935440108180046, - -0.006368079222738743, - 0.1346205174922943, - 0.06244322657585144, - 0.10128394514322281, - -0.21042297780513763, - -0.011791245080530643, - 0.00697533180937171, - 0.047211967408657074, - 0.03484340012073517, - -0.020177500322461128, - 0.05033306032419205, - -0.08386674523353577, - -0.21777044236660004, - -0.03588562831282616, - -0.02458086423575878, - 0.04479387030005455, - -0.11563028395175934, - 0.014267588965594769, - 0.02016410417854786, - -0.07439658790826797, - -0.03553749620914459, - -0.17706096172332764, - -0.08134593069553375, - 0.09938134998083115, - -0.14681099355220795, - -0.172814279794693, - -0.07844581454992294, - -0.10121552646160126, - 0.06735233962535858, - 0.037241797894239426, - 0.15259318053722382, - -0.03785921633243561, - -0.11281542479991913, - 0.02455972693860531, - -0.05434728041291237, - 0.05339659005403519, - -0.01463327743113041, - -0.04604827240109444, - -0.04048222303390503, - 0.16280102729797363, - 0.12418854981660843, - 0.08864647150039673, - 0.07456153631210327 - ], - [ - -0.08777999877929688, - -0.08828102797269821, - 0.09394829720258713, - -0.044136788696050644, - -0.06294093281030655, - -0.08060112595558167, - 0.05393722280859947, - -0.07617608457803726, - 0.06506304442882538, - 0.05197449028491974, - -0.22411371767520905, - 0.046819448471069336, - 0.26677319407463074, - 0.09424933791160583, - 0.05660441890358925, - 0.08204120397567749, - -0.28375932574272156, - 0.09491997212171555, - -0.027609892189502716, - -0.07027342170476913, - -0.17479217052459717, - 0.30773741006851196, - -0.16301515698432922, - -0.12343518435955048, - 0.011471367441117764, - 0.12639306485652924, - -0.3234254717826843, - -0.02480117790400982, - -0.07915925234556198, - 0.14103731513023376, - 0.0663117840886116, - -0.12133550643920898, - 0.07859761267900467, - -0.06832479685544968, - 0.047317929565906525, - -0.18684375286102295, - 0.019010545685887337, - 0.07009278982877731, - 0.049190275371074677, - -0.3498014509677887, - -0.13270793855190277, - -0.2593308091163635, - 0.1141480877995491, - -0.1748884916305542, - -0.20433549582958221, - -0.027941307052969933, - 0.10660794377326965, - -0.04801894724369049, - -0.0168705265969038, - -0.1668137162923813, - -0.03204342722892761, - 0.08961070328950882, - -0.022071899846196175, - 0.0973498672246933, - 0.04838287830352783, - 0.025685787200927734, - -0.008137140423059464, - 0.1332472860813141, - 0.0861138254404068, - 0.07386302947998047, - 0.15232205390930176, - 0.15091367065906525, - 0.032322537153959274, - -0.04015224426984787, - 0.1709579974412918, - 0.37716659903526306, - 0.18268543481826782, - 0.1602870225906372, - 0.024307414889335632, - -0.4708167314529419, - 0.04431665316224098, - -0.03973490372300148, - -0.28667396306991577, - 0.07172611355781555, - -0.052345603704452515, - 0.13505011796951294, - -0.0028523753862828016, - 0.0018361147958785295, - -0.025408020243048668, - -0.044182341545820236, - 0.002621020656079054, - 0.10347174108028412, - -0.3277919888496399, - -0.0511430948972702, - -0.1834374964237213, - 0.03346710652112961, - -0.017552994191646576, - -0.15763753652572632, - -0.18161317706108093, - -0.028803296387195587, - 0.134186252951622, - -0.08387858420610428, - 0.07384360581636429, - -0.07357937097549438, - -0.0451325997710228, - 0.1873624175786972, - 0.13002994656562805, - 0.20409730076789856, - -0.28164854645729065, - -0.041622135788202286, - 0.011276671662926674, - 0.09881874173879623, - -0.1091432124376297, - -0.05511726438999176, - -0.06761851906776428, - -0.06233453005552292, - -0.002571213524788618, - 0.0007353940745815635, - 0.08992432057857513, - -0.02546185441315174, - 0.08591751754283905, - 0.03086784854531288, - -0.4728988707065582, - -0.16527283191680908, - 0.0025602495297789574, - 0.0685092955827713, - -0.01541915349662304, - 0.2594982385635376, - -0.0031214922200888395, - -0.04352348670363426, - -0.2147342562675476, - 0.14683598279953003, - -0.3219284415245056, - -0.5988808870315552, - -0.08926576375961304, - 0.049239370971918106, - -0.12583103775978088, - -0.054186515510082245 - ], - [ - 0.07710544764995575, - -0.18329750001430511, - 0.09492483735084534, - 0.07396245747804642, - 0.005324447527527809, - 0.08248968422412872, - -0.15271462500095367, - -0.22876857221126556, - -0.045491866767406464, - -0.0427100732922554, - 0.016563596203923225, - 0.09627670049667358, - -0.3218867778778076, - 0.20546002686023712, - 0.11841712146997452, - 0.11589130014181137, - -0.09981642663478851, - 0.04615166783332825, - -0.18844769895076752, - -0.2854122221469879, - 0.06752467900514603, - 0.08963949233293533, - -0.13537634909152985, - 0.05911797657608986, - 0.1287340670824051, - -0.03183428570628166, - -0.058367349207401276, - 0.1617414504289627, - 0.17339740693569183, - 0.10734125971794128, - -0.12121203541755676, - -0.14875103533267975, - 0.06654571741819382, - -0.05614486709237099, - 0.13991184532642365, - 0.01342823076993227, - 0.22406667470932007, - 0.023757832124829292, - 0.049936648458242416, - -0.010973641648888588, - -0.06290178000926971, - 0.11927430331707001, - -0.006864798720926046, - 0.0794132724404335, - 0.02207094430923462, - -0.030406678095459938, - 0.10549483448266983, - -0.043844159692525864, - -0.040650878101587296, - 0.000997487804852426, - 0.25994622707366943, - 0.16689202189445496, - -0.08382531255483627, - 0.08189453184604645, - -0.24978703260421753, - -0.009402989409863949, - 0.171400249004364, - 0.004062807187438011, - -0.052251726388931274, - -0.1314944475889206, - 0.06613542884588242, - -0.14117494225502014, - -0.0469946451485157, - 0.04849262163043022, - 0.051265522837638855, - 0.014989004470407963, - 0.04981909319758415, - -0.06804874539375305, - -0.09144828468561172, - -0.06569790095090866, - -0.03956082463264465, - -0.0069680605083703995, - -0.14746804535388947, - 0.08820489794015884, - -0.015624400228261948, - -0.2035723179578781, - 0.1816118061542511, - 0.07732156664133072, - 0.07195135951042175, - 0.10831501334905624, - 0.17344556748867035, - -0.010874085128307343, - -0.009266512468457222, - 0.009654657915234566, - 0.15002234280109406, - 0.0868125930428505, - -0.01889617182314396, - -0.1041441559791565, - 0.061954792588949203, - -0.017732758074998856, - -0.002066943095996976, - 0.08301135152578354, - 0.033814750611782074, - 0.12804098427295685, - 0.0940321758389473, - 0.05929211899638176, - 0.08111003786325455, - -0.06460170447826385, - -0.18669556081295013, - -0.02501339092850685, - 0.07367009669542313, - 0.19835789501667023, - 0.07208416610956192, - 0.06555461883544922, - 0.05209244042634964, - 0.12305328249931335, - 0.02143392339348793, - 0.21838442981243134, - 0.1600487381219864, - -0.11680774390697479, - 0.13360601663589478, - -0.08702053874731064, - -0.03975346311926842, - 0.020558465272188187, - 0.14914433658123016, - -0.22512729465961456, - 0.026435425505042076, - 0.02134077437222004, - -0.050070423632860184, - -0.16032899916172028, - -0.04838675633072853, - 0.05955909937620163, - -0.3921580910682678, - -0.2889035642147064, - -0.018992487341165543, - 0.1880977749824524, - -0.22202685475349426, - 0.12896431982517242 - ], - [ - -0.14982032775878906, - -0.0438121072947979, - 0.1618519425392151, - 0.06273909658193588, - -0.06122744455933571, - -0.08573876321315765, - -0.03334282711148262, - -0.06522249430418015, - 0.10430960357189178, - -0.19786617159843445, - 0.3869205117225647, - 0.10419587790966034, - -0.08232583850622177, - -0.045139115303754807, - -0.005762174259871244, - 0.01088549755513668, - 0.0731579065322876, - -0.3183622658252716, - 0.012427416630089283, - -0.08503033965826035, - -0.7466164231300354, - 0.011984540149569511, - -0.10463400930166245, - 0.18085621297359467, - 0.027885498479008675, - -0.21805012226104736, - -0.11751596629619598, - 0.09866130352020264, - 0.3014037609100342, - 0.13392266631126404, - 0.19781625270843506, - 0.05038033798336983, - -0.38718441128730774, - 0.1848674714565277, - 0.21683885157108307, - -0.5937297940254211, - -0.07603869587182999, - 0.20278185606002808, - -0.15553180873394012, - 0.03819640725851059, - -0.009890005923807621, - -0.05258834734559059, - -0.5933769345283508, - 0.1463337540626526, - -0.40082675218582153, - -0.27249711751937866, - 0.15393826365470886, - -0.11246295273303986, - 0.1274707019329071, - 0.06036047264933586, - -0.24703647196292877, - 0.09616688638925552, - 0.029776768758893013, - -0.18739250302314758, - -0.2982015311717987, - 0.08034591376781464, - 0.0705164447426796, - 0.10652870684862137, - 0.0401625894010067, - 0.061956360936164856, - -0.20484572649002075, - 0.06912866234779358, - -0.18469657003879547, - -0.12315119802951813, - 0.03582711145281792, - 0.08491581678390503, - -0.007683210540562868, - -0.26193612813949585, - 0.083865687251091, - 0.05912237986922264, - 0.14736482501029968, - -0.13348844647407532, - 0.06776504963636398, - -0.0034948443062603474, - 0.03021770715713501, - 0.03882430121302605, - 0.17496226727962494, - -0.11695406585931778, - -0.16507813334465027, - -0.10649487376213074, - 0.006603171583265066, - 0.06768722832202911, - -0.050011735409498215, - -0.27403905987739563, - -0.10870315879583359, - 0.02423289604485035, - 0.16262875497341156, - 0.023541515693068504, - -0.029662471264600754, - 0.11368146538734436, - -0.010363632813096046, - 0.04634997621178627, - -0.682279109954834, - 0.23176009953022003, - 0.09290780872106552, - -0.00039114730316214263, - -0.18280769884586334, - -0.00850045494735241, - 0.11619364470243454, - -0.001821874058805406, - 0.03447658196091652, - 0.01767871342599392, - -0.03021698258817196, - 0.09701815247535706, - -0.29362040758132935, - -0.06804905831813812, - 0.00643650908023119, - 0.009058542549610138, - -0.23731356859207153, - 0.007565407082438469, - -0.31476372480392456, - 0.12198641151189804, - 0.07928924262523651, - -0.05933317169547081, - 0.014917676337063313, - 0.17360010743141174, - -0.02559753507375717, - -0.0659712553024292, - 0.18342210352420807, - 0.05127304419875145, - -0.02824457176029682, - -0.04391869157552719, - 0.013763032853603363, - -0.04619654268026352, - 0.04905478283762932, - -0.0899888351559639, - -0.010250585153698921, - 0.003663488896563649 - ], - [ - 0.11707988381385803, - -0.012062357738614082, - -0.21134260296821594, - -0.0901583656668663, - -0.04336472973227501, - -0.08038540929555893, - 0.12857629358768463, - 0.037310514599084854, - 0.001155287493020296, - -0.18154838681221008, - -0.4831831753253937, - -0.18810047209262848, - -0.20520667731761932, - -0.12275321036577225, - -0.07644340395927429, - 0.16898515820503235, - -1.1960588693618774, - 0.13621988892555237, - -0.29121333360671997, - -0.35968175530433655, - -0.08596019446849823, - 0.08861041069030762, - -0.005422593094408512, - -0.01172693818807602, - 0.13935968279838562, - -0.3189579248428345, - 0.01244546938687563, - -0.008065720088779926, - 0.12723392248153687, - -0.05961800366640091, - 0.03831127658486366, - -0.05634935945272446, - -0.3498627245426178, - -0.6863208413124084, - 0.06956834346055984, - 0.1816672384738922, - -0.3183107078075409, - -0.0981999933719635, - -0.002650436945259571, - 0.2681486904621124, - 0.007516677025705576, - 0.10718858987092972, - 0.35853880643844604, - 0.09932074695825577, - 0.19860641658306122, - -0.5967840552330017, - -0.4281823933124542, - 0.18975435197353363, - 0.012677052058279514, - -0.14243347942829132, - 0.0359477661550045, - -0.002246828516945243, - 0.15934644639492035, - 0.21286478638648987, - 0.31106454133987427, - -0.27341189980506897, - 0.024886377155780792, - 0.13637128472328186, - -0.023705124855041504, - -0.3759010136127472, - -0.1565374881029129, - 0.0526781901717186, - 0.1087900698184967, - 0.20917214453220367, - -0.05167149007320404, - -0.12696072459220886, - -0.18906660377979279, - 0.018862957134842873, - 0.06601996719837189, - -0.01790613681077957, - -0.08147965371608734, - -0.07037747651338577, - -0.22820989787578583, - -0.18264365196228027, - -0.18189352750778198, - 0.11085999011993408, - -0.20925398170948029, - 0.14725826680660248, - -0.05900055542588234, - -0.29020750522613525, - 0.04318507760763168, - 0.0020446127746254206, - 0.033521197736263275, - -0.23804806172847748, - 0.108457550406456, - 0.06655804067850113, - 0.03150900825858116, - -0.4711359441280365, - 0.02820977196097374, - 0.0003283287223894149, - 0.18346089124679565, - -0.22149167954921722, - -0.638874351978302, - 0.16683624684810638, - 0.3318592607975006, - 0.04412943497300148, - 0.16905361413955688, - 0.08307899534702301, - -0.07756691426038742, - 0.08944916725158691, - 0.11442209035158157, - 0.039660077542066574, - 0.032522059977054596, - -0.15192092955112457, - 0.10905548185110092, - 0.01011120155453682, - -0.0063481261022388935, - 0.2228701114654541, - -0.03282828629016876, - -0.07650118321180344, - 0.2302437424659729, - -0.03907551243901253, - 0.1344173550605774, - 0.06473687291145325, - 0.07323276996612549, - 0.06255131959915161, - 0.23272645473480225, - 0.07507288455963135, - -0.2470303773880005, - 0.21013285219669342, - -0.06068211421370506, - -0.028370413929224014, - 0.1136016845703125, - 0.1780325174331665, - -0.3764476776123047, - -0.008990650065243244, - -0.02255677618086338, - -0.2012152522802353 - ], - [ - 0.03936747461557388, - 0.05760778859257698, - 0.17184151709079742, - 0.061656009405851364, - 0.02115621790289879, - -0.02682637609541416, - -0.23889857530593872, - 0.032917097210884094, - -0.1310713291168213, - -0.052512649446725845, - 0.06268664449453354, - 0.011497918516397476, - -0.32750463485717773, - 0.1271658092737198, - 0.029513025656342506, - 0.07868492603302002, - -0.14726945757865906, - -0.10937400907278061, - 0.05438733473420143, - -0.02940277010202408, - -0.07206796854734421, - 0.014690808020532131, - -0.038904741406440735, - -0.0755150094628334, - 0.06934578716754913, - -0.09066906571388245, - 0.06439448148012161, - -0.6019983291625977, - 0.24964351952075958, - 0.06756246834993362, - 0.20133481919765472, - -0.31035467982292175, - -0.4670463502407074, - 0.20263099670410156, - 0.1495734304189682, - -0.17337815463542938, - -0.0814167857170105, - 0.16301429271697998, - -0.17113785445690155, - 0.011796075850725174, - 0.07431884109973907, - -0.011949067935347557, - 0.04033703729510307, - -0.0384526289999485, - 0.021888025104999542, - -0.3256795108318329, - 0.09764056652784348, - -0.11547206342220306, - 0.009990040212869644, - -0.0007690232596360147, - 0.08858699351549149, - 0.006568937096744776, - -0.07664135843515396, - -0.110886350274086, - 0.016882408410310745, - 0.03436069190502167, - 0.10611739754676819, - 0.0006027460913173854, - -0.009608699940145016, - 0.059267327189445496, - 0.1073053851723671, - 0.04530549421906471, - -0.01619189977645874, - 0.137496680021286, - 0.12040077894926071, - -0.10403656214475632, - 0.29377231001853943, - -0.12708911299705505, - -0.11599291115999222, - -0.002952129114419222, - 0.06096046045422554, - -0.12166620045900345, - 0.03810232877731323, - 0.02259567566215992, - 0.005838738288730383, - 0.11958830058574677, - -0.14639411866664886, - -0.3870731294155121, - -0.17899182438850403, - -0.17306245863437653, - -0.11419942229986191, - -0.013556916266679764, - 0.05984777957201004, - 0.00554418470710516, - 0.01343554724007845, - 0.13138322532176971, - 0.20628155767917633, - 0.03328976035118103, - -0.08494625985622406, - -0.034574560821056366, - -0.39129430055618286, - 0.12612563371658325, - -0.3977392017841339, - -0.05173712968826294, - -0.07228949666023254, - 0.19712670147418976, - -0.19306683540344238, - 0.10010359436273575, - 0.0014237085124477744, - -0.17489585280418396, - 0.13310351967811584, - -0.07438543438911438, - 0.10692553222179413, - -0.028833646327257156, - -0.13412727415561676, - 0.03237123414874077, - -0.03446381539106369, - 0.06430743634700775, - 0.04411814361810684, - -0.06312329322099686, - -0.1818610429763794, - 0.13397471606731415, - 0.07224933803081512, - 0.040291883051395416, - -0.028984030708670616, - -0.11788427829742432, - 0.06873753666877747, - 0.18020471930503845, - 0.020279547199606895, - 0.12370510399341583, - -0.03191715478897095, - -0.04649142175912857, - -0.0929684266448021, - 0.05522165820002556, - -0.4121522307395935, - -0.1106007993221283, - -0.13722629845142365, - -0.7423602938652039 - ], - [ - -0.10283973067998886, - -0.03984961658716202, - 0.057836320251226425, - -0.07530853152275085, - 0.061661865562200546, - 0.12187274545431137, - 0.017080266028642654, - -0.08751711249351501, - 0.009585625492036343, - 0.15795555710792542, - 0.0414922758936882, - 0.009402278810739517, - -0.10274571925401688, - 0.03383331373333931, - 0.00859924964606762, - -0.14399734139442444, - -0.036325350403785706, - -0.07787557691335678, - -0.07997114211320877, - 0.07484255731105804, - -0.0927937850356102, - 0.007331077940762043, - 0.09539409726858139, - 0.048107896000146866, - -0.15003743767738342, - -0.058698516339063644, - -0.08889590203762054, - 0.05983630195260048, - -0.03845806047320366, - 0.07196547836065292, - 0.20435070991516113, - -0.03439377248287201, - -0.07293073832988739, - 0.003368769772350788, - -0.2043071836233139, - 0.041323915123939514, - -0.03691798448562622, - 0.052060239017009735, - -0.06334474682807922, - 0.06350775063037872, - -0.17736117541790009, - 0.07516203075647354, - 0.03710560128092766, - 0.09054245054721832, - -0.12412932515144348, - -0.30105265974998474, - -0.0462571419775486, - -0.04892895370721817, - 0.09597120434045792, - -0.16400237381458282, - 0.11350036412477493, - -0.06311789155006409, - -0.13055790960788727, - 0.022336307913064957, - 0.0013610244495794177, - 0.013146121054887772, - -0.10032600909471512, - 0.05416052043437958, - 0.11732112616300583, - -0.07413464039564133, - 0.01350784208625555, - -0.004450702108442783, - 0.08555237203836441, - -0.04758218303322792, - 0.062199223786592484, - 0.07473936676979065, - 0.16612428426742554, - -0.03797914460301399, - 0.07917381823062897, - 0.10846436023712158, - 0.016377154737710953, - -0.10064995288848877, - 0.004516888409852982, - -0.006061824504286051, - -0.05185989290475845, - 0.021475743502378464, - -0.000630661437753588, - -0.0030517277773469687, - 0.07590028643608093, - 0.05946324020624161, - 0.02406134642660618, - 0.0054471432231366634, - -0.01517221238464117, - 0.06061382219195366, - -0.001450062613002956, - -0.017832666635513306, - 0.1013614609837532, - -0.10011085867881775, - -0.12895536422729492, - -0.06204682216048241, - -0.05191326513886452, - -0.03854918107390404, - 0.008216272108256817, - 0.06809049844741821, - -0.015553941950201988, - 0.06485951691865921, - 0.04411296173930168, - 0.025506576523184776, - 0.04994133859872818, - 0.015198955312371254, - 0.001620965776965022, - -0.0776236280798912, - 0.1180325299501419, - 0.08628765493631363, - -0.06278582662343979, - 0.010058251209557056, - -0.028645483776926994, - -0.003767607035115361, - -0.11952932178974152, - -0.08966277539730072, - -0.027798842638731003, - -0.010600497014820576, - -0.09261175990104675, - 0.033845532685518265, - -0.15218991041183472, - -0.02115710638463497, - 0.0186784490942955, - -0.09833063930273056, - -0.06596490740776062, - -0.10110572725534439, - -0.00592827470973134, - 0.06700719147920609, - -0.04142523929476738, - 0.024928661063313484, - 0.13474304974079132, - -0.1610475778579712, - -0.03819579258561134, - -0.022631030529737473 - ], - [ - -9.666322720650764e-37, - -6.135865585739077e-41, - -8.511566500161725e-28, - 1.7412244648918062e-38, - -3.579979285938841e-26, - -4.125506756880121e-40, - -4.016765996048515e-40, - -3.4321582897168447e-40, - -1.5084768327768876e-25, - -3.975189470611998e-40, - -5.3744280261942574e-40, - -2.3043589988816146e-34, - 3.186720863690353e-40, - 5.493089980153283e-41, - -1.0469629773169366e-30, - 1.7370776023463297e-40, - -4.910780403303105e-40, - 4.142728715006673e-40, - -2.0641827028736718e-40, - -5.927996971541133e-40, - 9.981448961385672e-42, - 1.7810503481568425e-41, - 6.344995368554912e-40, - 2.1776925911725885e-26, - 1.3744075467944238e-40, - -1.735788407759151e-40, - -3.892428783308974e-40, - -2.1361204014690687e-28, - 3.052871057236312e-26, - 1.5485188809867824e-40, - 5.434389587482716e-40, - -2.2365564269702675e-40, - 4.684750961007512e-40, - -5.2976929222878304e-40, - 5.647468064210619e-32, - -5.234466335577495e-40, - 1.1296716626204542e-28, - 4.5323737659968316e-40, - 1.0851817179401369e-28, - 1.7150688273412533e-30, - -1.975830834697992e-41, - -4.048953821774056e-40, - -4.817944380041586e-41, - -4.389997937527806e-28, - -4.071136376464318e-40, - 2.45059075441124e-41, - 5.4153739673218286e-40, - -4.173697411068251e-40, - -2.5964476737205697e-31, - 4.520364638157568e-40, - 5.708903956643948e-40, - -6.731015824442306e-25, - -4.989042922535646e-40, - -1.400499724200152e-40, - -1.6205316090684347e-40, - -4.026792567846351e-26, - 1.2424209259978265e-37, - -3.31281950859955e-39, - 1.892873965609963e-40, - 3.782132581181968e-40, - 2.8575418414358102e-40, - 5.0180918397011e-40, - -1.3593015493490023e-40, - -2.0541774318383926e-40, - 2.049450616700083e-36, - 4.649788564322608e-41, - -4.855723386639783e-40, - -6.256223110839935e-40, - 8.508964535073154e-41, - -3.407439384806155e-40, - 3.433741756981532e-41, - 2.8361580268702135e-40, - 2.4135684489837784e-40, - -2.1321821059473118e-18, - -1.7413259034302882e-34, - -4.621103984757879e-40, - -1.5678117333183873e-33, - 3.2462760484241577e-40, - -2.078949009707819e-22, - -3.22911935717488e-36, - -4.034360492614637e-24, - 4.000146596261623e-40, - 9.690679530038272e-41, - -2.622642179861041e-40, - 3.3661991710010756e-41, - -4.5952513324421175e-33, - -1.2589111260663081e-39, - -1.2598373843512268e-40, - -3.815455458663612e-41, - 3.719816838473443e-40, - -1.5500719400747935e-38, - 2.6467585264320712e-40, - 1.7360686674520159e-41, - -4.761121727313215e-40, - -3.0532145372122436e-28, - -3.0337691363092992e-40, - -1.1123787469503263e-40, - -3.363788937642437e-40, - -4.434352938417311e-40, - -6.19399144603927e-40, - 3.9098966320906144e-27, - -1.4878426574815178e-40, - -1.0499387647759303e-30, - -2.8359898710544945e-40, - -3.7924492287895625e-31, - 1.8706073330118416e-40, - -5.5168980410621616e-40, - 4.595146595895459e-31, - 4.7183681111666646e-40, - 1.8358411181119428e-40, - 5.649278706986927e-40, - 1.842679454617848e-40, - -4.841696389011892e-40, - 2.0879347118439774e-43, - 1.128930384872886e-21, - -3.618390855625613e-40, - -1.3035158574842313e-40, - -1.3828713895189457e-40, - -2.9586229694761506e-28, - -3.8074680574169605e-40, - -2.2101139249484582e-40, - -2.266097254693074e-33, - -2.775930218873533e-40, - 5.909275624057754e-42, - 1.064874729009715e-40, - -3.775882790031079e-40, - 2.323310814896617e-40, - -2.5513020750422647e-40 - ], - [ - 0.00021852762438356876, - -1.5505507637600533e-40, - -4.5176253479439765e-05, - -2.653624542325872e-11, - -6.598750701414247e-07, - -8.563979463360738e-06, - 4.063408323297138e-23, - 4.2242329072905704e-05, - 3.123431721596681e-11, - -0.000127591731143184, - -3.8600581319769844e-05, - -6.713211405440234e-06, - -3.319737518121112e-17, - -3.1723427010786554e-18, - -3.7361905924626626e-06, - -2.4217660450000786e-40, - -1.3880868228415604e-17, - -3.975427691350933e-40, - -3.226427125468945e-08, - 1.1239814982349358e-41, - -1.9183511387483448e-13, - 0.00013431470142677426, - -3.388894037925638e-05, - -4.558428827294847e-06, - -2.524901611974385e-40, - -3.597216107209533e-07, - 5.9577148931566626e-05, - -9.47430180531228e-06, - -8.637837709102314e-06, - -3.585065496736206e-05, - -6.9372676006485e-15, - -3.300525130978116e-11, - -2.0338314094935778e-13, - -1.0909898678912455e-10, - -5.113709466814358e-26, - -7.692985631628459e-16, - -4.295913811347418e-07, - -2.016092004453185e-08, - -4.182552584097721e-05, - -6.795929863301353e-08, - -1.6368630895158276e-06, - -5.450092794490047e-05, - -6.3585689531464595e-06, - -9.64413970905298e-07, - -6.890433468242918e-08, - -7.16517334353739e-09, - -3.0104324650892522e-06, - -6.384175321727525e-07, - -5.134882741231195e-09, - -6.57685878736094e-17, - -7.812898938919233e-11, - -2.861756001948379e-06, - -5.757629423897015e-06, - -1.0580782827673829e-07, - -2.7564481115405215e-06, - -6.522976764244959e-05, - -2.2290096239885315e-06, - -5.700027759303339e-05, - 1.3968539132966958e-35, - 5.4401068852171616e-40, - -2.7876113861680096e-08, - -4.4541400326088623e-14, - -4.038389670313336e-05, - -2.0077617447592773e-27, - -6.458382983964839e-08, - 7.462894018317456e-07, - -4.1030756392501644e-07, - -2.8058187648612557e-18, - -3.451833308076857e-08, - -1.6308857597735482e-09, - -0.00010331669182050973, - -2.250901616207557e-06, - -3.8933764388458456e-14, - -1.6537527699256316e-05, - -2.8405461307556834e-06, - -1.1430524864408653e-06, - -2.612054913697648e-06, - 1.3419674873453043e-40, - -1.7050508560600974e-08, - -9.576931603305638e-08, - 1.5602897880871108e-40, - -1.427717234037118e-05, - -5.402832688346498e-15, - -3.6862186914010664e-11, - 1.0000400525391159e-35, - -1.9235871207001765e-07, - -1.943041055032468e-18, - -5.4773868214397226e-06, - -1.6660298696180575e-09, - -5.074874570709653e-05, - -9.594439688953571e-06, - -6.077095128145294e-40, - -3.2809651805305873e-15, - -1.0749054126790725e-06, - -8.407909263041802e-06, - -1.1571815409828995e-24, - -1.1426273881058602e-13, - -4.0394415918854065e-06, - 1.5705332798613252e-40, - -6.894764164981637e-13, - -0.00012295591295696795, - 2.1173619795947986e-41, - -1.6745735820222762e-06, - -2.5341823857161216e-05, - -2.464191502758728e-13, - -5.095924571207888e-09, - -8.943602125555117e-08, - -1.4535087757394649e-05, - -7.891808734283856e-11, - -6.715411147151597e-33, - -6.680830199800511e-19, - -1.0938913419522578e-06, - 3.384538516115754e-08, - -7.790715130795434e-07, - -0.00015691990847699344, - -7.950623626129527e-08, - -7.807701152273694e-09, - 0.00030737818451598287, - -7.23006742191501e-05, - 5.10364111094813e-40, - -1.4424562323256396e-05, - -4.383070295599367e-11, - -1.2977021413007606e-07, - 9.971822961923818e-31, - 2.474092699242349e-28, - 4.350849562928195e-40, - -4.582605470204726e-06, - -4.974547736863661e-16 - ], - [ - 0.04827325791120529, - 0.21514892578125, - 0.1942320466041565, - 0.11831087619066238, - -0.23914529383182526, - -0.049641937017440796, - -0.06199654936790466, - -0.09256814420223236, - 0.08374757319688797, - 0.05048320069909096, - 0.08450467139482498, - 0.12681645154953003, - 0.09265699237585068, - 0.04159415885806084, - -0.06953300535678864, - -0.055886656045913696, - -0.018805397674441338, - -0.21417495608329773, - -0.15096667408943176, - 0.39774689078330994, - -0.004762500058859587, - 0.12813067436218262, - -0.1484374701976776, - -0.05632397159934044, - 0.11754769831895828, - -0.07552138715982437, - 0.05153961107134819, - 0.04554073512554169, - 0.1590009182691574, - 0.10840501636266708, - 0.14735138416290283, - 0.07707295566797256, - 0.03371281176805496, - 0.08857610076665878, - 0.05045890063047409, - -0.11738065630197525, - 0.08873655647039413, - 0.12854890525341034, - -0.11114844679832458, - -0.09454745799303055, - 0.06770875304937363, - 0.05067264288663864, - -0.06973784416913986, - 0.023371215909719467, - -0.07201961427927017, - -0.036594197154045105, - -0.022149818018078804, - 0.08335564285516739, - 0.1110721156001091, - -0.29455623030662537, - -0.08380600810050964, - 0.13196788728237152, - 0.0900752916932106, - -0.2703433036804199, - -0.24520330131053925, - 0.1513301283121109, - 0.08282192796468735, - -0.002659645164385438, - -0.08893971145153046, - -0.003290957771241665, - -0.2056335061788559, - -0.032364990562200546, - -0.001887918566353619, - 0.08015158027410507, - -0.07939223945140839, - 0.05478687956929207, - 0.14241234958171844, - -0.04256710410118103, - -0.09351171553134918, - -0.03417447209358215, - -0.06494317948818207, - 0.02894498035311699, - 0.16303542256355286, - -0.09350043535232544, - -0.13421085476875305, - 0.1102103516459465, - 0.1263013333082199, - 0.06418556720018387, - -0.19309304654598236, - -0.051990434527397156, - -0.16825035214424133, - 0.09767627716064453, - 0.026185767725110054, - -0.20945434272289276, - -0.17457975447177887, - -0.05536230280995369, - 0.22240698337554932, - -0.12430312484502792, - 0.10322536528110504, - 0.04315957799553871, - 0.10825398564338684, - 0.04031112417578697, - -0.06651556491851807, - -0.04260280355811119, - 0.12265636026859283, - -0.06199626997113228, - -0.10540129244327545, - 0.11977565288543701, - 0.2967701852321625, - -0.2084561288356781, - 0.13269734382629395, - -0.11665571480989456, - -0.028106898069381714, - 0.05031342804431915, - -0.08633992075920105, - -0.06864435970783234, - 0.046477578580379486, - 0.1503124088048935, - -0.07416870445013046, - -0.2418452352285385, - -0.22392095625400543, - -0.1432890146970749, - 0.0681062862277031, - -0.08762646466493607, - 0.03314952552318573, - -0.09757079184055328, - -0.12986120581626892, - 0.01167116966098547, - 0.16542869806289673, - 0.02823389321565628, - 0.03637228161096573, - -0.06437701731920242, - 0.09288445860147476, - 0.0327470600605011, - 0.07214664667844772, - -0.03767981380224228, - -0.017573459073901176, - 0.1495993435382843 - ], - [ - -0.041472092270851135, - 0.01547745056450367, - -0.02573670819401741, - 0.0338791199028492, - 0.02639606222510338, - 0.05719899758696556, - 0.027113167569041252, - 0.07817833870649338, - -0.08719311654567719, - 0.004046034533530474, - -0.09280002862215042, - -0.04546007513999939, - -0.06504745036363602, - 0.0362648144364357, - 0.04667660966515541, - -0.029684709385037422, - -0.08254169672727585, - -0.08373236656188965, - -0.11791915446519852, - -0.12591414153575897, - 0.0014984642621129751, - 0.048400770872831345, - -0.01895231008529663, - -0.054966773837804794, - 0.06127454340457916, - -0.007002448663115501, - -0.26911380887031555, - 0.03734554350376129, - -0.030913937836885452, - 0.20641818642616272, - 0.18065892159938812, - 0.013039067387580872, - -0.08649847656488419, - -0.1057911291718483, - 0.10698824375867844, - -0.1952851414680481, - -0.004707066807895899, - 0.028329646214842796, - 0.08458753675222397, - 0.047512687742710114, - -0.10218003392219543, - 0.15643644332885742, - 0.025615546852350235, - 0.14368866384029388, - -0.22137250006198883, - 0.09859690070152283, - -0.11498043686151505, - -0.06961458176374435, - -0.13299117982387543, - -0.06046851724386215, - -0.02598375827074051, - 0.04813646525144577, - 0.23292164504528046, - -0.03287215903401375, - -0.04419177025556564, - -0.10097257792949677, - 0.13817471265792847, - -0.045997146517038345, - -0.1634233295917511, - -0.28002509474754333, - -0.053338728845119476, - -0.19627666473388672, - -0.04104764014482498, - 0.02803809382021427, - -0.08308050036430359, - 0.14895769953727722, - -0.027241431176662445, - 0.07953374832868576, - 0.045976027846336365, - 0.22073884308338165, - 0.15013034641742706, - 0.1861959993839264, - -0.20713387429714203, - 0.10499055683612823, - 0.11764609068632126, - -0.11645462363958359, - -0.10664629936218262, - 0.12691327929496765, - -0.038693107664585114, - 0.029057752341032028, - -0.08724923431873322, - 0.19190159440040588, - -0.1494167596101761, - 0.011152287013828754, - -0.16955722868442535, - 0.17099051177501678, - 0.15986573696136475, - -0.21062053740024567, - 0.0629768893122673, - -0.09799345582723618, - 0.07509797066450119, - -0.20448066294193268, - 0.11914660036563873, - 0.05141711235046387, - 0.018616240471601486, - -0.3615768253803253, - -0.0556289479136467, - -0.0795636922121048, - -0.23317621648311615, - 0.03840075805783272, - 0.16618263721466064, - 0.18325117230415344, - 0.02762136422097683, - 0.051379188895225525, - 0.06972934305667877, - 0.018536992371082306, - 0.10861487686634064, - 0.1290348619222641, - -0.021076735109090805, - 0.10722018033266068, - -0.18228723108768463, - 0.020615722984075546, - -0.419887900352478, - -0.026923978701233864, - 0.05717199668288231, - -0.06604387611150742, - 0.07278672605752945, - 0.09682442992925644, - -0.06399456411600113, - 0.26224485039711, - 0.08474847674369812, - 0.01061875931918621, - -0.07568567991256714, - -0.2520374357700348, - -0.15267734229564667, - -0.8471099138259888, - -0.31546881794929504, - -0.09156917780637741 - ], - [ - -0.35277503728866577, - 0.11820149421691895, - -0.0030589995440095663, - -0.053522296249866486, - -0.05968159809708595, - 0.22406208515167236, - -0.04311959445476532, - 0.019874313846230507, - 0.08595995604991913, - -0.09159152209758759, - -0.1711912304162979, - -0.12692248821258545, - -0.0067992620170116425, - 0.10868405550718307, - -0.05567067861557007, - 0.10666446387767792, - 0.04125598073005676, - 0.06319345533847809, - 0.014548756182193756, - 0.0652332454919815, - -0.16421367228031158, - 0.19096538424491882, - 0.20599962770938873, - 0.15232260525226593, - 0.05928250402212143, - 0.23737427592277527, - 0.4701627492904663, - -0.04843895137310028, - -0.05845407769083977, - -0.2441394329071045, - 0.13110405206680298, - -0.19882719218730927, - 0.07783149927854538, - -0.1635933369398117, - 0.0330621711909771, - -0.15153834223747253, - 0.09116355329751968, - -0.030985934659838676, - -0.08226179331541061, - -0.029148802161216736, - -0.10930293053388596, - 0.2359568029642105, - 0.0879155620932579, - 0.06380531936883926, - -0.08510856330394745, - 0.11418550461530685, - -0.058886125683784485, - -0.026658127084374428, - -0.11213912814855576, - 0.17400281131267548, - 0.0070968130603432655, - -0.0024675517342984676, - -0.0650077760219574, - 0.1320456713438034, - 0.1123906597495079, - -0.2018636018037796, - 0.057058390229940414, - -0.05744340270757675, - -0.03860144317150116, - 0.06840206682682037, - -0.062225341796875, - -0.09066668897867203, - -0.020396782085299492, - -0.08101317286491394, - 0.11080241948366165, - 0.06144142150878906, - 0.1512887328863144, - -0.37515541911125183, - -0.03558921068906784, - -0.057247284799814224, - 0.09447670727968216, - -0.07621780782938004, - 0.06213551387190819, - 0.10089583694934845, - 0.06938038021326065, - -0.34581562876701355, - -0.21749567985534668, - -0.10950621962547302, - 0.01688399352133274, - 0.0645124539732933, - 0.1977268010377884, - 0.0567384772002697, - -0.07458191365003586, - 0.031786996871232986, - 0.11169219017028809, - -0.014339459128677845, - -0.015313252806663513, - 0.14144395291805267, - 0.035564225167036057, - -0.012537859380245209, - -0.06328368932008743, - 0.043391548097133636, - 0.08211874216794968, - -0.03450951725244522, - -0.0014689835952594876, - -0.039964113384485245, - 0.0711001604795456, - 0.0064759403467178345, - 0.03688541799783707, - 0.08051969110965729, - 0.08449471741914749, - 0.12263805419206619, - 0.10150298476219177, - -0.16469042003154755, - -0.02410830557346344, - 0.06726542115211487, - 0.0921986773610115, - -0.09149423986673355, - 0.047271478921175, - 0.14061239361763, - 0.033983513712882996, - 0.08036905527114868, - 0.024914074689149857, - 0.011389260180294514, - -0.04575974494218826, - 0.14109128713607788, - 0.002089719520881772, - 0.0386323556303978, - -0.30370646715164185, - -0.023665331304073334, - -0.3174821436405182, - 0.12076598405838013, - 0.06213612109422684, - -0.14683392643928528, - 0.10492662340402603, - 0.17357446253299713, - -0.05210854858160019, - -0.27452170848846436 - ], - [ - -0.2632894217967987, - 0.07958473265171051, - 0.11559826135635376, - -0.042120352387428284, - 0.020214686170220375, - -0.32958775758743286, - 0.10046248137950897, - -0.25719404220581055, - 0.11074749380350113, - 0.0757545530796051, - -0.18737460672855377, - -0.42136794328689575, - 0.07335198670625687, - -0.3403390645980835, - 0.09304189682006836, - 0.1185125857591629, - 0.16296356916427612, - 0.003851336659863591, - -0.01040879637002945, - 0.03535989299416542, - -0.13972064852714539, - -0.12546832859516144, - 0.05829951539635658, - -0.08608102798461914, - 0.01581210270524025, - 0.1052127480506897, - -0.7268087267875671, - -0.07337155938148499, - 0.20192523300647736, - -0.21199262142181396, - -0.007353718392550945, - -0.2468317598104477, - -0.21410875022411346, - -0.2008274644613266, - -0.04810459166765213, - 0.04794730246067047, - 0.02092467062175274, - 0.07563482969999313, - -0.09588226675987244, - -0.0035723051987588406, - -0.14108313620090485, - -0.3728482723236084, - -0.2421407252550125, - 0.06196984648704529, - -0.13556581735610962, - 0.22880704700946808, - 0.024122921749949455, - 0.011857481673359871, - -0.001619938644580543, - 0.010159431956708431, - 0.18034881353378296, - -0.1823078989982605, - -0.008941304869949818, - 0.07899856567382812, - -0.08110322058200836, - 0.08976677060127258, - -0.005852886475622654, - -0.009935887530446053, - 0.017941994592547417, - 0.028338544070720673, - -0.02821565605700016, - 0.07789101451635361, - 0.016744934022426605, - 0.07681363821029663, - 0.14577268064022064, - -0.07020723074674606, - -0.20163577795028687, - 0.3214800953865051, - -0.02065255306661129, - -0.0019298326224088669, - 0.06756987422704697, - -0.540946364402771, - 0.17782072722911835, - 0.016683008521795273, - 0.09398216754198074, - 0.0009104206110350788, - 0.010129650123417377, - 0.13159960508346558, - 0.03592286258935928, - -0.008510339073836803, - -0.1079682931303978, - 0.018063673749566078, - -0.07589083909988403, - 0.053342584520578384, - 0.017478473484516144, - 0.05279942974448204, - 0.05174185708165169, - 0.1171601414680481, - 0.037189844995737076, - 0.036696907132864, - -0.2835801839828491, - 0.02954948879778385, - -0.14355909824371338, - 0.14295746386051178, - -0.006755168549716473, - 0.04022542014718056, - -0.0073356470093131065, - 0.029745694249868393, - 0.16948921978473663, - 0.036058347672224045, - -0.23549194633960724, - -0.068946972489357, - 0.06212791055440903, - 0.08875610679388046, - 0.14584296941757202, - 0.023215170949697495, - -0.6775221824645996, - -0.047236815094947815, - -0.21048469841480255, - 0.05047723650932312, - 0.028359970077872276, - -0.45001962780952454, - 0.047964099794626236, - 0.04154519364237785, - -0.021934567019343376, - -0.596041738986969, - -0.04739311710000038, - -0.48127856850624084, - 0.04063626006245613, - -0.03214060142636299, - 0.1294226497411728, - -0.11068681627511978, - 0.10164506733417511, - 0.042889583855867386, - -0.030884895473718643, - -0.13194581866264343, - 0.09165879338979721, - -0.09304430335760117 - ], - [ - 0.05927729234099388, - -0.04080034792423248, - 0.0045895446091890335, - -0.015026696026325226, - 0.08820954710245132, - -0.01579476334154606, - 0.11670828610658646, - 0.01974877342581749, - -0.16741134226322174, - 0.18911658227443695, - 0.12600496411323547, - 0.01793961226940155, - 0.24705548584461212, - -0.03416374325752258, - 0.017679043114185333, - -0.042155589908361435, - -0.01418888196349144, - -0.0316920168697834, - -0.12243267148733139, - -0.032390058040618896, - -0.03941312059760094, - -0.010874838568270206, - 0.035786811262369156, - -0.12955987453460693, - -0.1394377201795578, - -0.15552803874015808, - -0.030987141653895378, - 0.0941588506102562, - 0.005113832652568817, - 0.007594419177621603, - -0.031324490904808044, - -0.044215474277734756, - -0.018272534012794495, - 0.01632906310260296, - -0.2206863909959793, - 0.1332484483718872, - 0.04491109028458595, - -0.17643041908740997, - 0.02061809040606022, - 0.004753515589982271, - 0.07232297211885452, - -0.06613914668560028, - 0.2680169343948364, - 0.12306854873895645, - 0.15085719525814056, - 0.05817614123225212, - 0.13488906621932983, - -0.033693715929985046, - -0.12351356446743011, - 0.21045829355716705, - -0.0027632650453597307, - 0.16401566565036774, - -0.062194984406232834, - 0.17648883163928986, - 0.186547189950943, - 0.0046088178642094135, - 0.08602715283632278, - 0.07607992738485336, - 0.08184435218572617, - 0.05599053576588631, - 0.12118565291166306, - 0.21106424927711487, - -0.04509493336081505, - 0.01290035992860794, - -0.13690073788166046, - 0.10442542284727097, - 0.05121029168367386, - 0.09293413162231445, - -0.08502528071403503, - -0.026876533403992653, - -0.09911118447780609, - -0.03521854802966118, - -0.14729048311710358, - -0.01226585078984499, - -0.019324135035276413, - 0.20008818805217743, - -0.07489624619483948, - -0.068305104970932, - -0.042914681136608124, - -0.0816175565123558, - -0.20135782659053802, - -0.1433621197938919, - 0.042012039572000504, - -0.16165804862976074, - 0.004701828584074974, - -0.00538162374868989, - -0.1241571232676506, - 0.0637902319431305, - -0.022987039759755135, - 0.03398121893405914, - 0.03981027752161026, - -0.0005038785748183727, - 0.06766356527805328, - -0.10969240963459015, - 0.04098111763596535, - -0.011221442371606827, - 0.019288398325443268, - 0.019808968529105186, - -0.09669153392314911, - -0.10390061885118484, - -0.10525468736886978, - 0.12109336256980896, - -0.0285157673060894, - 0.1513492316007614, - 0.03275969624519348, - 0.03730916231870651, - -0.0036404121201485395, - 0.019858477637171745, - -0.06727392226457596, - 0.07111500948667526, - -0.03786486014723778, - 0.18430368602275848, - -0.04535341262817383, - -0.05884890258312225, - -0.007395537104457617, - -0.046449337154626846, - 0.06282126158475876, - 0.05068972706794739, - -0.00897266622632742, - 0.04791278392076492, - 0.06286835670471191, - -0.12306797504425049, - 0.12870927155017853, - -0.03549109399318695, - 0.19998939335346222, - 0.09145954996347427, - 0.07121636718511581, - 0.12775221467018127 - ], - [ - -0.18863828480243683, - 0.13802814483642578, - 0.011659153737127781, - -0.09028783440589905, - -0.12011153250932693, - -0.1248089000582695, - -0.1540067344903946, - 0.13314023613929749, - 0.02796090766787529, - 0.04794574901461601, - 0.16549047827720642, - 0.14027254283428192, - 0.2159137725830078, - -0.3342932462692261, - -0.10867980867624283, - 0.12314080446958542, - 0.24799218773841858, - 0.007029733154922724, - 0.3517593443393707, - 0.20524971187114716, - -0.1111295148730278, - 0.015840958803892136, - 0.10552038252353668, - -0.028550803661346436, - -0.012343713082373142, - -0.05760304257273674, - 0.07848094403743744, - -0.4578622877597809, - -0.023597905412316322, - 0.023705508559942245, - 0.11210179328918457, - 0.14420783519744873, - -0.02648250013589859, - 0.12285242974758148, - -0.11761555075645447, - 0.025227995589375496, - -0.05908258631825447, - 0.04673607647418976, - 0.25781145691871643, - -0.00534990755841136, - -0.0687614157795906, - -0.10785610973834991, - 0.133162721991539, - 0.042215123772621155, - 0.0449877493083477, - -0.5618857145309448, - -0.028807340189814568, - -0.014855315908789635, - 0.008101169019937515, - 0.1618019938468933, - -0.16945302486419678, - -0.1978403925895691, - -0.06837091594934464, - -0.03944693133234978, - -0.00402437848970294, - 0.16741715371608734, - -0.024829473346471786, - 0.04997527226805687, - -0.10996900498867035, - 0.12391627579927444, - -0.04603812098503113, - 0.04676542803645134, - 0.03522162139415741, - 0.03009788878262043, - -0.016470113769173622, - 0.0056106229312717915, - 0.19896285235881805, - -0.00954469945281744, - -0.10910220444202423, - -0.06468662619590759, - -0.015788929536938667, - -0.11197644472122192, - 0.06381752341985703, - -0.021336887031793594, - -0.019491834565997124, - 0.08358027786016464, - -0.0016401486936956644, - -0.008876850828528404, - -0.22529494762420654, - -0.13062526285648346, - -0.10566311329603195, - -0.12546922266483307, - -0.08323357999324799, - 0.014096773229539394, - -0.14815160632133484, - -0.0045191338285803795, - 0.09776374697685242, - -0.08853740245103836, - -0.18871860206127167, - -0.0019081158097833395, - -0.1800527125597, - -0.018966803327202797, - -0.20852375030517578, - 0.03136094659566879, - -0.012602409347891808, - -0.0258474238216877, - -0.045244768261909485, - 0.0544578917324543, - 0.01456401590257883, - -0.0027459843549877405, - 0.14419884979724884, - 0.04964772239327431, - 0.03521395102143288, - -0.016228221356868744, - -0.02864147536456585, - -0.02788839302957058, - -0.27481281757354736, - -0.20274101197719574, - -0.016517456620931625, - 0.06953984498977661, - -0.046268071979284286, - 0.11017832159996033, - 0.1166820079088211, - -0.096051886677742, - -0.015064023435115814, - -0.046748459339141846, - -0.19804047048091888, - 0.049726299941539764, - 0.12597915530204773, - 0.12882453203201294, - -0.1046181470155716, - 0.014702286571264267, - 0.11417761445045471, - 0.13632147014141083, - -0.1344628632068634, - -0.09819568693637848, - 0.18047554790973663, - 0.004963807296007872 - ], - [ - -0.09002082049846649, - -0.08129559457302094, - -0.04166140407323837, - 0.014535960741341114, - 0.03620045259594917, - 0.08880089968442917, - -0.04947185888886452, - 0.055668700486421585, - -0.04375359043478966, - -0.03112468682229519, - 0.029770459979772568, - 0.11217477172613144, - 0.01137261837720871, - -0.10682950913906097, - 0.06273709237575531, - -0.0478987954556942, - 0.020192114636301994, - -0.06250475347042084, - 0.08323966711759567, - 0.0370660200715065, - 0.07346628606319427, - 0.07532497495412827, - 0.03203747794032097, - 0.09356728941202164, - -0.04986974596977234, - -0.0072738537564873695, - 0.05784117057919502, - -0.03966808319091797, - 0.009404870681464672, - -0.009851645678281784, - -0.03465047851204872, - 0.04189971089363098, - -0.21373358368873596, - 0.002556543331593275, - -0.036918748170137405, - -0.09380887448787689, - 0.002836011815816164, - 0.12916631996631622, - 0.07554636895656586, - 0.040415577590465546, - -0.07146596908569336, - -0.0027707009576261044, - 0.04369776323437691, - -0.012271923944354057, - -0.006677041295915842, - 0.008487197570502758, - -0.026980556547641754, - 0.07671336084604263, - -0.02412811852991581, - 0.11114570498466492, - -0.03412793204188347, - -0.08652301132678986, - -0.005597091745585203, - 0.0009268690482713282, - 0.026081858202815056, - 0.10593872517347336, - -0.06961813569068909, - 0.09318923950195312, - -0.02331349439918995, - 0.05721530690789223, - 0.07916276901960373, - 0.02368125505745411, - 0.0403168685734272, - 0.06356401741504669, - 0.02727501653134823, - -0.023504149168729782, - 0.09742307662963867, - 0.021443061530590057, - 0.007009182590991259, - -0.009172353893518448, - 0.06531183421611786, - 0.004403716418892145, - 0.06598854064941406, - -0.06144307181239128, - -0.03925139456987381, - -0.09862947463989258, - 0.0628843903541565, - -0.00937437079846859, - 0.04518982768058777, - 0.018025649711489677, - -0.10106479376554489, - -0.021943535655736923, - 0.0723634883761406, - 0.11731875687837601, - -0.016155093908309937, - -0.0742952972650528, - -0.07631713151931763, - 0.03005196712911129, - -0.05594811588525772, - 0.06467210501432419, - -0.0912412777543068, - -0.017386876046657562, - -0.04685530811548233, - 0.03757491707801819, - -0.010344387963414192, - -0.015283018350601196, - 0.0583786815404892, - -0.036341916769742966, - 0.10519305616617203, - 0.06956180930137634, - 0.05848216265439987, - 0.02404031716287136, - 0.03199658542871475, - -0.009530849754810333, - 0.025023749098181725, - 0.006529180333018303, - -0.0681510642170906, - -0.07443667948246002, - -0.03589214012026787, - -0.08459828794002533, - -0.019702091813087463, - 0.012889834120869637, - 0.12761518359184265, - 0.05959593504667282, - 0.07163389027118683, - 0.02614159695804119, - 0.01046692207455635, - 0.06726005673408508, - 0.05341964587569237, - -0.07199248671531677, - 0.04260685667395592, - -0.015671614557504654, - -0.06717237830162048, - 0.039600007236003876, - -0.1083158403635025, - 0.0624048076570034, - -0.026848861947655678, - -0.01677272841334343 - ], - [ - -0.050523966550827026, - 0.25891542434692383, - 0.2640231251716614, - -0.28082171082496643, - -0.05332006886601448, - 0.03240310400724411, - -0.2024172693490982, - 0.20008635520935059, - -0.04879515618085861, - -0.08151262998580933, - -0.19367563724517822, - -0.105728879570961, - 0.1392727792263031, - -0.38764488697052, - -0.5616477131843567, - 0.06448723375797272, - 0.0347556509077549, - -0.21958142518997192, - 0.2050047516822815, - 0.23046445846557617, - -0.8099494576454163, - -0.009935270063579082, - 0.3073028028011322, - -0.004186827223747969, - -0.049090199172496796, - -0.016187766566872597, - 0.16877053678035736, - -0.9122653007507324, - -0.08807170391082764, - 0.12996608018875122, - 0.061140939593315125, - 0.14820325374603271, - -0.43787574768066406, - 0.12810663878917694, - -0.05214862525463104, - -0.5566034913063049, - -0.3431795835494995, - 0.20852522552013397, - 0.06425745040178299, - -0.05986493453383446, - 0.10967143625020981, - -0.14359736442565918, - -0.05603840574622154, - 0.18075190484523773, - -0.24507732689380646, - 0.03705955296754837, - -0.23538142442703247, - 0.07322388142347336, - 0.22042463719844818, - 0.10565204173326492, - -0.7055004239082336, - -0.11639048904180527, - 0.07104384154081345, - -0.07209401577711105, - 0.021379850804805756, - 0.09456497430801392, - 0.13697779178619385, - 0.26432329416275024, - -0.36552876234054565, - 0.05876585468649864, - -0.19182252883911133, - 0.10540588945150375, - -0.09928885847330093, - 0.2814381718635559, - -0.025258343666791916, - -0.2293490618467331, - 0.1822151094675064, - -0.05179353058338165, - 0.028584452345967293, - 0.046763114631175995, - 0.06332793831825256, - 0.027545856311917305, - 0.1669316440820694, - -0.036795686930418015, - 0.0316133089363575, - -0.08753926306962967, - 0.36007654666900635, - -0.8609288334846497, - -0.17672213912010193, - -0.35183385014533997, - 0.014326651580631733, - -0.04736480861902237, - -0.4864243268966675, - -0.02096990868449211, - -0.09493817389011383, - 0.06365466117858887, - 0.13896393775939941, - 0.004313118290156126, - -0.544935405254364, - 0.05643470585346222, - -0.8357908725738525, - -0.14578953385353088, - -0.1520068198442459, - -0.03249762952327728, - -0.3681516647338867, - -0.28255191445350647, - -0.6120071411132812, - 0.018742861226201057, - 0.05178051441907883, - -0.3815155029296875, - 0.15658916532993317, - 0.009062564931809902, - 0.13660481572151184, - -0.17090663313865662, - -0.13919861614704132, - -0.5508991479873657, - -0.49128398299217224, - -1.9056625366210938, - -0.0840110257267952, - 0.06814945489168167, - -0.10277565568685532, - 0.6403352618217468, - 0.12030179053544998, - 0.032622989267110825, - -1.382047414779663, - 0.1046234592795372, - 0.4694845974445343, - -0.05390448495745659, - -0.09217114001512527, - 0.4233892858028412, - -0.10116828233003616, - -0.2311173528432846, - 0.10938592255115509, - 0.24289678037166595, - -0.05838168039917946, - -0.7116761207580566, - 0.14414525032043457, - -0.09739848226308823 - ], - [ - -0.030432404950261116, - 0.317840039730072, - 0.013277520425617695, - -0.04185384884476662, - 0.01645059697329998, - 0.020740671083331108, - -0.054308682680130005, - 0.17277248203754425, - -0.07035251706838608, - 0.14960794150829315, - 0.08494533598423004, - 0.03291182592511177, - 0.1033465713262558, - -0.27629250288009644, - -0.07660665363073349, - 0.07581278681755066, - 0.09606751054525375, - 0.014061927795410156, - 0.027231819927692413, - -0.11631883680820465, - 0.16448764503002167, - -0.14898106455802917, - -0.06412886828184128, - -0.00975930504500866, - -0.036471009254455566, - -0.19172635674476624, - -0.07843971252441406, - 0.12440459430217743, - -0.12893244624137878, - -0.18176667392253876, - 0.1183137521147728, - 0.24120889604091644, - 0.05860809609293938, - 0.021550340577960014, - 0.11726503074169159, - -0.17124974727630615, - -0.1591860055923462, - 0.04030216485261917, - 0.032634057104587555, - 0.04396551847457886, - 0.10628453642129898, - 0.053640447556972504, - 0.05780256167054176, - -0.017011012881994247, - -0.5366721153259277, - 0.011472483165562153, - -0.06359584629535675, - 0.0509444922208786, - 0.01921316422522068, - 0.23585614562034607, - -0.10114719718694687, - 0.06528592109680176, - 0.03780950605869293, - 0.010459527373313904, - 0.007124691735953093, - 0.03254646435379982, - -0.11831511557102203, - 0.07821981608867645, - -0.2843676805496216, - -0.5560430288314819, - -0.09154951572418213, - 0.18567122519016266, - 0.005736490245908499, - 0.16698871552944183, - -0.09317448735237122, - 0.19526956975460052, - 0.08188746869564056, - -0.07202699780464172, - -0.08093417435884476, - 0.593601405620575, - 0.09591300785541534, - -0.007259118836373091, - -0.0008278342429548502, - -0.008564295247197151, - -0.2826215922832489, - -0.2186349332332611, - -0.022631848230957985, - 0.057230643928050995, - -0.07506442815065384, - -0.004341702442616224, - 0.09283540397882462, - 0.14537081122398376, - -0.11455120891332626, - 0.11741882562637329, - -0.35539305210113525, - 0.030125517398118973, - 0.1858861893415451, - -0.14165769517421722, - -0.08454698324203491, - -0.3559980094432831, - -0.04340226948261261, - 0.11771798878908157, - -0.10764620453119278, - -0.008347862400114536, - 0.06877920776605606, - -0.23139286041259766, - 0.08371387422084808, - -0.8451933860778809, - -0.0855465680360794, - 0.04454021900892258, - 0.16984042525291443, - -0.21380719542503357, - 0.11908365041017532, - -0.12613028287887573, - 0.008390638045966625, - -0.014750564470887184, - 0.24154506623744965, - -0.09350886195898056, - -0.08326970785856247, - -0.014666804112493992, - -0.08737348765134811, - -0.1543010175228119, - 0.6352481245994568, - 0.029556090012192726, - 0.07766562700271606, - 0.21625633537769318, - 0.21382559835910797, - 0.04633805528283119, - -0.005132277961820364, - -0.0891478955745697, - 0.07734435051679611, - -0.13191959261894226, - -0.1643320620059967, - 0.1717858761548996, - 0.09972892701625824, - -0.8480440378189087, - -0.1490955501794815, - 0.11247878521680832 - ], - [ - 0.056460902094841, - 0.0006469623767770827, - -0.05973278731107712, - 0.0018377829110249877, - -0.00393964909017086, - 0.026966676115989685, - -0.011904871091246605, - 0.029345497488975525, - 0.015089625492691994, - 0.02738172933459282, - 0.058171115815639496, - 0.07294687628746033, - 0.07231537252664566, - 0.025667952373623848, - 0.04503732547163963, - -0.07386339455842972, - -0.005277142859995365, - 0.05141281709074974, - 0.03686732053756714, - 0.025259681046009064, - -0.02375241182744503, - -0.020918671041727066, - -0.004051933065056801, - 0.09533669054508209, - 0.009660796262323856, - -0.036179546266794205, - 0.10656203329563141, - 0.031133655458688736, - 0.04415581002831459, - -0.03401448577642441, - -0.010166311636567116, - -0.02527250535786152, - -0.07661668211221695, - 0.07051537930965424, - 0.006892517674714327, - -0.12280473858118057, - -0.001083078677766025, - 0.03337183594703674, - 0.0533129908144474, - -0.05124905705451965, - -0.06684527546167374, - 0.08395195007324219, - 0.015095474198460579, - -0.010526641272008419, - -0.07194851338863373, - -0.041995901614427567, - 0.054696254432201385, - 0.020865511149168015, - 0.06564145535230637, - 0.04294843226671219, - -0.07302206754684448, - 0.009092512540519238, - 0.009298236109316349, - -0.032159797847270966, - -0.001033599372021854, - 0.014466164633631706, - -0.02877863124012947, - 0.05673256516456604, - -0.06691016256809235, - 0.03824690729379654, - 0.02261652611196041, - 0.02796918712556362, - -0.010538391768932343, - 0.025026218965649605, - 0.06278077512979507, - 0.051100000739097595, - 0.04948653653264046, - -0.0007080921204760671, - -0.04930480197072029, - -0.06682547926902771, - 0.037406180053949356, - -0.04713958874344826, - 0.0850658118724823, - -0.054741021245718, - -0.0626959502696991, - -0.10096988081932068, - 0.06401564925909042, - -0.04253922030329704, - 0.0055317687802016735, - 0.01658863201737404, - 0.05202440917491913, - 0.043474264442920685, - -0.06714737415313721, - 0.06707330048084259, - -0.05137902870774269, - -0.03830952197313309, - 0.012345831841230392, - 0.0024281374644488096, - -0.012845181860029697, - 0.050673093646764755, - 0.05012684687972069, - 0.06361361593008041, - -0.019020620733499527, - 0.0533851720392704, - -0.012245483696460724, - -0.023954059928655624, - 0.023678315803408623, - -0.008655951358377934, - -0.004141473677009344, - 0.009108210913836956, - 0.024071527644991875, - 0.052295394241809845, - 0.048978712409734726, - -0.052522625774145126, - 0.04037332162261009, - -0.0919712707400322, - 0.0285762008279562, - 0.057007383555173874, - 0.005972222425043583, - 0.014043763279914856, - 0.017137160524725914, - -0.034065112471580505, - 0.08476892858743668, - 0.006287887692451477, - 0.0489974170923233, - -0.006413774564862251, - 0.007512648589909077, - -0.025745386257767677, - 0.0031993165612220764, - 0.02622719295322895, - -0.07621300965547562, - 0.028058957308530807, - -0.015017742291092873, - 0.009696311317384243, - -0.02364412695169449, - -0.001216136384755373, - -0.016832483932375908, - 0.07113596051931381 - ], - [ - -0.0036322029773145914, - -0.012416079640388489, - 0.0005242801853455603, - -0.0069754458963871, - -0.010156288743019104, - -0.005528849083930254, - -0.004267557989805937, - -0.0011310884729027748, - -0.0050515769980847836, - -0.004076057579368353, - 0.0033928819466382265, - -6.12938092672266e-05, - -0.00047095734043978155, - 0.0037004859186708927, - -0.007446396164596081, - -0.0021680286154150963, - 0.01011741068214178, - -0.004982414189726114, - 0.008182257413864136, - -0.008148100227117538, - -0.006507983896881342, - -0.002860765904188156, - -0.008440257981419563, - -0.0024951354134827852, - -0.007727718446403742, - 0.008852523751556873, - -0.0028444002382457256, - -0.002813636092469096, - -0.0007463045767508447, - 0.0012131485855206847, - -0.011911490000784397, - 0.002062804065644741, - -0.008210757747292519, - 0.004965110681951046, - 0.0017369335982948542, - 0.0019448067760095, - 0.005741000175476074, - -0.011701030656695366, - -0.0051679168827831745, - -0.0004748135106638074, - 0.0023951856419444084, - -0.0020187923219054937, - -0.0019059327896684408, - 0.002149492036551237, - -0.0015696781920269132, - 0.018494855612516403, - -0.006562946829944849, - -0.008603306487202644, - 0.009217359125614166, - -0.014968653209507465, - -0.007102627772837877, - 0.0014820306096225977, - -0.012520276941359043, - 0.015932366251945496, - -0.004165792837738991, - 0.004580152221024036, - 0.01416345126926899, - 0.010918189771473408, - -0.010895070619881153, - -0.002640943042933941, - -0.003425228875130415, - -0.0028913491405546665, - 0.0036646046210080385, - 0.00031035669962875545, - 0.004694185685366392, - -0.010493380017578602, - 0.008804721757769585, - 0.008817569352686405, - -0.003400815185159445, - -0.002175969071686268, - 0.01352107897400856, - -0.0038962680846452713, - -0.0027411740738898516, - -0.0014935113722458482, - -0.007055308669805527, - 0.0031622129026800394, - -0.007761009968817234, - -0.016658436506986618, - 0.0005871079047210515, - 0.0012646719114854932, - 0.0012463134480640292, - -0.012074711732566357, - -0.00014673982514068484, - -0.00020626875630114228, - 0.007381488103419542, - 0.008660870604217052, - -0.008588679134845734, - 0.010021986439824104, - 0.0002924166328739375, - 0.0013516700128093362, - 0.014274848625063896, - -0.0009187801624648273, - -0.01434001699090004, - 0.009050394408404827, - 0.008913898840546608, - 0.0016001100884750485, - -0.005442966241389513, - 1.758213693392463e-05, - 0.0005831856396980584, - -0.014636417850852013, - 0.0033769968431442976, - -0.00045642093755304813, - 0.006333374418318272, - -0.0003944170312024653, - -0.004370789043605328, - -0.0066308933310210705, - 0.0026707604993134737, - -0.0004724801692645997, - -0.003524726489558816, - 0.00977078266441822, - -0.00014404176909010857, - -0.02232786826789379, - 0.01720087230205536, - -0.004387080669403076, - -0.008015339262783527, - 0.0047739604488015175, - 0.005014955531805754, - 0.00823309738188982, - 0.0021117860451340675, - -0.0005273944698274136, - 0.0037050251848995686, - -0.004796420689672232, - -0.004929990042001009, - 0.010750534012913704, - -0.004486578982323408, - -0.0035492212045937777, - -0.0007282084552571177, - 0.004496285226196051 - ], - [ - -0.07206837087869644, - 0.06448623538017273, - -0.05858830362558365, - 0.051728978753089905, - 0.023024171590805054, - 0.03600110486149788, - -0.07734877616167068, - 0.04986626282334328, - 0.05140470340847969, - -0.12233088910579681, - 0.028330354019999504, - 0.07548289000988007, - -0.006406498607248068, - 0.20547159016132355, - -0.141757532954216, - -0.13326941430568695, - 0.24483036994934082, - -0.12101755291223526, - -0.014380883425474167, - -0.052867595106363297, - -0.22885198891162872, - 0.13686849176883698, - -0.19344015419483185, - -0.012478487566113472, - 0.010642435401678085, - -0.18253260850906372, - 0.03798770532011986, - -0.36676204204559326, - 0.14655658602714539, - 0.12942887842655182, - 0.11087081581354141, - -0.17374074459075928, - -0.30833157896995544, - 0.14044351875782013, - 0.029711250215768814, - -0.09673439711332321, - 0.03407661244273186, - 0.15610165894031525, - 0.09338663518428802, - 0.07154753059148788, - -0.07305078953504562, - -0.22086596488952637, - -0.24463993310928345, - 0.07657655328512192, - -0.22644200921058655, - -0.6683581471443176, - 0.28358837962150574, - -0.12128029018640518, - 0.032413918524980545, - -0.04831603169441223, - -0.09830667078495026, - 0.08720036596059799, - 0.06022457033395767, - 0.08593052625656128, - -0.07814031094312668, - 0.11881227046251297, - 0.16968248784542084, - -0.02303691953420639, - -0.034872591495513916, - 0.040614958852529526, - 0.002785144839435816, - 0.11403393000364304, - 0.04930868372321129, - -0.0002757177862804383, - 0.06357062608003616, - -0.00350449257530272, - 0.060427360236644745, - -0.27137890458106995, - 0.06843067705631256, - 0.06966497749090195, - 0.14403340220451355, - -0.15156199038028717, - 0.07504509389400482, - -0.22142574191093445, - -0.1295275241136551, - 0.03274773433804512, - 0.060876909643411636, - 0.020623942837119102, - -0.231109619140625, - -0.06197154149413109, - -0.24773262441158295, - 0.1310271918773651, - 0.058903567492961884, - -0.053562674671411514, - -0.022867659106850624, - 0.05235036090016365, - 0.033555373549461365, - 0.13029436767101288, - -0.04387717694044113, - 0.012062768451869488, - 0.06135736033320427, - 0.09473945200443268, - -0.39091140031814575, - 0.13202475011348724, - -0.04673781991004944, - 0.11487162113189697, - -0.08407820761203766, - -0.04127135127782822, - 0.027620213106274605, - -0.10787361860275269, - 0.053172044456005096, - 0.11614623665809631, - -0.04375189542770386, - 0.012034821324050426, - 0.03731787949800491, - -0.08775321394205093, - -0.018301252275705338, - 0.15277153253555298, - -0.3587838113307953, - -0.06818961352109909, - 0.048661936074495316, - 0.04346393421292305, - 0.03670266643166542, - -0.0031503329519182444, - 0.10299006849527359, - 0.010888492688536644, - 0.24071373045444489, - 0.058078959584236145, - 0.11848308891057968, - 0.06935173273086548, - -0.14377331733703613, - -0.03845414146780968, - 0.05799301341176033, - 0.08206411451101303, - -0.6852760910987854, - -0.09428318589925766, - 0.07413560152053833, - -0.1140931248664856 - ], - [ - -0.010131812654435635, - 0.10097990930080414, - -0.20737190544605255, - 0.13118232786655426, - 0.24356400966644287, - -0.03779494762420654, - -0.5962477326393127, - -0.32456308603286743, - 0.10129615664482117, - -0.09686974436044693, - 0.19153966009616852, - -0.03318970650434494, - -0.3374251127243042, - 0.002903660060837865, - 0.01882133260369301, - 0.013651769608259201, - -0.5167500972747803, - -0.10395104438066483, - -0.4693738520145416, - 0.21480868756771088, - -0.37346217036247253, - 0.21762922406196594, - -0.661828339099884, - 0.06568561494350433, - 0.07973172515630722, - -0.7144091129302979, - -0.14019142091274261, - -0.042819250375032425, - 0.06731618940830231, - 0.13336831331253052, - -0.33023324608802795, - -0.14978435635566711, - 0.06387696415185928, - 0.11414007842540741, - -0.07744289189577103, - -0.15161573886871338, - -0.16338148713111877, - 0.16705821454524994, - 0.18232817947864532, - -0.017943337559700012, - 0.0005297563620842993, - 0.19244103133678436, - -0.1585940718650818, - -0.01787111908197403, - 0.03209875896573067, - -0.6730806231498718, - 0.1585041731595993, - 0.1018826961517334, - -0.47400572896003723, - 0.04654737561941147, - -0.09544811397790909, - 0.2909339964389801, - 0.02782626263797283, - 0.17401735484600067, - 0.20644189417362213, - -0.3998975455760956, - 0.014406917616724968, - -0.493539422750473, - -0.09538859128952026, - -0.1180504709482193, - -0.04163781926035881, - 0.356374591588974, - 0.0823233425617218, - 0.08939574658870697, - -0.3368508219718933, - -0.03319619223475456, - 0.13779737055301666, - -0.306706964969635, - 0.11117183417081833, - -0.6898229122161865, - -0.013088976964354515, - -0.07064581662416458, - -0.12098126858472824, - -0.2097281515598297, - -0.5898545384407043, - -0.16226722300052643, - -0.027172373607754707, - 0.24326112866401672, - 0.014298086985945702, - 0.2344261258840561, - -0.1030227318406105, - 0.15521332621574402, - -0.08317168802022934, - 0.2321217656135559, - -0.23724855482578278, - 0.2313825488090515, - 0.2077067345380783, - 0.012028300203382969, - -0.0310235433280468, - 0.0321817584335804, - -0.761491060256958, - 0.3588871359825134, - -0.8004235029220581, - -0.25254133343696594, - 0.2385205328464508, - 0.21716426312923431, - -0.01715037412941456, - -0.17999005317687988, - -0.4611869752407074, - 0.03689286485314369, - -0.06774681061506271, - 0.13444410264492035, - -0.16787870228290558, - -0.05301349237561226, - -0.032686930149793625, - -0.10003988444805145, - -0.5625115036964417, - 0.1192416399717331, - -0.09610766172409058, - 0.045969948172569275, - -0.08616435527801514, - 0.03663567453622818, - -0.03506907448172569, - 0.2793661653995514, - 0.01729045808315277, - -0.19029858708381653, - 0.10631711781024933, - -0.02200859785079956, - -0.1375402808189392, - -0.06540774554014206, - -0.11009930074214935, - -0.0791810154914856, - 0.0059525188989937305, - 0.22254206240177155, - 0.13857552409172058, - -0.6382758617401123, - -0.11515527218580246, - -0.13473837077617645 - ], - [ - 0.007818971760571003, - 0.298423171043396, - 0.03873715549707413, - -0.281228631734848, - -0.1448945850133896, - 0.007069116923958063, - -0.16426528990268707, - 0.09726125746965408, - 0.17159706354141235, - -0.01504322700202465, - -0.19063197076320648, - -0.2048942744731903, - 0.2693907916545868, - -0.01348052453249693, - -0.37375348806381226, - 0.06928037106990814, - -0.023305101320147514, - -0.17931342124938965, - 0.14089229702949524, - 0.15701788663864136, - -0.6787843108177185, - -0.11782397329807281, - 0.10762683302164078, - -0.011024505831301212, - -0.020435212180018425, - -0.09656580537557602, - 0.2781142294406891, - -0.42046117782592773, - 0.005417739041149616, - -0.07489031553268433, - 0.09830142557621002, - 0.26509079337120056, - -0.2529531717300415, - 0.2380482703447342, - 0.16759955883026123, - -0.31973791122436523, - -0.27771857380867004, - 0.1473432332277298, - 0.019290458410978317, - 0.01814866065979004, - 0.10067557543516159, - -0.07441364973783493, - -0.03644012659788132, - 0.057341963052749634, - -0.09716664999723434, - 0.29473555088043213, - -0.26572084426879883, - -0.11291752755641937, - 0.20234903693199158, - 0.14151643216609955, - -0.32988405227661133, - -0.48805785179138184, - -0.08222396671772003, - -0.05179349333047867, - 0.06551972031593323, - -0.03339498117566109, - 0.007185961585491896, - 0.16025452315807343, - -0.33218711614608765, - 0.08520130813121796, - 0.032981567084789276, - 0.05687567591667175, - 0.04292065277695656, - 0.23861832916736603, - -0.0718112587928772, - -0.04965909570455551, - 0.2806243300437927, - -0.0873359963297844, - -0.07473232597112656, - 0.04413152486085892, - 0.19899454712867737, - -0.08203402161598206, - 0.17973153293132782, - 0.06589300185441971, - 0.01266455091536045, - 0.0568668395280838, - 0.06539242714643478, - -0.6820963621139526, - 0.024239543825387955, - -0.3339473307132721, - 0.03862283006310463, - -0.0011403487296774983, - -0.17386946082115173, - -0.06420623511075974, - -0.048178914934396744, - 0.06749143451452255, - 0.21186956763267517, - -0.11361432820558548, - -0.5385302305221558, - 0.09507540613412857, - 0.6424960494041443, - -0.1291331648826599, - -0.08993947505950928, - -0.007789966184645891, - -0.7806925773620605, - -0.08591597527265549, - -0.7246087193489075, - 0.07601787894964218, - 0.04514610767364502, - -0.43109065294265747, - 0.07600071281194687, - -0.08408557623624802, - -0.033987198024988174, - -0.025831101462244987, - -0.03607494756579399, - -0.6744252443313599, - -0.21901115775108337, - -0.5505521297454834, - -0.17528541386127472, - 0.13189095258712769, - -0.11955741792917252, - 0.39555177092552185, - 0.1518840789794922, - -0.06862549483776093, - -0.8982878923416138, - -0.004244702402502298, - -0.35918402671813965, - -0.010855907574295998, - -0.06126362085342407, - 0.20009319484233856, - 0.04267139360308647, - -0.3195117115974426, - 0.2037869542837143, - 0.15432150661945343, - -0.32638707756996155, - -0.5833671689033508, - 0.02945803292095661, - -0.21632005274295807 - ], - [ - 0.01756337098777294, - 0.0439942330121994, - -0.032467927783727646, - -0.021272091194987297, - -0.07258469611406326, - 0.04237062856554985, - -0.10320266336202621, - 0.10375718772411346, - -0.01625131070613861, - 0.023569168522953987, - 0.076879121363163, - 0.008875813335180283, - -0.010136953555047512, - -0.10944940149784088, - -0.18386051058769226, - -0.04280684515833855, - 0.04320735111832619, - -0.15730510652065277, - -0.015046875923871994, - 0.05402732267975807, - -0.016210993751883507, - 0.04442676156759262, - -0.08504962176084518, - 0.033600207418203354, - 0.01429572980850935, - -0.21922795474529266, - 0.02802887372672558, - -0.21205009520053864, - -0.035454168915748596, - 0.03202896937727928, - 0.16341613233089447, - -0.09760413318872452, - -0.01456579938530922, - -0.06215277314186096, - 0.08966192603111267, - 0.007286007981747389, - 0.05366678908467293, - 0.11157789081335068, - 0.1960938721895218, - 0.07421774417161942, - 0.015429391525685787, - -0.05549872666597366, - 0.06948407739400864, - 0.05828779563307762, - -0.0999470055103302, - -0.26329275965690613, - 0.0770886167883873, - 0.005755765829235315, - 0.032069284468889236, - 0.07134699076414108, - -0.0726892352104187, - -0.1491439938545227, - -0.006022997200489044, - -0.10928529500961304, - -0.0257433969527483, - 0.043893296271562576, - -0.013246994465589523, - 0.17516061663627625, - -0.07482919096946716, - 0.05218246951699257, - -0.1843772679567337, - 0.08321984112262726, - 0.011118046008050442, - 0.05875139310956001, - 0.07528064399957657, - 0.14080578088760376, - 0.1493387222290039, - 0.10722889751195908, - -0.08045214414596558, - -0.035011500120162964, - 0.00135675142519176, - 0.04414280131459236, - 0.07001380622386932, - 0.05418364703655243, - 0.013209705241024494, - -0.01353182177990675, - 0.07854489237070084, - 0.021544383838772774, - -0.19948545098304749, - 0.025002047419548035, - -0.1435409039258957, - 0.05166541412472725, - -0.06472239643335342, - 0.09890373796224594, - -0.14997293055057526, - -0.09350879490375519, - 0.08047406375408173, - -0.002517084591090679, - -0.1328093558549881, - 0.047247715294361115, - -0.08026081323623657, - 0.0318380743265152, - -0.20526641607284546, - 0.04420655593276024, - 0.08703549951314926, - 0.09282776713371277, - -0.14883428812026978, - 0.04762735217809677, - 0.0919484794139862, - -0.12519468367099762, - 0.07458025962114334, - 0.15720701217651367, - -0.03176441416144371, - 0.09213270992040634, - -0.011261987499892712, - -0.22462774813175201, - -0.1659754067659378, - 0.028723448514938354, - -0.11639855802059174, - -0.04809265956282616, - -0.04830390587449074, - -0.046834252774715424, - 0.2413182556629181, - 0.003912505228072405, - 0.012142417952418327, - -0.038848455995321274, - 0.032365165650844574, - 0.044666290283203125, - 0.058431752026081085, - 0.06045066565275192, - 0.03633192554116249, - 0.002637691330164671, - 0.09035307168960571, - 0.2491893619298935, - -0.3350314795970917, - -0.11550258100032806, - 0.11901245266199112, - -0.0827321857213974 - ], - [ - 0.06081501021981239, - 0.021811971440911293, - 0.018994471058249474, - -0.1085362508893013, - 0.027207819744944572, - 0.0994291678071022, - 0.06965508311986923, - 0.07788306474685669, - 0.055785734206438065, - 0.07858536392450333, - 0.12396637350320816, - 0.023039406165480614, - -0.09751277416944504, - 0.04520241916179657, - -0.03865604102611542, - 0.07621755450963974, - -0.004550247453153133, - -0.16688914597034454, - 0.07097499072551727, - 0.013264700770378113, - -0.046212732791900635, - -0.08326417952775955, - 0.019220933318138123, - -0.043337926268577576, - 0.062000423669815063, - -0.038877248764038086, - -0.09867484867572784, - 0.0031237713992595673, - 0.1132771223783493, - -0.06690185517072678, - -0.245234876871109, - 0.10870189964771271, - 0.009637880139052868, - 0.018742607906460762, - 0.06483510136604309, - 0.0979844331741333, - 0.007492696866393089, - -0.01545935869216919, - 0.037687111645936966, - -0.013536976650357246, - -0.08325828611850739, - -0.06029658764600754, - 0.10618828982114792, - -0.011241868138313293, - -0.11882238835096359, - 0.06578614562749863, - 0.025935450568795204, - 0.03133999556303024, - -0.025853242725133896, - -0.030649367719888687, - -0.02388886548578739, - -0.05595512315630913, - -0.13636866211891174, - -0.026975266635417938, - -0.14394864439964294, - 0.03116626851260662, - -0.14203506708145142, - -0.08463118225336075, - -0.039572007954120636, - -0.0016931180143728852, - -0.0013084778329357505, - -0.13615916669368744, - -0.04098600521683693, - 0.008066005073487759, - -0.07660532742738724, - -0.022627053782343864, - -0.013851710595190525, - 0.006379412487149239, - 0.014232429675757885, - -0.04307379201054573, - -0.10298149287700653, - 0.11398547142744064, - -0.046580877155065536, - -0.024383511394262314, - 0.0020681205205619335, - -0.19350524246692657, - -0.00596274109557271, - 0.0981660708785057, - 0.021524298936128616, - -0.011963463388383389, - 0.026499643921852112, - -0.022242894396185875, - -0.32699689269065857, - 0.013319918885827065, - 0.09131576120853424, - -0.011740774847567081, - -0.05320753529667854, - 0.002008129144087434, - 0.04584449529647827, - -0.07457627356052399, - -0.08834581077098846, - 0.17597413063049316, - 0.11214587092399597, - -0.04941529035568237, - 0.007556448224931955, - -0.17090199887752533, - -0.0963694378733635, - -0.15016445517539978, - -0.3409455120563507, - -0.04626506194472313, - 0.06501035392284393, - 0.04889852926135063, - -0.01648704521358013, - 0.10703827440738678, - 0.05845903977751732, - -0.031656745821237564, - 0.026161422953009605, - 0.08858665823936462, - 0.007542830426245928, - 0.004337786231189966, - -0.06966618448495865, - 0.04399655759334564, - -0.1017666831612587, - 0.09753807634115219, - 0.10695941001176834, - 0.19434699416160583, - 0.11447399854660034, - -0.02287023700773716, - 0.008874362334609032, - 0.007014438509941101, - -0.050857916474342346, - 0.01402221992611885, - -0.00919693149626255, - 0.09567968547344208, - 0.133785679936409, - -0.16450440883636475, - -0.12346841394901276, - 0.0586065836250782 - ], - [ - 0.0506473034620285, - 0.09080252796411514, - 0.04324831813573837, - -0.021858932450413704, - -0.06047965958714485, - 0.08834156394004822, - 0.01593790389597416, - -0.27050769329071045, - 0.017794767394661903, - -0.04993385449051857, - -0.01590183936059475, - -0.015625368803739548, - -0.016758082434535027, - -0.2931942939758301, - 0.0423365943133831, - -0.154631108045578, - -0.17470112442970276, - -0.101689413189888, - 0.03912084922194481, - 0.021804986521601677, - -0.0558139868080616, - -0.1422976553440094, - 0.04069128260016441, - -0.0436636321246624, - 0.08431258052587509, - -0.01221997756510973, - -0.4673442840576172, - -0.07466408610343933, - 0.0036995848640799522, - -0.3759593665599823, - 0.058024290949106216, - -0.13178567588329315, - -0.08892663568258286, - 0.242336243391037, - -0.1493428349494934, - 0.19644270837306976, - 0.05507059767842293, - 0.07590276002883911, - -0.06303295493125916, - -0.0652441456913948, - 0.0648922249674797, - -0.22578628361225128, - -0.026903273537755013, - 0.009222355671226978, - 0.1982722133398056, - -0.1195550486445427, - 0.1269877403974533, - 0.01569732464849949, - 0.012753034010529518, - -0.07449297606945038, - -0.04313609004020691, - -0.01778772659599781, - 0.04421735927462578, - -0.007613425143063068, - -0.016638655215501785, - -0.06784664839506149, - -0.01020299643278122, - -0.0478522889316082, - 0.04801929369568825, - -0.029335783794522285, - -0.009891035966575146, - 0.05118538811802864, - 0.02399996668100357, - 0.0770433098077774, - 0.14091186225414276, - -0.009373219683766365, - 0.11580551415681839, - 0.2879100739955902, - -0.10935626178979874, - 0.0021371745970100164, - -0.007114716339856386, - -0.08222746849060059, - -0.09296872466802597, - -0.011508574709296227, - 0.13260239362716675, - -0.020283570513129234, - 0.057248275727033615, - 0.16446608304977417, - -0.004295936785638332, - -0.09003531187772751, - 0.0825750008225441, - -0.09556286036968231, - 0.030737973749637604, - 0.09053275734186172, - 0.1774456650018692, - 0.07086996734142303, - -0.006485829595476389, - 0.12799857556819916, - 0.001964770257472992, - 0.027441207319498062, - -0.01874486729502678, - 0.11531516164541245, - -0.20297755300998688, - -0.19651903212070465, - -0.0028402444440871477, - -0.11818896234035492, - -0.03262125328183174, - 0.07678226381540298, - 0.03305886685848236, - 0.02443082630634308, - 0.06519877910614014, - 0.05529220029711723, - -0.026260295882821083, - 0.03921579197049141, - -0.08173321187496185, - -0.014017736539244652, - 0.17250540852546692, - -0.16763269901275635, - -0.1453571617603302, - -0.040111467242240906, - -0.00014044708223082125, - 0.054544977843761444, - 0.029216375201940536, - -0.020138872787356377, - 0.07444655895233154, - -0.5583115220069885, - 0.12506945431232452, - -0.006005831528455019, - 0.025875447317957878, - 0.1270401030778885, - 0.10943803191184998, - -0.12334036827087402, - 0.04358352720737457, - 0.20228368043899536, - -0.014483333565294743, - 0.07861541211605072, - -0.019833000376820564, - -0.15551748871803284 - ], - [ - -0.011639087460935116, - 0.14200399816036224, - 0.1254170536994934, - 0.07063907384872437, - -0.18437395989894867, - -0.06451601535081863, - -0.13226501643657684, - -0.07124137878417969, - 0.017211880534887314, - -0.12133882194757462, - -0.025589389726519585, - 0.2197813093662262, - 0.025306561961770058, - -0.005710646044462919, - -0.42807871103286743, - -0.04124094545841217, - 0.3805929720401764, - -0.21973416209220886, - 0.16426579654216766, - -0.16614650189876556, - -0.3328489065170288, - 0.0703621432185173, - -0.5650712251663208, - 0.07689489424228668, - 0.2074332982301712, - -0.4564379155635834, - 0.002528207842260599, - 0.06538008153438568, - 0.13950283825397491, - 0.14383243024349213, - 0.04772702977061272, - 0.10541736334562302, - -0.8667005896568298, - 0.23547309637069702, - 0.05734043940901756, - -0.36548277735710144, - -0.3459267318248749, - 0.2856829762458801, - -0.022237759083509445, - 0.01322904508560896, - -0.004421534948050976, - -0.17731522023677826, - -0.046439602971076965, - 0.04487663507461548, - -0.14736954867839813, - 0.309561550617218, - 0.24844326078891754, - -0.008388372138142586, - 0.05055363103747368, - -0.05554072558879852, - -0.17119255661964417, - -0.09778013080358505, - 0.1296693980693817, - 0.06944109499454498, - -0.2088676542043686, - 0.04874032735824585, - 0.11041762679815292, - 0.08033840358257294, - -0.0006494799163192511, - 0.1268027424812317, - -0.13766083121299744, - 0.10500441491603851, - 0.007430489175021648, - 0.09392397850751877, - 0.07586562633514404, - 0.14607150852680206, - 0.00831131637096405, - 0.05369235575199127, - -0.01884145475924015, - 0.009620679542422295, - 0.05165088176727295, - -0.25311699509620667, - 0.04885581135749817, - -0.036048464477062225, - -0.19700457155704498, - 0.15330146253108978, - 0.18727748095989227, - -0.04983442276716232, - -0.05490219220519066, - -0.9079042673110962, - 0.1045481413602829, - 0.14665232598781586, - -0.20384186506271362, - -0.1602231115102768, - -0.13420605659484863, - -0.06928268074989319, - 0.10773379355669022, - 0.46489647030830383, - -0.30044540762901306, - 0.1402941644191742, - 0.029404953122138977, - 0.12401431798934937, - -0.748126745223999, - -0.046407993882894516, - -0.4952637553215027, - -0.04645443707704544, - -0.20503072440624237, - -0.0680258721113205, - 0.22878368198871613, - -0.1423254758119583, - 0.02721140719950199, - 0.37162694334983826, - -0.19240018725395203, - 0.046682197600603104, - 0.1357332468032837, - -0.018933096900582314, - 0.06522998213768005, - -0.28999894857406616, - -0.17617376148700714, - -0.017141344025731087, - -0.13233938813209534, - 0.16505025327205658, - 0.16044564545154572, - -0.16361786425113678, - 0.06373869627714157, - 0.10295507311820984, - -0.006043627392500639, - 0.10583989322185516, - 0.0997459813952446, - 0.11253242194652557, - -0.03692075237631798, - -0.23435501754283905, - 0.0020479001104831696, - 0.2025112807750702, - -0.07835375517606735, - -0.5716217756271362, - -0.007385284639894962, - 0.06037788838148117 - ], - [ - -0.12404238432645798, - -0.013236228376626968, - -0.148006871342659, - -0.046231310814619064, - -0.053447965532541275, - -0.005558034870773554, - 0.050123102962970734, - 0.256998211145401, - 0.010722680017352104, - 0.010098368860781193, - 0.2576557993888855, - 0.11677505075931549, - -0.01825680583715439, - -0.29400789737701416, - -0.08814606815576553, - -0.07527513056993484, - 0.06657516956329346, - -0.024372555315494537, - 0.2033901810646057, - 0.04944339394569397, - -0.26237985491752625, - 0.07525193691253662, - 0.06951941549777985, - -0.011969679035246372, - 0.11888431012630463, - -0.004548188764601946, - -0.0012968177907168865, - -0.36087870597839355, - -0.07567966729402542, - -0.022990969941020012, - 0.04016467556357384, - 0.1319267898797989, - -0.18434296548366547, - 0.04442383348941803, - -0.35863354802131653, - -0.12749610841274261, - 0.009427308104932308, - 0.10602452605962753, - 0.22727200388908386, - -0.11736952513456345, - -0.010175500065088272, - 0.031655751168727875, - 0.18658724427223206, - 0.07152236998081207, - -0.11835465580224991, - -0.8692449331283569, - -0.06332413852214813, - 0.1189093142747879, - 0.028538502752780914, - 0.06504272669553757, - -0.4836111068725586, - -0.11841586232185364, - 0.13578034937381744, - 0.010862606577575207, - 0.10056337714195251, - 0.12842532992362976, - -0.06341321021318436, - 0.05460076406598091, - 0.002955735893920064, - 0.08676008880138397, - 0.02189541421830654, - -0.011846637353301048, - 0.04860095679759979, - -0.1043035164475441, - -0.05622967332601547, - -0.07120835781097412, - 0.09317672252655029, - 0.01873563602566719, - 0.04013371840119362, - 0.07898939400911331, - -0.030460979789495468, - 0.1807820051908493, - 0.026772527024149895, - 0.09254395961761475, - -0.03634931519627571, - -0.13232854008674622, - 0.012870918959379196, - -0.1563621610403061, - -0.09395180642604828, - 0.012061526998877525, - -0.04741579666733742, - -0.12959454953670502, - 0.01232041697949171, - 0.15393339097499847, - 0.008067005313932896, - -0.054602399468421936, - -0.012753425166010857, - -0.05413351580500603, - -0.040812183171510696, - -0.10593456774950027, - -0.13260237872600555, - -0.0467023029923439, - -0.03831164911389351, - -0.05577610805630684, - -0.019835125654935837, - -0.1155974417924881, - -0.07162481546401978, - 0.06892696768045425, - 0.017427751794457436, - 0.02779991365969181, - -0.005210326984524727, - 0.05573827400803566, - 0.07035822421312332, - 0.09326398372650146, - 0.10539558529853821, - 0.06531088799238205, - -0.5422884225845337, - -0.20574726164340973, - 0.06217137351632118, - 0.049624744802713394, - -0.023385055363178253, - 0.15359143912792206, - 0.15822406113147736, - 0.11612459272146225, - -0.4588245749473572, - 0.02818855084478855, - 0.23407787084579468, - -0.18611784279346466, - 0.23921725153923035, - 0.08852078020572662, - -0.008376184850931168, - -0.14636924862861633, - -0.005404219031333923, - -0.01216423325240612, - -0.05110209062695503, - 0.0464441180229187, - 0.035048432648181915, - 0.006369533017277718 - ], - [ - -1.708605150660319e-29, - -1.2988789608657805e-39, - 5.111334127413396e-35, - 3.2617243854541453e-25, - 6.0757909147941285e-24, - 1.75142155249693e-28, - -1.0891715852437256e-36, - 9.78033773483627e-24, - -9.045351542795455e-26, - 3.815433109634664e-35, - 2.3436503567353303e-34, - -8.888139083937878e-38, - 2.480018022162061e-41, - 4.4757458937550014e-39, - 2.5604207852922065e-26, - 2.507083037013662e-37, - -3.351149225494227e-40, - -9.781707878280813e-40, - -1.636500900822123e-32, - 9.076350283278273e-41, - -2.9281812970224242e-40, - 1.8146736285147296e-33, - -1.3833406672818843e-19, - -1.3267731386883668e-29, - 3.0663072866509215e-40, - 1.0729747991370532e-35, - 7.586568129755033e-31, - -2.7423270816990238e-40, - 7.487999549494996e-37, - -1.8645017549790065e-34, - 4.309334694624108e-39, - -3.5042455892975746e-36, - -5.633528112247916e-40, - -2.3810583246114427e-40, - 7.992670128877319e-40, - 3.1261567440622344e-41, - -1.8386997669791655e-40, - -3.016834849287138e-34, - -2.0352353084487297e-30, - 1.7701930876552538e-39, - 5.924269517626029e-41, - 4.8535351189578935e-37, - 2.6067080150232036e-39, - 7.691804810688665e-35, - 9.19363896474226e-40, - -6.386262207030814e-39, - -4.565101091631138e-39, - 1.7599598421754105e-35, - -5.22538592152867e-40, - 1.4179318770963526e-40, - 1.50144225907779e-39, - -3.7912613917480566e-32, - -2.97095970369481e-32, - -2.987098745219921e-34, - -1.4250700914736233e-39, - 2.6262229897079364e-33, - 2.8236598458669005e-39, - -2.872101332480145e-41, - -6.61410229509813e-37, - -9.53061621295077e-39, - -2.0863289036218217e-34, - 9.904154924322122e-31, - -1.465639417383845e-34, - -1.9758588606672786e-40, - 2.7482224228111523e-36, - -8.822855391081913e-40, - -5.535510535680832e-37, - 5.591040742809588e-40, - -1.3460122042010416e-35, - 6.235714562989698e-35, - 1.2440144826114567e-38, - -2.0554171358591274e-29, - 6.319017554323029e-33, - -5.152504554312874e-35, - -3.417847788041868e-22, - 8.180755321496818e-30, - -8.316623709158394e-39, - 3.2219733291573724e-39, - -3.750531523417206e-30, - 8.187981707536447e-39, - -2.08269946078126e-39, - -1.147525419988483e-36, - 8.68417481998585e-34, - -1.556240035525212e-40, - -4.0461512248454066e-40, - -8.928289087537712e-40, - 1.4475871246932065e-25, - 2.2551320394133573e-39, - 5.4105114616506214e-40, - 4.724657542248512e-36, - 6.214178592719447e-32, - -3.6029667634287896e-39, - -4.987655637055965e-40, - 5.4231007270541156e-39, - 4.2539357611354904e-40, - -6.452367249785041e-32, - 3.959039626972525e-33, - -5.258513514133826e-26, - 1.0520297266364816e-38, - 4.188008872284401e-39, - 2.1196771488656175e-37, - 5.317283074819091e-40, - 8.797509924149389e-35, - -9.914046505251648e-41, - -1.076943843185224e-34, - 2.0402334351967876e-29, - -5.981022105431184e-40, - 4.315228555965058e-40, - 2.5659767460941344e-35, - 2.0062249983891974e-40, - 7.071918946923411e-40, - -3.4643046818493926e-34, - 2.083842920328149e-40, - 3.8033578163651933e-31, - -4.5889631985956254e-26, - -3.039337223783263e-37, - 3.9575821554077565e-39, - 1.643001678455758e-33, - -1.402601559792762e-37, - 1.3832203240469503e-36, - 1.6215827584395662e-29, - -3.3775650334154267e-29, - 6.101667914172018e-33, - -4.150113557913665e-40, - 2.358315250535451e-40, - 1.2305103374665741e-37, - 9.208534380883864e-34, - 5.072490246086189e-40 - ], - [ - -0.06545699387788773, - -0.04897903650999069, - 0.07164176553487778, - -0.14237485826015472, - 0.07290563732385635, - 0.06283052265644073, - 0.04516969621181488, - -0.00392785482108593, - -0.045426707714796066, - -0.0951942503452301, - 0.1255570948123932, - -0.04554799199104309, - -0.019015124067664146, - -0.010990429669618607, - -0.06686249375343323, - -0.05069315433502197, - 0.05434919148683548, - -0.05116482451558113, - 0.06290464103221893, - -0.0571458600461483, - 0.04516392573714256, - 0.10713663697242737, - -0.04579157382249832, - 0.061578456312417984, - -0.11550264805555344, - 0.044599901884794235, - 0.07344415783882141, - -0.002972901100292802, - -0.07708510756492615, - 0.03919694200158119, - -0.021944500505924225, - -0.03224025294184685, - -0.19106832146644592, - 0.10563737899065018, - 0.11656548827886581, - -0.1060548648238182, - 0.026744619011878967, - 0.07047722488641739, - 0.049835205078125, - -0.012871669605374336, - -0.004306422080844641, - 0.11719849705696106, - 0.1060684472322464, - -0.011126157827675343, - -0.07531348615884781, - 0.0003443688037805259, - -0.015840014442801476, - 0.07778692245483398, - 0.09471800923347473, - 0.026601608842611313, - 0.133925661444664, - 0.0148536441847682, - 0.064248226583004, - 0.011701107025146484, - -0.06269572675228119, - 0.056256964802742004, - 0.015230025164783001, - 0.13004684448242188, - -0.033899616450071335, - -0.016843652352690697, - 0.010748421773314476, - 0.0035175310913473368, - 0.015751482918858528, - 0.02207208052277565, - 0.16496455669403076, - 0.08839946240186691, - 0.11167356371879578, - 0.03276721015572548, - 0.03853556886315346, - 0.02582627348601818, - 0.12828928232192993, - -0.036480654031038284, - 0.05266597494482994, - 0.038557372987270355, - -0.05219312384724617, - -0.021443326026201248, - 0.029886135831475258, - 0.019655460491776466, - 0.044996123760938644, - -0.030324753373861313, - -0.11253110319375992, - 0.07725398242473602, - -0.09282790869474411, - 0.02209324762225151, - -0.0745052620768547, - 0.025405997410416603, - 0.055691592395305634, - -0.03355657681822777, - -0.05105552822351456, - -0.06938335299491882, - -0.012865530326962471, - 0.013036256656050682, - -0.08398865163326263, - -0.05079716816544533, - 0.04473594203591347, - -0.0014084501890465617, - 0.003302184399217367, - -0.005270682275295258, - 0.033661309629678726, - 0.11747231334447861, - -0.0449979342520237, - 0.029418306425213814, - -0.003915002103894949, - -0.045601192861795425, - 0.05501389130949974, - -0.0592830665409565, - -0.05754227936267853, - 0.04136306419968605, - -0.16289368271827698, - 0.04573705792427063, - -0.024916160851716995, - -0.052635565400123596, - 0.03121121972799301, - -0.008338334038853645, - 0.1241462454199791, - -0.07093822956085205, - -0.014633173123002052, - 0.023479575291275978, - 0.04268394410610199, - -0.02637697570025921, - 0.032176487147808075, - -0.059986554086208344, - 0.03819979354739189, - 0.021077359095215797, - 0.0035572086926549673, - -0.04531107097864151, - -0.06141228228807449, - -0.00019166302809026092 - ], - [ - -0.10263272374868393, - -0.024178706109523773, - -0.08161205798387527, - -0.2814946174621582, - -0.024108629673719406, - 0.3961687982082367, - 0.037908148020505905, - 0.5050157904624939, - -0.1330016553401947, - -0.041522398591041565, - -0.16912829875946045, - -0.1952224224805832, - 0.3129233717918396, - -0.034844234585762024, - 0.02996155060827732, - -0.14761210978031158, - 0.07469799369573593, - -0.19057175517082214, - 0.17864003777503967, - 0.1913851797580719, - -0.23087769746780396, - -0.04897056147456169, - -0.04464507848024368, - -0.05270995572209358, - -0.06632930040359497, - -0.13792365789413452, - 0.31414762139320374, - -0.11609048396348953, - 0.15994024276733398, - 0.026678692549467087, - 0.3199292719364166, - -0.08578554540872574, - -0.889018714427948, - -0.21729913353919983, - 0.07796023041009903, - -0.5512118935585022, - 0.14663483202457428, - -0.033297210931777954, - 0.006460944190621376, - 0.11077459901571274, - -0.07985985279083252, - -0.11791766434907913, - -0.4736067056655884, - 0.07797112315893173, - -1.0891400575637817, - -0.12804362177848816, - -0.5395496487617493, - -0.004117090255022049, - 0.17611064016819, - 0.00011375117901479825, - -0.12491904944181442, - -0.031984079629182816, - 0.04403652250766754, - 0.1549587845802307, - -0.01655634492635727, - 0.08033283799886703, - 0.1404501348733902, - 0.09893602132797241, - 0.020104531198740005, - 0.1358717381954193, - -0.20212911069393158, - -0.05355386063456535, - -0.03829466924071312, - -0.20622281730175018, - -0.03670647740364075, - 0.22606143355369568, - 0.1362299919128418, - -0.1598019301891327, - -6.923858018126339e-05, - 0.045194439589977264, - 0.11713188141584396, - -0.4731104373931885, - -0.06767692416906357, - -0.11490077525377274, - 0.051369402557611465, - -0.0731361135840416, - 0.10258733481168747, - -0.10379156470298767, - -0.02376760169863701, - 0.11796100437641144, - -0.3528265357017517, - 0.1414411962032318, - -1.5701152086257935, - 0.03617304563522339, - -0.21721182763576508, - -0.09277713298797607, - -0.044091034680604935, - -0.030396051704883575, - -0.06317027658224106, - 0.08384033292531967, - 0.23110567033290863, - 0.03587409481406212, - -0.7863844633102417, - 0.03728930652141571, - -0.05317725986242294, - -0.5268135666847229, - -0.40828248858451843, - 0.09072817862033844, - 0.1352134644985199, - 0.10524976253509521, - 0.09761006385087967, - -0.019665326923131943, - 0.036212120205163956, - 0.1351386308670044, - -0.07333245128393173, - -0.30613836646080017, - -0.7368185520172119, - -0.09250396490097046, - -0.3917859196662903, - 0.005616565700620413, - -0.046367097645998, - 0.5149053931236267, - 0.08395858854055405, - -0.40043577551841736, - 0.0514216348528862, - 0.41495296359062195, - 0.13496515154838562, - 0.046692922711372375, - 0.18049176037311554, - 0.038725681602954865, - 0.04132773354649544, - -0.1664634793996811, - 0.08423867076635361, - 0.37225568294525146, - -0.906098484992981, - -0.5114443898200989, - 0.13718494772911072, - -1.1319215297698975 - ], - [ - -0.0335046611726284, - -0.04788026213645935, - 0.007197719067335129, - -0.21017304062843323, - 0.025315606966614723, - -0.07944763451814651, - 0.2392961084842682, - -0.027937866747379303, - -0.13278789818286896, - 0.04136377200484276, - -0.08421292901039124, - 0.04871489107608795, - -0.10007507354021072, - -0.08279348164796829, - 0.041378092020750046, - -0.021004287526011467, - -0.08529572933912277, - -0.2952892482280731, - 0.12388627976179123, - -0.17167767882347107, - -0.28919172286987305, - -0.11833585053682327, - 0.056717414408922195, - -0.057562049478292465, - 0.1571905016899109, - -0.1626599133014679, - -0.16962440311908722, - 0.030919494107365608, - -0.07790686190128326, - -0.017600031569600105, - 0.16313159465789795, - 0.002620526123791933, - 0.15113207697868347, - 0.020363179966807365, - -0.0889490619301796, - -0.011963862925767899, - 0.035914961248636246, - 0.038142312318086624, - 0.03540082275867462, - -0.03684143349528313, - -0.037352271378040314, - 0.09549648314714432, - 0.10202938318252563, - 0.08443361520767212, - 0.10503558069467545, - 0.029323631897568703, - 0.0214458666741848, - 0.07123091071844101, - 0.04566793516278267, - 0.03387771174311638, - 0.09672229737043381, - 0.12974688410758972, - 0.03626974672079086, - -0.030160289257764816, - -0.037922222167253494, - -0.06853538006544113, - -0.18037551641464233, - -0.05968530476093292, - -0.20842835307121277, - -0.3195459842681885, - 0.03409985452890396, - -0.012549218721687794, - 0.14143060147762299, - 0.1497703194618225, - 0.09304342418909073, - 0.1560242772102356, - -0.03567025065422058, - 0.09948459267616272, - -0.09501770883798599, - 0.21311041712760925, - -0.040618814527988434, - 0.10558363795280457, - -0.05585762858390808, - 0.09078160673379898, - 0.14704783260822296, - 0.19172899425029755, - -0.1753823310136795, - -0.198561891913414, - 0.019907526671886444, - -0.06567836552858353, - -0.08304981142282486, - -0.006167805753648281, - -0.09157800674438477, - 0.19218815863132477, - -0.012037104927003384, - 0.0014827882405370474, - -0.1669463962316513, - 0.009988355450332165, - 0.09412878006696701, - 0.08156927675008774, - -0.123862124979496, - -0.30522143840789795, - -0.06902176886796951, - -0.018353663384914398, - -0.04862309247255325, - -0.01641397923231125, - 0.10838785022497177, - -0.05183965340256691, - -0.19179269671440125, - -0.09324774891138077, - 0.0569632388651371, - 0.04528842121362686, - -0.007036041002720594, - -0.018942298367619514, - 0.002741041127592325, - -0.06482158601284027, - 0.2134658247232437, - -0.03169829398393631, - 0.08631561696529388, - 0.13091957569122314, - -0.004254992585629225, - 0.03575780615210533, - -0.34110569953918457, - 0.09068125486373901, - 0.07456091046333313, - 0.04731065779924393, - -0.0188747588545084, - 0.12544111907482147, - -0.015446782112121582, - -0.12090529501438141, - -0.028728527948260307, - 0.04233414679765701, - 0.039791740477085114, - 0.026525449007749557, - 0.2940525710582733, - -0.23667584359645844, - -0.04255277290940285, - -0.049276456236839294 - ], - [ - 0.08033234626054764, - 0.011126075871288776, - 0.06015361472964287, - 0.08190982788801193, - 0.06086524575948715, - -0.006511329207569361, - -0.06072274222970009, - -0.0951891764998436, - -0.009333268739283085, - -0.003765768138691783, - -0.17724011838436127, - -0.03330233320593834, - 0.06475704163312912, - -0.16214847564697266, - 0.03739458695054054, - -0.09823985397815704, - 0.2419707030057907, - 0.15730004012584686, - 0.06722060590982437, - 0.17500349879264832, - -0.12022356688976288, - -0.10567204654216766, - 0.017617497593164444, - -0.08158881962299347, - -0.04246135428547859, - -0.24122248589992523, - -0.19832439720630646, - 0.005655268207192421, - 0.10520468652248383, - 0.03245050460100174, - 0.10149715095758438, - 0.2121438831090927, - -0.15958689153194427, - 0.03704299405217171, - -0.007230808027088642, - 0.06204744800925255, - -0.004175259731709957, - 0.10266582667827606, - -0.042029090225696564, - 0.09485592693090439, - -0.2812352180480957, - -0.27786320447921753, - 0.15757513046264648, - -0.026971861720085144, - 0.05896999314427376, - -0.30830663442611694, - 0.04163764789700508, - 0.042336355894804, - -0.147605761885643, - 0.2969270646572113, - 0.07617751508951187, - -0.1007581576704979, - 0.07920914888381958, - -0.020090332254767418, - 0.1909990757703781, - 0.08118858933448792, - 0.04809916391968727, - 0.014959635213017464, - -0.026235394179821014, - -0.1317806839942932, - -0.12965001165866852, - -0.204665869474411, - 0.05153760686516762, - 0.1670066863298416, - 0.08931538462638855, - 0.04323553666472435, - -0.007711630780249834, - 0.050818514078855515, - 0.03548763319849968, - -0.06600844860076904, - -0.054435547441244125, - 0.024020086973905563, - -0.10733914375305176, - 0.0695246234536171, - -0.0809035673737526, - -0.0566566027700901, - 0.01978127658367157, - 0.14850978553295135, - -0.026654664427042007, - 0.004489007405936718, - 0.15804392099380493, - 0.0689757838845253, - -0.15744653344154358, - -0.07116247713565826, - 0.18925458192825317, - -0.05769462510943413, - 0.0955624058842659, - 0.11359070986509323, - 0.1134057566523552, - 0.0775146335363388, - 0.2649472653865814, - 0.26255160570144653, - -0.05409877002239227, - -0.0644068494439125, - -0.07987052202224731, - -0.011506225913763046, - 0.03319195657968521, - -0.3037119209766388, - -0.09792255610227585, - -0.10230862349271774, - 0.0674276202917099, - -0.06492935866117477, - -0.05796622857451439, - -0.17785458266735077, - 0.009549444541335106, - 0.12429839372634888, - -0.11129532009363174, - 0.05488556995987892, - -0.2514827847480774, - -0.19407151639461517, - -0.1453956961631775, - -0.005427065771073103, - -0.28421926498413086, - -0.02033633552491665, - 0.05497220531105995, - 0.16502001881599426, - -0.1572427749633789, - 0.06642760336399078, - -0.11034755408763885, - 0.1571487933397293, - -0.03616500273346901, - 0.10026831179857254, - 0.06464836746454239, - 0.034199658781290054, - -0.23751221597194672, - -0.2752484977245331, - 0.12341517955064774, - 0.0570061020553112 - ], - [ - -0.4499478340148926, - -0.02090173214673996, - 0.13502268493175507, - -0.18730910122394562, - -0.008685216307640076, - -0.22127895057201385, - 0.040365733206272125, - -0.053880397230386734, - -0.007110548671334982, - -0.6644781231880188, - -0.1941748857498169, - 0.011723348870873451, - -0.7054663300514221, - 0.2646782398223877, - -0.07845968753099442, - 0.10926216095685959, - 0.0664115846157074, - 0.04929657280445099, - 0.09111957997083664, - -0.06705573201179504, - -0.7382773756980896, - 0.3041072487831116, - 0.03490478917956352, - -0.09386807680130005, - 0.036665115505456924, - -0.3801749050617218, - 0.2014818638563156, - 0.06814045459032059, - -0.011930946260690689, - -0.6193518042564392, - 0.2516321837902069, - -0.40727540850639343, - -0.12581117451190948, - 0.0021203900687396526, - 0.19118265807628632, - 0.031817395240068436, - 0.22604596614837646, - 0.05851166322827339, - -0.05555621162056923, - 0.006060417275875807, - -0.013567494228482246, - -0.20065130293369293, - -0.22174808382987976, - 0.04621780663728714, - 0.07829253375530243, - -0.038863327354192734, - -0.14879313111305237, - 0.11118511855602264, - -0.05455666780471802, - 0.11403705924749374, - 0.10819169133901596, - -0.3724074065685272, - -0.0967596024274826, - 0.1145261749625206, - 0.0993732139468193, - -0.17160935699939728, - -0.08008844405412674, - 0.16445858776569366, - -0.024098535999655724, - 0.003332944819703698, - -0.04528480023145676, - -0.045690637081861496, - 0.12486085295677185, - 0.0426473394036293, - -0.002572940429672599, - -0.5154967308044434, - 0.1360313445329666, - 0.039235733449459076, - 0.03687521815299988, - 0.050707943737506866, - 0.23833444714546204, - -0.5974093675613403, - -0.05384330824017525, - -0.18579742312431335, - 0.05896877869963646, - -0.09817281365394592, - -0.23853252828121185, - -0.1218176856637001, - 0.08636154234409332, - 0.17812404036521912, - 0.3098451793193817, - -0.07132291793823242, - -0.2333378791809082, - -0.0579184927046299, - -0.008946326561272144, - -0.010417686775326729, - 0.014409639872610569, - 0.12523908913135529, - -0.054609015583992004, - -0.18026545643806458, - 0.1620568484067917, - 0.04899073764681816, - -0.24912399053573608, - 0.1110076904296875, - 0.04097776487469673, - -0.13059133291244507, - -0.053384408354759216, - 0.09581585973501205, - 0.02631315588951111, - -0.038474053144454956, - 0.37592804431915283, - -0.0679982528090477, - 0.1196548193693161, - -0.14403904974460602, - 0.004618452861905098, - -0.13533315062522888, - -0.8610506653785706, - 0.07214914262294769, - -0.08852270990610123, - 0.18590950965881348, - 0.1183350682258606, - 0.0012335111387073994, - 0.22958749532699585, - 0.028851594775915146, - -0.14458759129047394, - 0.46033984422683716, - -0.06436537951231003, - 0.11683231592178345, - -0.5119854807853699, - 0.03787980601191521, - -0.4054548442363739, - 0.004819386173039675, - -0.03476973623037338, - 0.06517913937568665, - 0.15874405205249786, - -0.0900236964225769, - 0.06693416833877563, - 0.138095885515213 - ], - [ - -0.05260346084833145, - -0.033169835805892944, - 0.09669484198093414, - -0.0022011299151927233, - 0.004912170115858316, - -0.04037303477525711, - -0.011524372734129429, - -0.09783994406461716, - -0.020857198163866997, - -0.2736143469810486, - -0.22473059594631195, - 0.007760701235383749, - -0.06426598131656647, - -0.010641085915267467, - -0.1251421868801117, - 0.11825321614742279, - 0.09091941267251968, - -0.13488373160362244, - -0.07934869080781937, - -0.12412875145673752, - 0.1396000236272812, - 0.124903604388237, - -0.05664398893713951, - -0.032827138900756836, - 0.0693807452917099, - -0.07924576103687286, - -0.08994641155004501, - -0.1035076156258583, - 0.04715588316321373, - 0.08542585372924805, - 0.07924637943506241, - -0.27051666378974915, - -0.003081209259107709, - 0.0061918143182992935, - 0.13918916881084442, - -0.030337560921907425, - 0.06526333838701248, - 0.026794789358973503, - -0.023672647774219513, - 0.20516662299633026, - -0.12906862795352936, - 0.015221713110804558, - -0.10222998261451721, - -0.021342845633625984, - 0.14554384350776672, - -0.24554379284381866, - 0.05382183566689491, - -0.17247170209884644, - 0.1396813690662384, - 0.05373959615826607, - 0.03800518810749054, - 0.03738449513912201, - -0.20778071880340576, - -0.007979674264788628, - 0.19082655012607574, - -0.04408673942089081, - 0.07989279180765152, - 0.08704976737499237, - 0.07801361382007599, - 0.07745658606290817, - -0.0019351454684510827, - -0.20926643908023834, - -0.12741585075855255, - -0.01776018738746643, - 0.14131128787994385, - 0.0030498732812702656, - -0.04022841528058052, - -0.13412567973136902, - -0.07757232338190079, - -0.18983638286590576, - 0.15445178747177124, - -0.1873639076948166, - -0.2441592812538147, - 0.10755407810211182, - 0.07389397919178009, - -0.0475320927798748, - -0.04658791422843933, - 0.023123500868678093, - -0.10779251903295517, - 0.006964132655411959, - 0.028984718024730682, - 0.24648156762123108, - 0.15902560949325562, - -0.17108775675296783, - 0.06393293291330338, - 0.1303279548883438, - 0.10256216675043106, - 0.06355912238359451, - -0.05969911441206932, - 0.0243314728140831, - 0.13412874937057495, - 0.12447336316108704, - -0.11127422004938126, - -0.21614541113376617, - -0.08387605100870132, - -0.020364772528409958, - -0.08614076673984528, - -0.0830858126282692, - 0.11122280359268188, - -0.07830213755369186, - 0.057337623089551926, - 0.13403671979904175, - -0.09147528558969498, - -0.0927748903632164, - 0.01820763200521469, - -0.06847359985113144, - 0.3648298978805542, - 0.0024848217144608498, - 0.14939962327480316, - 0.05263481289148331, - 0.20754143595695496, - -0.07436657696962357, - 0.2899438142776489, - -0.05371851846575737, - -0.015335166826844215, - 0.12007083743810654, - -0.16179706156253815, - -0.03613251447677612, - -0.12388832122087479, - 0.027469906955957413, - -0.011571569368243217, - 0.013432160019874573, - -0.5463423132896423, - -0.06565337628126144, - -0.18745405972003937, - -0.04864726588129997, - 0.05153406038880348, - 0.1039930135011673 - ], - [ - 0.0547507181763649, - -0.13324297964572906, - 0.0034405512269586325, - 0.0019103517988696694, - -0.009216834791004658, - 0.039276089519262314, - -0.0753646120429039, - 0.06912734359502792, - -0.05986831337213516, - 0.03323444351553917, - 0.12204858660697937, - -0.05637521669268608, - -0.07268474251031876, - -0.03040204383432865, - -0.07486095279455185, - 0.01884196512401104, - 0.030102644115686417, - 0.05557113140821457, - 0.12982147932052612, - -0.04554924741387367, - -0.07929115742444992, - -0.030071577057242393, - 0.0739666149020195, - 0.0498993955552578, - 0.15491369366645813, - -0.14759260416030884, - -0.07264281064271927, - -0.02411087229847908, - -0.04357026517391205, - 0.07682470977306366, - 0.04371696710586548, - -0.004526807460933924, - 0.02424667403101921, - 0.020074553787708282, - -0.11645350605249405, - -0.007879825308918953, - 0.07230649143457413, - 0.09180980175733566, - -0.005185913760215044, - 0.14393173158168793, - 0.19089555740356445, - 0.0008361217915080488, - -0.08758119493722916, - 0.19326740503311157, - -0.13446691632270813, - -0.16659240424633026, - 0.09314420819282532, - 0.13095930218696594, - 0.07485520094633102, - -0.023014472797513008, - 0.22226788103580475, - -0.09790483862161636, - -0.1137305498123169, - -0.019489891827106476, - -0.01977364346385002, - -0.12470704317092896, - -0.1660533994436264, - 0.03995785489678383, - -0.1410951316356659, - -0.08092427998781204, - 0.09306801110506058, - -0.019549019634723663, - -0.01484761480242014, - -0.019695261493325233, - 0.07125338166952133, - -0.10563130676746368, - -0.025852695107460022, - 0.07193111628293991, - 0.07661047577857971, - -0.0016130432486534119, - 0.0468205027282238, - 0.0046112751588225365, - 0.09907755255699158, - -0.001411248929798603, - 0.06784063577651978, - -0.09297768026590347, - -0.15650172531604767, - -0.16060209274291992, - -0.10276113450527191, - -0.0840572640299797, - -0.04466021806001663, - 0.02996690943837166, - 0.04366299882531166, - 0.1310880333185196, - -0.08641908317804337, - -0.04323498532176018, - -0.08177101612091064, - 0.05205336585640907, - 0.0611598826944828, - 0.0939076691865921, - -0.07394421845674515, - -0.07983823865652084, - -0.0673614963889122, - 0.06676562130451202, - -0.06116902455687523, - -0.06809081137180328, - 0.03222811594605446, - 0.06311822682619095, - 0.036603908985853195, - -0.03409180790185928, - 0.07846218347549438, - 0.13779638707637787, - 0.02977631613612175, - -0.02421778067946434, - 0.044626060873270035, - -0.13350026309490204, - -0.23805078864097595, - -0.37404435873031616, - 0.03790333867073059, - 0.086899533867836, - 0.07224775850772858, - 0.06746301054954529, - 0.13045893609523773, - 0.13177259266376495, - -0.1337258517742157, - 0.07187721133232117, - -0.19010411202907562, - -0.16259363293647766, - -0.03652658686041832, - 0.15200500190258026, - -0.06867792457342148, - 0.07219947129487991, - -0.07604579627513885, - 0.29546672105789185, - 0.016599517315626144, - -0.01660092920064926, - 0.03443552926182747, - 0.2533494830131531 - ], - [ - -0.009517939761281013, - 0.005656349007040262, - 0.016130991280078888, - -0.0487244687974453, - 0.0027237723115831614, - -0.039856813848018646, - -0.02950448729097843, - -0.0068128774873912334, - -0.03140130266547203, - -0.10423456877470016, - 0.005162307061254978, - 0.018079567700624466, - 0.030075017362833023, - -0.02981952391564846, - -0.013558242470026016, - -0.0030866723973304033, - 0.00030467912438325584, - -0.04593023285269737, - 0.020524518564343452, - -0.010797952301800251, - 0.04703512415289879, - -0.0359579436480999, - -0.03892681375145912, - 0.1009056344628334, - 0.0863112062215805, - -0.03258334472775459, - -0.012578295543789864, - -0.006612666882574558, - 0.09632471203804016, - 0.062202755361795425, - 0.07299434393644333, - -0.03476400673389435, - -0.0665699765086174, - 0.04237255081534386, - 0.053223416209220886, - -0.007385658100247383, - 0.03707398101687431, - 0.0336926095187664, - 0.06385356187820435, - 0.043886687606573105, - -0.02275792323052883, - 0.03543055057525635, - -0.006185383070260286, - 0.014214139431715012, - 0.02181536890566349, - -0.032557930797338486, - 0.07797981053590775, - 0.0884004682302475, - -0.00033606545184738934, - 0.06864035874605179, - -0.005153395235538483, - 0.02820206806063652, - 0.024085860699415207, - -0.05961492285132408, - -0.04526258632540703, - -0.0001396029838360846, - 0.08701611310243607, - 0.002242401707917452, - 0.03328903391957283, - -0.004263394046574831, - 0.0016415086574852467, - -0.053362950682640076, - -0.0403766855597496, - 0.030156796798110008, - 0.08290272206068039, - 0.03914862871170044, - 0.07614094763994217, - -0.004560800269246101, - 0.06251002848148346, - 0.04445939511060715, - 0.02866545133292675, - -0.09018179774284363, - 0.033328793942928314, - -0.03800603747367859, - -0.035806380212306976, - -0.04039666801691055, - 0.005018687807023525, - -0.025493012741208076, - -0.0041546281427145, - 0.0045529259368777275, - -0.04347219318151474, - 0.15612812340259552, - -0.06524636596441269, - -0.0025417215656489134, - -0.09165138006210327, - 0.04016523435711861, - 0.002641010330989957, - 0.02468092180788517, - -0.04130743443965912, - 0.07494194060564041, - 0.035178691148757935, - 0.02575530670583248, - -0.023817086592316628, - 0.019138824194669724, - -0.046438563615083694, - -0.042390111833810806, - -0.08182672411203384, - -0.0042299628257751465, - -0.005930098704993725, - 0.003342775395140052, - 0.05706610158085823, - 0.006573065649718046, - 0.032201554626226425, - -0.041722413152456284, - -0.052066121250391006, - -0.07452237606048584, - -0.07026496529579163, - 0.02061188966035843, - -0.0779339000582695, - 0.008546070195734501, - 0.02640659362077713, - -0.03248627856373787, - 0.0015294348122552037, - 0.026766473427414894, - 0.038702208548784256, - -0.028450870886445045, - -0.012687730602920055, - 0.0863153263926506, - 0.04294927790760994, - 0.006022096611559391, - 0.06699233502149582, - -0.03650345653295517, - -0.048530466854572296, - 0.08733171969652176, - -0.09623707085847855, - -0.013353493064641953, - -0.020759008824825287, - -0.05124666914343834 - ], - [ - 0.06337250024080276, - 0.00047817346057854593, - -0.49476802349090576, - 0.04434862360358238, - 0.03751498460769653, - 0.022025275975465775, - -0.08335675299167633, - -0.07335726171731949, - 0.05607231706380844, - 0.06408807635307312, - 0.17238187789916992, - 0.14058710634708405, - 0.2956317663192749, - -0.06060131639242172, - -0.3276984989643097, - 0.06737968325614929, - 0.13147304952144623, - -0.03382835537195206, - -0.005220816470682621, - -0.006617026403546333, - 0.2848731279373169, - 0.06564268469810486, - 0.12224689871072769, - 0.13471971452236176, - 0.020500607788562775, - 0.09435594826936722, - -0.003706794697791338, - 0.0035962683614343405, - 0.03460569679737091, - 0.01810469664633274, - -0.0002998600248247385, - 0.041104577481746674, - 0.11244343221187592, - -0.17400309443473816, - -0.06660496443510056, - 0.05955951660871506, - -0.09198972582817078, - -0.3733079135417938, - 0.009655117057263851, - 0.15534213185310364, - 0.07830478250980377, - 0.06737800687551498, - 0.11815829575061798, - 0.09504736214876175, - 0.023048335686326027, - -0.1096993237733841, - 0.03101031854748726, - -0.03938145563006401, - -0.00013429780665319413, - -0.08179758489131927, - -0.10855596512556076, - -0.15741798281669617, - 0.1835532784461975, - -0.16759376227855682, - 0.23211924731731415, - -0.1174778863787651, - -0.38261574506759644, - -0.057385560125112534, - -0.16832536458969116, - -0.16631650924682617, - 0.15260668098926544, - 0.06000608205795288, - -0.0968955010175705, - -0.007976575754582882, - -0.5044055581092834, - 0.04101806506514549, - 0.036520279943943024, - 0.11278685927391052, - 0.02813011407852173, - -0.08983303606510162, - -0.21969258785247803, - 0.08329517394304276, - -0.2748418152332306, - 0.01720353588461876, - -0.1742541640996933, - -0.045525845140218735, - -0.23969121277332306, - -0.9098151326179504, - -0.0026259147562086582, - -0.0025111983995884657, - 0.17236143350601196, - -0.19832554459571838, - -0.02624594420194626, - -0.18676835298538208, - -0.0444672666490078, - -0.3411053419113159, - -0.46285754442214966, - 0.05635170638561249, - -0.08619407564401627, - 0.08139259368181229, - 0.14407916367053986, - -0.01660725474357605, - -0.7420406937599182, - 0.05104970186948776, - 0.43816521763801575, - -0.08187385648488998, - -0.3539186120033264, - -0.01584855280816555, - -1.3145984411239624, - -0.2741836905479431, - -0.04851241037249565, - -0.0008126030443236232, - -0.16387641429901123, - 0.011566711589694023, - 0.04403159022331238, - 0.1447100192308426, - -0.04823194071650505, - 0.08720572292804718, - 0.32752707600593567, - 0.1479390561580658, - -0.21585047245025635, - 0.0498599112033844, - -0.11495921015739441, - -0.03623342141509056, - 0.19651776552200317, - -0.017318200320005417, - -0.07030058652162552, - 0.04678918421268463, - 0.0411478690803051, - -0.29470574855804443, - 0.07458989322185516, - -0.07512802630662918, - 0.11052272468805313, - 0.12681211531162262, - 0.05583731085062027, - 0.4233972132205963, - 0.0013305017491802573, - 0.4961242973804474 - ], - [ - 0.0611053965985775, - 0.008832607418298721, - -0.01783697120845318, - 0.058197297155857086, - -0.12182396650314331, - 0.12759704887866974, - 0.0654120147228241, - -0.06752464175224304, - 0.03347418084740639, - 0.07702323794364929, - -0.024596912786364555, - 0.06338576227426529, - 0.10838642716407776, - 0.11972390860319138, - -0.13054820895195007, - 0.034602634608745575, - 0.04547745734453201, - -0.006412498652935028, - 0.019995126873254776, - 0.05635034292936325, - -0.22970183193683624, - 0.14679516851902008, - 0.019826875999569893, - 0.03992842882871628, - -0.17804381251335144, - 0.07240664958953857, - -0.21488602459430695, - 0.0836467519402504, - -0.03617909923195839, - -0.009169720113277435, - 0.04190623760223389, - -0.12169156968593597, - -0.008543274365365505, - 0.09737690538167953, - -0.1675516813993454, - 0.15656182169914246, - -0.040045276284217834, - 0.07333347201347351, - -0.10106874257326126, - -0.08109229058027267, - -0.007158433087170124, - -0.12768089771270752, - 0.056647978723049164, - -0.045753363519907, - 0.05319003760814667, - 0.010192306712269783, - 0.027523072436451912, - 0.04169638827443123, - 0.09373556077480316, - 0.1318095177412033, - 0.04733481630682945, - -0.09367816150188446, - -0.06259788572788239, - 0.04148806631565094, - 0.014644120819866657, - 0.01143344771116972, - 0.15117666125297546, - -0.023180939257144928, - -0.01521890889853239, - 0.044746849685907364, - 0.0754413828253746, - -0.009559787809848785, - -0.0024715715553611517, - 0.038263700902462006, - -0.020734179764986038, - -0.32310372591018677, - -0.19517390429973602, - -0.09471254050731659, - 0.0014752349816262722, - 0.02113398350775242, - -0.10969212651252747, - -0.024933502078056335, - 0.03252055495977402, - 0.07257290184497833, - 0.03165343031287193, - 0.0034494525752961636, - -0.09444873780012131, - 0.10011670738458633, - 0.0627204030752182, - -0.07452137023210526, - 0.06886015832424164, - -0.034359801560640335, - 0.08808062225580215, - -0.13163292407989502, - 0.06754579395055771, - 0.07306766510009766, - 0.11326263844966888, - 0.07077378779649734, - -0.09174107760190964, - -0.04550581052899361, - 0.12232532352209091, - 0.09140952676534653, - -0.08785656094551086, - -0.0031950732227414846, - 0.01703548990190029, - 0.041741129010915756, - -0.04815554618835449, - 0.04640478268265724, - 0.08553174883127213, - -0.09814228117465973, - 0.06339576840400696, - 0.0781078189611435, - 0.04357202723622322, - 0.06111442670226097, - -0.006057451479136944, - 0.08007228374481201, - 0.007697467226535082, - -0.04753778129816055, - -0.08178588002920151, - -0.10064343363046646, - -0.05310669168829918, - 0.0630192756652832, - 0.04222767427563667, - -0.11151689291000366, - 0.015316260978579521, - -0.2887967526912689, - 0.13145333528518677, - -0.20421293377876282, - -0.005098188295960426, - 0.06468173116445541, - 0.020133882761001587, - 0.017633484676480293, - 0.07496856898069382, - -0.013967613689601421, - -0.1826077699661255, - 0.1231728047132492, - 0.031234145164489746, - -0.033651433885097504 - ], - [ - 0.13294686377048492, - -0.0811614990234375, - -0.02020018920302391, - -0.20082023739814758, - 0.02798011153936386, - 0.09096059948205948, - -0.02082555554807186, - -0.1372816115617752, - -0.04264388978481293, - 0.026152417063713074, - 0.1676291525363922, - 0.099132239818573, - 0.3096359074115753, - -0.3822519779205322, - 0.06548881530761719, - 0.1643582433462143, - 0.0745316669344902, - -0.09364145249128342, - 0.10256990045309067, - 0.10301602631807327, - 0.10751685500144958, - -0.06337784975767136, - -0.027765465900301933, - -0.09442105144262314, - -0.14722730219364166, - -0.02042597159743309, - -0.07415247708559036, - -0.06341902911663055, - -0.008476982824504375, - 0.036486126482486725, - 0.1462118923664093, - 0.17288637161254883, - -0.04741203784942627, - 0.21063554286956787, - 0.05399256572127342, - -0.08397189527750015, - -0.1295773833990097, - 0.011374620720744133, - -0.04053199663758278, - 0.05415879562497139, - -0.302077978849411, - -0.31518521904945374, - -0.1471225768327713, - -0.016737403348088264, - -0.14340795576572418, - -0.7552106976509094, - 0.08943478018045425, - 0.10891875624656677, - -0.003383783856406808, - -0.0012865595053881407, - 0.11454663425683975, - -0.39786097407341003, - -0.05113276466727257, - 0.1534784436225891, - -0.13942445814609528, - 0.03337053209543228, - -0.0032863295637071133, - 0.08813446015119553, - -0.16051983833312988, - 0.02409067004919052, - -0.18560341000556946, - 0.1949971467256546, - 0.056939590722322464, - 0.016793999820947647, - -0.0034976282622665167, - -0.10333538800477982, - 0.06970233470201492, - -0.14398668706417084, - -0.08183500915765762, - 0.12532691657543182, - -0.007296164054423571, - -0.050551172345876694, - 0.07394740730524063, - 0.021835703402757645, - 0.06198533996939659, - -0.07333151996135712, - 0.06975949555635452, - 0.24688947200775146, - -0.22239701449871063, - -0.06658392399549484, - -0.11053314059972763, - -0.13227412104606628, - 0.07516126334667206, - 0.19503355026245117, - 0.12328717112541199, - 0.012807844206690788, - 0.16478729248046875, - -0.12104983627796173, - -0.4834393858909607, - 0.034283630549907684, - -0.07887432724237442, - -0.10287662595510483, - -0.4061257243156433, - -0.05682339146733284, - -0.08846408128738403, - 0.07114600390195847, - -0.38578280806541443, - -0.032677289098501205, - 0.03394341468811035, - -0.043584614992141724, - 0.026169558987021446, - -0.2013360559940338, - 0.07914037257432938, - -0.08457442373037338, - -0.01121661625802517, - -0.020288260653614998, - 0.01704087108373642, - -0.0853983461856842, - -0.022972460836172104, - 0.09879082441329956, - -0.04369010031223297, - -0.1151723563671112, - 0.03294111415743828, - 0.05052448436617851, - 0.03806797415018082, - 0.05613444373011589, - -0.136430561542511, - -0.3065389096736908, - 0.1232742965221405, - -0.33190709352493286, - -0.017537519335746765, - -0.03552500531077385, - 0.032309580594301224, - 0.16932009160518646, - 0.30665677785873413, - 0.4963979125022888, - 0.26763033866882324, - 0.10775285959243774 - ], - [ - -0.02710394747555256, - -0.0874847024679184, - -0.0534755103290081, - 0.013380386866629124, - -0.017584070563316345, - -0.04145187512040138, - -0.04626079648733139, - 0.064061239361763, - 0.029391758143901825, - -0.0014558819821104407, - 0.10135290026664734, - 0.2564385235309601, - 0.19479160010814667, - 0.02653925120830536, - -0.03650468960404396, - 0.007864090614020824, - 0.15133921802043915, - -0.12359365820884705, - 0.1291312575340271, - 0.17131765186786652, - -0.6594901084899902, - 0.005695527885109186, - -0.025904709473252296, - 0.0077131642028689384, - 0.07507201284170151, - -0.14725883305072784, - -0.11976132541894913, - -0.22606313228607178, - 0.04280661791563034, - 0.19864347577095032, - 0.12513239681720734, - 0.01839076541364193, - 0.08983777463436127, - -0.005026019643992186, - -0.04864382743835449, - -0.18403159081935883, - -0.12508650124073029, - -0.005487199407070875, - 0.2347613275051117, - 0.009238151833415031, - -0.07721509784460068, - -0.009486343711614609, - -0.011060593649744987, - 0.0545852854847908, - -0.015149605460464954, - -0.6301679015159607, - 0.06723957508802414, - -0.1487574279308319, - -0.05060236155986786, - 0.10786332190036774, - -0.010419833473861217, - -0.06401750445365906, - -0.09338469058275223, - -0.1959545612335205, - 0.03326604887843132, - 0.25883764028549194, - -0.021050818264484406, - -0.11232846230268478, - -0.015026367269456387, - 0.11729241907596588, - 0.009399447590112686, - 0.0861792117357254, - 0.004974448122084141, - 0.20268389582633972, - -0.06704418361186981, - 0.12578974664211273, - -0.019175512716174126, - -0.03014247491955757, - -0.0019926263485103846, - 0.03429127857089043, - -0.09525948762893677, - 0.01248068455606699, - 0.15326575934886932, - -0.03648138418793678, - 0.057147227227687836, - 0.028883259743452072, - 0.1634775847196579, - 0.08865201473236084, - -0.1916368156671524, - -0.08679519593715668, - -0.5173342227935791, - -0.07733722031116486, - 0.06933696568012238, - 0.15863750874996185, - -0.26812443137168884, - -0.013752956874668598, - 0.0985134094953537, - -0.04632226377725601, - -0.1769380122423172, - 0.029761439189314842, - 0.07647883892059326, - 0.015910690650343895, - -0.1065220981836319, - 0.03270692378282547, - -0.06884055584669113, - -0.009572180919349194, - -0.03752324730157852, - 0.046956997364759445, - 0.13459935784339905, - 0.05556648597121239, - 0.005140150431543589, - -0.18806786835193634, - -0.02665076218545437, - -0.05613326281309128, - 0.0941164419054985, - -0.09072589874267578, - 0.006406528875231743, - -0.12869223952293396, - -0.11389891803264618, - 0.034323688596487045, - -0.12335806339979172, - -0.024770274758338928, - 0.30221566557884216, - 0.011450733989477158, - -0.19592434167861938, - 0.07453598827123642, - -0.13188333809375763, - -0.17493167519569397, - 0.25114932656288147, - 0.1546190083026886, - 0.0018013914814218879, - -0.09941217303276062, - 0.02141127735376358, - -0.01277556736022234, - -0.31161046028137207, - 0.038346532732248306, - -7.84418371040374e-05, - 0.14943625032901764 - ], - [ - -0.057931337505578995, - 0.04676571115851402, - 0.031560298055410385, - -0.31932875514030457, - 0.03226117789745331, - -0.22664225101470947, - -0.1987306773662567, - 0.24023263156414032, - -0.07392103224992752, - -0.18093419075012207, - 0.133636936545372, - 0.0026879049837589264, - -0.016858773306012154, - -0.15831661224365234, - -0.08322469890117645, - 0.015900209546089172, - 0.07384690642356873, - -0.07268921285867691, - 0.22745943069458008, - 0.11120070517063141, - 0.2824326455593109, - 0.09807176142930984, - -0.09041669219732285, - -0.04711882770061493, - -0.12488167732954025, - -0.22885379195213318, - 0.21135295927524567, - 0.01846795529127121, - 0.09615090489387512, - 0.13404689729213715, - -0.013243069872260094, - -0.10804439336061478, - -0.07252001762390137, - 0.08882910013198853, - -0.05820072069764137, - -0.027983849868178368, - -0.1459638774394989, - 0.031471334397792816, - -0.020571263507008553, - 0.0678873062133789, - 0.02832219935953617, - 0.08901669085025787, - 0.05193544551730156, - -0.00212711188942194, - 0.019466858357191086, - -0.2799759805202484, - 0.027787618339061737, - 0.04066411033272743, - 0.0695410743355751, - 0.11386518180370331, - -0.01207781583070755, - -0.07779944688081741, - -0.05497089400887489, - -0.010085235349833965, - 0.03456110134720802, - -0.004409261979162693, - 0.18323655426502228, - 0.1590157151222229, - -0.14985722303390503, - 0.05943793058395386, - 0.03351476415991783, - -0.03505415841937065, - 0.0415654256939888, - 0.15158125758171082, - -0.10378233343362808, - 0.06679604947566986, - 0.03420516103506088, - -0.19503338634967804, - -0.019222533330321312, - 0.054617252200841904, - 0.07456890493631363, - -0.3173748254776001, - 0.02183847874403, - 0.0011425345437601209, - -0.07108188420534134, - 0.07732230424880981, - -0.015918271616101265, - 0.014112315140664577, - -0.020890481770038605, - -0.018968237563967705, - -0.1597152203321457, - 0.1506420075893402, - -0.06922784447669983, - 0.06597818434238434, - -0.02436762861907482, - -0.031067606061697006, - 0.01890355534851551, - 0.06144223362207413, - -0.22258806228637695, - -0.048629410564899445, - -0.30330151319503784, - -0.12608279287815094, - -0.2021186500787735, - -0.09767087548971176, - 0.06845001131296158, - 0.13384124636650085, - 0.02682410553097725, - 0.07685317099094391, - -0.03651538863778114, - 0.02496396005153656, - -0.0644657090306282, - -0.030506810173392296, - 0.06659489125013351, - -0.008992202579975128, - 0.06352001428604126, - -0.05934641510248184, - -0.23099754750728607, - 0.025136062875390053, - -0.28503480553627014, - -0.04087712988257408, - -0.0946996808052063, - 0.1775009036064148, - 0.04337351396679878, - 0.07568489760160446, - -0.001892865402624011, - -0.032457925379276276, - -0.12819498777389526, - 0.12104827165603638, - 0.1855820119380951, - 0.2587057054042816, - -0.16338424384593964, - -0.05892932415008545, - 0.0708334892988205, - 0.08962573111057281, - -0.29585233330726624, - -0.11862656474113464, - 0.047787055373191833, - -0.32008400559425354 - ], - [ - -0.2844700217247009, - -0.028808237984776497, - 0.013639555312693119, - -0.010822360403835773, - 0.3727062940597534, - -0.06374730169773102, - -0.14647674560546875, - 0.03837158530950546, - -0.048870787024497986, - 0.06730469316244125, - 0.37642326951026917, - 0.14971010386943817, - -0.5286074876785278, - -0.05259702354669571, - 0.028521763160824776, - 0.06119704619050026, - -0.07305024564266205, - 0.045818910002708435, - 0.022086089476943016, - -0.3048144280910492, - 0.30507394671440125, - -0.0393938384950161, - -0.10125887393951416, - -0.0033735898323357105, - 0.049415234476327896, - -0.12388786673545837, - -0.3920873701572418, - 0.055220216512680054, - 0.037233490496873856, - 0.09767460078001022, - 0.027545401826500893, - -0.04818166047334671, - -0.1870957612991333, - -0.5076246857643127, - -0.18586668372154236, - 0.0022905725054442883, - 0.0853985920548439, - 0.06285956501960754, - -0.2037002295255661, - 0.03555610030889511, - 0.11115644872188568, - -0.41570237278938293, - 0.37359389662742615, - -0.05954284220933914, - 0.0063908835873007774, - -0.02368737943470478, - 0.3449402451515198, - 0.06068592146039009, - -0.16658543050289154, - -0.14561904966831207, - -0.16373613476753235, - -0.014388415031135082, - 0.11174788326025009, - -0.21835042536258698, - 0.06988918036222458, - 0.1490606814622879, - 0.15180593729019165, - 0.03899169713258743, - 0.022720851004123688, - -0.08441338688135147, - -0.1744716465473175, - 0.22738522291183472, - 0.07596806436777115, - 0.21617017686367035, - 0.5185579657554626, - -0.4741838276386261, - -0.15975862741470337, - -0.008101433515548706, - -0.08675838261842728, - -0.8212230205535889, - -0.2277543991804123, - 0.12778499722480774, - -0.7383280396461487, - -0.08339580148458481, - 0.08745130151510239, - 0.17725242674350739, - 0.033963073045015335, - 0.3018995523452759, - 0.00753203546628356, - -0.20856428146362305, - 0.07117456942796707, - -0.16139069199562073, - 0.04776102304458618, - 0.051256176084280014, - -0.23810303211212158, - 0.034527070820331573, - 0.027872618287801743, - -0.037180040031671524, - 0.009545322507619858, - 0.06901907920837402, - 0.4433479309082031, - 0.12801507115364075, - -0.2932189702987671, - -0.2749660015106201, - 0.33123689889907837, - 0.05365666002035141, - -0.16338683664798737, - 0.04374559968709946, - -0.1003754660487175, - 0.019461067393422127, - -0.14797253906726837, - 0.0756947249174118, - -0.4872519075870514, - -0.04216231405735016, - -0.2900966703891754, - -0.238920196890831, - -0.035728029906749725, - -0.23591332137584686, - 0.05014707148075104, - -0.07696206122636795, - -0.046538468450307846, - -0.11927056312561035, - 0.21928070485591888, - 0.06161428242921829, - -0.10891838371753693, - -0.2489786148071289, - 0.027256693691015244, - -0.19853946566581726, - -0.03578636422753334, - 0.03161167725920677, - -0.026132851839065552, - -0.017653927206993103, - -0.5730936527252197, - 0.08169857412576675, - -0.08903428167104721, - 0.08605242520570755, - 0.31881317496299744, - 0.15935097634792328 - ], - [ - -0.10992591828107834, - 0.06294616311788559, - 0.05293181911110878, - -0.1327795833349228, - -0.03389513120055199, - 0.06948719173669815, - 0.011268391273915768, - 0.0595281682908535, - 0.18986991047859192, - 0.22330674529075623, - -0.24599291384220123, - -0.16066612303256989, - 0.18291611969470978, - 0.011524345725774765, - -0.5592898726463318, - -0.15485915541648865, - 0.20170776546001434, - 0.07820887118577957, - -0.15635612607002258, - 0.02177715301513672, - 0.02772601880133152, - 0.1269187182188034, - -0.2965095341205597, - -0.1724909543991089, - 0.07977760583162308, - 0.17806535959243774, - -0.4216062128543854, - -0.05006338655948639, - 0.09380391240119934, - -0.18199864029884338, - 0.035103652626276016, - 0.016501834616065025, - -0.1600726693868637, - 0.17796823382377625, - 0.07156526297330856, - -0.2404380440711975, - 0.11371267586946487, - -0.006292153149843216, - 0.17945024371147156, - -0.2574010193347931, - -0.2365780472755432, - 0.04174041748046875, - 0.13886816799640656, - -0.10833429545164108, - -1.1836513294838369e-05, - -0.0591987706720829, - 0.0377790629863739, - 0.048982683569192886, - 0.2529616057872772, - 0.15419423580169678, - -0.15173865854740143, - 0.018042374402284622, - -0.003924254328012466, - 0.15501324832439423, - 0.024113643914461136, - 0.025774510577321053, - 0.2061021775007248, - 0.11098195612430573, - -0.2087148278951645, - 0.1666935831308365, - 0.23932932317256927, - 0.21524085104465485, - 0.17176087200641632, - 0.06099153310060501, - 0.1293404996395111, - 0.17875409126281738, - -0.5659262537956238, - 0.1147182509303093, - -0.08159805089235306, - -0.31950339674949646, - -0.27345433831214905, - -0.025521965697407722, - -0.363013356924057, - -0.05234351009130478, - 0.06978554278612137, - 0.02640795335173607, - -0.0023570405319333076, - 0.08333086222410202, - -0.05796732008457184, - -0.08398536592721939, - -0.16811326146125793, - -0.23297640681266785, - 0.02300517074763775, - -0.1551523506641388, - 0.2743947207927704, - -0.3655557334423065, - 0.05276399478316307, - -0.07430847734212875, - 0.001714037382043898, - -0.04971063882112503, - 0.1742926687002182, - -0.22748109698295593, - -0.34282293915748596, - -0.020815838128328323, - -0.14725050330162048, - 0.011130235157907009, - -0.2401459813117981, - 0.3138495683670044, - -0.5373295545578003, - 0.0023453361354768276, - -0.010622920468449593, - -0.16125701367855072, - -0.178779736161232, - -0.11946995556354523, - -0.055056650191545486, - -0.1897992193698883, - -0.42015761137008667, - 0.31870734691619873, - -0.08792531490325928, - 0.07127426564693451, - -0.006108525674790144, - 0.15865501761436462, - -0.3788885176181793, - -0.04802878573536873, - 0.04939616844058037, - 0.38097894191741943, - 0.09732647985219955, - 0.038004789501428604, - -0.5386629104614258, - 0.09361781924962997, - -0.3959081768989563, - 0.14170975983142853, - 0.24393858015537262, - -0.05158548429608345, - -0.35483941435813904, - 0.08243720233440399, - 0.4355694353580475, - 0.017935259267687798 - ], - [ - -0.09504737704992294, - 0.03814321756362915, - 0.19251589477062225, - -0.07069138437509537, - -0.11735629290342331, - 0.10534565895795822, - -0.10165545344352722, - -0.14102940261363983, - -0.13226591050624847, - 0.007005801424384117, - 0.02985970489680767, - 0.07936964184045792, - -0.6756815314292908, - -0.004462141543626785, - -0.003328886814415455, - -0.054057441651821136, - 0.3961148262023926, - 0.031333133578300476, - 0.3419254422187805, - -1.5545575618743896, - -1.8073573112487793, - 0.04835018888115883, - -0.06621672213077545, - 0.0654698982834816, - 0.11029107868671417, - -0.15954026579856873, - 0.09718896448612213, - 0.01058522891253233, - -0.015305875800549984, - 0.11794907599687576, - -0.07894407212734222, - -0.1756177693605423, - -0.28834086656570435, - -0.06660226732492447, - 0.12221450358629227, - -0.032818201929330826, - -0.5335270762443542, - -0.4405561685562134, - 0.2446363866329193, - -0.08983560651540756, - -0.0665493905544281, - 0.21899861097335815, - 0.1774977147579193, - 0.10739301890134811, - 0.054015152156353, - 0.07766268402338028, - 0.09007930010557175, - -0.11462567746639252, - 0.23740418255329132, - 0.16818732023239136, - 0.08789998292922974, - 0.05478785187005997, - 0.01801237463951111, - 0.20310476422309875, - -0.1059441938996315, - 0.05987584590911865, - -0.3295327126979828, - 0.035538241267204285, - 0.21564818918704987, - -0.5653443336486816, - -0.7986452579498291, - 0.03291596099734306, - 0.1638323962688446, - -0.5297175645828247, - -0.022905895486474037, - 0.0434148870408535, - 0.15279027819633484, - 0.013314558193087578, - -0.07382505387067795, - 0.2002612054347992, - -0.21723191440105438, - -0.12464546412229538, - 0.04300158843398094, - -0.06718987226486206, - 0.11162332445383072, - 0.034300245344638824, - 0.02470703423023224, - 0.10004332661628723, - -0.2567947804927826, - -0.9704762697219849, - 0.04648102819919586, - 0.1361691802740097, - -0.07546725124120712, - 0.9300634264945984, - -0.33756014704704285, - 0.03787078708410263, - -0.01069867704063654, - 0.25141775608062744, - -0.1922580748796463, - -0.10937047004699707, - 0.22346897423267365, - -0.08307121694087982, - -0.844054102897644, - -0.036981116980314255, - -1.2671045064926147, - -0.14072991907596588, - -0.4736660122871399, - -0.047189705073833466, - 0.040674589574337006, - -0.2579832077026367, - 0.09915654361248016, - -0.43463006615638733, - -0.14166904985904694, - -0.7018392086029053, - 0.5571130514144897, - 0.05528317019343376, - 0.046841010451316833, - -0.01242025475949049, - -0.09942496567964554, - 0.5649347901344299, - -0.20540086925029755, - 0.24493055045604706, - -0.04554209113121033, - -0.13907596468925476, - -0.18828994035720825, - -0.09154419600963593, - -0.09863393753767014, - 0.0848577618598938, - -0.04180509224534035, - 0.0427023246884346, - -0.1330210566520691, - -0.20735061168670654, - -0.4460740089416504, - 0.35854384303092957, - 0.350202351808548, - 0.3085081875324249, - 0.09496332705020905, - -0.3187117874622345 - ], - [ - 0.00826207920908928, - -0.17036442458629608, - 0.16956280171871185, - 0.05665018409490585, - -0.41616660356521606, - -0.02198522910475731, - 0.1317703276872635, - 0.02359050139784813, - 0.18789348006248474, - 0.11013378202915192, - 0.25434064865112305, - -0.029478469863533974, - 0.4354928433895111, - -0.13719771802425385, - -0.04760434478521347, - -0.05107756704092026, - 0.03623955324292183, - 0.06056300550699234, - 0.0009544981294311583, - -0.3473834693431854, - -0.7478641271591187, - 0.1584187150001526, - -0.12803016602993011, - 0.049315162003040314, - 0.08214504271745682, - 0.03281671181321144, - 0.009988303296267986, - 0.14750882983207703, - -0.1401960402727127, - -0.019428541883826256, - -0.14678555727005005, - 0.241935133934021, - -0.2653272747993469, - 0.18951725959777832, - -0.15260407328605652, - -0.27242225408554077, - -0.27575019001960754, - 0.184384286403656, - -0.20168530941009521, - -0.17849569022655487, - -0.009748085401952267, - -0.09181280434131622, - -0.09598128497600555, - -0.11298323422670364, - -0.008697286248207092, - -0.3363116979598999, - -0.0323861688375473, - 0.14833243191242218, - 0.12453241646289825, - -0.41279691457748413, - -0.08180126547813416, - -0.030452042818069458, - 0.016901595517992973, - 0.153997540473938, - -0.07433262467384338, - 0.11704505980014801, - 0.2565838396549225, - 0.1644185334444046, - 0.1330583095550537, - -0.10123724490404129, - -0.3928241729736328, - 0.18613408505916595, - -0.012530628591775894, - -0.09419838339090347, - 0.1788119673728943, - 0.2084224671125412, - 0.19888044893741608, - -0.05791282281279564, - 0.010141042992472649, - 0.09553244709968567, - 0.20334787666797638, - 0.03826738893985748, - 0.13083937764167786, - 0.00025820991140790284, - -0.27196016907691956, - 0.09734280407428741, - 0.16093650460243225, - 0.08955198526382446, - -0.04222914204001427, - -0.08410514146089554, - -0.05284685268998146, - 0.013127036392688751, - -0.046610213816165924, - -0.25042954087257385, - -0.051401056349277496, - 0.17128968238830566, - 0.051585063338279724, - 0.16510359942913055, - 0.12969690561294556, - 0.08426947146654129, - 0.13037504255771637, - 0.14512485265731812, - -1.022443413734436, - 0.15745048224925995, - 0.0038077698554843664, - -0.06111006438732147, - -0.07440412044525146, - 0.1388392299413681, - 0.19755159318447113, - -0.015021322295069695, - -0.028497468680143356, - 0.00849470216780901, - -0.0029779034666717052, - 0.005381310824304819, - -0.17882679402828217, - 0.049252431839704514, - 0.07118367403745651, - -0.13490457832813263, - -0.12662304937839508, - 0.003441554494202137, - -0.08777172863483429, - -0.0779477059841156, - 0.22539277374744415, - -0.03571528196334839, - 0.01556404959410429, - 0.1042274758219719, - -0.05476674064993858, - -0.08992290496826172, - 0.03269844502210617, - 0.05469800531864166, - 0.06168848276138306, - -0.16720812022686005, - -0.06592715531587601, - -0.025193560868501663, - -0.07905664294958115, - -0.10791612416505814, - -0.05785524100065231, - 0.1371879130601883 - ], - [ - 0.07062950730323792, - 0.20408162474632263, - 0.10676775127649307, - -0.09831234812736511, - -0.08411221206188202, - 0.0037321457639336586, - 0.12322406470775604, - 0.03196702152490616, - 0.11803048104047775, - 0.10732411593198776, - 0.04050784930586815, - -0.056104060262441635, - 0.3319401443004608, - -0.016812102869153023, - 0.124602310359478, - -0.6146717071533203, - 0.23294201493263245, - 0.5760626196861267, - 0.24226708710193634, - 0.5344154834747314, - 0.07773078233003616, - 0.06783264875411987, - 0.019812947139143944, - 0.10175902396440506, - -0.4809674322605133, - -0.07688675075769424, - 0.17616894841194153, - 0.030312329530715942, - -0.08690944314002991, - 0.07149839401245117, - 0.04005451872944832, - 0.242025226354599, - -0.19808068871498108, - 0.03317704796791077, - -0.24886931478977203, - -0.07284005731344223, - -0.06297941505908966, - 0.18243791162967682, - -0.14910565316677094, - 0.06621099263429642, - -0.14458221197128296, - 0.026793446391820908, - -0.016177134588360786, - -0.24264724552631378, - -0.14334256947040558, - 0.14479684829711914, - 0.07383359968662262, - 0.20937541127204895, - 0.0029576176311820745, - 0.00993114523589611, - 0.14728277921676636, - -0.05470586568117142, - -0.21031762659549713, - 0.026293842121958733, - 0.021250493824481964, - 0.05948925390839577, - -0.17103122174739838, - 0.10194701701402664, - -0.08111989498138428, - -0.021941518411040306, - -0.2832324206829071, - -0.2518366575241089, - 0.14903129637241364, - -0.28011220693588257, - -0.1348002552986145, - -0.05931214243173599, - -0.08532548695802689, - 0.034552522003650665, - -0.03716877102851868, - 0.3281300961971283, - -0.04695723205804825, - 0.007571196183562279, - -0.08623506128787994, - -0.09671597182750702, - -0.16667070984840393, - -0.091814786195755, - 0.14025789499282837, - 0.20195411145687103, - -0.2612152695655823, - 0.028432732447981834, - -0.03167806565761566, - -0.01580817624926567, - 0.08364537358283997, - 0.018187755718827248, - 0.029392287135124207, - 0.020834816619753838, - -0.5257556438446045, - -0.13787657022476196, - 0.08300191164016724, - -0.01668335124850273, - -0.1032351478934288, - 0.505081295967102, - -0.4197598397731781, - -0.21764254570007324, - 0.04332650452852249, - -0.15630537271499634, - 0.0887550413608551, - -0.3400382101535797, - -0.5321564078330994, - -0.21906690299510956, - 0.05037899687886238, - -0.08185530453920364, - -0.06740721315145493, - -0.09015244990587234, - 0.20350199937820435, - 0.22322039306163788, - -0.001217774348333478, - 0.11935678869485855, - -0.3102191090583801, - -0.11313777416944504, - 0.05293910205364227, - 0.0059758019633591175, - -0.13472746312618256, - -0.10790900141000748, - 0.1166258379817009, - 0.3060673475265503, - -0.21816758811473846, - -0.008304454386234283, - 0.07889848947525024, - -0.22403965890407562, - -0.10326699167490005, - 0.18266434967517853, - -0.16318121552467346, - 0.14864173531532288, - 0.219834104180336, - -0.2441873550415039, - 0.20704297721385956, - 0.11781461536884308 - ], - [ - 0.039343640208244324, - -0.05528906360268593, - -0.031396299600601196, - 0.017721079289913177, - -0.005985046271234751, - -0.017162015661597252, - 0.09949550777673721, - 0.03307585418224335, - -0.03866153955459595, - 0.029979346320033073, - -0.055466294288635254, - -0.14494140446186066, - -0.0523548498749733, - -0.10776856541633606, - 0.09713703393936157, - 0.0074309539049863815, - 0.00520939938724041, - 0.020074084401130676, - -0.07243605703115463, - -0.09205352514982224, - 0.1729525923728943, - 0.026043778285384178, - -0.07654813677072525, - -0.08106978982686996, - 0.10888468474149704, - -0.0885794460773468, - -0.025223782286047935, - 0.0611095055937767, - 0.03899270296096802, - -0.16660411655902863, - -0.03989091143012047, - -0.11982592940330505, - 0.057563841342926025, - -0.05798552930355072, - 0.10797049105167389, - -0.03592795506119728, - -0.09989313036203384, - 0.014134765602648258, - 0.042946986854076385, - 0.026015210896730423, - 0.022193163633346558, - -0.006772022694349289, - 0.15258754789829254, - -0.024887550622224808, - 0.10453978925943375, - -0.07259868830442429, - -0.06710069626569748, - -0.050422195345163345, - -0.14139164984226227, - 0.005072456318885088, - 0.19964133203029633, - -0.15547586977481842, - -0.052428994327783585, - 0.00892260018736124, - 0.07510624825954437, - 0.09770054370164871, - -0.026861442252993584, - -0.09976668655872345, - 0.07974722236394882, - -0.009952819906175137, - 0.0021986605133861303, - 0.10029482841491699, - 0.05973726883530617, - -0.028586866334080696, - 0.028565963730216026, - 0.161594420671463, - -0.2518689036369324, - -0.21201564371585846, - 0.06565915048122406, - -0.025195157155394554, - 0.07735827565193176, - 0.050215210765600204, - -0.10829400271177292, - 0.030763404443860054, - -0.043440598994493484, - 0.07601039111614227, - -0.049494218081235886, - -0.008901811204850674, - 0.07696651667356491, - 0.04403172433376312, - -0.021207008510828018, - 0.14552077651023865, - 0.03201063349843025, - 0.0069293431006371975, - -0.057520363479852676, - 0.06712079048156738, - -0.0427376851439476, - 0.01910516992211342, - -0.095307856798172, - 0.11301161348819733, - 0.024013131856918335, - 0.07118772715330124, - 0.07968463003635406, - -0.039409007877111435, - 0.11455775797367096, - -0.11815192550420761, - 0.008788729086518288, - 0.031139807775616646, - -0.1287432312965393, - -0.030268067494034767, - -0.04805348441004753, - -0.11988190561532974, - -0.034271273761987686, - -0.04182395711541176, - 0.004398145712912083, - -0.08602117002010345, - 0.08337955176830292, - -0.046409107744693756, - 0.058283381164073944, - 0.08603472262620926, - 0.0003876144182868302, - 0.018957020714879036, - 0.0010602043475955725, - 0.05096057057380676, - 0.05283350497484207, - 0.080174021422863, - 0.12086799740791321, - -0.026586215943098068, - -0.056771911680698395, - 0.08281164616346359, - 0.009452825412154198, - -0.016265960410237312, - 0.05491306260228157, - -0.00451164785772562, - -0.022449523210525513, - 0.006326174363493919, - -0.047152865678071976, - -0.0791773721575737 - ], - [ - -0.02680901437997818, - 0.04456852376461029, - 0.04995998367667198, - -0.01953991688787937, - -0.03530638664960861, - 0.04610345512628555, - 0.04165656864643097, - 0.05606025829911232, - -0.00023522402625530958, - -0.08275459706783295, - 9.005246101878583e-05, - -0.05516372248530388, - 0.04659361019730568, - -0.05841856449842453, - 0.04125639796257019, - -0.0064588868990540504, - 0.024989528581500053, - 0.08228730410337448, - 0.11557576805353165, - 0.05530920997262001, - 0.0785900205373764, - 0.04960399866104126, - 0.02664068527519703, - 0.11722312867641449, - 0.07923530042171478, - -0.18454985320568085, - -0.017304088920354843, - 0.031935133039951324, - 0.06235995143651962, - -0.01837725006043911, - -0.06213510408997536, - -0.13798704743385315, - -0.08927779644727707, - 0.04174543917179108, - 0.02865150012075901, - -0.00044752334360964596, - -0.09941127151250839, - 0.03495108708739281, - 0.14351266622543335, - -0.008367171511054039, - 0.1453353613615036, - 0.02690790966153145, - 0.0007977214409038424, - 0.07328478246927261, - -0.012772386893630028, - -0.004093134310096502, - -0.056104037910699844, - 0.06982901692390442, - -0.027725908905267715, - 0.001962026348337531, - -0.13644294440746307, - 0.07331959158182144, - -0.06869703531265259, - 0.02389492839574814, - -0.017539825290441513, - -0.0810656026005745, - -0.01983054168522358, - 0.0005192008684389293, - 0.04733427241444588, - 0.023226935416460037, - -0.034762416034936905, - -0.017720580101013184, - -0.002586296759545803, - -0.02743210643529892, - 0.14236494898796082, - 0.06611646711826324, - -0.011383340694010258, - -0.18151947855949402, - -0.009386081248521805, - 0.03433949127793312, - 0.08333136141300201, - 0.07886802405118942, - 0.08572962135076523, - 0.046896569430828094, - 0.00688902148976922, - 0.1124100312590599, - -0.04512825608253479, - -0.010578319430351257, - 0.07748563587665558, - -0.05894193798303604, - -0.01141420193016529, - 0.1266210973262787, - -0.04588965326547623, - -0.050025518983602524, - 0.06369630247354507, - 0.06437646597623825, - -0.02933298982679844, - 0.09911200404167175, - -0.04039739444851875, - -0.006226087920367718, - -0.15052561461925507, - -0.010537318885326385, - 0.018890703096985817, - 0.06434519588947296, - -0.00482111144810915, - -0.056040678173303604, - 0.02842571958899498, - -0.05419834330677986, - 0.09007715433835983, - -0.008179510943591595, - 0.0007091247825883329, - -0.07366126030683517, - 0.11279283463954926, - -0.03337278962135315, - 0.07566022872924805, - 0.07144822180271149, - -0.00028278198442421854, - -0.0710919201374054, - -0.031133705750107765, - -0.027944492176175117, - 0.050594083964824677, - 0.10429167747497559, - 0.0698527842760086, - -0.07157225161790848, - 0.11084455251693726, - 0.024769946932792664, - -0.17032736539840698, - 0.09184965491294861, - -0.028921226039528847, - -0.06164158508181572, - -0.07758671790361404, - -0.003178437938913703, - 0.037643540650606155, - 0.07231781631708145, - -0.10061667114496231, - -0.0186628308147192, - 0.03188207000494003, - -0.012063825502991676 - ], - [ - 0.04184660315513611, - 0.12218637764453888, - 0.187053844332695, - -0.14552491903305054, - 0.07416565716266632, - -0.3564668893814087, - -0.04529449716210365, - -0.024167131632566452, - 0.04651229828596115, - -0.2713988423347473, - -0.12948209047317505, - -0.024510860443115234, - -0.33198797702789307, - 0.12814971804618835, - 0.006487732753157616, - 0.08312752097845078, - -0.03629077225923538, - -0.2233487069606781, - 0.11056563258171082, - 0.11516036838293076, - -0.41133424639701843, - -0.04917778819799423, - -0.005886328872293234, - -0.17711596190929413, - 0.07526475936174393, - -0.20924986898899078, - 0.2977084219455719, - 0.01789751462638378, - 0.07090257108211517, - -0.08760331571102142, - 0.09887681901454926, - -0.06877495348453522, - -0.21875838935375214, - 0.15971097350120544, - 0.026184700429439545, - 0.0031243874691426754, - 0.1127190813422203, - -0.035306379199028015, - 0.07345717400312424, - 0.027339741587638855, - -0.0036064202431589365, - 0.13626790046691895, - -0.11920525878667831, - 0.008525659330189228, - -0.039921585470438004, - -0.003908854443579912, - -0.10399197041988373, - 0.10498303174972534, - -0.1116369366645813, - 0.23612679541110992, - 0.0932052880525589, - 0.1789865642786026, - 0.043144144117832184, - 0.04160340875387192, - 0.12297949939966202, - -0.1065034344792366, - 0.038646407425403595, - 0.036563217639923096, - -0.10904667526483536, - 0.02541879191994667, - -0.3490541875362396, - 0.18042968213558197, - -0.00980855617672205, - -0.08009811490774155, - -0.0907079353928566, - -0.4989135265350342, - 0.18854890763759613, - 0.0683874785900116, - -0.40825873613357544, - 0.002873203018680215, - 0.15703071653842926, - -0.38055479526519775, - -0.122237928211689, - 0.019502032548189163, - -0.132590651512146, - 0.2942887544631958, - 0.0025757476687431335, - -0.12440188974142075, - -0.04862651973962784, - -0.010301540605723858, - 0.21414688229560852, - -0.23572352528572083, - 0.09659972041845322, - 0.07314793020486832, - 0.005589250009506941, - -0.06849091500043869, - 0.10665397346019745, - -0.06187494471669197, - -0.19952359795570374, - -0.2216297686100006, - 0.030555931851267815, - -0.12020791321992874, - -0.19082389771938324, - 0.04788019508123398, - 0.12246611714363098, - 0.10159742832183838, - -0.16049636900424957, - -0.07396385073661804, - -0.012247608043253422, - -0.10770740360021591, - 0.18443670868873596, - -0.08341501653194427, - 0.046902503818273544, - 0.0206928551197052, - -0.015642035752534866, - -0.29878559708595276, - 0.08711623400449753, - -0.06448405981063843, - -0.029813252389431, - 0.11123139411211014, - 0.05302610993385315, - 0.1958516538143158, - 0.02174725942313671, - 0.09459438920021057, - -0.10891860723495483, - -0.8298431038856506, - -0.010869813151657581, - 0.029071323573589325, - -0.234670490026474, - 0.19867867231369019, - 0.2801978886127472, - -0.19348283112049103, - -0.22788499295711517, - 0.19306322932243347, - -0.021936122328042984, - 0.12827585637569427, - 0.27825435996055603, - 0.11344289779663086 - ], - [ - 0.06816712021827698, - 0.1669611632823944, - 0.14921796321868896, - -0.9147858619689941, - -0.005651181563735008, - 0.03556949645280838, - -0.4703153967857361, - 0.10316535085439682, - 0.10405445098876953, - 0.15853941440582275, - 0.2545525133609772, - -0.03948155418038368, - 0.24576494097709656, - -0.21635200083255768, - -0.2729499936103821, - 0.10008502751588821, - -0.025241227820515633, - 0.7085394859313965, - -0.18546108901500702, - -0.6256080865859985, - -0.18095125257968903, - 0.16116711497306824, - -0.09507877379655838, - -0.037821780890226364, - -0.15982376039028168, - -0.27025073766708374, - -0.019091535359621048, - -0.19568999111652374, - -0.09716746211051941, - -0.03246719390153885, - 0.22099968791007996, - -0.4411758482456207, - -0.059055209159851074, - -0.05856786668300629, - -0.28962332010269165, - -0.15297867357730865, - -0.11611264944076538, - -0.08864841610193253, - 0.04635544866323471, - 0.15925022959709167, - -0.32793307304382324, - -0.07744668424129486, - -0.04677401855587959, - -0.11061180382966995, - -0.8263669610023499, - -0.16805681586265564, - 0.4758889377117157, - 0.3626023828983307, - 0.17875823378562927, - -0.1819436401128769, - -0.20459015667438507, - 0.12811842560768127, - 0.08237505704164505, - 0.0014551745261996984, - -0.2037612944841385, - 0.08784633129835129, - 0.1692775934934616, - 0.09130627661943436, - -0.07132097333669662, - -0.09378860890865326, - -0.08448892086744308, - -0.10878828912973404, - -0.05419682711362839, - -0.2101709395647049, - 0.04264992102980614, - 0.0860786885023117, - 0.2168550044298172, - 0.0025893710553646088, - 0.01294972375035286, - -0.039180655032396317, - 0.1871774047613144, - 0.0033453505020588636, - -0.25099948048591614, - -0.2725472152233124, - -0.47173652052879333, - 0.2191726714372635, - -0.280659943819046, - -0.9304627776145935, - -0.355610728263855, - 0.013721353374421597, - -0.13586781919002533, - -0.23808583617210388, - 0.15713149309158325, - -0.06893289089202881, - -0.12002011388540268, - 0.15188805758953094, - 0.14597928524017334, - 0.20122715830802917, - 0.22376807034015656, - -0.013889013789594173, - 0.1933085024356842, - 0.35562169551849365, - 0.009428433142602444, - -0.2196909338235855, - -0.061648860573768616, - -0.1062820553779602, - 0.3600105345249176, - 0.13556723296642303, - -0.09912915527820587, - -0.7553201913833618, - 0.06891516596078873, - -0.09921479225158691, - 0.0920078232884407, - 0.07753375917673111, - -0.36023029685020447, - -0.3539535105228424, - -0.5030076503753662, - 0.027931228280067444, - 0.30297529697418213, - -0.06807316094636917, - 0.2104732245206833, - -0.42509859800338745, - 0.15896400809288025, - 0.191303089261055, - 0.11663074791431427, - 0.09342294186353683, - -0.14819182455539703, - 0.042659543454647064, - 0.024075442925095558, - 0.07538778334856033, - 0.007116188295185566, - 0.02837240882217884, - -0.17887137830257416, - -0.17289553582668304, - -0.20362181961536407, - 0.07188300043344498, - -0.06909217685461044, - -0.11693855375051498 - ], - [ - -0.03659050539135933, - -0.13951465487480164, - 0.09687329083681107, - -0.06617806851863861, - 0.05291234329342842, - 0.010775621980428696, - 0.031072478741407394, - -0.059151846915483475, - 0.05587488040328026, - -0.016148053109645844, - 0.14599159359931946, - 0.13420364260673523, - -0.17319637537002563, - -0.07856179773807526, - -0.08787840604782104, - -0.02872447855770588, - 0.1671314239501953, - -0.21409884095191956, - -0.02647704817354679, - -0.12452127039432526, - -0.040452685207128525, - 0.00316391303204, - -0.15746735036373138, - 0.0555284284055233, - -0.0029142077546566725, - -0.05270341783761978, - 0.1542748659849167, - -0.09783735126256943, - 0.13474851846694946, - 0.08430666476488113, - -0.06649921089410782, - -0.0761638730764389, - -0.10178010165691376, - -0.017518706619739532, - 0.043492089956998825, - 0.012107538059353828, - -0.11644679307937622, - 0.06603296846151352, - -0.15838061273097992, - 0.04585065692663193, - 0.0757729709148407, - -0.05224213749170303, - 0.04748325049877167, - 0.10953782498836517, - -0.010537451133131981, - -0.1867198348045349, - 0.05298299342393875, - -0.14793828129768372, - 0.1583813726902008, - 0.004034178797155619, - -0.035077355802059174, - -0.2747015655040741, - 0.06295948475599289, - 0.035236820578575134, - -0.1072302758693695, - 0.07239974290132523, - 0.2196403294801712, - 0.15601153671741486, - -0.07855222374200821, - -0.0054009114392101765, - -0.13757292926311493, - -0.04407311603426933, - -0.02955280803143978, - 0.05792798101902008, - 0.06891844421625137, - 0.011730763129889965, - 0.18097640573978424, - 0.041041020303964615, - -0.06945661455392838, - -0.04792236536741257, - -0.01661137118935585, - -0.0485394112765789, - 0.13165493309497833, - -0.043900687247514725, - 0.044644422829151154, - -0.004929292947053909, - -0.12835608422756195, - -0.28444793820381165, - -0.0342266708612442, - 0.07114441692829132, - -0.18344828486442566, - 0.026726121082901955, - -0.014703875407576561, - 0.0007623568526469171, - -0.12135091423988342, - 0.002192347077652812, - 0.10958565026521683, - 0.0843985453248024, - 0.006787269841879606, - -0.00619725463911891, - 0.16494961082935333, - -0.01603946089744568, - -0.221614271402359, - 0.0592527911067009, - 0.04577099531888962, - 0.10602207481861115, - -0.04550449922680855, - 0.08952442556619644, - 0.010127106681466103, - -0.23720663785934448, - -0.05248814448714256, - 0.040054965764284134, - -0.002014769008383155, - -0.07009302079677582, - -0.0706329345703125, - -0.11958833783864975, - 0.00848864670842886, - -0.06270486116409302, - 0.01732959970831871, - -0.07989004999399185, - 0.07793155312538147, - 0.025497352704405785, - -0.02718839980661869, - 0.046647511422634125, - -0.057425834238529205, - 0.031431831419467926, - -0.10488121211528778, - 0.14564234018325806, - 0.03156057000160217, - 0.15347854793071747, - -0.10059128701686859, - -0.018728919327259064, - 0.19918720424175262, - 0.22199216485023499, - -0.11636379361152649, - -0.1416979432106018, - 0.08755689114332199, - 0.1108296737074852 - ], - [ - 0.3273962140083313, - -0.09161362051963806, - -0.016535619273781776, - -0.08057495951652527, - -0.08731499314308167, - -0.49288415908813477, - 0.10627418011426926, - -0.021653974428772926, - -0.05700734257698059, - -0.0006110180984251201, - 0.14501552283763885, - -0.11893128603696823, - -1.6352616548538208, - 0.11249319463968277, - -0.08955124765634537, - -0.12836459279060364, - -0.39704203605651855, - 0.07206829637289047, - 0.1330057680606842, - 0.1498335748910904, - 0.14233633875846863, - -0.23813354969024658, - 0.03329815715551376, - -0.22015886008739471, - 0.028160570189356804, - -0.08306238055229187, - 0.3087393641471863, - -0.1009536013007164, - -0.15982866287231445, - -0.3260402977466583, - 0.06664086133241653, - 0.13112951815128326, - 0.1723480373620987, - 0.19691939651966095, - -0.3206341862678528, - -0.15886808931827545, - -0.04317602887749672, - 0.0054625170305371284, - -0.23887322843074799, - 0.12085366249084473, - -0.0029327047523111105, - 0.23097309470176697, - -0.1332031786441803, - -0.17394165694713593, - 0.16312849521636963, - 0.11935395747423172, - -0.05700867623090744, - 0.08909250050783157, - -0.09962256252765656, - 0.24343916773796082, - 0.08672957867383957, - 0.06748337298631668, - -0.1304151713848114, - -0.14422419667243958, - -0.05693608149886131, - -0.1031961590051651, - 0.08272887021303177, - 0.2645004391670227, - -0.15639743208885193, - 0.10261597484350204, - -0.00800550077110529, - 0.1001395508646965, - 0.1287437379360199, - -0.27271321415901184, - -0.0394158661365509, - 0.04946065694093704, - 0.11651189625263214, - -0.2161467969417572, - -0.2123977541923523, - 0.10775340348482132, - 0.2331734299659729, - -0.14402452111244202, - -0.003717035287991166, - -0.02789275534451008, - -0.11394866555929184, - 0.14234599471092224, - 0.03951741009950638, - -0.149675190448761, - -0.07605940848588943, - -0.0012004936579614878, - -0.2231462150812149, - -0.21617433428764343, - -0.0038362254854291677, - 0.018399015069007874, - 0.03414956480264664, - 0.03002401441335678, - -0.09034019708633423, - 0.1557830572128296, - -0.07291919738054276, - 0.043498411774635315, - -0.0919022262096405, - -0.08479759097099304, - -0.06574303656816483, - -0.004369721747934818, - 0.03062618151307106, - -0.11595692485570908, - 0.1092069000005722, - -0.07301148027181625, - 0.07405918091535568, - -0.24496181309223175, - -0.031301192939281464, - -0.18977706134319305, - 0.03765131160616875, - 0.023552514612674713, - -0.0013368577929213643, - -0.11323811113834381, - -0.15886826813220978, - 0.17266668379306793, - -0.11227794736623764, - 0.033062644302845, - 0.07064338028430939, - -0.5133976936340332, - 0.22012941539287567, - 0.10951317846775055, - -0.04302984103560448, - -0.27083370089530945, - 0.1438116431236267, - 0.254339337348938, - -0.016837691888213158, - 0.039612144231796265, - 0.21017570793628693, - -0.2714381217956543, - 0.0793779119849205, - -0.11445919424295425, - -0.3139689564704895, - -0.11331900209188461, - 0.17284204065799713, - -0.024502916261553764 - ], - [ - -0.002941761864349246, - -0.17560790479183197, - -0.1727912873029709, - 0.0512942299246788, - 0.021632233634591103, - 0.03146487846970558, - 0.03634396940469742, - -0.12041804194450378, - -0.05380634963512421, - -0.0481334924697876, - -0.06328552216291428, - -0.05689336732029915, - -0.09020183235406876, - -0.0912633165717125, - 0.10141853988170624, - -0.02628502808511257, - -0.11012677848339081, - -0.00534454733133316, - 0.05631250515580177, - -0.08152817189693451, - 0.032827720046043396, - -0.09533423185348511, - -0.04290631413459778, - 0.11135834455490112, - -0.02895382232964039, - -0.032064538449048996, - 0.005697549320757389, - 0.08756784349679947, - 0.07222053408622742, - -0.015418276190757751, - -0.1028999537229538, - -0.0008464159327559173, - 0.0511598102748394, - -0.05584995448589325, - -0.1956242024898529, - -0.04471680894494057, - -0.01566525362432003, - -0.06455346196889877, - -0.019685450941324234, - 0.06851392984390259, - -0.011926657520234585, - 0.044774651527404785, - 0.07288236916065216, - 0.10694516450166702, - 0.08736639469861984, - 0.1065722182393074, - 0.027580885216593742, - 0.058326590806245804, - -0.014792128466069698, - -0.06975778937339783, - 0.03901944309473038, - -0.004201431758701801, - 0.07069192081689835, - 0.10732332617044449, - -0.09596066921949387, - -0.0616946779191494, - 0.07092032581567764, - 0.007667285855859518, - 0.06712962687015533, - 0.026250364258885384, - 0.08537507057189941, - -0.0014958545798435807, - 0.14142964780330658, - -0.36776426434516907, - 0.025934189558029175, - 0.0898609459400177, - -0.026911459863185883, - 0.03633580729365349, - 0.05672615021467209, - -0.01920611783862114, - -0.1422828733921051, - 0.10418301075696945, - -0.09944427758455276, - 0.12206653505563736, - 0.03547729179263115, - 0.006640707608312368, - 0.12215108424425125, - -0.0810949057340622, - 0.05695689469575882, - 0.0006908435025252402, - -0.019783291965723038, - 0.053446974605321884, - -0.01720094308257103, - -0.035274285823106766, - 0.011445987969636917, - 0.10159288346767426, - -0.01854035072028637, - -0.08366621285676956, - -0.02086693048477173, - -0.013750730082392693, - 0.055133964866399765, - -0.050689373165369034, - 0.08766137063503265, - -0.027531201019883156, - 0.024648349732160568, - 0.011541386134922504, - 0.0587247833609581, - -0.08937090635299683, - 0.1690862625837326, - 0.1028122529387474, - 0.05885342136025429, - 0.00042149046203121543, - -0.007084849756211042, - -0.07005082815885544, - 0.08526858687400818, - -0.014345753006637096, - 0.11207114905118942, - -0.007661192212253809, - 0.006899328902363777, - -0.04091697558760643, - 0.12291263788938522, - 0.02519596740603447, - -0.28693461418151855, - -0.06446775048971176, - -0.08245190232992172, - 0.16229774057865143, - -0.07769344747066498, - 0.11632157117128372, - 0.015632063150405884, - 0.0038552326150238514, - 0.07665443420410156, - 0.030715472996234894, - 0.019107863306999207, - 0.13070039451122284, - -0.024515150114893913, - -0.01673641987144947, - 0.00985648948699236, - -0.09992681443691254 - ], - [ - 0.012301706708967686, - -0.1865394562482834, - 0.12609852850437164, - 0.055411916226148605, - 0.0803336575627327, - 0.08742652088403702, - 0.18860386312007904, - -0.012310086749494076, - 0.10441114008426666, - 0.017437050119042397, - -0.095530666410923, - 0.11900115013122559, - 0.13463552296161652, - -0.11324873566627502, - -0.1682630330324173, - -0.10532485693693161, - 0.005521008744835854, - -0.03265417367219925, - -0.19402135908603668, - -0.01461628545075655, - 0.015015332028269768, - 0.0034590386785566807, - -0.036276496946811676, - 0.017033472657203674, - -0.14103905856609344, - 0.010103310458362103, - -0.009501595981419086, - 0.0038069237489253283, - 0.03574692830443382, - 0.0362301766872406, - 0.34418052434921265, - -0.04488551989197731, - -0.10760709643363953, - 0.09666061401367188, - -0.05151355639100075, - -0.28953415155410767, - -0.013422392308712006, - 0.10261782258749008, - -0.04011663421988487, - -0.0059935650788247585, - -0.0334150567650795, - -0.08485536277294159, - 0.07634840160608292, - -0.0042059230618178844, - 0.006024524569511414, - -0.0859842449426651, - -0.020825102925300598, - 0.022956855595111847, - 0.07369617372751236, - 0.06279696524143219, - -0.06914542615413666, - -0.10594988614320755, - 0.03801831975579262, - -0.1473183035850525, - -0.026315605267882347, - -0.010381347499787807, - 0.13979850709438324, - 0.0016420113388448954, - -0.024791482836008072, - -0.39615005254745483, - 0.112028568983078, - -0.2427929937839508, - -0.020595915615558624, - 0.11579952389001846, - -0.025587081909179688, - 0.018722930923104286, - -0.03667612001299858, - -0.11392521113157272, - 0.05068076774477959, - 0.06799103319644928, - -0.1285630166530609, - 0.1358880251646042, - -0.06018054857850075, - -0.04503580555319786, - -0.014425945468246937, - -0.06896030902862549, - -0.08295333385467529, - -0.06906097382307053, - -0.002480648923665285, - -0.05059168487787247, - 0.07196693867444992, - 0.04057547450065613, - -0.25372809171676636, - 0.20481865108013153, - -0.02248345874249935, - 0.09514666348695755, - 0.061819419264793396, - 0.1796906441450119, - 0.15091896057128906, - 0.10154664516448975, - -0.019665617495775223, - -0.011019846424460411, - -0.3557998836040497, - -0.026316186413168907, - -0.16811715066432953, - -0.20851384103298187, - 0.07865449786186218, - -0.002151824999600649, - 0.0028705610893666744, - -0.1532393991947174, - 0.07377748191356659, - -0.1570206880569458, - 0.034638892859220505, - -0.18472060561180115, - -0.028331344947218895, - 0.014422374777495861, - -0.033516693860292435, - 0.14503003656864166, - -0.10672903060913086, - -0.2824220359325409, - 0.1804901659488678, - -0.08295020461082458, - -0.4120776653289795, - 0.07755880802869797, - 0.05911930650472641, - 0.2060115933418274, - -0.15597741305828094, - -0.0777733102440834, - -0.03537466749548912, - 0.11676358431577682, - -0.0782470852136612, - 0.02059067413210869, - 0.06511933356523514, - 0.033795636147260666, - -0.409798800945282, - -0.06085214018821716, - -0.19383125007152557, - -0.15302999317646027 - ], - [ - -0.0938999280333519, - -0.27419963479042053, - 0.019205676391720772, - 0.07053342461585999, - -0.2604018449783325, - 0.1117512658238411, - 0.01715139113366604, - -0.009433966130018234, - 0.22768385708332062, - -0.0046544563956558704, - 0.08446452766656876, - -0.006287071388214827, - -0.08807071298360825, - -0.17385461926460266, - 0.1414819210767746, - -0.15319262444972992, - 0.0921265259385109, - 0.00534857576712966, - 0.09465035051107407, - -0.01572393625974655, - -0.1698799431324005, - 0.12188563495874405, - -0.09742250293493271, - 0.09272810071706772, - 0.027977686375379562, - 0.04821936786174774, - -0.027223115786910057, - -0.05037993565201759, - -0.019360454753041267, - -0.026345131918787956, - -0.1666080504655838, - -0.05890616774559021, - -0.1733086109161377, - 0.17864570021629333, - -0.1510128527879715, - -0.16279946267604828, - -0.16970008611679077, - 0.07922007143497467, - 0.07036653906106949, - -0.11295412480831146, - 0.029837526381015778, - -0.04210599511861801, - 0.19662699103355408, - 0.07059518992900848, - -0.10013685375452042, - 0.01621786504983902, - 0.16942569613456726, - -0.13478527963161469, - 0.17179371416568756, - 0.0016305040335282683, - -0.18615034222602844, - -0.08935011923313141, - -0.07771198451519012, - 0.20252646505832672, - 0.029728464782238007, - 0.057170260697603226, - 0.08609101176261902, - 0.14518745243549347, - -0.22716273367404938, - -0.030635204166173935, - -0.2850937843322754, - -0.0418272502720356, - 0.055602654814720154, - 0.02186974510550499, - 0.08305298537015915, - 0.1656361222267151, - 0.1152043491601944, - 0.13334456086158752, - 0.11743920296430588, - -0.0701037272810936, - 0.056531842797994614, - -0.006760588847100735, - 0.10336834192276001, - -0.0037316898815333843, - -0.12610146403312683, - -0.00983942300081253, - 0.14811448752880096, - -0.25732919573783875, - -0.027645573019981384, - -0.04392676427960396, - -0.005481339525431395, - 0.07578736543655396, - -0.009134958498179913, - -0.018662868067622185, - -0.06836294382810593, - 0.04037229344248772, - -0.01782483235001564, - 0.13785170018672943, - -0.0684676468372345, - 0.02057214453816414, - 0.12203533947467804, - 0.10938757658004761, - -0.5271665453910828, - 0.007249460555613041, - -0.09394117444753647, - -0.06644684821367264, - -0.0042889011092484, - 0.1557435393333435, - 0.0386505052447319, - -0.21100133657455444, - -0.008710778318345547, - -0.13093531131744385, - -0.06953966617584229, - 0.12960286438465118, - -0.05580013617873192, - -0.31841203570365906, - -0.10488904267549515, - -0.03834470361471176, - -0.31248903274536133, - 0.07162126898765564, - 0.07143654674291611, - -0.05309257656335831, - 0.07239829748868942, - 0.014606340788304806, - -0.09377992153167725, - 0.13139231503009796, - -0.09192992746829987, - 0.07100644707679749, - 0.05311399698257446, - 0.04620150849223137, - 0.005889242514967918, - 0.0042155152186751366, - 0.16965703666210175, - 0.19761410355567932, - -0.19544734060764313, - 0.09606491029262543, - 0.09114355593919754, - 0.06094963103532791 - ], - [ - -0.04857373982667923, - -0.03849109634757042, - 0.06969689577817917, - 0.028014808893203735, - -0.09499533474445343, - -0.035254210233688354, - -0.007704808842390776, - 0.05658813193440437, - -0.0367467999458313, - 0.03566402569413185, - 0.0010474740993231535, - 0.08510836958885193, - -0.0056148492731153965, - 0.04331820085644722, - 0.023484928533434868, - -0.002087409608066082, - -0.00922251958400011, - -0.024757007136940956, - 0.031868599355220795, - 0.053568679839372635, - 0.03889710083603859, - -0.018381262198090553, - -0.028321273624897003, - 0.026673825457692146, - 0.004562058951705694, - -0.04059956967830658, - 0.03845967352390289, - -0.050379421561956406, - 0.0724017322063446, - -0.029374612495303154, - 0.058761246502399445, - 0.010827790945768356, - -0.08855433017015457, - -0.010343647561967373, - 0.09055010229349136, - -0.06187576800584793, - 0.019922679290175438, - 0.08703088760375977, - 0.06471351534128189, - 0.024686604738235474, - -0.042092062532901764, - -0.029733939096331596, - 0.04503351449966431, - 0.08669652044773102, - 0.004962591454386711, - 0.04258982092142105, - 0.0666874423623085, - 0.06931579858064651, - 0.01793333888053894, - -0.04032202810049057, - -0.03002457320690155, - 0.04944921284914017, - 0.06049646809697151, - -0.06458234786987305, - -0.0002273732388857752, - 0.03448314592242241, - 0.015497040934860706, - -0.003382178721949458, - -0.047499191015958786, - -0.01775788702070713, - 0.02234051376581192, - -0.04555080831050873, - -0.035131633281707764, - 0.0378398671746254, - 0.06430835276842117, - -0.006359244231134653, - 0.10617890954017639, - 0.029215866699814796, - -0.0015654778108000755, - 0.045697931200265884, - -0.025392994284629822, - -0.026006117463111877, - 0.016668027266860008, - 0.0831236019730568, - -0.020391790196299553, - -0.08402958512306213, - 0.03982952982187271, - 0.053645018488168716, - -0.05413355678319931, - -0.08806878328323364, - -0.033997561782598495, - 0.05065545439720154, - -0.10042889416217804, - -0.030840162187814713, - -0.048853352665901184, - 0.03035121224820614, - -0.05829929560422897, - 0.016506029292941093, - -0.0055850716307759285, - 0.035155922174453735, - -0.012790851294994354, - -0.038241684436798096, - -0.06887729465961456, - -0.014101521112024784, - -0.04021415486931801, - 0.034962836652994156, - -0.05878506973385811, - -0.008772820234298706, - -0.014887669123709202, - 0.0901917889714241, - 0.10429093986749649, - -0.03917063772678375, - 0.04592658206820488, - 0.017170170322060585, - -0.02180514857172966, - 0.00705066230148077, - -0.0707511156797409, - 0.026745392009615898, - -0.11656858026981354, - 0.027566585689783096, - -0.03350834548473358, - 0.08117581903934479, - 0.05941018462181091, - -0.03594072163105011, - -0.06056724488735199, - 0.027045859023928642, - 0.0011404918041080236, - -0.0402982197701931, - -0.040729038417339325, - 0.03455357998609543, - -0.01117018237709999, - -0.05750822648406029, - -0.0532941110432148, - 0.08046530187129974, - 0.01988973841071129, - -0.04923156648874283, - 0.010052274912595749, - -0.04115899279713631 - ], - [ - -0.21504570543766022, - 0.05922774598002434, - -0.02011696621775627, - -0.03572791814804077, - 0.05884544923901558, - 0.0037848150823265314, - -0.07371830940246582, - 0.06530626863241196, - 0.03066278249025345, - -0.0287181306630373, - 0.1852925419807434, - 0.198503777384758, - 0.02192637510597706, - -0.11467356979846954, - -0.3006402552127838, - 0.028979167342185974, - 0.23845845460891724, - -0.058809589594602585, - 0.07443368434906006, - 0.0677509605884552, - -0.2772158682346344, - 0.011608581990003586, - -0.018562927842140198, - -0.18733108043670654, - 0.06491424143314362, - -0.09906971454620361, - 0.04635152593255043, - 0.1464175134897232, - 0.09490124881267548, - 0.015987366437911987, - 0.10012131184339523, - 0.050205424427986145, - -0.058306898921728134, - 0.11841502040624619, - -0.13470256328582764, - -0.1124657541513443, - -0.17111343145370483, - -0.018373610451817513, - 0.06365609914064407, - 0.09608445316553116, - -0.024028535932302475, - -0.1384543627500534, - 0.11836809664964676, - -0.0689074844121933, - -0.07169156521558762, - -0.4090377390384674, - 0.07384063303470612, - 0.08389701694250107, - -0.05627517029643059, - 0.19364535808563232, - 0.1363641321659088, - -0.06754185259342194, - 0.02933334745466709, - -0.16464069485664368, - 0.173816978931427, - 0.19287432730197906, - 0.004006592556834221, - 0.011305280961096287, - -0.029288990423083305, - 0.023532943800091743, - 0.003494593547657132, - 0.14891336858272552, - 0.023311303928494453, - 0.018758604303002357, - 0.016131097450852394, - 0.180354043841362, - 0.31680530309677124, - -0.1067608892917633, - 0.0007411090773530304, - 0.03980400040745735, - 0.16938519477844238, - -0.09495928883552551, - -0.011301388964056969, - -0.07053639739751816, - -0.00807571318000555, - 0.013265821151435375, - -0.05106000974774361, - 0.05784609541296959, - -0.23246023058891296, - -0.04334859922528267, - -0.4260920584201813, - -0.12201161682605743, - -0.06362245976924896, - 0.11738409847021103, - -0.1367325484752655, - -0.08563429862260818, - 0.18923911452293396, - -0.06269470602273941, - -0.10687152296304703, - 0.06014932319521904, - -0.19487954676151276, - -0.004588622134178877, - -0.3437671661376953, - -0.11401098221540451, - -0.13649882376194, - -0.012418674305081367, - 0.00211523100733757, - 0.05406634137034416, - 0.06685840338468552, - -0.015446076169610023, - -0.028923094272613525, - -0.20431384444236755, - -0.05016496405005455, - 0.04133160784840584, - 0.03251435607671738, - 0.0379076786339283, - -0.3304142355918884, - -0.28439953923225403, - 0.11203805357217789, - 0.10238289833068848, - -0.0054287356324493885, - 0.05789750814437866, - 0.18755927681922913, - 0.02533848211169243, - 0.035066716372966766, - 0.25617852807044983, - -0.2021154910326004, - -0.15181373059749603, - 0.17469677329063416, - 0.2535836696624756, - -0.14478273689746857, - 0.030919602140784264, - 0.08175615966320038, - 0.1892169713973999, - -0.13211478292942047, - -0.05775774270296097, - 0.04185391962528229, - 0.012197066098451614 - ], - [ - 0.0481601282954216, - -0.061157625168561935, - -0.07369223237037659, - 0.08097724616527557, - 0.135075181722641, - 0.07527924329042435, - 0.10031740367412567, - 0.02513836696743965, - 0.0423596017062664, - 0.03949837386608124, - -0.17576013505458832, - -0.02332235686480999, - -0.223618283867836, - -0.15332050621509552, - -0.035081177949905396, - 0.07867221534252167, - 0.10515791922807693, - -0.050876684486866, - -0.07076418399810791, - -0.013631651178002357, - -0.006335076875984669, - -0.03343569487333298, - 0.10709754377603531, - 0.016737397760152817, - 0.018223071470856667, - 0.07643309980630875, - 0.02190515398979187, - 0.04133225604891777, - -0.19691814482212067, - -0.07665999233722687, - -0.037191737443208694, - 0.0022571012377738953, - 0.06433285772800446, - -0.20899134874343872, - -0.07328969985246658, - 0.0069082011468708515, - -0.19624947011470795, - 0.04462210461497307, - -0.06842995434999466, - 0.030763018876314163, - 0.08983220905065536, - 0.03618394955992699, - 0.14377981424331665, - -0.02812904492020607, - 0.0673510730266571, - -0.03778122738003731, - -0.1418229639530182, - 0.0016937657492235303, - -0.029143115505576134, - 0.06990602612495422, - -0.16983073949813843, - 0.030488718301057816, - 0.030644018203020096, - 0.030455900356173515, - 0.0815005749464035, - 0.11532893776893616, - -0.007322211749851704, - -0.0679083913564682, - 0.10911117494106293, - 0.027290139347314835, - 0.13626083731651306, - 0.05758583918213844, - 0.04673340171575546, - 0.010665379464626312, - 0.08507177233695984, - 0.01480881031602621, - -0.008938821032643318, - -0.0669914111495018, - 0.14718011021614075, - -0.016588330268859863, - -0.12196928262710571, - 0.01720470003783703, - -0.04117147997021675, - 0.010331826284527779, - -0.019578462466597557, - 0.186295747756958, - -0.14703603088855743, - -0.03544461354613304, - -0.027966372668743134, - -0.010804167948663235, - -0.046176113188266754, - 0.09422473609447479, - 0.07661699503660202, - -0.09928778558969498, - -0.04642200097441673, - 0.10033243894577026, - -0.112083300948143, - -0.013480034656822681, - 0.06421282142400742, - 0.0959801897406578, - -0.013292577117681503, - -0.03548587113618851, - 0.09605248272418976, - -0.04417917877435684, - 0.06012250855565071, - 0.03609582409262657, - 0.13920722901821136, - 0.007736777421087027, - -0.0633515864610672, - -0.13049522042274475, - 0.07335411012172699, - -0.006070197559893131, - 0.04053718224167824, - -0.016257785260677338, - -0.005418351385742426, - 0.06012902036309242, - 0.1325281411409378, - 0.04571286588907242, - 0.013450359925627708, - -0.15341529250144958, - -7.443396316375583e-05, - -0.025224803015589714, - -0.20845384895801544, - 0.06979311257600784, - -0.002930302871391177, - 0.10761827975511551, - 0.018619906157255173, - 0.12780888378620148, - -0.0044706715270876884, - 0.05954540893435478, - -0.05320749059319496, - 0.06436338275671005, - 0.10935541987419128, - -0.16422146558761597, - 0.1622447520494461, - 0.07779292017221451, - -0.0319506898522377, - 0.09894628077745438 - ], - [ - -0.07148068398237228, - 0.07186494022607803, - -0.010442853905260563, - -0.008349613286554813, - -0.019876906648278236, - 0.0410350002348423, - 0.05922868475317955, - 0.14955107867717743, - -0.06570306420326233, - -0.04596063867211342, - 0.04751412943005562, - 0.04496239870786667, - 0.055645011365413666, - 0.2189396172761917, - -0.4608803391456604, - -0.04176586866378784, - -0.20895196497440338, - -0.0834641307592392, - 0.19289976358413696, - 0.12221415340900421, - -0.11177659779787064, - 0.03295160084962845, - 0.007604540791362524, - -0.11836925148963928, - -0.03455140069127083, - 0.02368893101811409, - -0.12836124002933502, - 0.01528227049857378, - 0.02003459632396698, - 0.10498564690351486, - 0.038948800414800644, - -0.016857784241437912, - 0.008736181072890759, - 0.06447054445743561, - -0.011610905639827251, - -0.21396365761756897, - -0.005474238656461239, - 0.007985532283782959, - 0.03480236604809761, - 0.1628418117761612, - -0.17574210464954376, - -0.30855119228363037, - -0.05605355650186539, - -0.03087301179766655, - -0.04874779284000397, - -0.5468395948410034, - -0.08738940209150314, - 0.08347982913255692, - 0.07734224200248718, - 0.006236698478460312, - 0.051253318786621094, - 0.07475783675909042, - 0.07484301179647446, - -0.11922089755535126, - 0.05622325465083122, - 0.11985598504543304, - 0.13046856224536896, - 0.11870402097702026, - -0.028733275830745697, - 0.03219890594482422, - -0.12446126341819763, - 0.01687629148364067, - -0.06714317202568054, - -0.018795544281601906, - -0.05309830605983734, - 0.0482650026679039, - 0.33604496717453003, - -0.7169981598854065, - -0.1049315333366394, - 0.1490902304649353, - 0.046288859099149704, - -0.07006236165761948, - 0.014085550792515278, - -0.24071957170963287, - 0.01847449503839016, - -0.016695760190486908, - -0.06547152996063232, - -0.12886148691177368, - -0.20510074496269226, - -0.13619078695774078, - -0.4817722737789154, - 0.042510807514190674, - 0.07006017863750458, - 0.21541675925254822, - -0.0585038848221302, - -0.038775015622377396, - 0.06873449683189392, - -0.00852986890822649, - -0.22086603939533234, - -0.043372899293899536, - 0.16485595703125, - -0.063601553440094, - -0.11489581316709518, - -0.08277760446071625, - -0.06621631979942322, - -0.04715970158576965, - -0.018409235402941704, - 0.012982969172298908, - 0.04020953178405762, - 0.04542998969554901, - -0.153661847114563, - -0.13644255697727203, - -0.003173798555508256, - 0.019596440717577934, - -0.07433018088340759, - 0.04207202047109604, - -0.5339446663856506, - -0.7670915722846985, - -0.024869512766599655, - 0.08791644871234894, - -0.05324985086917877, - 0.24774332344532013, - 0.14828473329544067, - 0.10707584023475647, - 0.09689179807901382, - 0.25484010577201843, - -0.18472105264663696, - -0.22993801534175873, - 0.18809428811073303, - 0.25439026951789856, - -0.07040754705667496, - -0.14985765516757965, - 0.14617054164409637, - 0.20696593821048737, - -0.07132156193256378, - 0.02987966313958168, - 0.036686066538095474, - 0.04680192843079567 - ], - [ - -0.045244768261909485, - 0.3794306218624115, - -0.5548692345619202, - 0.05034590885043144, - 0.048649903386831284, - 0.06496565043926239, - -0.00964719895273447, - -0.1994377076625824, - -0.023586932569742203, - -0.0149984210729599, - 0.04819577559828758, - 0.1431717872619629, - 0.08683864772319794, - -0.1565379798412323, - -0.18077297508716583, - 0.1654280722141266, - -0.14776013791561127, - 0.11178776621818542, - -0.07661092281341553, - -0.27433404326438904, - -0.18727880716323853, - 0.0014032491017132998, - -0.305795818567276, - 0.22745664417743683, - -0.056286200881004333, - 0.08865141123533249, - -0.0031820929143577814, - -0.1378864347934723, - 0.061913520097732544, - -0.0007427640375681221, - 0.08155497163534164, - 0.1816399097442627, - -0.00010053376172436401, - 0.2519194483757019, - 0.1527346819639206, - 0.25380739569664, - -0.18240728974342346, - -0.05419950187206268, - -0.20322668552398682, - 0.2103080153465271, - -0.12257878482341766, - -0.41203320026397705, - 0.33740198612213135, - 0.1928902268409729, - -0.31111249327659607, - -0.3706647753715515, - -0.4959532916545868, - -0.009770525619387627, - 0.11780455708503723, - 0.11707772314548492, - -0.08167867362499237, - 0.15761719644069672, - 0.051057204604148865, - -1.8871092796325684, - -0.2801891565322876, - -0.14941871166229248, - 0.05634797364473343, - 0.10048209130764008, - 0.009442216716706753, - -0.7453246116638184, - 0.03072291798889637, - -0.14677654206752777, - 0.09057420492172241, - -0.25736552476882935, - -0.22930273413658142, - -0.2585945725440979, - -0.08632194995880127, - -0.07828109711408615, - 0.06109071150422096, - 0.5685810446739197, - -0.6471291184425354, - -0.001320009003393352, - 0.13091008365154266, - -0.21783024072647095, - -0.6317462921142578, - -0.10361555963754654, - 0.026986438781023026, - -0.1907915621995926, - -0.0012544798664748669, - -0.1997278928756714, - 0.2261386662721634, - -0.07971206307411194, - 0.12231193482875824, - -0.5927475094795227, - 0.1310444176197052, - 0.4252593517303467, - 0.13084083795547485, - -0.467151015996933, - -0.06053933873772621, - -0.023121381178498268, - -0.42861616611480713, - -0.19360394775867462, - -0.6459985971450806, - 0.02312956191599369, - 0.11011771857738495, - -0.09751708805561066, - 0.09812180697917938, - 0.1177060455083847, - -0.014891283586621284, - 0.11921200156211853, - 0.21737244725227356, - -0.06026836484670639, - 0.16511203348636627, - -0.5915645360946655, - 0.05968763306736946, - -0.07154273241758347, - 0.059874217957258224, - 0.16129709780216217, - -0.44610583782196045, - -0.7697670459747314, - 1.168225884437561, - 0.20315514504909515, - 0.10273709893226624, - 0.16441704332828522, - -0.36720362305641174, - 0.00735081173479557, - 0.08029545843601227, - 0.08387130498886108, - -0.025240475311875343, - -0.020988496020436287, - -0.034739598631858826, - -0.07675132900476456, - 0.16072934865951538, - -0.032829802483320236, - 0.15416762232780457, - -0.10919275879859924, - -0.06545328348875046, - 0.11909424513578415 - ], - [ - 0.26019036769866943, - 0.11595030128955841, - -0.10848525911569595, - -0.3267025649547577, - 0.02210596762597561, - 0.09513632208108902, - -0.11097539216279984, - 0.2019355595111847, - -0.0896754264831543, - 0.0035693824756890535, - 0.04895268380641937, - -0.17031319439411163, - 0.06324247270822525, - 0.0041732448153197765, - -0.07114367187023163, - 0.005061843432486057, - 0.017197104170918465, - 0.06674166023731232, - -0.14041705429553986, - -0.025357559323310852, - 0.12483485788106918, - 0.05927359685301781, - 0.03670748695731163, - -0.0863356813788414, - 0.0956553965806961, - -0.26146936416625977, - 0.08888775110244751, - -0.00026469488511793315, - -0.06712319701910019, - -0.2266860008239746, - -0.061417415738105774, - -0.3119480311870575, - -0.09606722742319107, - 0.0716165080666542, - -0.018835440278053284, - 0.006021848879754543, - -0.06163521856069565, - -0.03187023103237152, - 0.11367907375097275, - 0.10403319448232651, - -0.15596464276313782, - 0.22395950555801392, - -0.3441096842288971, - 0.039189115166664124, - -0.4713420569896698, - -0.4937548339366913, - -0.4649128317832947, - 0.14405784010887146, - -0.13395237922668457, - 0.15194503962993622, - -0.19589285552501678, - -0.18754814565181732, - 0.019327238202095032, - 0.164952352643013, - -0.16286931931972504, - -0.010999198071658611, - 0.03618307411670685, - 0.22050799429416656, - -0.007174741476774216, - -0.05980752408504486, - 0.008609647862613201, - 0.2892554700374603, - 0.10214044153690338, - -0.1269078552722931, - 0.06543951481580734, - 0.0558670237660408, - 0.06461811065673828, - -0.08891331404447556, - -0.06449297070503235, - 0.3327935039997101, - 0.14276254177093506, - -0.0323537178337574, - -0.08335665613412857, - 0.04784965515136719, - 0.0036938285920768976, - -0.030511386692523956, - 0.028179265558719635, - 0.005236541852355003, - 0.11425496637821198, - 0.08042522519826889, - -0.29813775420188904, - 0.20346635580062866, - -0.022333061322569847, - 0.12188902497291565, - 0.06478917598724365, - 0.19219474494457245, - -0.005255959928035736, - -0.25419145822525024, - -0.011332983151078224, - -0.24926044046878815, - -0.06341909617185593, - 0.10090446472167969, - -0.08999209105968475, - 0.05501149594783783, - -0.00772486999630928, - 0.007875523529946804, - -0.11819735914468765, - -0.5003669261932373, - -0.290856271982193, - 0.028249207884073257, - 0.15221290290355682, - 0.06040434539318085, - -0.006344416178762913, - -0.13502848148345947, - 0.004639197140932083, - 0.08973339200019836, - 0.20701734721660614, - 0.030042948201298714, - -0.2643253803253174, - -0.005589891225099564, - 0.20749905705451965, - -0.05041229724884033, - 0.06696310639381409, - 0.025624653324484825, - -0.0182812437415123, - 0.0950915515422821, - -0.14911925792694092, - 0.04179513081908226, - 0.07468367367982864, - -0.047000061720609665, - -0.14785103499889374, - -0.013155661523342133, - -0.11454398185014725, - 0.20982779562473297, - -0.46368056535720825, - -0.37305352091789246, - -0.3306875228881836, - 0.0024306117556989193 - ], - [ - 0.06568416953086853, - -0.2791063189506531, - -0.036109648644924164, - -0.24871473014354706, - -0.004380709026008844, - 0.028245078399777412, - 0.06450094282627106, - -0.11274652928113937, - 0.028940770775079727, - 0.24304020404815674, - 0.12306037545204163, - 0.0906049981713295, - -0.04793999716639519, - -0.19205230474472046, - -0.05486350134015083, - 0.05575813725590706, - 0.27927646040916443, - -0.013599712401628494, - 0.14765408635139465, - -0.00602763332426548, - -0.10279069095849991, - -0.2569059133529663, - -0.012026875279843807, - -0.06032100319862366, - 0.07522566616535187, - -0.1778370440006256, - -0.3169967830181122, - -0.010083133354783058, - 0.04046742618083954, - -0.06901399046182632, - -0.07242273539304733, - 0.28400030732154846, - 0.03306419029831886, - 0.11893516033887863, - 0.021151790395379066, - 0.05769673362374306, - -0.07792231440544128, - -0.08355291187763214, - 0.07937081903219223, - -0.0671556368470192, - -0.1223621591925621, - -0.2460363507270813, - -0.0191893819719553, - -0.002892374759539962, - -0.09775484353303909, - -0.0412384457886219, - 0.10504788905382156, - -0.002770237158983946, - 0.013135658577084541, - 0.1574126034975052, - -0.13231532275676727, - 0.05046677589416504, - 0.060082677751779556, - -0.047034986317157745, - -0.06718304008245468, - -0.0357745997607708, - -0.053773824125528336, - 0.05154358223080635, - 0.042201653122901917, - -0.07211587578058243, - -0.020290587097406387, - -0.08697854727506638, - 0.08975496143102646, - 0.06667235493659973, - 0.0836549699306488, - 0.10891953110694885, - 0.17768774926662445, - -0.1961899697780609, - -0.0478990264236927, - 0.18812167644500732, - -0.0759412869811058, - 0.05436466634273529, - -0.14461536705493927, - 0.1367407739162445, - -0.08236604183912277, - 0.05294358357787132, - -0.13463068008422852, - 0.14848092198371887, - 0.04666675627231598, - -0.18833109736442566, - 0.07076703011989594, - -0.05106228217482567, - 0.0720098689198494, - 0.10346229374408722, - -0.19683556258678436, - -0.11017608642578125, - -0.018820585682988167, - 0.10688534379005432, - -0.04455957189202309, - 0.09043433517217636, - -0.008447474800050259, - -0.066454216837883, - -0.06020648032426834, - -0.06622012704610825, - -0.009539714083075523, - 0.12273097038269043, - 0.01243171188980341, - -0.02869386598467827, - 0.2327074110507965, - 0.07600787281990051, - 0.15555445849895477, - 0.10994019359350204, - 0.01747923716902733, - 0.041420578956604004, - -0.006425689905881882, - 0.10728651285171509, - 0.3358995318412781, - 0.061728864908218384, - 0.08362453430891037, - -0.0410432294011116, - 0.10108890384435654, - 0.0632362812757492, - -0.3222469687461853, - -0.21193893253803253, - -0.038742795586586, - -0.07911123335361481, - 0.0005279518663883209, - -0.031995683908462524, - -0.021087072789669037, - -0.13993500173091888, - -0.02896016836166382, - -0.19180016219615936, - 0.13557052612304688, - -0.040076710283756256, - -0.06561626493930817, - -0.04387018084526062, - -0.25297486782073975, - 0.17140574753284454 - ], - [ - 0.027371276170015335, - -0.13096198439598083, - -0.07951635867357254, - -0.1488196849822998, - 0.11525813490152359, - -0.10636518895626068, - -0.03239048644900322, - -0.02812151052057743, - -0.2297532558441162, - -0.1372842937707901, - -0.3430788218975067, - -0.038291171193122864, - -0.1399669200181961, - 0.09292362630367279, - -0.4506731927394867, - 0.02217855118215084, - 0.08011295646429062, - 0.03123338706791401, - 0.027747957035899162, - -0.16811783611774445, - -0.24948477745056152, - -0.043181903660297394, - -0.08399442583322525, - -0.1344296783208847, - -0.008696860633790493, - -0.018243128433823586, - 0.2412552386522293, - 0.02011202834546566, - -0.08929028362035751, - -0.056643661111593246, - 0.2481500506401062, - 0.03610047698020935, - -0.03660980984568596, - -0.007111292332410812, - -0.2629711627960205, - -0.12061819434165955, - 0.0720292404294014, - -0.4117734432220459, - -0.18786503374576569, - -0.20081783831119537, - 0.0033546003978699446, - 0.1655818223953247, - 0.19283747673034668, - 0.12131034582853317, - 0.026933517307043076, - -0.2594786286354065, - 0.059094034135341644, - 0.017047058790922165, - -0.06538544595241547, - -0.002769551007077098, - 0.17899471521377563, - -0.030131665989756584, - -0.055845893919467926, - 0.21494482457637787, - 0.0074417185969650745, - -0.4000815451145172, - 0.16660891473293304, - 0.046350035816431046, - 0.10804317146539688, - 0.25608089566230774, - -0.10413290560245514, - 0.2648656368255615, - 0.09454682469367981, - 0.0649852305650711, - -0.29403719305992126, - -0.04386979714035988, - 0.028146469965577126, - -0.0018743532709777355, - -0.21021027863025665, - 0.08829940855503082, - 0.058079153299331665, - -0.11446014046669006, - -0.2953282594680786, - 0.1226501539349556, - -0.0030804111156612635, - 0.20721645653247833, - -0.08433102816343307, - -0.3549896478652954, - 0.3852939009666443, - 0.011533423326909542, - 0.07648332417011261, - -0.16790619492530823, - 0.011979663744568825, - -0.05175965651869774, - 0.23724019527435303, - -0.05560705065727234, - -0.12400376796722412, - -0.3023795485496521, - 0.16825580596923828, - -0.08474723249673843, - -0.5488306879997253, - -0.10006824880838394, - -1.1237157583236694, - 0.012089727446436882, - -0.0830613523721695, - 0.12209412455558777, - -0.11187675595283508, - 0.09405461698770523, - -0.17009775340557098, - 0.0821494609117508, - 0.048101555556058884, - 0.2580830156803131, - -0.017845511436462402, - -0.24564816057682037, - -0.19216756522655487, - -0.057188112288713455, - 0.13442067801952362, - 0.25046947598457336, - 0.09834036231040955, - 0.1933080554008484, - 0.29352837800979614, - 0.47784411907196045, - -0.5572893619537354, - -0.12900805473327637, - -0.25469014048576355, - 0.029107721522450447, - 0.06511642038822174, - 0.13395795226097107, - -0.2492731660604477, - 0.14317961037158966, - 0.0817793533205986, - -0.2255566269159317, - 0.054880838841199875, - 0.012613444589078426, - 0.15076902508735657, - 0.1751881241798401, - 0.11144432425498962, - 0.01754186674952507 - ], - [ - -0.052724532783031464, - 0.20151333510875702, - 0.0495123565196991, - 0.05786041170358658, - 0.10430985689163208, - -0.05871093273162842, - -0.06345336139202118, - 0.0908084288239479, - 0.010975008830428123, - 0.025828585028648376, - 0.0056916517205536366, - 0.05819700285792351, - -0.18182916939258575, - 0.008546815253794193, - -0.061712052673101425, - 0.06289545446634293, - -0.048413872718811035, - -0.16578726470470428, - -0.0705428421497345, - -0.03866717591881752, - 0.1583447903394699, - 0.117472805082798, - 0.050578441470861435, - -0.059388693422079086, - 0.12913638353347778, - 0.0324852354824543, - -0.18780027329921722, - 0.02496984228491783, - 0.14298689365386963, - 0.14124122262001038, - -0.0940382331609726, - 0.2714848816394806, - 0.15944407880306244, - 0.007683854550123215, - 0.17433695495128632, - -0.300119549036026, - -0.04481125250458717, - -0.03183593973517418, - 0.08603385090827942, - 0.14818483591079712, - -0.06904619932174683, - 0.008772644214332104, - -0.03301456943154335, - 0.0033687599934637547, - -0.22395066916942596, - 0.09041491895914078, - -0.11084616929292679, - 0.05353871360421181, - -0.08922562003135681, - 0.017106659710407257, - -0.09198383241891861, - -0.16019423305988312, - 0.04945001378655434, - 0.053490303456783295, - -0.160686194896698, - 0.04782935231924057, - -0.16094925999641418, - 0.10255873203277588, - -0.07591967284679413, - 0.05642334371805191, - 0.04886668547987938, - -0.12989071011543274, - 0.12681631743907928, - -0.1960798054933548, - 0.003965310286730528, - -0.0001358956506010145, - -0.037027277052402496, - -0.16192691028118134, - 0.09349735081195831, - 0.04733635112643242, - 0.02718685008585453, - 0.09984417259693146, - 0.04803409054875374, - 0.11871228367090225, - -0.027402544394135475, - -0.16820795834064484, - 0.058213356882333755, - -0.11965131759643555, - 0.0234356801956892, - 0.03495835140347481, - 0.14536195993423462, - 0.05553906410932541, - -0.16810408234596252, - 0.046969518065452576, - -0.16614925861358643, - 0.08256086707115173, - -0.038101449608802795, - -0.12318267673254013, - -0.1933308243751526, - 0.03482886403799057, - -0.00040065572829917073, - -0.07787391543388367, - 0.07396192103624344, - -0.0535135380923748, - 0.02319786138832569, - -0.016701024025678635, - -0.12364312261343002, - -0.05576566979289055, - -0.16915275156497955, - 0.08685057610273361, - -0.03589697927236557, - 0.010244089178740978, - 0.05251847207546234, - 0.10600820928812027, - -0.03255327045917511, - -0.12339877337217331, - 0.1170831024646759, - 0.03999081254005432, - 0.03541553393006325, - -0.08758139610290527, - 0.13287609815597534, - -0.19407452642917633, - -0.20194034278392792, - -0.03315987437963486, - 0.025873469188809395, - 0.2585095763206482, - -0.006668754853308201, - -0.056710924953222275, - -0.07468999922275543, - -0.09798334538936615, - -0.18145042657852173, - 0.0033692452125251293, - -0.039363015443086624, - 0.03360946103930473, - -0.202927827835083, - -0.7715777158737183, - -0.0915595293045044, - -0.005878994707018137 - ], - [ - 0.004728531464934349, - 0.05852954089641571, - 0.04849248751997948, - -0.13984383642673492, - -0.023725446313619614, - -0.12018699198961258, - -0.029071349650621414, - 0.06623532623052597, - -0.016359781846404076, - -0.09269599616527557, - 0.05897534266114235, - -0.03196629881858826, - 0.17420673370361328, - -0.23313742876052856, - -0.3192990720272064, - 0.0428418405354023, - 0.19449062645435333, - 0.010704790242016315, - 0.04991776868700981, - 0.07040461152791977, - 0.2763651907444, - -0.08638020604848862, - 0.036100175231695175, - -0.16881170868873596, - -0.011055831797420979, - -0.12782834470272064, - 0.17820312082767487, - -0.005981302820146084, - 0.01869300566613674, - -0.020357200875878334, - 0.3222335875034332, - 0.05555807426571846, - -0.008118633180856705, - 0.13994990289211273, - -0.053270138800144196, - -0.13302534818649292, - -0.20690608024597168, - -0.0858759805560112, - 0.18454551696777344, - -0.023236531764268875, - 0.02120841108262539, - 0.08745836466550827, - -0.033270739018917084, - 0.030456986278295517, - 0.06825754791498184, - -0.6061124801635742, - -0.20366232097148895, - -0.1310543715953827, - -0.04278672859072685, - 0.019910218194127083, - -0.09215665608644485, - -0.06307679414749146, - -0.11189908534288406, - -0.08123145252466202, - 0.01852140575647354, - 0.13358314335346222, - -0.037198346108198166, - -0.06514444202184677, - 0.0448371097445488, - 0.018652522936463356, - 0.011874238960444927, - 0.04452796280384064, - 0.1188950389623642, - 0.1213189885020256, - -0.036167580634355545, - 0.1648382693529129, - 0.19552873075008392, - -0.16189689934253693, - -0.014364805072546005, - 0.018666792660951614, - 0.08146843314170837, - -0.05834528058767319, - 0.07800543308258057, - -0.0012464334722608328, - -0.04570535197854042, - 0.09520899504423141, - -0.09164465963840485, - -0.09111931174993515, - -0.38006627559661865, - -0.12076140195131302, - -0.1124340146780014, - 0.10577534139156342, - -0.07914374768733978, - 0.11781805753707886, - -0.1784798502922058, - 0.06465725600719452, - 0.11622463911771774, - -0.04867926985025406, - -0.052238646894693375, - 0.1504058539867401, - -1.4788333177566528, - 0.06357045471668243, - -0.1535155028104782, - -0.05520036816596985, - -0.1635567843914032, - 0.061029523611068726, - -0.16760055720806122, - -0.010563244111835957, - 0.06692282855510712, - -0.2549525797367096, - 0.0006265058182179928, - -0.021442098543047905, - 0.03819136321544647, - -0.029554719105362892, - -0.17348118126392365, - -0.10895483195781708, - 0.030207861214876175, - 0.3693648874759674, - -0.17279714345932007, - 0.07102468609809875, - -0.031363628804683685, - 0.26303836703300476, - 0.16409261524677277, - 0.003991485107690096, - -0.3972315490245819, - 0.1701420098543167, - -0.006253332365304232, - 0.0020736870355904102, - -0.04710637032985687, - 0.18722307682037354, - -0.02831968106329441, - -0.04297930374741554, - 0.022891419008374214, - 0.20754322409629822, - -0.48658883571624756, - -0.22909937798976898, - 0.11885718256235123, - -0.46902334690093994 - ], - [ - 0.12966272234916687, - -0.007360656745731831, - 0.061235908418893814, - 0.08076929301023483, - 0.023691395297646523, - -0.15586043894290924, - 0.06820093840360641, - -0.06514070183038712, - 0.01214582845568657, - -0.1758643239736557, - -0.1413014680147171, - 0.09423520416021347, - -0.21729187667369843, - 0.10132813453674316, - -0.03141697496175766, - 0.05812502279877663, - 0.08627642691135406, - 0.07192486524581909, - -0.0668289065361023, - 0.05381755158305168, - -0.10642077773809433, - -0.11875130981206894, - 0.07498949766159058, - 0.21271970868110657, - -0.00018062097660731524, - 0.024072658270597458, - -0.5649756789207458, - -0.06204131990671158, - 0.13868620991706848, - -0.0752866119146347, - -0.04851313680410385, - -0.4386079013347626, - 0.0274188369512558, - -0.1550387293100357, - -0.07904964685440063, - 0.2511279284954071, - 0.19192640483379364, - -0.057444505393505096, - -0.03290176764130592, - 0.07186154276132584, - -0.1571197211742401, - -0.13438567519187927, - -0.13997720181941986, - -0.04874617978930473, - -0.031197506934404373, - -0.04387471079826355, - 0.15658770501613617, - 0.04448807239532471, - 0.01751384325325489, - -0.029285045340657234, - 0.048812367022037506, - 0.0407353974878788, - -0.00832420401275158, - 0.18194489181041718, - 0.014224818907678127, - -0.13758373260498047, - 0.11031801253557205, - -0.15505632758140564, - 0.029397763311862946, - 0.08054986596107483, - 0.01083151251077652, - 0.025888880714774132, - 0.057619646191596985, - -0.032670192420482635, - 0.006632988806813955, - -0.4142110347747803, - 0.014740522019565105, - 0.07384705543518066, - 0.1001928374171257, - -0.007263291161507368, - -0.11265186965465546, - -0.08988604694604874, - 0.0462053082883358, - 0.015702437609434128, - 0.0949975848197937, - -0.06872424483299255, - -0.12592889368534088, - 0.11579219996929169, - 0.08150125294923782, - 0.033369582146406174, - -0.048806872218847275, - -0.043363332748413086, - 0.07659149169921875, - -0.09472240507602692, - 0.08889376372098923, - 0.07607120275497437, - 0.09682059288024902, - 0.07842063158750534, - 0.03771235793828964, - 0.09469985216856003, - 0.08529437333345413, - 0.19783252477645874, - -0.02082202211022377, - 0.1421523541212082, - -0.12626637518405914, - 0.0006469184882007539, - -0.04485580325126648, - 0.013545172289013863, - 0.013684321194887161, - 0.09763503819704056, - -0.10885018110275269, - 0.038817327469587326, - 0.03226421773433685, - -0.02596290037035942, - 0.1289830505847931, - 0.041971612721681595, - -0.2893608808517456, - 0.21206432580947876, - 0.013410660438239574, - 0.03840477019548416, - -0.05336631461977959, - -0.2593543231487274, - -0.04276334121823311, - 0.07859902828931808, - -0.09878284484148026, - -0.3722444474697113, - 0.08965621888637543, - -0.5145974159240723, - -0.20321214199066162, - -0.051271162927150726, - 0.09452270716428757, - 0.013266505673527718, - 0.020961331203579903, - -0.025135984644293785, - -0.14911101758480072, - -0.03291100263595581, - 0.05625533312559128, - 0.06336399167776108 - ], - [ - 0.08068303763866425, - -0.4604851305484772, - 0.21835477650165558, - -0.12043691426515579, - -0.11777772009372711, - -0.06417425721883774, - 0.13569742441177368, - -0.027688438072800636, - 0.1009046658873558, - 0.12271740287542343, - 0.16189908981323242, - -0.04504493251442909, - -0.2626798152923584, - -0.575246274471283, - -0.038127969950437546, - 0.38994014263153076, - 0.010613269172608852, - 0.28948789834976196, - -0.13264958560466766, - -0.0005838611978106201, - 0.1139659509062767, - 0.040877360850572586, - 0.1738293170928955, - 0.051417309790849686, - -0.1991862803697586, - -0.10373934358358383, - -0.04598042368888855, - 0.12701651453971863, - -0.29635119438171387, - -0.3122963011264801, - 0.021017741411924362, - -0.3374790549278259, - -0.21292050182819366, - -0.030133269727230072, - -0.0064400071278214455, - -0.10169267654418945, - -0.3108963072299957, - 0.09013724327087402, - 0.14740508794784546, - 0.045348264276981354, - -0.13836686313152313, - -0.08134415745735168, - 0.2040412873029709, - 0.14905764162540436, - 0.32249611616134644, - 0.2916358709335327, - -0.6801439523696899, - 0.13808032870292664, - 0.04117457568645477, - -0.35449719429016113, - 0.22641296684741974, - -0.11808512359857559, - -0.07027171552181244, - -0.10572060197591782, - -0.15515469014644623, - -0.2763161063194275, - -0.4814583361148834, - 0.02502397634088993, - 0.4127350151538849, - -2.3265841007232666, - -0.0951528251171112, - 0.0266332495957613, - 0.2985280454158783, - 0.36305856704711914, - 0.039458323270082474, - 0.015102248638868332, - 0.03162441775202751, - -0.06619574874639511, - 0.011212985031306744, - 0.6458699703216553, - 0.35162439942359924, - -0.1140977144241333, - 0.0463264100253582, - -0.21078985929489136, - -1.115431547164917, - -0.08310552686452866, - -0.06262164562940598, - 0.042927294969558716, - -0.05489038676023483, - -0.24256335198879242, - -0.09005032479763031, - 0.043770480901002884, - -0.2041400521993637, - 0.24453145265579224, - 0.11554188281297684, - 0.2026459127664566, - -0.345918208360672, - -0.6503119468688965, - 0.13783079385757446, - -0.1749541461467743, - -0.008121663704514503, - -0.2794790267944336, - -0.4686086177825928, - 0.19028058648109436, - 0.42985427379608154, - -0.11628211289644241, - -0.14329630136489868, - -0.27742478251457214, - -0.06483302265405655, - -0.018348509445786476, - 0.16192781925201416, - -0.12277788668870926, - 0.09701694548130035, - 0.01128819864243269, - 0.014032882638275623, - 0.07983975112438202, - 0.05060616508126259, - -0.5240373611450195, - -1.2179608345031738, - -0.03863126039505005, - -0.05036527290940285, - 0.03355466574430466, - -0.4347473084926605, - 0.2565353214740753, - -0.11326612532138824, - 0.2726048529148102, - -0.42376112937927246, - -0.023075588047504425, - -0.05473586916923523, - 0.4343847930431366, - -0.0051671178080141544, - 0.3547937273979187, - -0.08823041617870331, - 0.11607196182012558, - -0.9579744935035706, - -0.015813684090971947, - -0.0497591532766819, - 0.10366342961788177 - ], - [ - 0.022100506350398064, - 0.05973423272371292, - -0.006858102045953274, - -0.07625041902065277, - 0.0537552647292614, - -0.07332704961299896, - -0.016882669180631638, - 0.004047991242259741, - 0.00806268397718668, - -0.009886280633509159, - 0.06888791173696518, - 0.0757407695055008, - 0.021822482347488403, - 0.0018336917273700237, - 0.07594286650419235, - -0.0274543184787035, - -0.00705647561699152, - 0.06866790354251862, - 0.09266436100006104, - -0.0003403244190849364, - 0.03812582790851593, - 0.022745877504348755, - 0.03063935413956642, - 0.03293226659297943, - -0.05427825450897217, - -0.052394285798072815, - 0.08560802042484283, - -0.05473952740430832, - 0.06855395436286926, - 0.0021014539524912834, - 0.005207826849073172, - 0.04866959527134895, - -0.02787557616829872, - -0.014721778221428394, - 0.11407733708620071, - -0.08830782026052475, - 0.10983572155237198, - 0.04407014325261116, - 0.07730831205844879, - 0.033464789390563965, - 0.009146101772785187, - 0.020720038563013077, - 0.03308495506644249, - 0.060373518615961075, - 0.045881785452365875, - -0.07335836440324783, - 0.07737629115581512, - 0.013063381426036358, - 0.10062108933925629, - 0.038289185613393784, - 0.03762344270944595, - 0.09670377522706985, - -0.021044831722974777, - 0.04225647822022438, - 0.007198530249297619, - 0.007486679591238499, - 0.08079442381858826, - 0.10847241431474686, - 0.04503866657614708, - -0.06439220160245895, - -0.03718191012740135, - -0.04443495720624924, - -0.034459877759218216, - -0.024855585768818855, - 0.11225103586912155, - -0.012098684906959534, - 0.16411805152893066, - 0.055935293436050415, - 0.03670573607087135, - -0.0026147107128053904, - 0.02849329635500908, - -0.033770378679037094, - -0.023687465116381645, - 0.016730692237615585, - -0.016792554408311844, - -0.05543510243296623, - 0.05381111055612564, - -0.024749239906668663, - 0.06550175696611404, - 0.044264715164899826, - 0.05848730728030205, - 0.06899718940258026, - -0.03510728478431702, - 0.05905619636178017, - -0.05505536124110222, - 0.002036695135757327, - 0.043284349143505096, - 0.09028360992670059, - -0.05221617966890335, - 0.025539042428135872, - 0.00040586444083601236, - 0.050219520926475525, - 0.007055121008306742, - -0.03503123298287392, - -0.019040584564208984, - -0.030668051913380623, - -0.028253722935914993, - -0.05933734029531479, - 0.09187337011098862, - -0.03565239533782005, - 0.007415323983877897, - 0.003446849761530757, - 0.0861821174621582, - -0.028345314785838127, - 0.06000646948814392, - -0.04835960268974304, - -0.009463253431022167, - 0.027377089485526085, - -0.09059581160545349, - -0.02526162937283516, - -0.03889518231153488, - -0.028866000473499298, - 0.03326292335987091, - -0.07780182361602783, - 0.033728089183568954, - -0.03527432680130005, - 0.05570830777287483, - -0.05192122980952263, - 0.04176004230976105, - 0.07814699411392212, - 0.06351935863494873, - 0.07046718895435333, - -0.06931284070014954, - 0.04990892484784126, - -0.005853850860148668, - -0.02124575711786747, - 0.021970102563500404, - 0.011145196855068207 - ], - [ - -0.10874991863965988, - 0.11763397604227066, - -0.04454135149717331, - -0.04409550130367279, - 0.029610177502036095, - -0.0469261072576046, - -0.10175896435976028, - 0.02217860519886017, - 0.02360335923731327, - -0.12451070547103882, - 0.0718151405453682, - 0.040806274861097336, - 0.13956202566623688, - -0.1283247172832489, - -0.021691428497433662, - 0.06577760726213455, - -0.1157815083861351, - -0.05095899850130081, - 0.14206258952617645, - 0.029813125729560852, - 0.047458719462156296, - 0.05395878851413727, - -0.054781120270490646, - -0.03520810976624489, - 0.03340160474181175, - 0.020458677783608437, - -0.013200613670051098, - 0.03782344236969948, - -0.027826769277453423, - -0.0177626870572567, - -0.08389586955308914, - 0.0930219516158104, - -0.17846925556659698, - 0.0683843269944191, - 0.0992787778377533, - -0.40700653195381165, - -0.03024269826710224, - 0.0932631716132164, - 0.07231274247169495, - 0.1799630969762802, - 0.05498238280415535, - 0.08438967913389206, - -0.06030955910682678, - 0.12739457190036774, - -0.014909046702086926, - -0.09680614620447159, - -0.08667949587106705, - 0.07913587987422943, - 0.04462272301316261, - 0.1466536819934845, - -0.1304406374692917, - 0.09753764420747757, - 0.08904200792312622, - 0.0024527590721845627, - -0.1307583898305893, - 0.10451482981443405, - 0.06756467372179031, - 0.05104636773467064, - 0.04643775522708893, - 0.04838382825255394, - 0.01280492264777422, - 0.04848919436335564, - 0.08307463675737381, - 0.012579288333654404, - 0.11235181242227554, - 0.08992814272642136, - 0.1150992214679718, - -0.09207111597061157, - -0.02370542660355568, - 0.10883768647909164, - 0.10126376897096634, - -0.004358799662441015, - 0.06549526751041412, - -0.066440649330616, - -0.06488785892724991, - -0.09109856933355331, - -0.0006314009078778327, - 0.05163821950554848, - 0.08556362986564636, - -0.12821485102176666, - 0.053370941430330276, - 0.11493109166622162, - -0.05387183651328087, - 0.03503965958952904, - 0.01115469727665186, - 0.07940593361854553, - -0.049753088504076004, - -0.002931189024820924, - 0.026441605761647224, - 0.0880935937166214, - 0.10981141030788422, - -0.009769277647137642, - -0.15580111742019653, - 0.08266335725784302, - -0.1104380413889885, - -0.05999383330345154, - -0.04163913428783417, - -0.046950776129961014, - -0.020358119159936905, - 0.06878373771905899, - 0.060373615473508835, - -0.0904647707939148, - -0.001194355427287519, - 0.06163525581359863, - 0.09129751473665237, - -0.06476165354251862, - -0.08394224941730499, - -0.09015800058841705, - -0.1100175529718399, - 0.06773547828197479, - -0.12030615657567978, - 0.11214296519756317, - 0.09926857799291611, - -0.07497785240411758, - -0.07614120095968246, - 0.09117268770933151, - -0.08321798592805862, - 0.04765239357948303, - 0.013470078818500042, - 0.01739692874252796, - -0.09838885068893433, - -0.049362629652023315, - 0.010396691970527172, - 0.03182753548026085, - 0.09512922912836075, - 0.043936651200056076, - 0.04824742302298546, - 0.032766036689281464 - ], - [ - -0.09444815665483475, - -0.10546442866325378, - 0.004151022061705589, - 0.26865676045417786, - -0.09786245971918106, - -0.0870860368013382, - -0.1030690148472786, - 0.151222825050354, - -0.16227436065673828, - -0.07391563802957535, - 0.01781049370765686, - 0.07307354360818863, - 0.06218486651778221, - -0.5777086615562439, - -0.3971981406211853, - -0.11923658847808838, - -0.17235496640205383, - -0.19170288741588593, - 0.4237936735153198, - 0.3947053551673889, - 0.0948033481836319, - 0.07797446101903915, - -0.3725269138813019, - -0.03751477599143982, - 0.32913753390312195, - -0.20175257325172424, - 0.11862052232027054, - -0.1722174882888794, - -0.05023976042866707, - 0.13087758421897888, - 0.332387775182724, - 0.0913136824965477, - -0.31936120986938477, - -0.020207837224006653, - 0.03258311375975609, - 0.26868852972984314, - 0.025287505239248276, - 0.23182709515094757, - -0.0030688790138810873, - 0.07344377785921097, - -0.05932801216840744, - 0.002265426330268383, - -0.013018941506743431, - -0.07382942736148834, - -0.07015806436538696, - -0.037649620324373245, - 0.13419577479362488, - 0.1620219498872757, - 0.17791183292865753, - 0.04432394355535507, - 0.1689101606607437, - 0.3161015808582306, - 0.06653757393360138, - -0.2137129157781601, - 0.2577473819255829, - 0.0035910988226532936, - 0.1699383556842804, - 0.06487233936786652, - -0.22776897251605988, - -0.17907263338565826, - 0.03378954529762268, - -0.04180801287293434, - -0.366566002368927, - -0.03351831063628197, - 0.1308535635471344, - -0.07481737434864044, - 0.3166605830192566, - 0.3140139579772949, - -0.003924658056348562, - -0.3712998628616333, - 0.10029216855764389, - 0.007486800663173199, - 0.10769049823284149, - -0.04785921052098274, - -0.15964457392692566, - 0.18918821215629578, - -0.05380452424287796, - -0.045164965093135834, - -0.05487172678112984, - -0.264744371175766, - -0.3187876045703888, - 0.17602095007896423, - 0.12430839985609055, - 0.2621302306652069, - -0.44947323203086853, - 0.11485685408115387, - -0.10570235550403595, - 0.154866561293602, - -0.017136283218860626, - 0.09437155723571777, - 0.16342693567276, - 0.31610172986984253, - -0.3965337872505188, - 0.10463127493858337, - -0.5655682682991028, - -0.6598596572875977, - 0.15606650710105896, - -0.22883625328540802, - 0.1680314987897873, - 0.05444402992725372, - -0.22881101071834564, - -0.7171896696090698, - -0.25398334860801697, - 0.22015957534313202, - 0.07082755118608475, - -0.3327757716178894, - -0.3070888817310333, - 0.34825870394706726, - -0.4655570089817047, - -0.7730278372764587, - 0.09746160358190536, - 0.12433277815580368, - 0.22675098478794098, - -0.062036577612161636, - 0.020063752308487892, - 0.06953223049640656, - 0.17867273092269897, - -0.10206679999828339, - -0.046225693076848984, - -0.27563706040382385, - -0.19284509122371674, - -0.2345849722623825, - 0.02791452780365944, - 0.200689435005188, - -0.8062997460365295, - -0.6312804818153381, - -0.04716772213578224, - 0.29504427313804626 - ], - [ - 0.020345857366919518, - 0.08258439600467682, - 0.04198909550905228, - -0.012981762178242207, - -0.1486009955406189, - 0.08143780380487442, - 0.03239312767982483, - 0.05183764174580574, - 0.09492125362157822, - 0.03350841999053955, - -0.11826544255018234, - 0.004810255952179432, - 0.01743023656308651, - 0.08030740171670914, - -0.3595708906650543, - -0.07846042513847351, - 0.17077846825122833, - 0.06355525553226471, - 0.0008098255493678153, - 0.16387782990932465, - -0.314718633890152, - 0.011779466643929482, - -0.08589942753314972, - -0.05517808347940445, - 0.07806329429149628, - 0.07241081446409225, - -0.015361661091446877, - -0.0918382853269577, - -0.1521817445755005, - 0.06674808263778687, - 0.13242582976818085, - 0.00159309187438339, - 0.0535249225795269, - 0.013043437153100967, - -0.025688836351037025, - -0.14653842151165009, - -0.06288441270589828, - 0.0830831304192543, - 0.10518289357423782, - -0.1229301393032074, - 0.04864174500107765, - -0.1046496108174324, - -0.031805217266082764, - 0.10773799568414688, - 0.00237857224419713, - -0.250005304813385, - 0.06048933044075966, - 0.037960827350616455, - -0.008680831640958786, - 0.0014409392606467009, - -0.06735807657241821, - -0.08703939616680145, - 0.13478907942771912, - 0.09688401222229004, - 0.007311120629310608, - 0.07687411457300186, - 0.025612207129597664, - 0.08480565994977951, - -0.04219629243016243, - -0.03235746920108795, - -0.06431146711111069, - 0.023429619148373604, - 0.01075203251093626, - 0.08108755946159363, - 0.06615999341011047, - 0.06703384220600128, - 0.11017568409442902, - 0.01596059463918209, - 0.05204823613166809, - 0.08427974581718445, - 0.04228236898779869, - 0.005966749042272568, - 0.05200062319636345, - -0.048708561807870865, - 0.012274525128304958, - 0.02917325869202614, - 0.06927766650915146, - 0.10555313527584076, - -0.07545927911996841, - -0.1694139838218689, - -0.12465400993824005, - -0.04468682035803795, - -0.0652848407626152, - 0.022826163098216057, - -0.022961921989917755, - 0.06117899343371391, - 0.016012853011488914, - 0.13477642834186554, - -0.06917978078126907, - -0.019295673817396164, - 0.337545245885849, - -0.0454840213060379, - -0.1998652219772339, - 0.11409991979598999, - -0.12017957121133804, - -0.027296677231788635, - -0.07282096147537231, - 0.07185978442430496, - 0.06815982609987259, - -0.0940287709236145, - 0.06805936992168427, - 0.052890777587890625, - 0.0917636975646019, - -0.06638538092374802, - -0.06039520353078842, - -0.07764308899641037, - -0.08000923693180084, - -0.33001887798309326, - -0.1008705198764801, - -0.009203345514833927, - -0.038755808025598526, - 0.039360638707876205, - 0.1258840560913086, - -0.09986866265535355, - -0.08260538429021835, - 0.1423780620098114, - -0.10750985890626907, - 0.10695836693048477, - -0.09841299802064896, - -0.05929999426007271, - 0.0009934597183018923, - 0.02132529579102993, - 0.09034831076860428, - 0.028612608090043068, - -0.009373960085213184, - 0.04995357617735863, - -0.05761996656656265, - -0.06977792084217072 - ], - [ - -0.00044584175338968635, - -9.155052410614317e-11, - -2.9199471729413062e-09, - -9.188117360281467e-07, - -1.139207412848009e-07, - -1.284078962271451e-06, - 2.0215529730194248e-05, - -4.659285696106963e-05, - -2.7013120416086167e-05, - -9.8429472927819e-06, - -4.647890010150632e-16, - -1.2911179965158226e-06, - -1.6734784694979737e-27, - -3.427300887537399e-09, - -3.5351957657986485e-40, - -6.171132492337846e-20, - -6.793305045209966e-31, - 2.1716719800224382e-07, - -5.32333133340138e-22, - -2.4571139567441946e-10, - 1.0010455839597196e-40, - -1.7649843186973158e-07, - -2.417084942862857e-06, - -1.8549266087575234e-06, - -3.988310723346267e-11, - -6.969708010728937e-06, - -0.00014265533536672592, - -4.2984069084597576e-29, - -1.9570025600046392e-08, - -2.171365667891223e-05, - 6.236420407867982e-11, - -7.306345537472225e-07, - -3.095748567386386e-41, - -3.624598607822572e-40, - -9.231123623745091e-14, - -6.830018933009765e-23, - -2.7363830312765458e-08, - 8.225140568640654e-09, - -6.475165311421126e-20, - -2.90887214760005e-07, - -5.343924271983269e-07, - -4.114118894449348e-07, - -1.27003657590663e-10, - -2.843396629259587e-10, - -1.3586016756050867e-08, - 6.107489291836499e-40, - -6.156495452325217e-11, - 4.4341055827068487e-10, - -1.7904647393152118e-05, - 6.2674895504931066e-40, - -1.0277708357623406e-17, - -4.68755589899672e-10, - 6.583687588157527e-14, - -3.3520132199441055e-13, - -1.2669014726185424e-09, - -2.5660361302470847e-07, - -2.4041673896135762e-06, - -4.460528725758195e-05, - 4.756451289722463e-06, - -4.384489784570178e-06, - 6.3542059795891576e-21, - -4.125657142139971e-05, - -6.436049261537846e-06, - -1.3688464983960004e-18, - -2.225570977509861e-10, - -1.37610829398227e-08, - -2.397555363131687e-05, - -3.329783671013331e-11, - -3.857734895973408e-07, - -1.3570698683906812e-05, - -1.00075114861653e-09, - -3.794394069700502e-05, - 4.04758975491859e-06, - -8.826262503236765e-22, - -1.3386523960434715e-06, - -0.00011272213305346668, - -5.418936478739696e-15, - 5.921733167405601e-40, - 2.132702221883318e-31, - -1.8009417655535146e-17, - -7.403718610410337e-11, - -2.0494383557709056e-15, - -2.023037086473778e-05, - -7.793586956350573e-12, - -1.7994027601275775e-08, - -9.5906580099836e-07, - -2.033852979366202e-05, - -1.2433476470619098e-09, - -8.323967473213381e-17, - -3.956924956582952e-06, - 4.341337793571986e-32, - -4.3608569200159764e-08, - -3.949672033245256e-18, - -1.478904563916028e-12, - -1.8938862607218105e-17, - -3.9012338675092906e-06, - -1.8966120478580706e-05, - 1.865072044893168e-05, - -1.8906891909864498e-06, - -4.338051011824496e-19, - -0.00028914096765220165, - -3.152842917297782e-11, - -1.0782426898003905e-06, - -2.2289306400580244e-07, - 1.6852294493219233e-07, - -5.130399586050771e-06, - -3.6227349937689723e-06, - -7.151771939912961e-39, - 1.3502351482848207e-40, - 1.5482792999066408e-12, - 3.418707876789995e-07, - 1.1283815754129157e-40, - -2.0737494719065249e-16, - -2.5020722205226775e-06, - -2.0625165411677895e-18, - -8.26649265945889e-05, - -6.290624806428754e-19, - -3.7695743230869994e-05, - -2.135755892140878e-07, - -4.705426817963598e-06, - -0.0008775395690463483, - -1.4698167010498828e-16, - -6.313180165307131e-06, - -2.1105923952990935e-10, - 1.2301018309382542e-40, - -1.5831767008478437e-09, - -3.6177410947857425e-05, - -6.594370443266157e-41 - ], - [ - -0.14104413986206055, - -0.08550803363323212, - -0.056075986474752426, - -0.1392381638288498, - -0.04371555894613266, - 0.08799414336681366, - 0.07550466805696487, - -0.04804478585720062, - 0.006246818695217371, - -0.035008132457733154, - 0.020046859979629517, - 0.04793033376336098, - 0.08181677758693695, - -0.14407086372375488, - -0.13555876910686493, - -0.14684459567070007, - -0.1291399896144867, - -0.05401122570037842, - 0.075422003865242, - 0.2204241156578064, - 0.11591820418834686, - 0.10085967928171158, - 0.05159406736493111, - 0.09519592672586441, - -0.09217249602079391, - 0.0064501091837882996, - 0.15199624001979828, - 0.12175027281045914, - -0.11525428295135498, - 0.1416197121143341, - 0.019238445907831192, - 0.11461994051933289, - -0.17880570888519287, - -0.005189654882997274, - -0.04494582116603851, - -0.02208442986011505, - -0.15709708631038666, - 0.05099504441022873, - 0.12399493902921677, - 0.05006171017885208, - -0.12395890057086945, - 0.10361938923597336, - -0.12926459312438965, - 0.12684008479118347, - -0.07075630873441696, - -0.03219493851065636, - 0.06384515762329102, - 0.1479233205318451, - 0.11414188146591187, - 0.1729881465435028, - -0.026519786566495895, - 0.03900572657585144, - 0.04804244264960289, - -0.081888847053051, - -0.05678464099764824, - 0.05022229254245758, - -0.06730110198259354, - 0.06722192466259003, - 0.07272542268037796, - 0.06768149882555008, - 0.10650067031383514, - -0.07044139504432678, - -0.020618867129087448, - 0.022606302052736282, - 0.1243889331817627, - 0.050003230571746826, - 0.2117871791124344, - -0.07247675210237503, - -0.0433017872273922, - -0.018049292266368866, - -0.07728008925914764, - -0.051487650722265244, - -0.010388107970356941, - -0.03840603679418564, - 0.042314570397138596, - -0.13308650255203247, - 0.17549486458301544, - 0.08729366213083267, - 0.10613762587308884, - -0.1805201917886734, - -0.22303836047649384, - 0.17258907854557037, - -0.12479858845472336, - 0.09327780455350876, - -0.17199286818504333, - -0.03702288120985031, - -0.01579420268535614, - 0.02618500404059887, - -0.004428249318152666, - -0.08325447887182236, - 0.12585794925689697, - -0.065574511885643, - -0.1369810253381729, - 0.1628239005804062, - 0.009094227105379105, - -0.020980389788746834, - 0.04186570644378662, - -0.024476798251271248, - 0.16985087096691132, - 0.028288502246141434, - 0.06904555857181549, - -0.05354343727231026, - 0.0034970175474882126, - 0.01316171232610941, - 0.12500526010990143, - 0.062093738466501236, - -0.029471196234226227, - -0.08351898193359375, - -0.3311784565448761, - 0.027033844962716103, - 0.09369193017482758, - 0.12931285798549652, - 0.1198355183005333, - -0.06606995314359665, - 0.026732195168733597, - 0.03589631989598274, - -0.05032728984951973, - 0.15489289164543152, - 0.032181669026613235, - -0.0541946180164814, - -0.038826677948236465, - -0.10267078876495361, - -0.06151000037789345, - 0.016563208773732185, - 0.05637247860431671, - 0.08317486941814423, - -0.046989064663648605, - -0.05246599018573761 - ], - [ - -0.10186420381069183, - 0.02016870491206646, - 0.054370246827602386, - 0.13046176731586456, - -0.021356552839279175, - 0.07473702728748322, - -0.004555057268589735, - 0.09229419380426407, - 0.029509060084819794, - -0.08054400235414505, - 0.19508476555347443, - -0.04133418947458267, - 0.146103635430336, - -0.08147824555635452, - -0.131513312458992, - -0.03063621185719967, - 0.06328791379928589, - -0.11086396872997284, - 0.02187536470592022, - 0.08178805559873581, - -0.4296962320804596, - -0.015291551128029823, - 0.08149909973144531, - 0.053222719579935074, - -0.054673902690410614, - -0.16605141758918762, - -0.03590128570795059, - -0.28833988308906555, - -0.007345319725573063, - 0.06583943217992783, - 0.005079068709164858, - 0.03580319881439209, - 0.013572314754128456, - -0.04575575888156891, - 0.0785786584019661, - -0.22729343175888062, - -0.0904286652803421, - 0.004339638166129589, - 0.19334560632705688, - 0.0402449332177639, - 0.059076592326164246, - 0.013826125301420689, - -0.11223575472831726, - 0.0489761121571064, - -0.11104200035333633, - -0.12019079923629761, - 0.11134091764688492, - 0.01799221895635128, - 0.06266142427921295, - 0.1326330155134201, - -0.032054029405117035, - -0.1561957597732544, - 0.05022146552801132, - -0.07156559079885483, - 0.10750767588615417, - 0.08466636389493942, - 0.10223737359046936, - 0.05556120350956917, - -0.12165739387273788, - 0.008870034478604794, - -0.15012112259864807, - 0.03577403351664543, - 0.06069657579064369, - 0.06260450929403305, - 0.042518071830272675, - 0.13712525367736816, - 0.06046714261174202, - -0.07188569009304047, - 0.03488211706280708, - 0.056959472596645355, - -0.0702919140458107, - -0.06275980919599533, - -0.04078558087348938, - -0.11212116479873657, - 0.12560388445854187, - -0.0017485315911471844, - -0.005485716741532087, - -0.03272698447108269, - -0.054903946816921234, - 0.009742619469761848, - -0.12828007340431213, - 0.0064230505377054214, - -0.07852432131767273, - 0.06572259217500687, - -0.11800432205200195, - 0.03379007428884506, - 0.06506215035915375, - -0.018542135134339333, - -0.11898178607225418, - 0.11570706218481064, - -0.0810745507478714, - 0.008890210650861263, - -0.3217940926551819, - -0.0547780878841877, - 0.05689295381307602, - 0.064761683344841, - -0.03760334476828575, - -0.04549845680594444, - -0.00040005645132623613, - -0.1264895647764206, - 0.0457359217107296, - -0.0731520727276802, - 0.00581421609967947, - -0.0028948418330401182, - -0.016589587554335594, - -0.1273030787706375, - -0.01079714298248291, - 0.036282576620578766, - -0.0026773165445774794, - 0.008228794671595097, - -0.10860657691955566, - 0.08314163237810135, - 0.0635782927274704, - 0.03370481729507446, - -0.05471549928188324, - 0.15337076783180237, - -0.05022745206952095, - -0.0714479461312294, - -0.07447922229766846, - 0.0042650289833545685, - -0.01152635645121336, - -0.23130302131175995, - -0.010172521695494652, - -0.1043105199933052, - -0.07436321675777435, - 0.03893746808171272, - 0.07749798148870468, - -0.12848053872585297 - ], - [ - -0.23194119334220886, - 0.02223324216902256, - 0.09503065794706345, - 0.03651803731918335, - 0.03210384398698807, - 0.07084006071090698, - 0.12949901819229126, - 0.08622266352176666, - 0.06083107367157936, - -0.021112516522407532, - 0.11472856253385544, - 0.02182413451373577, - 0.047894056886434555, - -0.03157518059015274, - -0.3266664743423462, - 0.05045453459024429, - 0.07629546523094177, - -0.010329179465770721, - 0.05431155860424042, - 0.11045083403587341, - -0.46407878398895264, - -0.05686293914914131, - -0.007122046779841185, - 0.06823472678661346, - 0.06266732513904572, - 0.048078592866659164, - 0.1936330646276474, - 0.0200031790882349, - -0.020903313532471657, - 0.09307220578193665, - 0.05274999141693115, - 0.19260834157466888, - -0.13740763068199158, - -0.06888734549283981, - -0.11812756955623627, - -0.3511490821838379, - -0.03247915208339691, - -0.04806635528802872, - -0.014915005303919315, - -0.13664229214191437, - -0.05732613429427147, - -0.01680649444460869, - -0.07354304939508438, - -0.06927555054426193, - -0.0865766629576683, - -0.16119498014450073, - -0.14710628986358643, - 0.10504905134439468, - 0.1445237547159195, - 0.13133475184440613, - -0.19812551140785217, - 0.10569991916418076, - 0.04979626461863518, - -0.04298693314194679, - 0.001944013754837215, - 0.10887430608272552, - 0.11620942503213882, - 0.08811014145612717, - 0.06621793657541275, - 0.10560007393360138, - 0.02439979277551174, - 0.05429239571094513, - -0.18555310368537903, - -0.0711669921875, - 0.11930855363607407, - 0.016111819073557854, - -0.017016051337122917, - -0.11795993149280548, - 0.018993163481354713, - 0.008340730331838131, - 0.15057677030563354, - -0.04989412799477577, - 0.0342726930975914, - -0.002316840225830674, - 0.03589965030550957, - -0.2172316163778305, - 0.04691608250141144, - -0.08149195462465286, - -0.17072880268096924, - -0.03349434584379196, - -0.010138606652617455, - -0.10026789456605911, - -0.08649274706840515, - 0.15808235108852386, - -0.07925079017877579, - 0.11087116599082947, - 0.028199272230267525, - 0.1862000674009323, - 0.10573423653841019, - -0.024707259610295296, - -0.04990684986114502, - 0.12717404961585999, - -0.1824958324432373, - 0.16071966290473938, - -0.056628912687301636, - -0.08178392052650452, - -0.04939638078212738, - 0.09060322493314743, - 0.019238369539380074, - 0.13549914956092834, - -0.03668870031833649, - -0.01356151606887579, - -0.010227298364043236, - -0.0405622161924839, - -0.09244225919246674, - 0.07932641357183456, - -0.06395259499549866, - -0.07755931466817856, - -0.020049242302775383, - 0.14064288139343262, - -0.05962531641125679, - -0.08709976822137833, - 0.012743543833494186, - -0.004799806047230959, - -0.1648935228586197, - 0.11586228013038635, - -0.2497323453426361, - -0.2673991918563843, - 0.10768316686153412, - 0.051774926483631134, - -0.13987122476100922, - -0.05224622040987015, - 0.09690986573696136, - 0.24265065789222717, - 0.18305596709251404, - 0.008408626541495323, - 0.029821181669831276, - 0.18184328079223633 - ], - [ - 0.06524014472961426, - 0.03542494401335716, - -0.023717235773801804, - 0.074525848031044, - 0.082551971077919, - 0.13401426374912262, - 0.11827995628118515, - 0.004647840745747089, - -0.030520129948854446, - 0.10916905850172043, - -0.0853806659579277, - -0.06702870875597, - -0.031672872602939606, - -0.028118353337049484, - 0.10981348156929016, - -0.026015369221568108, - 0.020694442093372345, - -0.045821718871593475, - -0.16597825288772583, - -0.10307992994785309, - -0.12719495594501495, - -0.021188272163271904, - -0.05058007687330246, - -0.07219534367322922, - 0.015828397125005722, - 0.04573511332273483, - -0.05061129108071327, - 0.09712455421686172, - -0.0346960611641407, - -0.03800984472036362, - 0.084380604326725, - -0.011169150471687317, - 0.03385401517152786, - -0.10393992066383362, - -0.1975974142551422, - 0.12237498909235, - 0.04829597845673561, - 0.039124611765146255, - -0.0065456475131213665, - 0.012799251824617386, - 0.012488883920013905, - -0.011260004714131355, - 0.11188855767250061, - 0.05298624932765961, - 0.12003233283758163, - 0.04985029995441437, - -0.03707883134484291, - 0.08285057544708252, - 0.025311172008514404, - -0.06653886288404465, - -0.06367388367652893, - 0.05146661773324013, - -0.008155238814651966, - -0.03916007652878761, - 0.052029144018888474, - -0.025483082979917526, - 0.0013410589890554547, - 0.05617273226380348, - -0.02646353654563427, - 0.09048664569854736, - 0.02036181651055813, - 0.003363247262313962, - 0.11120794713497162, - -0.12126263976097107, - -0.04787605628371239, - 0.028184540569782257, - -0.007874956354498863, - 0.026851711794734, - 0.0806286558508873, - -0.0474785678088665, - -0.11698351800441742, - 0.08319810777902603, - 0.04081812500953674, - 0.11070805788040161, - -0.023195145651698112, - 0.14310263097286224, - 0.0498601533472538, - -0.019457463175058365, - 0.0014453897019848228, - -0.046539679169654846, - -0.0020168565679341555, - -0.052405837923288345, - 0.030997352674603462, - -0.047029558569192886, - 0.03183538094162941, - 0.10284077376127243, - 0.05554753541946411, - 0.0530998595058918, - 0.06437595188617706, - -0.004071675706654787, - 0.06491346657276154, - 0.028183339163661003, - 0.026170790195465088, - 0.05512348935008049, - 0.09696631133556366, - 0.006638756953179836, - 0.026820234954357147, - -0.03327921777963638, - -0.07775981724262238, - -0.08585870265960693, - 0.09956376999616623, - 0.031181177124381065, - 0.053810689598321915, - 0.11012953519821167, - -0.040220435708761215, - 0.08790276199579239, - 0.0733589306473732, - 0.01823059655725956, - 0.012245666235685349, - -0.030432865023612976, - 0.09484956413507462, - 0.110826276242733, - -0.15462452173233032, - 0.059399645775556564, - -0.08569499105215073, - 0.09312780946493149, - -0.051459502428770065, - -0.02192225307226181, - -0.06574779748916626, - 0.10327831655740738, - 0.03625495731830597, - -0.03052496537566185, - -0.007164822891354561, - -0.1233021542429924, - -0.016860343515872955, - 0.04941525682806969, - 0.03569978103041649, - 0.005020069889724255 - ], - [ - -0.11164629459381104, - 0.15105506777763367, - 0.09701869636774063, - 0.0810626819729805, - 0.12749886512756348, - -0.0319955013692379, - -0.04619266465306282, - -0.04096680507063866, - 0.034487299621105194, - -0.04204656928777695, - -0.19515003263950348, - -0.15646955370903015, - -0.2914915978908539, - -0.05874834209680557, - -0.1132689043879509, - -0.03598152846097946, - 0.2939285337924957, - 0.5754775404930115, - 0.23100292682647705, - -0.10509742051362991, - -0.541304349899292, - 0.03866291418671608, - -0.03214070200920105, - -0.20464955270290375, - 0.061889104545116425, - -0.10301069170236588, - -0.124962218105793, - -0.06609375774860382, - 0.13707496225833893, - 0.09277550131082535, - 0.08434879779815674, - 0.10155724734067917, - -0.11806999146938324, - -0.07780826836824417, - -0.2906869947910309, - -0.21161368489265442, - 0.0009408799814991653, - 0.118462473154068, - 0.06649639457464218, - -0.0676729679107666, - 0.045548100024461746, - 0.025043629109859467, - -0.31727346777915955, - 0.03560110926628113, - 0.0801440104842186, - -0.29722660779953003, - 0.11351663619279861, - 0.10988357663154602, - -0.05790632218122482, - 0.16405612230300903, - -0.12696924805641174, - -0.027369188144803047, - 0.12681254744529724, - -0.08794545382261276, - 0.09446056932210922, - -0.014684640802443027, - -0.01649453677237034, - 0.07423200458288193, - -0.27172020077705383, - -0.40296512842178345, - 0.01592831499874592, - -0.0013568255817517638, - -0.06894074380397797, - 0.20201167464256287, - 0.0751696303486824, - -0.018957577645778656, - 0.18249477446079254, - 0.6739743947982788, - -0.11182788014411926, - -0.15168242156505585, - 0.15883298218250275, - -0.23132164776325226, - 0.0756797343492508, - -0.016765359789133072, - -0.16559961438179016, - 0.2166551798582077, - -0.021698327735066414, - -0.04414715990424156, - 0.0986928939819336, - -0.11694693565368652, - -0.2712996006011963, - -0.03708009421825409, - 0.1996261328458786, - 0.011765626259148121, - 0.09744807332754135, - -0.008408080786466599, - 0.05317723751068115, - 0.02631121501326561, - -0.34671133756637573, - -0.05676514655351639, - 0.25383031368255615, - -0.03342818841338158, - -0.9062691330909729, - -0.10456361621618271, - 0.09077282249927521, - -0.05493927001953125, - -0.029109127819538116, - 0.09489627182483673, - 0.17592523992061615, - -0.2488584667444229, - -0.028514647856354713, - -0.07406992465257645, - 0.1365910768508911, - -0.05706648901104927, - -0.14491045475006104, - -0.1994006335735321, - -0.21311986446380615, - 0.01370824221521616, - -0.3455093801021576, - -0.14846056699752808, - -0.16408434510231018, - 0.12065283209085464, - -0.3558879494667053, - -0.14080731570720673, - 0.004712911322712898, - 0.6059274673461914, - -0.0336279459297657, - -0.02742130123078823, - 0.06461355835199356, - 0.17877726256847382, - -0.5528210401535034, - 0.03950337693095207, - 0.19186638295650482, - 0.04613344371318817, - -0.21826568245887756, - -0.18291588127613068, - -0.2283824235200882, - -0.15731385350227356 - ], - [ - 0.12980566918849945, - -0.010648083873093128, - -0.26158350706100464, - 0.1521385759115219, - 0.06790915876626968, - -0.004507440607994795, - 0.12591896951198578, - 0.042173292487859726, - 0.11879072338342667, - 0.044531818479299545, - -0.34106481075286865, - -0.13566194474697113, - 0.05440749228000641, - -0.4015127718448639, - -0.21474748849868774, - 0.1313474029302597, - -0.42949533462524414, - 0.05412033572793007, - 0.02274465374648571, - 0.07306714355945587, - 0.2414691150188446, - 0.012267409823834896, - -0.01725826971232891, - -0.020107785239815712, - 0.022303052246570587, - -0.004747059661895037, - -0.1255103349685669, - -0.1674378216266632, - -0.029930897057056427, - -0.056021083146333694, - -0.029717588797211647, - 0.01119951717555523, - 0.01748896762728691, - -0.14886710047721863, - -0.13047254085540771, - -0.020692838355898857, - -0.14935362339019775, - -0.03664599359035492, - -0.15636709332466125, - 0.044494468718767166, - 0.2710318863391876, - 0.010894453153014183, - 0.35111433267593384, - -0.009558538906276226, - 0.16209878027439117, - -0.17432287335395813, - -0.2802223563194275, - 0.01656157895922661, - -0.20723950862884521, - 0.10633515566587448, - -0.3867756128311157, - -0.09485997259616852, - 0.16949862241744995, - 0.14491471648216248, - 0.1620754599571228, - -0.05009424686431885, - -0.029779210686683655, - -0.11953331530094147, - 0.010751346126198769, - 0.0020671773236244917, - -0.01434371992945671, - 0.03159945830702782, - 0.03339000418782234, - 0.016721896827220917, - -0.11544930189847946, - 0.15678374469280243, - -0.32710200548171997, - -0.018844982609152794, - 0.079367995262146, - 0.11593242734670639, - -0.10202649980783463, - 0.0951942652463913, - 0.08367416262626648, - -0.014336416497826576, - -0.06342708319425583, - 0.10386951267719269, - -0.10254890471696854, - 0.07274951785802841, - -0.0034639397636055946, - 0.008365362882614136, - 0.03845919296145439, - 0.08889131993055344, - 0.05469471216201782, - 0.043139394372701645, - 0.16031034290790558, - 0.014928297139704227, - -0.04077139124274254, - -0.06610412895679474, - 0.011744723655283451, - 0.18740214407444, - -0.1798553615808487, - 0.011072861962020397, - -0.2645839750766754, - 0.07310065627098083, - 0.07488888502120972, - -0.003921852447092533, - 0.019502058625221252, - 0.1711875945329666, - -0.0007777467253617942, - -0.08872412145137787, - -0.04599153622984886, - 0.026223482564091682, - -0.04111479967832565, - 0.14085891842842102, - 0.029653236269950867, - 0.03985505551099777, - 0.2159292995929718, - 0.4454796314239502, - 0.16199210286140442, - -0.003381438786163926, - 0.05938190221786499, - 0.03670213371515274, - 0.023748282343149185, - 0.028455479070544243, - 0.023952031508088112, - 0.05069076269865036, - 0.09028373658657074, - 0.005668729543685913, - -0.06579168140888214, - 0.06033523008227348, - 0.08485228568315506, - -0.1524336189031601, - 0.12803098559379578, - -0.044908516108989716, - -0.06879984587430954, - -0.07449499517679214, - 0.0857132151722908, - -0.1535177379846573 - ], - [ - -0.07883087545633316, - -0.10804041475057602, - 0.1816711574792862, - 0.05030537024140358, - -0.02058379538357258, - 0.028147835284471512, - -0.0026933837216347456, - -0.09386476874351501, - 0.059356946498155594, - 0.016371026635169983, - 0.1398944854736328, - 0.1731071025133133, - -0.11059224605560303, - 0.11256727576255798, - -0.46799972653388977, - 0.03961014747619629, - 0.15416032075881958, - -0.019011976197361946, - 0.16369004547595978, - 0.01502049807459116, - -0.3820514976978302, - 0.10203112661838531, - 0.046229779720306396, - 0.1281808465719223, - 0.03812706843018532, - -0.06598834693431854, - 0.01704377681016922, - -0.19543801248073578, - 0.02855488657951355, - -0.0012100775493308902, - 0.07636778801679611, - -0.01885504275560379, - 0.15408951044082642, - 0.05460058152675629, - -0.09078076481819153, - -0.08731397986412048, - -0.0178412776440382, - 0.009529132395982742, - -0.02196154184639454, - 0.05682351067662239, - 0.012602673843502998, - 0.03788965195417404, - -0.1945255994796753, - 0.09411356598138809, - -0.2128574103116989, - -0.15137924253940582, - 0.10154969990253448, - 0.0039481851272284985, - -0.0760086178779602, - 0.08458138257265091, - 0.15712343156337738, - -0.15465262532234192, - -0.08671475946903229, - -0.1222393661737442, - -0.08581878989934921, - 0.048469178378582, - -0.03092498704791069, - 0.120295450091362, - 0.019471729174256325, - 0.12445582449436188, - -0.0002412160101812333, - -0.07147208601236343, - 0.025575710460543633, - -0.03206673264503479, - 0.0060219066217541695, - 0.010328374803066254, - 0.031135231256484985, - 0.09292185306549072, - 0.06541694700717926, - -0.07232216745615005, - -0.025525709614157677, - 0.1454779952764511, - 0.009013992734253407, - -0.14307358860969543, - 0.11549556255340576, - -0.17205211520195007, - 0.21330943703651428, - -0.01931619830429554, - -0.05484173819422722, - -0.01539616845548153, - -0.0749770924448967, - -0.017893634736537933, - -0.04368395730853081, - 0.04135642945766449, - -0.04186986759305, - -0.10097698867321014, - 0.05810542404651642, - 0.10213780403137207, - 0.0406399630010128, - -0.0025311154313385487, - -0.24844668805599213, - 0.1340441107749939, - -0.31990283727645874, - 0.004675612319260836, - 0.0164024718105793, - -0.00191535335034132, - 0.006479678675532341, - -0.06633109599351883, - 0.15401610732078552, - -0.02929462119936943, - 0.10599207133054733, - 0.12774427235126495, - -0.02852899394929409, - 0.08546929806470871, - -0.08496031910181046, - -0.003923008218407631, - -0.07987330108880997, - -0.21283338963985443, - -0.18863262236118317, - -0.02976061776280403, - -0.022594358772039413, - 0.024058399721980095, - 0.007697511464357376, - 0.01994980126619339, - -0.19354231655597687, - 0.09053049981594086, - -0.3502095341682434, - -0.1018480509519577, - 0.12027610093355179, - -0.02503804676234722, - -0.09151419997215271, - -0.027944346889853477, - 0.010775971226394176, - 0.16753730177879333, - -0.03857749328017235, - 0.10553496330976486, - 0.11496828496456146, - 0.0340392105281353 - ], - [ - 0.11624166369438171, - -0.01571604236960411, - 0.055150873959064484, - -0.06317383050918579, - -0.08703821152448654, - -0.08720247447490692, - -0.559186577796936, - 0.06004374474287033, - 0.1289820820093155, - 0.004837502725422382, - -0.3999999463558197, - -0.515246570110321, - 0.4138813316822052, - 0.12979130446910858, - -0.005172504112124443, - 0.0681481882929802, - -0.06546269357204437, - 0.3748612701892853, - 0.28702783584594727, - 0.38527384400367737, - 0.43039771914482117, - -0.011079145595431328, - -0.19132556021213531, - -0.1232079267501831, - -0.02443065494298935, - -0.25439900159835815, - -0.04770185425877571, - 0.1642468124628067, - 0.002528670011088252, - -0.12973152101039886, - 0.16487818956375122, - -0.06454241275787354, - 0.10422591120004654, - -0.07241131365299225, - 0.2096889168024063, - 0.0955149456858635, - -0.10111594945192337, - -0.07672996819019318, - -0.4653593897819519, - -0.032145772129297256, - 0.07852419465780258, - 0.04060721397399902, - 0.019509170204401016, - 0.021607957780361176, - 0.13177554309368134, - -0.16385455429553986, - -0.06875932216644287, - -0.04431833326816559, - 0.04098524525761604, - -0.1542675644159317, - 0.15816128253936768, - -0.3721161484718323, - 0.03207479789853096, - -0.13583774864673615, - 0.17195332050323486, - -0.1444127857685089, - 0.030313819646835327, - 0.2632273733615875, - -0.30573147535324097, - 0.15116849541664124, - -0.15042588114738464, - 0.19506770372390747, - -0.12220057100057602, - 0.03104354254901409, - -0.5907121896743774, - 0.01538354717195034, - -0.08873238414525986, - -0.27525201439857483, - -0.0860881358385086, - 0.13073845207691193, - 0.1127089112997055, - 0.007789279334247112, - -0.8492324948310852, - -0.17791880667209625, - -0.1550365835428238, - 0.011879228055477142, - -0.06764309108257294, - 0.23961757123470306, - 0.37707704305648804, - 0.038580797612667084, - -0.05314377695322037, - -0.17047083377838135, - 0.08967919647693634, - 0.28448131680488586, - 0.41862213611602783, - -0.35943540930747986, - 0.07687916606664658, - 0.3043081760406494, - -0.1421555131673813, - -0.008262289687991142, - 0.21802853047847748, - -0.12047397345304489, - -0.5514250993728638, - -0.24352504312992096, - -0.20739121735095978, - 0.0384545773267746, - 0.30992016196250916, - 0.15926837921142578, - -0.1042383462190628, - -0.32362040877342224, - -0.34364497661590576, - 0.43160298466682434, - 0.09140705317258835, - 0.19288015365600586, - -1.0271941423416138, - -0.2545274496078491, - -0.2871151566505432, - -0.04322255775332451, - 0.0037722319830209017, - 0.257635235786438, - 0.3313235938549042, - -0.011471675708889961, - 0.3620432913303375, - 0.1522638499736786, - 0.3640832304954529, - -0.2083352953195572, - -0.2241700440645218, - 0.01692509651184082, - -0.02049091085791588, - 0.083431176841259, - -0.042351651936769485, - -0.08233878761529922, - -0.21785210072994232, - 0.4199874997138977, - 0.006673484109342098, - 0.26084187626838684, - -0.12582415342330933, - -0.045637667179107666 - ], - [ - -0.09767929464578629, - -0.02646580897271633, - -0.02548760548233986, - -0.37020596861839294, - 0.0378107950091362, - 0.16748683154582977, - 0.1685241311788559, - 0.1537238359451294, - -0.14425452053546906, - 0.2700742185115814, - 0.0596657432615757, - 0.029250971972942352, - -0.25435182452201843, - 0.07161706686019897, - -0.16305822134017944, - 0.2718462347984314, - -0.22415445744991302, - -0.06677820533514023, - 0.056159839034080505, - -0.13023880124092102, - -0.032388005405664444, - -0.08899647742509842, - -0.1781005561351776, - 0.19714532792568207, - -0.2311280220746994, - 0.08445937931537628, - -0.045824915170669556, - -0.0017121504060924053, - -0.33260414004325867, - 0.04943729564547539, - -0.07386311888694763, - 0.1724644899368286, - -0.08592069149017334, - 0.17305625975131989, - 0.007955878041684628, - -0.09980817139148712, - 0.03475431725382805, - 0.05254169926047325, - 0.03976953402161598, - 0.09794768691062927, - -0.1415271759033203, - 0.19170264899730682, - -0.03711928427219391, - -0.1178331971168518, - -0.3025088906288147, - -0.054161231964826584, - 0.15518106520175934, - 0.04724365472793579, - 0.12686321139335632, - 0.034326646476984024, - 0.0503666028380394, - 0.007065047975629568, - -0.3584679663181305, - 0.046997759491205215, - -0.10511962324380875, - 0.138271763920784, - 0.004238039255142212, - 0.0754486471414566, - 0.13247737288475037, - 0.2191682606935501, - -0.031811319291591644, - -0.09962992370128632, - 0.11258156597614288, - -0.23694868385791779, - -0.1538933366537094, - -0.17110522091388702, - 0.0240901131182909, - -0.554036021232605, - 0.1116071343421936, - -0.06416866183280945, - 0.10978896915912628, - 0.1295633316040039, - 0.07489017397165298, - -0.03071265108883381, - -0.040281910449266434, - -0.2966133952140808, - 0.06645472347736359, - -0.08449490368366241, - 0.03005966730415821, - -0.06931386888027191, - -0.46020254492759705, - 0.020355116575956345, - -0.08875144273042679, - -0.01933923363685608, - -0.06929413974285126, - 0.005526193417608738, - -0.005028835032135248, - 0.08662579208612442, - -0.044920071959495544, - -0.8463559150695801, - -0.050016578286886215, - 0.5585256814956665, - -0.2755867838859558, - 0.015931742265820503, - -0.07500067353248596, - 0.039979442954063416, - 0.004177835304290056, - -0.39306432008743286, - -0.16676579415798187, - -0.18732644617557526, - -0.000799868896137923, - -0.131780207157135, - 0.10766572505235672, - 0.033867307007312775, - -0.01042663212865591, - 0.08592263609170914, - -0.07332299649715424, - -0.02247733250260353, - -0.06473665684461594, - -0.03810109943151474, - -0.09914673119783401, - 0.11249876022338867, - 0.30195072293281555, - 0.018936045467853546, - 0.015083040110766888, - 0.4338112473487854, - -0.14515697956085205, - -0.24012601375579834, - 0.10155973583459854, - -0.04951704666018486, - -0.1673204004764557, - 0.018459811806678772, - -0.10294149070978165, - -0.2198963165283203, - -0.1505623310804367, - 0.0688878670334816, - 0.018406838178634644, - 0.05594385042786598 - ], - [ - -0.12746946513652802, - 0.024723824113607407, - -0.0376197025179863, - 0.021044239401817322, - 0.0011405112454667687, - -0.04892275482416153, - 0.003858888288959861, - 0.10181489586830139, - 0.10485230386257172, - -0.03406596556305885, - 0.15208466351032257, - 0.12345488369464874, - 0.060594238340854645, - -0.14685428142547607, - 0.028292110189795494, - -0.1468980610370636, - 0.03351476788520813, - 0.006978187244385481, - 0.2556180953979492, - 0.1519002467393875, - 0.10329752415418625, - 0.06649171561002731, - 0.007208199240267277, - 0.1388019174337387, - -0.01975197345018387, - 0.027535369619727135, - 0.10498390346765518, - 0.06343314796686172, - -0.14083239436149597, - 0.13760565221309662, - 0.013929623179137707, - -0.01909775100648403, - -0.19026914238929749, - 0.02120637334883213, - 0.05106830224394798, - -0.14571569859981537, - -0.11374138295650482, - 0.017053967341780663, - 0.11531165987253189, - -0.010985620319843292, - 0.06688769906759262, - 0.01022972259670496, - 0.038309309631586075, - 0.010309632867574692, - -0.07820086181163788, - -0.038133423775434494, - 0.03997375816106796, - -0.06989584863185883, - 0.13131941854953766, - 0.16958771646022797, - -0.03026803582906723, - 0.04541432484984398, - -0.11246780306100845, - -0.01870913989841938, - 0.09264366328716278, - -0.035363294184207916, - -0.11365361511707306, - 0.03595827519893646, - -0.06666871905326843, - 0.06897125393152237, - -0.09781718254089355, - -0.01970064267516136, - -0.05191226676106453, - -0.0029533582273870707, - 0.05745602771639824, - -0.0934310182929039, - 0.0695151537656784, - 0.07759737223386765, - -0.08607800304889679, - 0.017747079953551292, - -0.0304858461022377, - 0.04644801840186119, - -0.017055166885256767, - -0.015288762748241425, - 0.021949302405118942, - -0.08836259692907333, - 0.03136719763278961, - -0.11182188987731934, - 0.05890974774956703, - -0.021940503269433975, - 0.0756509080529213, - -0.06306964159011841, - 0.015943702310323715, - 0.16031193733215332, - 0.07178078591823578, - 0.0294327475130558, - -0.02170618437230587, - -0.040162473917007446, - -0.04722602665424347, - -0.042037613689899445, - 0.06592158228158951, - 0.055321935564279556, - -0.041841473430395126, - -0.03193536773324013, - 0.005528357345610857, - 0.07812253385782242, - 0.04115033894777298, - -0.0454261489212513, - 0.11569187790155411, - -0.048677898943424225, - 0.10013031959533691, - -0.054694224148988724, - -0.052041396498680115, - 0.03838324546813965, - 0.07824435830116272, - -0.10582361370325089, - -0.26646795868873596, - -0.1206146627664566, - 0.03230404853820801, - 0.00307282991707325, - -0.008678714744746685, - 0.22847716510295868, - 0.07282295823097229, - 0.06895799189805984, - 0.03233928605914116, - -0.08143479377031326, - -0.07896750420331955, - 0.09057149291038513, - 0.05636338144540787, - 0.10702451318502426, - -0.011341196484863758, - 0.020170027390122414, - 0.05724503844976425, - 0.1362958550453186, - -0.09090482443571091, - 0.005083740688860416, - 0.08164390921592712, - 0.09439848363399506 - ], - [ - -0.008619899861514568, - 0.02950391359627247, - 0.041573114693164825, - -0.03377021849155426, - -0.22733448445796967, - -0.009479114785790443, - -0.09811480343341827, - 0.09123116731643677, - 0.0176051277667284, - 0.10825192928314209, - 0.14220422506332397, - 0.10346661508083344, - 0.057383328676223755, - -0.09473565965890884, - -0.0729885920882225, - -0.5289965271949768, - 0.017915483564138412, - -0.2828711271286011, - 0.09230373054742813, - 0.08629033714532852, - 0.34277230501174927, - -0.029111536219716072, - -0.32557961344718933, - -0.03589485213160515, - -0.2188313752412796, - -0.0635717585682869, - 0.01615806482732296, - 0.08041473478078842, - 0.11144591122865677, - 0.16756732761859894, - 0.08115367591381073, - 0.03625577688217163, - -0.04937059432268143, - 0.020722832530736923, - 0.007699364330619574, - 0.009437430649995804, - 0.0009414675878360868, - 0.09586779773235321, - 0.037508103996515274, - -0.0634361132979393, - -0.09604517370462418, - -0.14146415889263153, - -0.08024024963378906, - -0.0303496140986681, - -0.07836363464593887, - -0.21103283762931824, - 0.18571089208126068, - -0.06084670498967171, - 0.14082282781600952, - -0.1406082957983017, - -0.09961295872926712, - 0.0821763277053833, - 0.028768833726644516, - -0.034922126680612564, - -0.010712186805903912, - 0.12908026576042175, - 0.22368402779102325, - 0.10746410489082336, - -0.16835224628448486, - 0.1845204383134842, - 0.03438553959131241, - 0.04837709292769432, - 0.04383551701903343, - 0.0748986005783081, - 0.052893031388521194, - 0.03615095093846321, - 0.015149577520787716, - 0.08199726045131683, - -0.17325888574123383, - -0.19667865335941315, - 0.065639927983284, - 0.05473312735557556, - 0.05926407128572464, - -0.10390913486480713, - -0.20850573480129242, - 0.0373510867357254, - 0.005822872743010521, - 0.15684835612773895, - -0.07239682227373123, - -0.1928108185529709, - -0.32712528109550476, - -0.10599428415298462, - 0.08284176886081696, - -0.1319519281387329, - -0.0751095712184906, - 0.0451040156185627, - 0.2729843854904175, - -0.024619217962026596, - -0.012405910529196262, - 0.005724112968891859, - 0.012200315482914448, - 0.4910992681980133, - -0.2716349959373474, - -0.0014599432470276952, - -0.007098309695720673, - -0.029435016214847565, - 0.041705530136823654, - -0.05379387363791466, - 0.09218251705169678, - -0.027666321024298668, - -0.09147574007511139, - -0.11111937463283539, - -0.2074972540140152, - 0.09940126538276672, - -0.1570773869752884, - -0.09040587395429611, - -0.1201348826289177, - 0.14941321313381195, - -0.19362638890743256, - -0.06515025347471237, - 0.016433952376246452, - -0.04331999272108078, - 0.33345547318458557, - -0.03530190885066986, - 0.13463129103183746, - -0.15002213418483734, - 0.3075539767742157, - 0.09617678076028824, - 0.1323065161705017, - 0.0900944322347641, - -0.0746457502245903, - -0.03389609977602959, - 0.006052124314010143, - 0.18295727670192719, - -0.23882946372032166, - -0.1359127312898636, - 0.0661553218960762, - 0.26008161902427673 - ], - [ - 0.275935560464859, - 0.1652606576681137, - -0.19000062346458435, - 0.15897560119628906, - -0.037145063281059265, - 0.11762473732233047, - -0.1431088149547577, - -0.4287289083003998, - -0.023353515192866325, - 0.0029914032202214003, - 0.19956910610198975, - -0.355596661567688, - -0.12636777758598328, - -0.4502655267715454, - -0.09180711954832077, - 0.010518644005060196, - 0.11942804604768753, - 0.034093502908945084, - 0.2288271188735962, - 0.2261287122964859, - 0.2871485650539398, - -0.1853117048740387, - -0.008599755354225636, - -0.18058960139751434, - 0.060403987765312195, - 0.2323015183210373, - -0.38637328147888184, - -0.11449313908815384, - -0.6314042806625366, - 0.22713477909564972, - -0.3727354407310486, - 0.4686967730522156, - -0.04629014432430267, - -0.019582515582442284, - 0.08101990818977356, - 0.04716792702674866, - -0.11164221167564392, - -0.3087153136730194, - -0.33557286858558655, - 0.006678826175630093, - 0.06455597281455994, - -0.3527022898197174, - -0.2719956040382385, - 0.024951523169875145, - -0.14401434361934662, - -0.13791276514530182, - 0.15103012323379517, - 0.11955331265926361, - 0.1766151785850525, - 0.0664343386888504, - -1.0029864311218262, - 0.04064562916755676, - 0.030789313837885857, - 0.06264917552471161, - 0.10574875771999359, - 0.19984391331672668, - 0.11182354390621185, - 0.24388115108013153, - 0.024383431300520897, - 0.07221149653196335, - -0.03310650959610939, - 0.05348244309425354, - -0.021915512159466743, - 0.1808372586965561, - 0.154388889670372, - -0.09497803449630737, - -0.009944372810423374, - 0.013318709097802639, - -0.07390138506889343, - 0.03921384736895561, - 0.100347138941288, - 0.08459543436765671, - 0.15930426120758057, - -0.15386484563350677, - 0.14959901571273804, - -0.14557719230651855, - 0.14275594055652618, - -0.2637668251991272, - -0.0537969172000885, - -0.12310314923524857, - -0.026928899809718132, - -0.018619541078805923, - -0.04153279960155487, - 0.09819190204143524, - 0.0714327022433281, - 0.06667140126228333, - 0.04973718523979187, - 0.11347902566194534, - -0.06612741947174072, - 0.3952409029006958, - 0.38254809379577637, - 0.10156295448541641, - 0.08729171752929688, - 0.0005177009734325111, - -0.06880532205104828, - 0.09628837555646896, - -0.2572055160999298, - 0.07991338521242142, - 0.17876414954662323, - -0.06502752006053925, - -0.05755683779716492, - 0.19448959827423096, - 0.04040355607867241, - -0.3619987666606903, - -0.19416801631450653, - -0.2359343320131302, - -0.34764689207077026, - -0.141602024435997, - -0.08679439127445221, - 0.11009471118450165, - -0.03969990834593773, - -1.770026445388794, - 0.07601990550756454, - -0.1249859556555748, - -0.0063919867388904095, - -0.6881052851676941, - -0.032630015164613724, - -0.11964694410562515, - 0.1878069043159485, - -0.5467861890792847, - -0.26607340574264526, - -0.345798134803772, - 0.03436001017689705, - 0.009500943124294281, - 0.3526684045791626, - -0.38263407349586487, - -0.03845313563942909, - -0.2561958134174347 - ], - [ - 0.02119838073849678, - 0.006122015882283449, - -0.19972746074199677, - 0.0331338495016098, - 0.06285413354635239, - 0.19839166104793549, - -0.08385197073221207, - 0.02966902405023575, - 0.03716616332530975, - 0.24646444618701935, - 0.06929785013198853, - 0.06817226111888885, - 0.08643137663602829, - -0.11162200570106506, - -0.14698950946331024, - 0.07015752792358398, - 0.3245279788970947, - 0.05342041328549385, - -0.18306873738765717, - -0.16903308033943176, - -0.04020591825246811, - 0.007130536716431379, - -0.20360428094863892, - 0.13609719276428223, - 0.13604092597961426, - -0.07449481636285782, - -0.2029234915971756, - 0.03909219428896904, - 0.061778753995895386, - -0.022083034738898277, - -0.005375449080020189, - -0.008014907129108906, - 0.0024300767108798027, - -0.0035792342387139797, - 0.04054637625813484, - 0.06398648023605347, - -0.18860873579978943, - 0.07875309884548187, - -0.052270010113716125, - 0.0835486352443695, - 0.037376563996076584, - -0.11308088153600693, - 0.328698992729187, - 0.11984138935804367, - 0.20148572325706482, - -0.08167455345392227, - 0.019305387511849403, - 0.06239515170454979, - -0.12433987110853195, - 0.1459835022687912, - 0.005868660751730204, - 0.02645665593445301, - 0.10151762515306473, - -0.0014670017408207059, - 0.12013545632362366, - -0.020266445353627205, - -0.20025356113910675, - -0.018666699528694153, - 0.05820460990071297, - -0.07696835696697235, - -0.07306207716464996, - -0.11976257711648941, - -0.0647280365228653, - 0.00804979633539915, - 0.07356103509664536, - 0.028761694207787514, - -0.35542935132980347, - 0.18447689712047577, - 0.08331208676099777, - 0.10473587363958359, - -0.042404115200042725, - -0.05478600412607193, - -0.07303871959447861, - -0.19149042665958405, - -0.13379709422588348, - -0.10448404401540756, - 0.11113845556974411, - -0.01602412573993206, - 0.06736055016517639, - 0.10649147629737854, - 0.02224687859416008, - 0.06182729825377464, - -0.13068877160549164, - -0.04639412835240364, - 0.11108597368001938, - -0.03905295953154564, - -0.06113893911242485, - -0.030884385108947754, - 0.01946406625211239, - -0.03005182556807995, - 0.45347192883491516, - 0.15264509618282318, - -0.11278238892555237, - 0.14507387578487396, - 0.10473841428756714, - -0.3255913257598877, - 0.14445705711841583, - -0.04275968298316002, - -0.17154011130332947, - -0.06325735151767731, - 0.08711835741996765, - -0.06514601409435272, - 0.047180671244859695, - 0.0415475033223629, - 0.06802841275930405, - 0.10720280557870865, - -0.0153557313606143, - -0.1618494987487793, - 0.06409239768981934, - 0.15348462760448456, - 0.12096192687749863, - 0.12055931240320206, - -0.06515578180551529, - 0.08273628354072571, - -0.0974465161561966, - -0.0534808374941349, - -0.23102650046348572, - -0.010547109879553318, - 0.1040920615196228, - -0.19188295304775238, - -0.02869671955704689, - -0.1751348078250885, - 0.17289960384368896, - -0.00567677291110158, - 0.007491199765354395, - 0.014689347706735134, - -0.1377055048942566, - -0.26718634366989136 - ], - [ - -0.032156433910131454, - 0.1121002584695816, - 0.07099778950214386, - -0.26680290699005127, - -0.028496038168668747, - -0.03010357730090618, - 0.019727807492017746, - -0.013099674135446548, - -0.1980319619178772, - 0.04483691602945328, - 0.24775198101997375, - -0.16583071649074554, - -1.2298603057861328, - -0.16207726299762726, - 0.044226083904504776, - 0.1750195175409317, - -0.2546505928039551, - -0.05247771739959717, - 0.1483478546142578, - 0.10165983438491821, - 0.08422192186117172, - -0.05736769735813141, - 0.0764559954404831, - -0.07861950993537903, - 0.1392192542552948, - 0.14048291742801666, - 0.0007231808849610388, - -0.23195523023605347, - -0.4298853278160095, - -0.15191100537776947, - -0.12717485427856445, - 0.1372087001800537, - 0.16509756445884705, - -0.050060782581567764, - 0.06400089710950851, - -0.5898275971412659, - -0.2345123291015625, - -0.1957385241985321, - 0.08917835354804993, - 0.13834910094738007, - -0.08896128833293915, - 0.10082324594259262, - 0.1733614206314087, - 0.07996395975351334, - -0.016322122886776924, - -0.16024146974086761, - -0.2694755792617798, - -0.07095825672149658, - 0.15098927915096283, - 0.1756410002708435, - -0.22151359915733337, - 0.09296814352273941, - -0.13343748450279236, - 0.07943455129861832, - 0.03684939816594124, - 0.17885737121105194, - -0.024877041578292847, - -0.02647467330098152, - -0.06720030307769775, - 0.09838120639324188, - -0.12644055485725403, - 0.04072877764701843, - 0.07018515467643738, - 0.14387819170951843, - -0.08674003183841705, - -0.06945402920246124, - 0.13108867406845093, - -0.1458662450313568, - 0.011609703302383423, - 0.09273232519626617, - 0.17020772397518158, - -0.03558893874287605, - 0.026508856564760208, - -0.031576890498399734, - -0.03739458695054054, - 0.021177448332309723, - -0.029170330613851547, - -0.060975439846515656, - -0.1097940057516098, - -0.10203050076961517, - 0.16018156707286835, - -0.08754288405179977, - 0.008768152445554733, - 0.0825934037566185, - 0.22969521582126617, - 0.07537299394607544, - 0.009448202326893806, - -0.0251519363373518, - -0.06465736776590347, - -0.07919053733348846, - 0.07797374576330185, - 0.13599343597888947, - -0.007772950455546379, - 0.012574764899909496, - 0.01997946761548519, - -0.04317529872059822, - -0.15461091697216034, - 0.003913807682693005, - 0.05646957829594612, - -0.20896732807159424, - -0.013078508898615837, - 0.1651305854320526, - 0.08759237825870514, - 0.190042644739151, - -0.2608363628387451, - -0.11361437290906906, - 0.1781146377325058, - -0.1007465049624443, - 0.023202743381261826, - 0.15325108170509338, - 0.06094760447740555, - -0.30479925870895386, - 0.19822239875793457, - -0.06570911407470703, - -0.05179695039987564, - -0.12916797399520874, - 0.018564024940133095, - -0.00674356147646904, - 0.133587047457695, - 0.16908606886863708, - -0.0008576909312978387, - 0.015966150909662247, - 0.006275718566030264, - 0.07083070278167725, - 0.1428391933441162, - 0.04436357691884041, - 0.11945687234401703, - -0.19663044810295105 - ], - [ - -0.022856557741761208, - 0.04487277567386627, - -0.05677424743771553, - -0.06255180388689041, - -0.02123691327869892, - -0.0012819505063816905, - -0.04396839439868927, - -0.04157068580389023, - 0.09559015929698944, - -0.12035655975341797, - -0.0199015811085701, - 0.0275283120572567, - 0.09828685969114304, - -0.018498536199331284, - 0.06405064463615417, - 0.049634408205747604, - 0.03303837776184082, - 0.027570385485887527, - 0.1688777506351471, - 0.07480121403932571, - 0.04290056973695755, - -0.04273523390293121, - 0.005349800921976566, - -0.024258479475975037, - 0.04584629088640213, - -0.06074584275484085, - 0.07113653421401978, - -0.008897927589714527, - 0.08160443603992462, - 0.127738818526268, - 0.07444062829017639, - -0.04685695841908455, - -0.12552885711193085, - -0.000905435299500823, - 0.05252488702535629, - -0.0008776640170253813, - 0.00025598154752515256, - 0.04184594750404358, - 0.05445915833115578, - -0.029792984947562218, - -0.019995179027318954, - 0.020275073125958443, - -0.0108407661318779, - 0.04892155900597572, - -0.033022619783878326, - -0.02463371679186821, - 0.10228396952152252, - 0.05368858575820923, - 0.11179719865322113, - 0.08611889183521271, - -0.04666087031364441, - -0.0514596551656723, - 0.0202898308634758, - -0.13701915740966797, - -0.00905620027333498, - -0.014576721005141735, - 0.00265760556794703, - -0.015653185546398163, - 0.028510140255093575, - -0.00882194098085165, - -0.12436816841363907, - -0.05838567763566971, - -0.008891049772500992, - -0.0443514809012413, - 0.05052797868847847, - 0.06339982897043228, - 0.11926479637622833, - 0.05656243488192558, - 0.0043640779331326485, - -0.009952029213309288, - 0.06414405256509781, - 0.03272782266139984, - 0.07020559906959534, - -0.05609814077615738, - -0.10609102249145508, - -0.05953008681535721, - 0.10224830359220505, - 0.025717739015817642, - -0.00024869816843420267, - -0.056671902537345886, - -0.047084614634513855, - 0.06979303807020187, - 0.010882535018026829, - 0.008338131941854954, - -0.0077162026427686214, - -0.03440956398844719, - -0.00133825046941638, - -0.07306027412414551, - -0.08648783713579178, - 0.0470319502055645, - 0.044719040393829346, - 0.10532621294260025, - -0.10298075526952744, - 0.10043300688266754, - -0.07484367489814758, - 0.07906537503004074, - -0.061359304934740067, - 0.06187963858246803, - -0.008959894068539143, - 0.10647768527269363, - -0.027124937623739243, - -0.07867374271154404, - 0.03543009236454964, - -0.11053677648305893, - 0.038374435156583786, - 0.01329584326595068, - -0.10386889427900314, - -0.06739332526922226, - -0.003415660234168172, - -0.08784373104572296, - -0.07695187628269196, - 0.037762489169836044, - 0.029262980446219444, - -0.01627308316528797, - 0.07368969172239304, - -0.0014174157986417413, - -0.06133376806974411, - 0.04289627820253372, - 0.03101777844130993, - -0.03650839999318123, - 0.032930418848991394, - 0.013213892467319965, - 0.04695914313197136, - 0.04289361461997032, - -0.027238616719841957, - -0.0064278109930455685, - -0.026891781017184258, - 0.031789012253284454 - ], - [ - -0.004749776795506477, - -5.360155046219006e-05, - -0.0027947176713496447, - -0.0032766100484877825, - -0.0008638365543447435, - -0.0009035306866280735, - -0.00038527260767295957, - 0.001215755706652999, - -0.0017604364547878504, - 0.0024402840062975883, - -0.0004977608332410455, - 1.0542900781729259e-05, - -3.045215635211207e-07, - -2.2582747988053598e-05, - -0.0006901302258484066, - 7.118785106285941e-06, - -2.049406866433401e-09, - -0.00041168846655637026, - 3.724958341777551e-09, - 3.2313307656295365e-06, - -2.2463311779574724e-06, - 0.005032592918723822, - -0.002087303902953863, - -0.00029537369846366346, - 2.938290526799392e-05, - -6.309221589617664e-07, - -0.0015364978462457657, - -0.0023707877844572067, - -0.0012628973927348852, - -7.102676136128139e-06, - -0.00015057598648127168, - -3.30837101500947e-05, - -0.00020321470219641924, - -0.00014515641669277102, - 8.593955863034353e-05, - 3.4707920804066816e-06, - -0.00045834240154363215, - -0.0014739976031705737, - 0.0005632165702991188, - -2.5197548893629573e-05, - -0.0003651680308394134, - -0.0015271867159754038, - 1.8328381656829151e-06, - -0.00024410152400378138, - -0.00035790441324934363, - -6.62324673612602e-05, - -0.00010202339763054624, - -0.0010405067587271333, - -0.00022129612625576556, - 4.61888163272306e-07, - 4.5915225200587884e-05, - -0.0053244782611727715, - 0.00023759211762808263, - -1.293276909564156e-06, - 2.912622585427016e-05, - -0.0008311775745823979, - -0.0005812984309159219, - -0.0008955416851677, - -0.0006573451682925224, - -0.000917591736651957, - -0.0007255348027683794, - -0.001728262985125184, - -0.0025877775624394417, - 1.959160584874553e-07, - -0.00014723208732903004, - 0.0006007168558426201, - -4.986745352653088e-06, - 4.32345335205607e-14, - -0.00032041288795880973, - -0.0009070870000869036, - -0.000769883394241333, - -0.00022777530830353498, - -0.0013800961896777153, - -0.0012436407851055264, - -0.0004152007168158889, - 0.00025631595053710043, - 0.00048309782869182527, - 2.1284629838191904e-05, - -0.0015570248942822218, - 5.9108413552166894e-05, - -0.00030266045359894633, - 0.00013385791680775583, - -0.0007740167784504592, - 7.178285886766389e-05, - -0.00013858955935575068, - -0.00063857133500278, - -0.00721492525190115, - -0.00040520037873648107, - -1.4049944184080232e-05, - 0.00087831070413813, - -0.0005532990908250213, - -0.0006217529298737645, - -0.00035008281702175736, - -2.3029817384667695e-05, - -0.0008767739636823535, - -0.00015826871094759554, - -0.003996041603386402, - -0.0018523423932492733, - -0.0001028352344292216, - -0.0006587653770111501, - -0.002557189203798771, - -7.211663614725694e-05, - -0.00016773022070992738, - -0.00019901136693079025, - -0.0002744705998338759, - -0.0023915800265967846, - 0.0004756658454425633, - -0.0004359026497695595, - -7.605910650454462e-05, - -2.8242680855328217e-05, - -0.00043340426054783165, - 0.0006144908838905394, - 4.494909717323026e-06, - -0.0008624817128293216, - 0.0011404610704630613, - -9.516581485513598e-05, - 6.14068703725934e-05, - -0.005436489824205637, - -0.002297725062817335, - -3.649156860774383e-05, - 0.00029152812203392386, - -0.0003130583500023931, - -0.00029568737954832613, - -1.4830204619897813e-08, - -2.475851488270564e-07, - -0.0012207728577777743, - -0.0004876990569755435, - -0.00011673672997858375 - ], - [ - -0.0009659687639214098, - 0.045937541872262955, - -0.030188847333192825, - -0.051727816462516785, - -0.04918219521641731, - -0.019897419959306717, - 0.006848420947790146, - -0.009278587065637112, - 0.027427490800619125, - -0.07886139303445816, - 0.06559595465660095, - 0.06274643540382385, - 0.01668153516948223, - -0.015285590663552284, - -0.00920771062374115, - 0.0030949260108172894, - 0.00882281269878149, - -0.025673357769846916, - 0.017734529450535774, - -0.0003367047756910324, - -0.018354620784521103, - 0.02070082351565361, - -0.004740834701806307, - -0.011495983228087425, - -0.01224990002810955, - -0.05208698287606239, - 0.0790492370724678, - 0.04094821587204933, - -0.02649003639817238, - -0.009379874914884567, - 0.029234370216727257, - -0.009284519590437412, - 0.011224743910133839, - 0.050322361290454865, - 0.056622836738824844, - 0.011170273646712303, - -0.009114030748605728, - -0.03423908352851868, - -0.0027833774220198393, - 0.06740715354681015, - -0.0718802735209465, - 0.03713907673954964, - -0.011839720420539379, - 0.03924999013543129, - -0.04202329367399216, - -0.01220724731683731, - -0.0021672940347343683, - -0.006062021013349295, - 0.00022312799410428852, - 0.000876422505825758, - -0.05139923095703125, - 0.06723244488239288, - -0.02662120945751667, - -0.007329009938985109, - 0.05603739246726036, - 0.0168553926050663, - -0.008066878654062748, - 0.009327257052063942, - -0.04043477028608322, - -0.003708562580868602, - -0.09111032634973526, - -0.03659063205122948, - -0.04575714096426964, - -0.026567094027996063, - -0.012945499271154404, - 0.04821668565273285, - 0.11087341606616974, - -0.004760699812322855, - -0.011431105434894562, - -0.0019724073354154825, - -0.028743714094161987, - -0.09445206820964813, - -0.016284234821796417, - 0.027125846594572067, - -0.05462346598505974, - -0.09789221733808517, - 0.035306140780448914, - 0.03787245228886604, - -0.03248464688658714, - -0.03321496769785881, - 0.012496530078351498, - 0.041937947273254395, - 0.013050006702542305, - 0.01693713106215, - -0.07966431230306625, - -0.02545466274023056, - -0.012346772477030754, - 0.007580060977488756, - -0.038773342967033386, - 0.0003212405426893383, - -0.006084801163524389, - 0.04436745122075081, - -0.06606435030698776, - -0.03705325722694397, - 0.025862237438559532, - -0.002331853611394763, - -0.045494552701711655, - -0.01780787855386734, - 0.007346542552113533, - 0.05293174088001251, - 0.04766920208930969, - 0.00852229818701744, - -0.022024234756827354, - 0.04152403399348259, - 0.012117693200707436, - -0.02248343639075756, - -0.032710589468479156, - -0.012539537623524666, - -0.036493271589279175, - 0.04236834868788719, - 0.01045633852481842, - -0.02241237461566925, - 0.03259315714240074, - -0.030569640919566154, - 0.0017610013019293547, - -0.05094379186630249, - 0.0385771319270134, - 0.04215108975768089, - -0.00023095292272046208, - 0.032588791102170944, - 0.029889550060033798, - -0.06679310649633408, - 0.059742145240306854, - 0.007210161071270704, - -0.006186027079820633, - 0.013310938142240047, - 0.04370136931538582, - 0.0156700536608696 - ], - [ - -0.05412008613348007, - 0.010381434112787247, - 0.021653344854712486, - -0.04477553069591522, - -0.12003907561302185, - -0.09462250769138336, - -0.0983566865324974, - 0.06516776978969574, - -0.04503883421421051, - -0.06807953864336014, - 0.06831184774637222, - 0.12044505774974823, - 0.0795726627111435, - -0.09406139701604843, - -0.2198992669582367, - 0.0037924384232610464, - 0.13219207525253296, - -0.17990969121456146, - 0.14013062417507172, - 0.06921444088220596, - 0.08685183525085449, - 0.08346769213676453, - -0.05580170080065727, - -0.029459748417139053, - 0.12348329275846481, - -0.13697563111782074, - 0.06457316130399704, - -0.011059180833399296, - -0.060691721737384796, - 0.008451825007796288, - -0.051496777683496475, - 0.01891815848648548, - -0.13862761855125427, - 0.15652123093605042, - 0.13554930686950684, - -0.10610471665859222, - 0.08807627856731415, - 0.05179155617952347, - 0.05665804445743561, - -0.01573575660586357, - 0.005955331493169069, - 0.032564926892519, - -0.1559731662273407, - 0.1065542921423912, - -0.06964106112718582, - -0.08344428986310959, - 0.011269127018749714, - 0.15038123726844788, - -0.013799088075757027, - 0.11423389613628387, - -0.1697530746459961, - -0.11382301151752472, - 0.08237218111753464, - 0.03806707635521889, - -0.13815540075302124, - 0.04390700161457062, - 0.13404731452465057, - 0.0810299962759018, - 0.08329906314611435, - 0.08863252401351929, - -0.13960127532482147, - 0.03546145185828209, - 0.025180377066135406, - 0.056741438806056976, - 0.01410349365323782, - 0.02013334445655346, - 0.0209128949791193, - -0.22141367197036743, - 0.11761308461427689, - -0.07549607008695602, - 0.003845473052933812, - -0.1606534868478775, - 0.021332761272788048, - -0.0760880708694458, - 0.029683755710721016, - -0.09043291211128235, - 0.022210607305169106, - 0.056272026151418686, - 0.020880049094557762, - -0.0040367101319134235, - -0.11569046229124069, - 0.2571037709712982, - -0.09802695363759995, - 0.01624787412583828, - -0.10170961171388626, - 0.03313923999667168, - 0.19340597093105316, - 0.07979143410921097, - -0.054403237998485565, - 0.16575725376605988, - 0.010035901330411434, - -0.0912293940782547, - -0.17739517986774445, - 0.11435428261756897, - 0.012896290048956871, - 0.08155736327171326, - -0.048506274819374084, - 0.017170824110507965, - -0.004670025780797005, - 0.01886621117591858, - 0.061723582446575165, - -0.033185217529535294, - 0.06486264616250992, - 0.04181754216551781, - 0.057110343128442764, - -0.030568929389119148, - -0.12827521562576294, - -0.08688687533140182, - -0.24250738322734833, - 0.04736584052443504, - 0.014085025526583195, - -0.024027179926633835, - 0.12047254294157028, - -0.0742117241024971, - 0.021231280639767647, - 0.09346447885036469, - -0.07762507349252701, - 0.07382959872484207, - 0.03118390403687954, - 0.005068227648735046, - -0.07262168079614639, - -0.20503975450992584, - 0.044183146208524704, - 0.14974060654640198, - -0.0600312240421772, - 0.026143640279769897, - -0.03869996219873428, - 0.035469021648168564 - ], - [ - 0.0783107802271843, - -0.06209395080804825, - 0.0775170773267746, - 0.052745521068573, - -0.05323448404669762, - 0.03723796457052231, - 0.023208189755678177, - -0.046077754348516464, - -0.08712354302406311, - -0.11231788992881775, - 0.12065090984106064, - 0.09735070914030075, - 0.08098666369915009, - 0.0008674478158354759, - -0.07813674956560135, - -0.08195708692073822, - 0.08007963746786118, - -0.08599144965410233, - -0.12421919405460358, - -0.1070384830236435, - -0.18375536799430847, - 0.026169059798121452, - -0.05858877673745155, - 0.11871934682130814, - 0.027422772720456123, - -0.16596676409244537, - 0.1185077503323555, - -0.2931102216243744, - 0.058145955204963684, - 0.03627323731780052, - 0.13171541690826416, - -0.013797903433442116, - -0.2606445848941803, - -0.07792270183563232, - 0.04705105349421501, - -0.046407684683799744, - 0.07301218062639236, - 0.05719660967588425, - 0.025195684283971786, - -0.021518753841519356, - 0.0027664965018630028, - -0.03722113370895386, - -0.06558717787265778, - 0.08700130879878998, - 0.05732503905892372, - -0.1175960823893547, - 0.1751236617565155, - 0.11834891885519028, - 0.045822467654943466, - 0.05800104886293411, - 0.06859605759382248, - -0.040403950959444046, - 0.02516876719892025, - -0.3626827895641327, - 0.03252297267317772, - -0.03225744143128395, - 0.08381500840187073, - 0.07262907177209854, - -0.14457014203071594, - 0.051144469529390335, - -0.0465659573674202, - -0.04613771662116051, - 0.007858566008508205, - 0.04653696343302727, - 0.023363297805190086, - 0.04013524949550629, - 0.20805996656417847, - 0.052848488092422485, - -0.023402636870741844, - -0.0770229697227478, - 0.014178812503814697, - -0.030377550050616264, - 0.13914506137371063, - -0.03710757568478584, - -0.01884017139673233, - 0.06817333400249481, - 0.03372802212834358, - -0.15559056401252747, - -0.09961248189210892, - -0.10863467305898666, - -0.2521604895591736, - 0.058229681104421616, - 0.02746099978685379, - -0.1274789720773697, - -0.10521097481250763, - -0.04122538864612579, - 0.0005927450256422162, - 0.09356043487787247, - -0.005073938053101301, - -0.02273348718881607, - 0.18530170619487762, - 0.01927751488983631, - -0.47309115529060364, - 0.09965679794549942, - -0.09994552284479141, - 0.044199664145708084, - -0.15941093862056732, - 0.07569195330142975, - 0.04863956943154335, - 0.02459474466741085, - 0.04846476390957832, - 0.13527025282382965, - 0.07478143274784088, - 0.11627490073442459, - 0.02294449508190155, - -0.3537912368774414, - -0.06947092711925507, - -0.1707899272441864, - 0.016928566619753838, - 0.11249400675296783, - -0.1328856199979782, - 0.1875341236591339, - 0.1605599969625473, - 0.00577149074524641, - -0.04612089693546295, - 0.160458043217659, - 0.10576420277357101, - 0.08362124860286713, - 0.13664701581001282, - -0.03724243864417076, - -0.02373570203781128, - -0.1694856584072113, - 0.09192536026239395, - 0.047866176813840866, - 0.041556812822818756, - -0.21142099797725677, - -0.013325473293662071, - 0.033590465784072876 - ], - [ - -0.16974706947803497, - -0.013276711106300354, - 0.00870585348457098, - 0.08049459010362625, - 0.008109571412205696, - 0.0025743262376636267, - -0.029012005776166916, - 0.047674939036369324, - 0.00548558821901679, - -0.17715318500995636, - 0.12060627341270447, - 0.06666550040245056, - 0.43342992663383484, - -0.08594294637441635, - -0.5472456216812134, - -0.025757573544979095, - 0.07323829084634781, - -0.09105446934700012, - 0.37387362122535706, - 0.08532585203647614, - -0.679141104221344, - -0.14288429915905, - -0.05902261659502983, - 0.01658516190946102, - 0.04135235771536827, - -0.18881317973136902, - 0.06117340177297592, - 0.10362137109041214, - -0.01725500077009201, - 0.08261173218488693, - -0.015196184627711773, - 0.1715594232082367, - -0.50400310754776, - 0.31396764516830444, - 0.02331027016043663, - -0.00996393896639347, - -0.0873170718550682, - 0.20405033230781555, - 0.05743598937988281, - 0.006898785475641489, - -0.04900485277175903, - -0.11970929801464081, - -0.09672103822231293, - -0.07270237058401108, - -0.02925228700041771, - -0.2118958681821823, - 0.06413758546113968, - 0.08792413026094437, - -0.040877167135477066, - -6.135779403848574e-05, - -0.287894606590271, - -0.21185548603534698, - 0.03082280047237873, - -0.13821503520011902, - -0.003109552199020982, - 0.19534873962402344, - 0.1634657233953476, - 0.051271893084049225, - 0.03925219178199768, - 0.03213047981262207, - -0.10586637258529663, - 0.10121849179267883, - 0.00875455979257822, - -0.10927174240350723, - 0.1436740756034851, - 0.13789226114749908, - 0.2922316789627075, - 0.08311786502599716, - -0.08646401017904282, - 0.023914018645882607, - 0.04494757205247879, - -0.031619228422641754, - 0.02106788381934166, - -0.1977376937866211, - -0.049747005105018616, - 0.06780429929494858, - -0.08405772596597672, - -0.13275672495365143, - -0.3085252642631531, - -0.2482079714536667, - -0.30780038237571716, - 0.14354628324508667, - -0.08113561570644379, - 0.10517571866512299, - -0.12481875717639923, - -0.07294172048568726, - -0.0022403753828257322, - 0.10069069266319275, - -0.0959811806678772, - 0.07175649702548981, - -0.5910592675209045, - -0.02270411141216755, - -0.9116727709770203, - 0.03462376073002815, - -0.28613823652267456, - -0.06896331161260605, - 0.1170155480504036, - 0.0047248732298612595, - 0.04108273610472679, - -0.03805609419941902, - -0.08602793514728546, - 0.01743868924677372, - 0.026034241542220116, - -0.11675702035427094, - -0.08064799755811691, - -0.026928972452878952, - -0.10761459171772003, - -0.7605286836624146, - -0.46380940079689026, - 0.10488393157720566, - 0.01561813335865736, - 0.21165993809700012, - 0.144938662648201, - -0.12368196249008179, - 0.04582733288407326, - 0.23434913158416748, - -0.10771222412586212, - -0.15288381278514862, - 0.11517055332660675, - 0.12524695694446564, - -0.004074688069522381, - -0.14222010970115662, - 0.17129836976528168, - 0.20149309933185577, - -0.26205068826675415, - -0.2507866621017456, - 0.1013573557138443, - -0.20686477422714233 - ], - [ - 0.08675603568553925, - -0.04924555867910385, - -0.15757234394550323, - 0.031558964401483536, - 0.11017536371946335, - 0.06146883964538574, - 0.19680474698543549, - 0.003780987113714218, - -0.2885929048061371, - 0.03709396719932556, - -0.09273272007703781, - -0.012492988258600235, - 0.2135177105665207, - -0.33416685461997986, - -0.16756805777549744, - 0.17318390309810638, - -0.555483877658844, - 0.056309666484594345, - 0.26585260033607483, - 0.08137231320142746, - 0.3254030644893646, - 0.04905780404806137, - -0.0004609464667737484, - -0.11070796847343445, - 0.054153162986040115, - -0.06229635700583458, - -0.10936834663152695, - 0.15657664835453033, - -0.2574399411678314, - -0.0327109694480896, - -0.10009638965129852, - -0.07509712874889374, - -0.2651923894882202, - -0.4021395444869995, - -0.468514621257782, - 0.04949710890650749, - 0.1837141364812851, - -0.2196643203496933, - -0.1571110635995865, - 0.060903795063495636, - 0.025448502972722054, - -0.03401053324341774, - 0.13747890293598175, - -0.08266312628984451, - -0.0903635174036026, - -0.27135568857192993, - -0.15599872171878815, - 0.12481475621461868, - -0.1620606929063797, - 0.05685736984014511, - -0.4011027216911316, - 0.204836905002594, - 0.051946595311164856, - 0.12413392961025238, - 0.16698716580867767, - 0.13195425271987915, - -0.06835778802633286, - -0.034156180918216705, - -0.25071731209754944, - -0.021448714658617973, - -0.016461357474327087, - 0.26151543855667114, - 0.07864474505186081, - 0.17389187216758728, - -0.08629564195871353, - 0.15622662007808685, - -0.11040123552083969, - -0.19204944372177124, - 0.05964328721165657, - 0.14725792407989502, - -0.0252989511936903, - 0.007619159296154976, - -0.1776377111673355, - 0.16713851690292358, - -0.3712519109249115, - 0.1553904265165329, - -0.04910900071263313, - -0.17310303449630737, - 0.08439517766237259, - -0.23322449624538422, - 0.02817469649016857, - 0.0729636549949646, - -0.043519072234630585, - -0.14348860085010529, - 0.19556428492069244, - 0.0017799785127863288, - -0.26780086755752563, - -0.22917942702770233, - -0.22644217312335968, - 0.06633588671684265, - 0.28340741991996765, - -0.23967261612415314, - -0.06867237389087677, - 0.01884148083627224, - -0.11188331991434097, - 0.13153158128261566, - 0.04652686417102814, - 0.18151134252548218, - -0.010962572880089283, - -0.5159135460853577, - -0.03854915872216225, - 0.30726757645606995, - 0.025458725169301033, - 0.21914255619049072, - -0.15601128339767456, - -0.21966613829135895, - -0.18772362172603607, - 0.23973922431468964, - 0.19637024402618408, - -0.009257867000997066, - 0.21424467861652374, - 0.2042698711156845, - 0.25431111454963684, - -0.04386188089847565, - 0.15342675149440765, - -0.023999156430363655, - -0.03818193078041077, - 0.12436921149492264, - 0.11113045364618301, - -0.08261441439390182, - 5.984990275464952e-05, - -0.3166167736053467, - 0.32878413796424866, - -0.15462122857570648, - -0.31561025977134705, - 0.03368854150176048, - 0.03422364592552185, - -0.17395758628845215 - ], - [ - -0.1079932153224945, - -0.058108922094106674, - 0.16107238829135895, - -0.06802112609148026, - -0.08859067410230637, - -0.025067681446671486, - -0.058310288935899734, - 0.13243107497692108, - 0.01723628118634224, - 0.004805194213986397, - 0.03628576546907425, - -0.03461208567023277, - -0.35326382517814636, - 0.204325333237648, - -0.13805431127548218, - -0.00806991383433342, - -0.5502825975418091, - -0.07940246164798737, - 0.04991210624575615, - -0.004542887210845947, - -0.44374772906303406, - -0.040956441313028336, - -0.08269327133893967, - 0.08908300846815109, - 0.04443015903234482, - -0.13246691226959229, - 0.10874763131141663, - -0.09507060050964355, - 0.03444927558302879, - -0.0619351789355278, - -0.003085497999563813, - 0.09234225004911423, - -0.15391896665096283, - 0.14162443578243256, - 0.06882685422897339, - -0.33378738164901733, - 0.0896821990609169, - 0.042083993554115295, - 0.14141498506069183, - 0.056810759007930756, - 0.01242655050009489, - 0.047269534319639206, - -0.20154079794883728, - 0.02460796944797039, - -0.0025588159915059805, - 0.004870925098657608, - -0.024067936465144157, - 0.07062233984470367, - 0.021638451144099236, - 0.04681726172566414, - -0.05278048664331436, - 0.06918779015541077, - -0.11305337399244308, - -0.04187703877687454, - 0.04821775108575821, - -0.14323614537715912, - 0.19046659767627716, - 0.00012921373127028346, - -0.014746185392141342, - -0.06877554208040237, - -0.009217028506100178, - 0.12014289945363998, - 0.0770832970738411, - 0.09677247703075409, - -0.1273730993270874, - -0.0675196424126625, - 0.12332307547330856, - -0.2922936975955963, - 0.00500972056761384, - 0.058786578476428986, - 0.09132737666368484, - -0.06598961353302002, - 0.12078772485256195, - 0.06632108986377716, - -0.04037463292479515, - -0.010475999675691128, - 0.08104552328586578, - -0.15024887025356293, - -0.15263959765434265, - -0.19324056804180145, - 0.11844342201948166, - -0.05861712992191315, - 0.10300588607788086, - 0.10088586062192917, - 0.1492317020893097, - 0.039142362773418427, - 0.08330883085727692, - -0.02019585482776165, - -0.10730573534965515, - -0.046750567853450775, - 0.32330524921417236, - 0.09848538041114807, - -0.6992539763450623, - -0.07044966518878937, - -0.3867523968219757, - 0.13274651765823364, - -0.3288094997406006, - -0.055095214396715164, - -0.010446997359395027, - -0.24840307235717773, - 0.22637607157230377, - 0.17327803373336792, - 0.11393189430236816, - -0.02747414819896221, - -0.11980723589658737, - -0.11430279165506363, - 0.012197989970445633, - 0.0505264587700367, - -0.014160780236124992, - 0.02941620536148548, - -0.28946977853775024, - 0.47213131189346313, - 0.05838055908679962, - -0.032171543687582016, - -0.49156564474105835, - -0.024989230558276176, - 0.13208609819412231, - 0.0715160220861435, - -0.14407067000865936, - 0.1823405921459198, - 0.022447684779763222, - -0.3923014998435974, - 0.02583010494709015, - 0.32148730754852295, - 0.12203289568424225, - 0.03533616289496422, - -0.04628293588757515, - -0.04807164520025253 - ], - [ - -0.19024065136909485, - -0.252533882856369, - -0.019715487957000732, - 0.047169029712677, - -0.057813823223114014, - 0.0335092730820179, - 0.0036097215488553047, - 0.23629534244537354, - 0.04145783931016922, - 0.015565905719995499, - 0.1458183079957962, - -0.0402115099132061, - 0.1835932433605194, - -0.11074043810367584, - -0.26481571793556213, - -0.08152663707733154, - 0.15711240470409393, - -0.17441695928573608, - -0.05699195712804794, - -0.0160861536860466, - 0.008906514383852482, - 0.14310625195503235, - -0.03766690939664841, - -0.04292721301317215, - 0.15639038383960724, - -0.16025248169898987, - 0.060089632868766785, - -0.16941995918750763, - 0.003307783743366599, - -0.08539890497922897, - -0.09507834911346436, - -0.021324526518583298, - -0.005308454856276512, - 0.23059196770191193, - -0.15391209721565247, - 0.09060069173574448, - 0.04788491502404213, - 0.1102127656340599, - 0.05092727392911911, - -0.13365112245082855, - 0.005585954058915377, - -0.07319989800453186, - 0.08416307717561722, - 0.07884838432073593, - -0.1797676533460617, - 0.030152088031172752, - 0.17531463503837585, - -0.10311593860387802, - 0.12146880477666855, - 0.17616918683052063, - -0.0594387985765934, - -0.07066290825605392, - 0.01412491500377655, - 0.09983557462692261, - -0.06846794486045837, - 0.06230270862579346, - 0.20361082255840302, - -0.0585748590528965, - -0.26450350880622864, - 0.0445450097322464, - -0.16132082045078278, - 0.005000120494514704, - 0.03272498771548271, - 0.029690496623516083, - 0.0029387071263045073, - -0.03390410542488098, - 0.053230274468660355, - -0.14193861186504364, - 0.020743142813444138, - -0.14382445812225342, - 0.021842438727617264, - -0.10581634938716888, - -0.004721806384623051, - 0.003347614547237754, - -0.07901641726493835, - -0.1352909654378891, - 0.10122517496347427, - -0.26144030690193176, - -0.09566234797239304, - 0.15630820393562317, - 0.0006697386270388961, - 0.04405131936073303, - 0.1331574022769928, - -0.0244685597717762, - 0.0126058803871274, - 0.03927677869796753, - 0.16056929528713226, - 0.12790364027023315, - 0.026373114436864853, - 0.02760746143758297, - 0.09701279550790787, - 0.0029215740505605936, - -0.3708004653453827, - 0.09096989035606384, - 0.005134083330631256, - -0.5552148222923279, - 0.10908109694719315, - 0.08115455508232117, - 0.19338807463645935, - -0.2545126676559448, - -0.10457564890384674, - -0.09614507108926773, - 0.024394264444708824, - 0.06999236345291138, - -0.08052948862314224, - -0.33623167872428894, - -0.09075400233268738, - -0.10139493644237518, - -0.21180123090744019, - 0.04576632007956505, - 0.046867746859788895, - 0.1231309026479721, - 0.046315208077430725, - -0.08899713307619095, - 0.024158736690878868, - 0.21690280735492706, - 0.24213100969791412, - -0.004678723402321339, - 0.049206893891096115, - 0.41365209221839905, - -0.029656101018190384, - 0.05131585896015167, - 0.1078445166349411, - 0.22551696002483368, - -0.1947326362133026, - -0.20488090813159943, - 0.0723985806107521, - -0.06438877433538437 - ], - [ - 0.01791493408381939, - -0.025942755863070488, - 0.09545334428548813, - 0.046465128660202026, - 0.016201790422201157, - 0.04795854911208153, - 0.049426041543483734, - 0.05556958541274071, - 0.11742531508207321, - -0.10908105224370956, - 0.18711280822753906, - 0.033176667988300323, - 0.08249927312135696, - 0.06045115739107132, - 0.07445468753576279, - 0.07197996973991394, - -0.08960839360952377, - 0.07605665922164917, - 0.04981362819671631, - -0.04324726760387421, - -0.003607548540458083, - 0.07709771394729614, - -0.018393972888588905, - 0.08008398115634918, - -0.014669940806925297, - -0.01782369799911976, - -0.03640350326895714, - 0.08876810222864151, - 0.054390981793403625, - 0.008247011341154575, - -0.07544739544391632, - -0.08353977650403976, - 0.07725229859352112, - 0.05759109929203987, - -0.08736513555049896, - -0.19626383483409882, - -0.12539047002792358, - 0.10644373297691345, - -0.10277232527732849, - 0.06071652099490166, - 0.012111731804907322, - 0.07315482944250107, - -0.13153834640979767, - 0.013529067859053612, - -0.19497279822826385, - 0.12907059490680695, - 0.13801982998847961, - 0.06010165810585022, - 0.029515668749809265, - 0.03725430369377136, - -0.012215410359203815, - -0.04317757487297058, - -0.009204107336699963, - 0.006863452028483152, - -0.09893722087144852, - -0.04463561624288559, - 0.09153374284505844, - -0.0002521635324228555, - 0.03681527078151703, - -0.03201797604560852, - 0.01717298850417137, - -0.027461454272270203, - -0.07738136500120163, - 0.033871155232191086, - 0.13231778144836426, - -0.054085202515125275, - 0.01540937926620245, - -0.19857051968574524, - 0.08374720811843872, - -0.020926279947161674, - 0.08145733177661896, - -0.04677482694387436, - 0.03541560098528862, - 0.09200383722782135, - 0.04398716613650322, - -0.11131878942251205, - 0.05890766903758049, - -0.01778149977326393, - 0.017070239409804344, - -0.1720496416091919, - 0.008870814926922321, - -0.019129304215312004, - -0.07214629650115967, - -0.003646161872893572, - 0.06006057932972908, - 0.10719681531190872, - 0.06815898418426514, - 0.10359420627355576, - -0.13623450696468353, - -0.06407197564840317, - 0.007115744519978762, - 0.00642108591273427, - 0.01056867279112339, - 0.10550247132778168, - 0.01760658249258995, - -0.05009228363633156, - 0.04645248129963875, - -0.08067593723535538, - -0.015521382912993431, - 0.13890522718429565, - 0.006651498842984438, - 0.07805135846138, - 0.06009603664278984, - -0.07019500434398651, - -0.012347945012152195, - 0.005085631273686886, - -0.0323946587741375, - -0.03416810557246208, - -0.10191236436367035, - 0.12254025042057037, - -0.02236918918788433, - 0.059133131057024, - 0.048790909349918365, - 0.07976420223712921, - -0.10350076109170914, - 0.04162734001874924, - -0.22263696789741516, - 0.03198809549212456, - 0.10009842365980148, - 0.12853595614433289, - -0.0868561714887619, - 0.0185559019446373, - -0.003401882713660598, - 0.1320810467004776, - 0.1389266699552536, - -0.08731698244810104, - 0.002416628645732999, - 0.06596992909908295 - ], - [ - 0.03402885049581528, - 0.17184652388095856, - -0.0684080496430397, - -0.08321606367826462, - -0.10243111848831177, - -0.016146551817655563, - -0.23775449395179749, - 0.08948293328285217, - -0.02245282754302025, - 0.22760383784770966, - 0.07137952744960785, - -0.00772787444293499, - 0.14328080415725708, - 0.2795014977455139, - -0.026929821819067, - -0.016401957720518112, - 0.1470419019460678, - -0.04003877937793732, - -0.021982381120324135, - 0.06376465409994125, - 0.034196749329566956, - -0.034421853721141815, - -0.08936117589473724, - -0.05335858091711998, - -0.11902857571840286, - 0.06406857073307037, - 0.09919808804988861, - 0.11816784739494324, - 0.2573908865451813, - -0.14958268404006958, - -0.048101916909217834, - -0.007493417244404554, - -0.08915136009454727, - 0.07983780652284622, - 0.0017997643444687128, - 0.06836969405412674, - 0.043636504560709, - 0.08021841198205948, - 0.0690588727593422, - -0.09686476737260818, - -0.12845516204833984, - -0.04548157751560211, - -0.045027896761894226, - -0.0007180914981290698, - 0.1153668463230133, - -0.12038947641849518, - 0.15076185762882233, - 0.0993744507431984, - -0.013236787170171738, - -0.1732177436351776, - 0.015414605848491192, - -0.23610834777355194, - -0.1269170492887497, - 0.06376733630895615, - -0.1374727040529251, - 0.004723945166915655, - 0.029386013746261597, - 0.033333923667669296, - 0.08234690874814987, - 0.13926872611045837, - 0.04503564164042473, - 0.16013045608997345, - -0.20866484940052032, - -0.04521014913916588, - 0.07477078586816788, - -0.3979688584804535, - -0.028738820925354958, - 0.18040470778942108, - -0.06811711192131042, - -0.1297680139541626, - 0.12433342635631561, - -0.4820062220096588, - 0.07175249606370926, - 0.003000649157911539, - 0.041797488927841187, - 0.14857541024684906, - 0.05472109094262123, - -0.025885380804538727, - 0.0358748659491539, - -0.016018683090806007, - -0.08206749707460403, - -0.10003101080656052, - 0.24121898412704468, - 0.06406819820404053, - -0.16363966464996338, - -0.04091299697756767, - 0.06072753667831421, - 0.07490544021129608, - -0.026494791731238365, - -0.40030384063720703, - 0.03300757706165314, - 0.13088351488113403, - 0.06993871927261353, - 0.05875615403056145, - -0.014963909983634949, - 0.06571130454540253, - 0.13375288248062134, - -0.15387213230133057, - 0.0017725001089274883, - 0.015218920074403286, - 0.041125986725091934, - -0.08208359777927399, - -0.04627269133925438, - -0.005012473091483116, - 0.11098652333021164, - 0.09685841202735901, - -0.17673125863075256, - -0.06659920513629913, - -0.19631990790367126, - 0.0214687529951334, - -0.056450530886650085, - -0.0054071275517344475, - 0.06359260529279709, - 0.0256314966827631, - -0.08834754675626755, - -0.09362724423408508, - -0.07478292286396027, - -0.11418525129556656, - 0.08474377542734146, - 0.18872839212417603, - -0.08264492452144623, - 0.06566280126571655, - -0.12940745055675507, - 0.019459476694464684, - -0.09139396250247955, - -0.09026888757944107, - 0.246625155210495, - 0.07982154190540314 - ], - [ - -0.05507000535726547, - -0.02131926268339157, - 0.04944295436143875, - -0.03573378175497055, - -0.01657203398644924, - 0.14195500314235687, - 0.21404534578323364, - 0.02811877243220806, - -0.0576045885682106, - 0.15966397523880005, - 0.2409980446100235, - 0.026132900267839432, - 0.3758307993412018, - 0.033755313605070114, - -0.18917512893676758, - 0.20075681805610657, - 0.04076554998755455, - -0.1220354214310646, - -0.1138526126742363, - -0.06354916095733643, - -0.059131596237421036, - -0.01199362613260746, - -0.1554720103740692, - 0.07684934884309769, - -0.07363799959421158, - 0.009605887345969677, - 0.07168678194284439, - -0.2739746868610382, - 0.07860474288463593, - 0.1279282569885254, - -0.0882757157087326, - 0.29636430740356445, - -0.21375158429145813, - 0.26944777369499207, - -0.058581311255693436, - 0.32430365681648254, - -0.07423863559961319, - -0.008950176648795605, - -0.32775214314460754, - 0.09635032713413239, - -0.22904905676841736, - -0.08342330902814865, - 0.049132734537124634, - 0.032984450459480286, - -0.017277343198657036, - -0.08202850818634033, - 0.07708396017551422, - -0.10757459700107574, - 0.09509218484163284, - 0.033357180655002594, - -0.19157864153385162, - 0.15730640292167664, - -0.028441214933991432, - 0.19777168333530426, - 0.023929376155138016, - 0.30504804849624634, - 0.1002316027879715, - -0.01444215141236782, - 0.17837172746658325, - -0.2999696731567383, - -0.22165510058403015, - -0.6968523859977722, - -0.13073420524597168, - -0.13355430960655212, - -0.05382949113845825, - -0.22527579963207245, - 0.0012581351911649108, - -0.23846299946308136, - -0.015188734978437424, - 0.03868040814995766, - -0.2551972568035126, - -0.06245913729071617, - -0.17034785449504852, - 0.10582216084003448, - -0.10647819936275482, - -0.255878746509552, - 0.1901082992553711, - 0.12736175954341888, - -0.11881639063358307, - -0.08173978328704834, - 0.1352575421333313, - -0.10771975666284561, - 0.004049294162541628, - -0.9885585308074951, - -0.021124059334397316, - -0.03339037671685219, - -0.11345835030078888, - -0.05960260331630707, - 0.19854438304901123, - 0.017005328088998795, - 0.2673771381378174, - -0.014508014544844627, - -0.4334041476249695, - -0.39906299114227295, - 0.061464689671993256, - -0.1496482938528061, - -0.1355964094400406, - -0.4513859450817108, - -0.03250174596905708, - -0.1912541687488556, - 0.1424100399017334, - 0.0781925693154335, - -0.09312355518341064, - 0.016138849779963493, - -0.1684177815914154, - 0.08388680964708328, - 0.11225790530443192, - -0.04652887582778931, - -0.1853048950433731, - -0.00502705667167902, - -0.12878072261810303, - 0.32022517919540405, - -0.17318204045295715, - 0.02135736495256424, - 0.08441817760467529, - 0.06962086260318756, - -0.08189657330513, - -0.057970549911260605, - 0.2673652470111847, - -0.07123631238937378, - -0.07232522964477539, - 0.011358468793332577, - -0.11902695149183273, - -0.31605780124664307, - 0.04831117019057274, - -0.09163043648004532, - -0.022405127063393593, - 0.08179832249879837 - ], - [ - -0.05075155943632126, - 0.06007346883416176, - 0.04109467193484306, - 0.053282804787158966, - 0.06533806025981903, - 0.05562977120280266, - -0.05099375173449516, - 0.060241568833589554, - 0.020855695009231567, - -0.09233864396810532, - 0.09251739084720612, - 0.08472535014152527, - 0.09527648985385895, - 0.052704520523548126, - 0.033505626022815704, - -0.06626196205615997, - 0.0474107563495636, - 0.017282461747527122, - -0.011970995925366879, - 0.036480773240327835, - 0.06753698736429214, - 0.06463093310594559, - -0.09152448922395706, - 0.07208115607500076, - 0.05212666094303131, - -0.05862032249569893, - 0.11908654123544693, - 0.0022102773655205965, - 0.043653856962919235, - 0.06451453268527985, - -0.0257997065782547, - 0.05256029963493347, - -0.06490683555603027, - 0.08359035849571228, - 0.11670561879873276, - -0.04109185189008713, - 0.06029554829001427, - 0.08626388758420944, - 0.03846277296543121, - 0.027039479464292526, - 0.004472294822335243, - -0.06400847434997559, - -0.02305387146770954, - 0.06068957597017288, - -0.08961204439401627, - -0.006609043106436729, - -0.03764680400490761, - -0.03983108326792717, - 0.049245286732912064, - 0.05488681420683861, - -0.05985971540212631, - 0.06347443163394928, - -0.007649154867976904, - 0.041829366236925125, - -0.06142677739262581, - 0.05242614448070526, - 0.04408152028918266, - 0.0104526923969388, - 0.03687090799212456, - -0.07762142270803452, - 0.02884487994015217, - -0.04635879024863243, - -0.07366127520799637, - -0.0033723588567227125, - 0.01275240071117878, - 0.015148023143410683, - 0.08099985122680664, - 0.03688198700547218, - -0.07628071308135986, - -0.024569496512413025, - -0.032038260251283646, - -0.025578701868653297, - 0.002566736890003085, - 0.08247742801904678, - 0.029258985072374344, - -0.030174406245350838, - 0.021106787025928497, - -0.02103414013981819, - -0.08780112862586975, - -0.04166444018483162, - 0.009409008547663689, - 0.03348240628838539, - -0.10171521455049515, - 0.051232412457466125, - -0.059736382216215134, - 0.0500001460313797, - -0.03418341651558876, - 0.07528172433376312, - 0.027022384107112885, - -0.011322054080665112, - 0.04829498007893562, - 0.0034503985662013292, - -0.0356631800532341, - 0.05397336930036545, - -0.05105278640985489, - -0.07796555757522583, - 0.031243061646819115, - 0.04457807540893555, - 0.03978641331195831, - 0.016067547723650932, - 0.09660463780164719, - -0.039868347346782684, - -0.014092287980020046, - -0.014105375856161118, - -0.014528402127325535, - -0.05022742599248886, - -0.13002842664718628, - -0.028510889038443565, - -0.004857775289565325, - -0.05690135061740875, - -0.042781099677085876, - 0.0017229042714461684, - 0.09719821810722351, - -0.08027160912752151, - 0.052277177572250366, - -0.05458057299256325, - 0.0371289886534214, - 0.07427956908941269, - 0.04087419435381889, - 0.04853630065917969, - 0.031039929017424583, - 0.07483533769845963, - 0.05205433443188667, - 0.00034488539677113295, - -0.03262289986014366, - 0.0077996645122766495, - -0.07109898328781128, - -0.04631292447447777 - ], - [ - -0.034364085644483566, - 0.01366499811410904, - -0.050639212131500244, - 0.02495812438428402, - 0.03625164553523064, - -0.19375380873680115, - 0.024802280589938164, - -0.004905098583549261, - 0.05862438306212425, - -0.06739203631877899, - 0.4541315734386444, - -0.14850732684135437, - -0.29218003153800964, - 0.17652375996112823, - 0.16355639696121216, - 0.0006983880302868783, - -0.5748200416564941, - -0.130961075425148, - -0.03462770953774452, - 0.007168447133153677, - 0.04161759093403816, - 0.05439426377415657, - -0.04206879064440727, - 0.021860796958208084, - -0.005913739558309317, - 0.2500191330909729, - -0.07939167320728302, - -0.2596276104450226, - -0.050456512719392776, - -0.32970717549324036, - -0.11508201062679291, - 0.1354358047246933, - 0.1753389537334442, - -0.21002636849880219, - -0.07071862369775772, - 0.12705105543136597, - 0.09845433384180069, - -0.24003276228904724, - -0.9818633198738098, - 0.13733619451522827, - 0.1237991526722908, - 0.08727428317070007, - 0.5008524656295776, - 0.11503604054450989, - -0.08274747431278229, - -0.07544020563364029, - 0.009651330299675465, - -0.015211090445518494, - -0.09755361825227737, - 0.1361347883939743, - -0.02835853025317192, - -0.019144834950566292, - -0.006387061905115843, - 0.16071385145187378, - 0.03541707992553711, - -0.017365654930472374, - -0.011994481086730957, - -0.07240567356348038, - -0.07341742515563965, - 0.0857895165681839, - -0.15003702044487, - 0.05391468107700348, - 0.019032076001167297, - 0.0538313202559948, - -0.049717579036951065, - 0.04513609781861305, - -0.28474941849708557, - 0.47179755568504333, - 0.03661379963159561, - 0.06483380496501923, - 0.04901105910539627, - -0.02619193121790886, - 0.028165308758616447, - -0.0685148760676384, - -0.0031237995717674494, - 0.14587272703647614, - -0.1276971399784088, - -0.22385139763355255, - 0.0539671964943409, - -0.1270672082901001, - 0.04747120663523674, - -0.09596765786409378, - -0.007317489944398403, - -0.024358101189136505, - 0.16819700598716736, - -0.0407785102725029, - 0.06253518909215927, - -0.07786669582128525, - -0.14297811686992645, - -0.07657699286937714, - 0.050816453993320465, - 0.0432378388941288, - -0.2909793257713318, - -0.004221203271299601, - -0.1737229973077774, - 0.019902151077985764, - -0.016461418941617012, - 0.11222855746746063, - -0.010353737510740757, - -0.29926440119743347, - -0.06961150467395782, - 0.029195809736847878, - 0.07926090061664581, - 0.14165686070919037, - -0.09339983016252518, - -0.004020492546260357, - 0.07114912569522858, - -0.24216331541538239, - 0.15601202845573425, - 0.0038938107900321484, - 0.04824419692158699, - -0.02217330038547516, - 0.1345236450433731, - -0.02145131304860115, - -0.6536331176757812, - -0.32908183336257935, - 0.1301077902317047, - 0.20210956037044525, - -0.3153581917285919, - -0.011250759474933147, - 0.08730414509773254, - -0.06925900280475616, - 0.08352179080247879, - 0.030913259834051132, - 0.14725427329540253, - 0.03529774397611618, - 0.18357326090335846, - -0.24009162187576294 - ], - [ - -0.05785241723060608, - 0.10063207894563675, - 0.009645380079746246, - 0.09382807463407516, - 0.057568032294511795, - -0.04681988060474396, - -0.2814941108226776, - -0.2991574704647064, - 0.13419915735721588, - -0.19655455648899078, - -0.09377829730510712, - -0.046257566660642624, - 0.03976738080382347, - 0.13096971809864044, - 0.16601769626140594, - 0.22202259302139282, - -0.2949269115924835, - -0.12465850263834, - -0.4231935739517212, - -0.006281765177845955, - 0.14321166276931763, - 0.03367907553911209, - -0.1643390953540802, - 0.058880969882011414, - -0.009653732180595398, - -0.23885636031627655, - 0.10869532823562622, - -0.1949620544910431, - -0.022088689729571342, - 0.1815725564956665, - -0.04105697572231293, - 0.23392239212989807, - -0.3140588402748108, - -0.10523411631584167, - 0.09147334098815918, - -0.015120396390557289, - 0.10563974827528, - 0.005437401123344898, - 0.0708921030163765, - 0.08642204105854034, - 0.009408035315573215, - 0.032508734613657, - -0.10628470778465271, - 0.1673254519701004, - -0.1441275030374527, - -0.9983530640602112, - 0.06685927510261536, - -0.03895234316587448, - -0.030156802386045456, - 0.07780111581087112, - -0.041675761342048645, - 0.08189360052347183, - 0.006465703248977661, - -0.2882259786128998, - -0.1616893857717514, - 0.14872929453849792, - 0.027775054797530174, - -0.10623019933700562, - -0.017209434881806374, - 0.17870131134986877, - -0.03869114816188812, - -0.3410245180130005, - -0.030567819252610207, - 0.06180263310670853, - -0.05928216874599457, - -0.28897756338119507, - 0.2604711651802063, - 0.1580100953578949, - 0.17353583872318268, - -0.2424541562795639, - -0.20194730162620544, - 0.032669782638549805, - 0.06093314290046692, - -0.010068221017718315, - -0.051924776285886765, - -0.3538822829723358, - 0.2700287103652954, - -0.21148258447647095, - -0.012954628095030785, - -0.18607397377490997, - -0.09839504212141037, - -0.1803533136844635, - -0.17657765746116638, - 0.21982517838478088, - 0.09631680697202682, - -0.28538814187049866, - 0.04010291025042534, - -0.40274733304977417, - -0.16290006041526794, - -0.07956428825855255, - 0.6290508508682251, - -0.07114563137292862, - -0.2360440343618393, - -0.7841418981552124, - -0.2129071056842804, - -0.05691816285252571, - -0.044528305530548096, - 0.09897283464670181, - -0.22227083146572113, - -0.059639859944581985, - 0.03645295277237892, - 0.3975054621696472, - -0.024859732016921043, - 0.12806645035743713, - -0.05103042349219322, - -0.05628630891442299, - -0.3426257371902466, - -0.00939891766756773, - 0.042580682784318924, - -0.09265851974487305, - 0.07650777697563171, - 0.049619149416685104, - 0.2958213686943054, - 0.011523501016199589, - -0.07654157280921936, - -0.636650562286377, - -0.00765631441026926, - 0.051264118403196335, - 0.026328522711992264, - -0.13748876750469208, - -0.09978058934211731, - -0.07052633911371231, - 0.12946857511997223, - 0.007580659817904234, - 0.31295689940452576, - 0.3850337266921997, - 0.1715293824672699, - 0.2588191032409668 - ], - [ - -0.03500312194228172, - -0.11029358953237534, - 0.058573901653289795, - 0.014679742977023125, - 0.03801311179995537, - -0.08058583736419678, - -0.33443590998649597, - -0.07363328337669373, - -0.11673133075237274, - -0.015089466236531734, - 0.11915460228919983, - -0.19552305340766907, - -0.0018842731369659305, - -0.2225828617811203, - -0.04368438944220543, - -0.18539972603321075, - -0.009713297709822655, - 0.004975649528205395, - -0.03727368637919426, - 0.023286867886781693, - -0.1565008908510208, - -0.011285142041742802, - -0.2231624871492386, - -0.08160023391246796, - -0.023162836208939552, - -0.08662538975477219, - 0.10125204175710678, - 0.13266779482364655, - 0.021796584129333496, - 0.08525101095438004, - 0.07079177349805832, - 0.22965413331985474, - 0.08301083743572235, - 0.07257188111543655, - -0.02253502607345581, - 0.08336064964532852, - 0.19950313866138458, - 0.0030744136311113834, - -0.2167322039604187, - 0.10524797439575195, - -0.08689101040363312, - 0.07861118018627167, - 0.1435534507036209, - -0.013694120571017265, - -0.15481656789779663, - -0.5166780948638916, - 0.12849117815494537, - 0.11689741909503937, - -0.6834136843681335, - -0.04960346221923828, - 0.009049243293702602, - -0.26923486590385437, - 0.05041193217039108, - -0.02689318172633648, - 0.10265225917100906, - -0.15087932348251343, - -0.15728215873241425, - -0.009680625982582569, - -0.11187408864498138, - -0.38680702447891235, - 0.03635323420166969, - 0.19670069217681885, - 0.18773691356182098, - 0.28645437955856323, - 0.2015988826751709, - -0.24749761819839478, - -0.566813051700592, - -0.012071026489138603, - -0.021162858232855797, - 0.11551038175821304, - 0.056844159960746765, - -0.04833778366446495, - 0.051523033529520035, - 0.061391036957502365, - 0.09329529851675034, - -0.528886079788208, - -0.10218077898025513, - -0.010639429092407227, - -0.07837643474340439, - 0.12088513374328613, - 0.014652717858552933, - -0.03144022449851036, - -0.012989030219614506, - 0.1701495349407196, - -0.4619208574295044, - -0.020544061437249184, - 0.05315040796995163, - 0.16402943432331085, - -0.05258168280124664, - -0.2616097629070282, - 0.14146070182323456, - 0.24581041932106018, - -0.31169936060905457, - 0.3033657371997833, - -0.10853741317987442, - 0.05876293405890465, - 0.22122496366500854, - -0.17194312810897827, - -0.24239954352378845, - 0.11911101639270782, - -0.11921755969524384, - -0.13346531987190247, - -0.14232701063156128, - 0.27124354243278503, - -0.40329116582870483, - -0.02210230939090252, - -0.11382360011339188, - 0.12426042556762695, - -0.34048137068748474, - 0.10911496728658676, - 0.08892162144184113, - 0.0016809850931167603, - -0.006928650662302971, - 0.03486957028508186, - -0.3684970736503601, - -0.23897820711135864, - -0.6507090926170349, - -0.08072611689567566, - -0.025833817198872566, - 0.08556969463825226, - 0.18245169520378113, - -0.23255300521850586, - -0.1756393164396286, - 0.0038658350240439177, - 0.1164507195353508, - -0.18601351976394653, - 0.079983651638031, - 0.07902306318283081 - ], - [ - 0.04744051396846771, - 0.3501811623573303, - 0.016084585338830948, - -0.12134507298469543, - -0.06107659265398979, - -0.019069593399763107, - 0.06098470464348793, - -0.09800015389919281, - -0.23486611247062683, - 0.04954270273447037, - -0.13560539484024048, - -0.3029384911060333, - 0.18619607388973236, - 0.16791419684886932, - -0.2335570901632309, - -0.2640669047832489, - 0.19209930300712585, - -0.31711190938949585, - 0.0033899808768182993, - -0.9375644326210022, - -0.1390312910079956, - 0.08762377500534058, - 0.05409293621778488, - -0.08712887018918991, - -0.27749741077423096, - -0.21618731319904327, - -0.22798122465610504, - -0.042443595826625824, - -0.49589747190475464, - -0.4583521783351898, - -0.1777624487876892, - -0.413225919008255, - -0.01658625900745392, - -0.15268462896347046, - 0.21356235444545746, - 0.4105224311351776, - 0.057944849133491516, - -0.015789460390806198, - 0.05805232748389244, - 0.01964305154979229, - 0.04913802072405815, - -0.10555639863014221, - -0.2441979944705963, - -0.024102000519633293, - 0.4596140384674072, - 0.009997056797146797, - 0.33381029963493347, - -0.11775051802396774, - 0.13603340089321136, - 0.5409362316131592, - -0.3091731667518616, - -0.04616522416472435, - -0.06289330869913101, - -0.10406564176082611, - 0.028147879987955093, - 0.0236998051404953, - 0.3681204915046692, - 0.17072725296020508, - -0.14778293669223785, - -0.344341903924942, - -0.03936358168721199, - -0.2473531812429428, - 0.11310060322284698, - -0.613621175289154, - 0.019861998036503792, - 0.35305482149124146, - 0.18740513920783997, - -0.702521026134491, - 0.08046234399080276, - -0.10790092498064041, - 0.10652562975883484, - -0.12191914767026901, - -0.08506406843662262, - -0.1280076652765274, - -0.09068406373262405, - 0.08132967352867126, - -0.22058457136154175, - 0.19185470044612885, - 0.07505033165216446, - -0.012269659899175167, - 0.1336406171321869, - 0.11552256345748901, - -0.10077863931655884, - 0.04646674171090126, - 0.10620252043008804, - 0.01826818287372589, - -0.2421698272228241, - 0.037228140980005264, - 0.07485733926296234, - -0.0035711568780243397, - 0.08291175216436386, - 0.15031857788562775, - -0.06429225951433182, - 0.14790476858615875, - -0.018214279785752296, - -0.47439906001091003, - -0.017914751544594765, - 0.2692652642726898, - 0.1402575820684433, - 0.03970937803387642, - 0.15560896694660187, - -0.3744448721408844, - 0.003873751498758793, - 0.07473213970661163, - -0.13146282732486725, - 0.038064904510974884, - 0.1531292200088501, - -0.10464932024478912, - 0.19341252744197845, - -0.3296719193458557, - -0.1406797468662262, - -0.15250054001808167, - 0.09428688883781433, - -0.019406825304031372, - -0.061579588800668716, - 0.056586526334285736, - 0.03924350067973137, - -0.5412783026695251, - -0.2921083867549896, - 0.4318559467792511, - 0.05303330719470978, - -0.21462926268577576, - -0.2415643334388733, - -0.3421584665775299, - -0.08560625463724136, - -0.011194444261491299, - -0.34886765480041504, - 0.07568749040365219 - ], - [ - 0.008060253225266933, - 0.05988208204507828, - -0.0013654726790264249, - 0.003013470908626914, - -0.2575582265853882, - -0.04816637188196182, - 0.1732870191335678, - 0.05960530415177345, - 0.015651829540729523, - -0.0640391856431961, - -0.22270606458187103, - -0.12955482304096222, - 0.04919688403606415, - 0.06474018096923828, - 0.042336441576480865, - 0.039161317050457, - 0.10421798378229141, - 0.2790203094482422, - 0.21959391236305237, - 0.6378502249717712, - -0.0898100808262825, - 0.005358349531888962, - -0.10286261886358261, - -0.01699739322066307, - 0.1471143364906311, - -0.11436440050601959, - 0.026341823861002922, - 0.06510856002569199, - 0.1601673662662506, - 0.031657010316848755, - 0.016646092757582664, - 0.181640625, - 0.11736728996038437, - -0.021263377740979195, - -0.15383924543857574, - -0.2691207230091095, - 0.011040529236197472, - 0.05587590113282204, - -0.09700872749090195, - 0.27181166410446167, - 0.0019587641581892967, - -0.022556912153959274, - -0.3491414189338684, - -0.22165030241012573, - 0.057059094309806824, - -0.18389983475208282, - -0.03395810350775719, - -0.15415963530540466, - -0.2874647378921509, - 0.0835510715842247, - 0.1143430769443512, - 0.08022210001945496, - 0.04676882550120354, - 0.06359831988811493, - -0.1185191422700882, - 0.029990950599312782, - -0.005116136744618416, - 0.02068069763481617, - -0.1840038299560547, - 0.176298588514328, - -0.24522428214550018, - 0.03290135785937309, - -0.317613810300827, - 0.031289223581552505, - 0.13962461054325104, - -0.013756575994193554, - 0.030770571902394295, - -0.08911740779876709, - -0.012970815412700176, - -0.01519605703651905, - -0.0057386127300560474, - 0.04031286761164665, - -0.13666634261608124, - 0.06901378184556961, - -0.37476232647895813, - 0.05644898861646652, - 0.08669921010732651, - -0.10550033301115036, - -0.06645208597183228, - 0.025189977139234543, - -0.027945224195718765, - 0.08571132272481918, - -0.09880457073450089, - 0.011575276963412762, - -0.3854926526546478, - -0.36543604731559753, - -0.023380184546113014, - 0.24693846702575684, - -0.007882521487772465, - 0.037850890308618546, - -0.10896891355514526, - 0.11888999491930008, - -0.3500766456127167, - 0.07734168320894241, - -0.007458634674549103, - -0.05164363980293274, - -0.06706497073173523, - -0.5805925130844116, - -0.1763964146375656, - -0.07913561165332794, - 0.03218692168593407, - -0.07781650871038437, - -0.25672265887260437, - 0.21471354365348816, - 0.28738072514533997, - -0.00545237772166729, - 0.05537362024188042, - 0.07160620391368866, - -0.03422999754548073, - -0.20350764691829681, - 0.14728330075740814, - 0.020241010934114456, - -0.4721711575984955, - 0.035242244601249695, - 0.10296231508255005, - 0.37980589270591736, - 0.035042062401771545, - 0.014317094348371029, - 0.13781072199344635, - -0.0637299194931984, - -0.17858773469924927, - 0.15325239300727844, - -0.5329996347427368, - 0.15490716695785522, - 0.2627120018005371, - -0.02690720558166504, - -0.18768227100372314, - 0.1807984858751297 - ], - [ - -0.11069995909929276, - -0.0361710749566555, - -0.05023827776312828, - -0.11715874075889587, - 0.006298726890236139, - 0.06394832581281662, - -0.07114605605602264, - 0.04748836159706116, - -0.03151697292923927, - 0.4037519097328186, - 0.07973339408636093, - -0.07463320344686508, - 0.13119105994701385, - 0.10082056373357773, - -0.022978443652391434, - 0.13820843398571014, - 0.08049740642309189, - -0.006477805785834789, - 0.08643132448196411, - 0.11766654253005981, - 0.0637887567281723, - -0.12851934134960175, - 0.11493454873561859, - -0.31300845742225647, - 0.0530414804816246, - 0.033691659569740295, - -0.22755147516727448, - -0.008600138127803802, - -0.10520932823419571, - -0.16335712373256683, - -0.029736001044511795, - 0.19327537715435028, - -0.21595466136932373, - -0.02394651062786579, - 0.04072326049208641, - -0.19098258018493652, - 0.0352352038025856, - 0.049644578248262405, - 0.07671507447957993, - -0.055751193314790726, - -0.3795986771583557, - 0.12021838873624802, - -0.12458398938179016, - 0.016724998131394386, - -0.2290058434009552, - -0.11339280009269714, - -0.002168697537854314, - -0.01945374347269535, - -0.07510098069906235, - -0.10881152749061584, - -0.09698985517024994, - -0.0821429193019867, - -0.024197060614824295, - 0.016772348433732986, - -0.16653260588645935, - 0.1247415840625763, - -0.016146106645464897, - -0.010790119878947735, - 0.20532923936843872, - 0.21497324109077454, - 0.05237189307808876, - -0.24924395978450775, - -0.19208846986293793, - 0.07718594372272491, - 0.04791101813316345, - 0.33555424213409424, - -0.034399282187223434, - 0.1015062928199768, - -0.135126531124115, - -0.11011108011007309, - 0.05888548120856285, - 0.14566509425640106, - -0.0346771739423275, - 0.0819680467247963, - 0.03055502474308014, - -0.00713674072176218, - 0.0984339639544487, - -0.07809858024120331, - 0.0003933811385650188, - -0.007449776399880648, - 0.05727580189704895, - 0.14825616776943207, - -0.6510351896286011, - -0.01617405191063881, - -0.11186500638723373, - 0.015037063509225845, - 0.09380999952554703, - 0.05348784849047661, - -0.07382088154554367, - 0.1783403903245926, - 0.032999929040670395, - 0.0039691682904958725, - -0.0038469270803034306, - -0.22246809303760529, - 0.0575171522796154, - -0.045170124620199203, - 0.006224551238119602, - -0.11150231212377548, - -0.06002156063914299, - -0.09353010356426239, - -0.15149933099746704, - -0.23994587361812592, - -0.06334011256694794, - 0.06319431215524673, - -0.11241863667964935, - 0.02395869977772236, - 0.3657398819923401, - -0.04065369814634323, - -0.11754345148801804, - 0.17338091135025024, - -0.0568859837949276, - 0.05827471986413002, - 0.09721074998378754, - -0.13025976717472076, - 0.10374946892261505, - 0.4384205937385559, - -0.03487764298915863, - -0.03445944935083389, - 0.08922462910413742, - 0.0035328706726431847, - 0.06022754684090614, - 0.1041577085852623, - -0.05793899670243263, - 0.06821019947528839, - -0.08021565526723862, - 0.045155275613069534, - -0.4623643755912781, - -0.04474380239844322 - ], - [ - 0.09019472450017929, - -0.01584523543715477, - -0.0823553130030632, - -0.07583436369895935, - 0.005524053703993559, - -0.04324500262737274, - 0.03214110806584358, - -0.04296056181192398, - -0.04444437474012375, - -0.16958926618099213, - 0.06742851436138153, - 0.09212705492973328, - 0.07566104829311371, - -0.1028389111161232, - 0.10844631493091583, - -0.06225913017988205, - -0.06552150100469589, - -0.34070682525634766, - 0.029548844322562218, - 0.13618813455104828, - 0.1861131340265274, - -0.017207447439432144, - -0.1894988715648651, - 0.009387781843543053, - -0.06112179532647133, - -0.08514562994241714, - 0.1318208873271942, - 0.008560947142541409, - 0.13941338658332825, - 0.12381214648485184, - 0.14116498827934265, - -0.32244759798049927, - -0.22140157222747803, - -0.02758917398750782, - 0.1092623844742775, - -0.11741430312395096, - -0.027313441038131714, - 0.14570213854312897, - 0.014553910121321678, - -0.011813564226031303, - 0.10577317327260971, - -0.03657934442162514, - -0.12064201384782791, - 0.1254260390996933, - -0.24406656622886658, - -0.1361042559146881, - 0.15975819528102875, - -0.24544507265090942, - 0.09915439039468765, - 0.023997463285923004, - 0.019991682842373848, - 0.12410097569227219, - -0.05489063635468483, - -0.06096179783344269, - -0.026923412457108498, - 0.046569451689720154, - -0.029221873730421066, - 0.15861906111240387, - -0.07817312330007553, - 0.015204569324851036, - -0.23029068112373352, - 0.12302616238594055, - -0.09459497779607773, - 0.029163779690861702, - 0.054196301847696304, - 0.07156804203987122, - 0.08272919058799744, - -0.10209823399782181, - 0.06663566827774048, - 0.06485863775014877, - -0.037604253739118576, - -0.046474065631628036, - -0.0028736810199916363, - 0.04942545294761658, - -0.07913847267627716, - 0.04599349945783615, - 0.11606284230947495, - -0.05313688516616821, - 0.024331675842404366, - -0.12469855695962906, - 0.10146526992321014, - 0.11884273588657379, - -0.17550964653491974, - -3.1381605367641896e-05, - 0.002040270483121276, - -0.03323400765657425, - 0.11809074133634567, - 0.09043652564287186, - -0.011575785465538502, - 0.1427130401134491, - 0.16791509091854095, - -0.05635606870055199, - -0.39032429456710815, - 0.1435529887676239, - -0.097979836165905, - -0.2738165557384491, - -0.1712430864572525, - 0.026801003143191338, - 0.02471931464970112, - -0.05322689935564995, - 0.1033157929778099, - 0.04486861452460289, - -0.05226697400212288, - 0.11500038206577301, - 0.043725986033678055, - -0.1764233112335205, - -0.19012592732906342, - -0.13764843344688416, - -0.3133106231689453, - -0.008518649265170097, - -0.0777585357427597, - 0.17646904289722443, - 0.14687032997608185, - -0.09803684800863266, - 0.08861979842185974, - 0.09559087455272675, - 0.3461950421333313, - 0.06764566898345947, - 0.0806322693824768, - 0.05198058858513832, - -0.04391499608755112, - -0.08683855831623077, - -0.025047991424798965, - 0.16992712020874023, - -0.3815115690231323, - -0.14546774327754974, - -0.004296218045055866, - -0.21258191764354706 - ], - [ - 0.07700692862272263, - 0.362967848777771, - 0.037658873945474625, - 0.0919339582324028, - 0.09182237088680267, - 0.03532266616821289, - -0.14692038297653198, - -0.27524110674858093, - -0.03426111489534378, - -0.22764326632022858, - -0.07577305287122726, - 0.13078393042087555, - -0.38927850127220154, - 0.01637921668589115, - 0.13312627375125885, - 0.2689998745918274, - -0.008082779124379158, - -0.184591144323349, - -0.09901832789182663, - 0.32574328780174255, - -0.1569225937128067, - -0.09810412675142288, - 0.0529470220208168, - -0.09569448977708817, - 0.0325014665722847, - -0.02157684788107872, - 0.012269697152078152, - 0.006447982974350452, - 0.1318628042936325, - 0.09955150634050369, - 0.104733407497406, - -0.1557747721672058, - 0.14787371456623077, - -0.11121635138988495, - 0.30065950751304626, - -0.03753340244293213, - 0.10796582698822021, - 0.04024107754230499, - 0.03620349243283272, - 0.0020574594382196665, - 0.088230662047863, - -0.04680425673723221, - -0.13738657534122467, - 0.12510453164577484, - 0.02170502208173275, - 0.10886172950267792, - 0.12985041737556458, - 0.010413152165710926, - -0.14913801848888397, - 0.0025767115876078606, - -0.05778643861413002, - 0.05178946629166603, - 0.06382680684328079, - 0.0368037186563015, - -0.12735480070114136, - -0.008801484480500221, - -0.06999295949935913, - 0.09571041911840439, - 0.06604178249835968, - 0.1366422325372696, - -0.09479035437107086, - -0.15079167485237122, - -0.2791488468647003, - 0.17681241035461426, - -0.11943936347961426, - 0.12223619222640991, - 0.0598648302257061, - 0.3608716130256653, - 0.041329920291900635, - -0.05831841006875038, - -0.0397334098815918, - 0.13715441524982452, - -0.0741693302989006, - 0.16515474021434784, - 0.08594008535146713, - -0.06003338471055031, - 0.07296983152627945, - 0.015117044560611248, - -0.018771087750792503, - 0.08844926953315735, - 0.006341609638184309, - 0.10250641405582428, - 0.03865562006831169, - 0.04381156340241432, - -0.23889409005641937, - -0.07095803320407867, - 0.19262228906154633, - -0.20135721564292908, - 0.004646706394851208, - 0.2518692910671234, - 0.005224279593676329, - -0.010860745795071125, - -0.13003754615783691, - 0.03218717500567436, - 0.05152931064367294, - 0.012877043336629868, - -0.29062163829803467, - -0.19444923102855682, - -0.2987559139728546, - 0.1600905805826187, - -0.012921495363116264, - 0.002897716360166669, - -0.060245633125305176, - 0.12232869863510132, - 0.08183345198631287, - -0.057950105518102646, - -0.029539527371525764, - 0.20980355143547058, - 0.0006047409842722118, - -0.015367820858955383, - -0.11384140700101852, - 0.03260524570941925, - 0.2585211992263794, - 0.017726579681038857, - 0.1078614592552185, - -0.4565546214580536, - 0.04262514039874077, - 0.12797331809997559, - 0.05106595531105995, - -0.1423257440328598, - 0.0029127895832061768, - 0.03996835649013519, - -0.017228877171874046, - -0.1539647877216339, - 0.07608885318040848, - -0.1613522469997406, - -0.17343954741954803, - 0.0684589222073555 - ], - [ - -0.4555928707122803, - -0.03857779502868652, - -0.0338260680437088, - -0.028421912342309952, - -0.15463918447494507, - 0.009381053037941456, - -0.3342217206954956, - 0.10372021049261093, - -0.05657382309436798, - -0.028352094814181328, - -0.3685641884803772, - -0.25119027495384216, - 0.18288768827915192, - -0.007007717154920101, - 0.03491612896323204, - 0.02223595418035984, - 0.056111935526132584, - 0.048045702278614044, - 0.015422199852764606, - -0.3294396698474884, - -0.6259031891822815, - 0.13333939015865326, - -0.1190742552280426, - 0.0735064148902893, - -0.06638183444738388, - 0.023278165608644485, - 0.13946741819381714, - 0.08310502022504807, - -0.054623737931251526, - -0.4734610915184021, - -0.2697869837284088, - -0.1830895096063614, - 0.03143030032515526, - -0.11463603377342224, - -0.03707747161388397, - 0.16919586062431335, - 0.11740085482597351, - 0.028525397181510925, - -0.11406080424785614, - -0.30353981256484985, - 0.04995578154921532, - 0.14487838745117188, - 0.10259928554296494, - 0.06881336122751236, - 0.0775798037648201, - 0.10065710544586182, - -0.125356987118721, - -0.03245577588677406, - -0.06819174438714981, - -0.1470710039138794, - 0.03730865940451622, - -0.09006353467702866, - 0.021707510575652122, - 0.038076866418123245, - -0.0038729910738766193, - 0.03094407171010971, - -0.023129940032958984, - 0.12174216657876968, - -0.03536384925246239, - -0.04608716815710068, - -0.12768273055553436, - 0.17003260552883148, - 0.17700687050819397, - 0.27759116888046265, - -0.18433189392089844, - -0.5560452938079834, - 0.20588411390781403, - 0.07144249975681305, - 0.020802507176995277, - 0.1210118904709816, - 0.01882963627576828, - -0.19240494072437286, - 0.19744153320789337, - -0.04764750599861145, - -0.05234755948185921, - 0.42689597606658936, - -0.05883520841598511, - -0.07991089671850204, - 0.07526478916406631, - 0.03213942423462868, - 0.12761227786540985, - 0.13374973833560944, - -0.04362761601805687, - -0.021113382652401924, - -0.02114981599152088, - -0.04849012941122055, - -0.03374556452035904, - -0.23703891038894653, - 0.06574226170778275, - -0.12947668135166168, - -0.030203619971871376, - -0.006273951381444931, - -0.004531534854322672, - -0.012808607891201973, - -9.947730723069981e-05, - -0.13016155362129211, - -0.09106133133172989, - 0.011237537488341331, - -0.08298385143280029, - 0.016452113166451454, - -0.05583765730261803, - 0.11382216960191727, - -0.07412587851285934, - 0.022424286231398582, - 0.10804887115955353, - 0.06762203574180603, - -0.24973170459270477, - -0.014700664207339287, - 0.1319582313299179, - 0.025003384798765182, - -0.19519846141338348, - -0.03925691545009613, - 0.1835165023803711, - -0.16844400763511658, - -0.14131464064121246, - -1.9416025876998901, - 0.10302198678255081, - 0.2774777114391327, - -0.12134549021720886, - 0.08280422538518906, - -0.1514057219028473, - 0.18511226773262024, - 0.18247590959072113, - 0.12227306514978409, - 0.3694884181022644, - 0.07677261531352997, - 0.27845844626426697, - -0.019107036292552948 - ], - [ - 0.0570477657020092, - 0.02580777369439602, - -0.027045562863349915, - -0.3938111364841461, - -0.12496328353881836, - -0.005740193650126457, - -0.36344215273857117, - 0.24376553297042847, - 0.10221818089485168, - 0.00819211732596159, - -0.10368043184280396, - 0.1426512897014618, - 0.44817373156547546, - 0.03963415324687958, - 0.04962139204144478, - -0.13696862757205963, - -0.3246763050556183, - 0.09797266870737076, - 0.08890107274055481, - 0.0786423310637474, - 0.09095216542482376, - 0.31812459230422974, - -0.3281908333301544, - -0.30132195353507996, - 0.076666921377182, - -0.3348168432712555, - -0.13213732838630676, - -0.08620228618383408, - 0.5397965312004089, - -0.1883048415184021, - -0.12734763324260712, - -0.016609156504273415, - 0.02075969986617565, - 0.22663933038711548, - -0.3172050714492798, - -0.43840011954307556, - -0.1671704649925232, - 0.30818164348602295, - 0.19551801681518555, - -0.07075397670269012, - -0.6091893911361694, - 0.04267750307917595, - -0.1238492950797081, - -0.290554940700531, - 0.32172349095344543, - -0.018335087224841118, - 0.0718098059296608, - -0.018623746931552887, - 0.20343279838562012, - -0.17332495748996735, - -0.37087494134902954, - 0.032574836164712906, - -0.18469935655593872, - 0.06060893088579178, - 0.007792746648192406, - -0.02293357253074646, - -0.02857653982937336, - 0.010247007943689823, - -0.2822771966457367, - -0.3528403341770172, - 0.06564489006996155, - -0.6833745241165161, - 0.12093828618526459, - -0.24923212826251984, - 0.014938391745090485, - -0.14017713069915771, - -0.016300195828080177, - -0.24036595225334167, - -0.03851170837879181, - -0.1761503666639328, - 0.06860928982496262, - 0.0672663003206253, - -0.004755143076181412, - -0.004657530691474676, - -0.2684628665447235, - -0.19284537434577942, - 0.04050600156188011, - -0.29997357726097107, - 0.06807784736156464, - 0.0753079205751419, - -0.14991848170757294, - 0.27532365918159485, - 0.049833036959171295, - 0.29846087098121643, - 0.09443292021751404, - 0.11916235089302063, - 0.0853794738650322, - -0.16858069598674774, - -0.007355846464633942, - -0.017552129924297333, - -0.03511343523859978, - -0.16823948919773102, - -0.6627655029296875, - 0.11420208215713501, - -0.05470462888479233, - 0.03870198875665665, - -0.3663022816181183, - 0.3550664782524109, - 0.2918487787246704, - 0.22520728409290314, - 0.1341996192932129, - -0.11122198402881622, - -0.012851831503212452, - -0.2627066969871521, - -0.10199342668056488, - -0.11768098175525665, - -0.3489589989185333, - -0.006385158747434616, - 0.1747308373451233, - -0.15219472348690033, - 0.41335341334342957, - -0.11679571866989136, - -0.11973913013935089, - 0.12023627758026123, - 0.06902012974023819, - 0.2533632814884186, - -0.14335007965564728, - -0.6772888898849487, - -0.13706187903881073, - -0.15908710658550262, - 0.06809552758932114, - 0.21025623381137848, - -0.24327750504016876, - 0.2716046869754791, - 0.04970308765769005, - 0.039718978106975555, - -0.3893130421638489, - -0.2832285463809967 - ], - [ - -0.07558222860097885, - 0.006723813712596893, - 0.023517411202192307, - -0.01663401909172535, - 0.009884004481136799, - -0.0345214419066906, - -0.014434866607189178, - 0.08104366064071655, - 0.11513692140579224, - 0.011845191940665245, - 0.10644713789224625, - -0.10059388726949692, - -0.0013881268678233027, - 0.03635132685303688, - 0.13399481773376465, - 0.03583725541830063, - 0.09599944204092026, - -0.011792699806392193, - 0.20306260883808136, - -0.08006599545478821, - -0.10591718554496765, - 0.03839271515607834, - -0.1344800889492035, - 0.07541996985673904, - 0.19879339635372162, - -0.009614686481654644, - -0.006225500255823135, - -0.08185599744319916, - 0.009963863529264927, - 0.060309890657663345, - 0.07306483387947083, - 0.07053721696138382, - -0.44253814220428467, - 0.03675201162695885, - -0.007057767827063799, - -0.3239661157131195, - 0.0885327085852623, - 0.187168687582016, - -0.0917423740029335, - -0.07572264969348907, - 0.032630279660224915, - -0.09048868715763092, - 0.014637559652328491, - -0.020168974995613098, - -0.11486317217350006, - -0.29941606521606445, - -0.06866921484470367, - 0.03329930827021599, - 0.1143377348780632, - 0.011615258641541004, - -0.1292702853679657, - -0.18587277829647064, - 0.06681372970342636, - -0.018505943939089775, - 0.012830864638090134, - 0.10734078288078308, - 0.011985646560788155, - 0.06725069135427475, - 0.11573486030101776, - -0.04502275586128235, - 0.014525610953569412, - -0.09427444636821747, - -0.008256297558546066, - -0.030384888872504234, - 0.01906091906130314, - 0.1276632696390152, - 0.11930136382579803, - -0.015630263835191727, - 0.08832965046167374, - -0.06598871946334839, - 0.0797785222530365, - -0.0821489542722702, - 0.11018653213977814, - 0.015655633062124252, - -0.058477360755205154, - -0.019628318026661873, - 0.05653474107384682, - 0.019071504473686218, - -0.044273052364587784, - 0.006489504594355822, - -0.09654926508665085, - 0.10203201323747635, - -0.035749100148677826, - -0.07216256111860275, - -0.008805365301668644, - 0.10112869739532471, - 0.02296634018421173, - -0.010583718307316303, - -0.04380735382437706, - -0.008884803391993046, - -0.18332038819789886, - 0.10686099529266357, - -0.09588604420423508, - 0.08822908997535706, - -0.043758559972047806, - -0.037908557802438736, - -0.03904839977622032, - 0.07938092201948166, - -0.02105756290256977, - 0.13244135677814484, - 0.10143657773733139, - -0.10154028236865997, - 0.024699339643120766, - -0.008070564828813076, - -0.04247472062706947, - -0.03536387160420418, - -0.011009926907718182, - -0.06588172912597656, - -0.09244298189878464, - 0.01887907274067402, - -0.14008377492427826, - 0.05023614317178726, - 0.04619153216481209, - -0.056905340403318405, - -0.012789773754775524, - 0.05880126357078552, - 0.007525037974119186, - -0.07670587301254272, - 0.06436154246330261, - -0.010502236895263195, - -0.07690519094467163, - -0.07466233521699905, - 0.1372014582157135, - 0.11761488020420074, - -0.011373582296073437, - -0.0011860583908855915, - -0.010885713621973991, - -0.1659897118806839 - ], - [ - -0.06940096616744995, - -0.17101828753948212, - -0.1365196257829666, - -0.5359589457511902, - 0.0035101971589028835, - -0.32338643074035645, - -0.0028992046136409044, - -0.4929232895374298, - -0.051545292139053345, - 0.12274091690778732, - 0.12362087517976761, - 0.06940197199583054, - 0.01618785224854946, - 0.17607545852661133, - 0.19521698355674744, - -0.08301877230405807, - 0.30363303422927856, - -0.23456966876983643, - 0.23502959311008453, - 0.06785297393798828, - 0.018351225182414055, - 0.0029580360278487206, - 0.009887988679111004, - -0.13547582924365997, - -0.31451380252838135, - 0.11923503875732422, - -0.11990857124328613, - -0.009594987146556377, - 0.05963154509663582, - -0.09855768829584122, - 0.25284260511398315, - 0.13296480476856232, - -0.17616748809814453, - 0.08547444641590118, - -0.018636619672179222, - -0.003272861009463668, - -0.012520909309387207, - 0.11271005123853683, - -0.0015575947472825646, - 0.0287784431129694, - -0.20700107514858246, - -0.04870426654815674, - 0.13390932977199554, - 0.11894164234399796, - -0.011908152140676975, - -0.09465628862380981, - 0.09135694056749344, - -0.01485937274992466, - -0.005657576024532318, - 0.12360452115535736, - -0.1002417802810669, - -0.4311646819114685, - -0.024340860545635223, - -0.04418100416660309, - 0.06588611751794815, - -0.49956372380256653, - -0.25284457206726074, - 0.029253046959638596, - 0.02947372943162918, - -0.5961841940879822, - -0.0917447879910469, - 0.3095843195915222, - -0.013903687708079815, - 0.029768135398626328, - -0.048705197870731354, - -0.29907041788101196, - 0.21262812614440918, - 0.13538594543933868, - 0.007508663460612297, - 0.19134335219860077, - 0.17261554300785065, - -0.05424884706735611, - -0.21821443736553192, - -0.04494252800941467, - 0.03894960880279541, - -0.021166464313864708, - -0.18331748247146606, - 0.021135590970516205, - -0.034343551844358444, - -0.010908463038504124, - -0.2805461585521698, - 0.23111887276172638, - 0.6385664939880371, - 0.09066811203956604, - -0.19490426778793335, - -0.4323098659515381, - 0.14100602269172668, - 0.017653843387961388, - -0.2232057899236679, - -0.3629726469516754, - -0.07811284065246582, - -0.32620784640312195, - -0.21479575335979462, - -0.053145330399274826, - 0.16462266445159912, - -0.350886732339859, - -0.8266401886940002, - -0.11285221576690674, - -0.3422500491142273, - -0.07900942862033844, - 0.08357035368680954, - -0.5361188650131226, - -0.07456646114587784, - -0.1060861125588417, - -0.04974236339330673, - -0.16316840052604675, - 0.3063100576400757, - -0.08602432161569595, - -0.43071404099464417, - 0.07197558134794235, - 0.3050892651081085, - 0.11921555548906326, - 0.14531128108501434, - -0.05980633944272995, - 0.08422769606113434, - 0.14766906201839447, - 0.13894858956336975, - 0.12595485150814056, - 0.10061817616224289, - 0.49659088253974915, - -0.0019406821811571717, - -0.060929350554943085, - 0.04502672329545021, - 0.21883413195610046, - 0.16355019807815552, - -0.048710405826568604, - 0.016856729984283447, - -0.061476755887269974 - ], - [ - 0.10016962885856628, - -0.010274588130414486, - 0.05182357877492905, - 0.06956535577774048, - -0.0173965934664011, - -0.011244586668908596, - 0.06379945576190948, - 0.052551429718732834, - 0.06531822681427002, - 0.04006089270114899, - -0.10019068419933319, - 0.002959904260933399, - 0.12074568122625351, - -0.007632292341440916, - 0.022090667858719826, - 0.11650747805833817, - 0.006939641200006008, - -0.08818849176168442, - 0.0108944745734334, - -0.06506664305925369, - 0.013764986768364906, - 0.005276576150208712, - -0.08876977860927582, - 0.041864048689603806, - 0.09322181344032288, - -0.004488212056457996, - -0.07307851314544678, - -0.0010372435208410025, - 0.049360815435647964, - 0.0054590716026723385, - 0.006440204102545977, - -0.06820422410964966, - -0.021676786243915558, - 0.0397145114839077, - 0.0012800745898857713, - 0.07386341691017151, - -0.005496046505868435, - 0.03908878564834595, - -0.018884049728512764, - 0.084945447742939, - -0.011544589884579182, - -0.12145821005105972, - -0.06262265145778656, - 0.07857023924589157, - -0.04001670330762863, - 0.0456671267747879, - -0.12914526462554932, - 0.04664640501141548, - 0.017249664291739464, - -0.008213689550757408, - -0.078413225710392, - -0.05715758353471756, - 0.06142508238554001, - 0.02191011980175972, - 0.02089688368141651, - -0.026662923395633698, - 0.002659400925040245, - 0.010687260888516903, - 0.00415431521832943, - 0.017348365858197212, - -0.06585202366113663, - 0.009207702241837978, - 0.08492682129144669, - 0.025843800976872444, - 0.008410198614001274, - -0.040954507887363434, - -0.16241639852523804, - -0.09408893436193466, - 0.030860116705298424, - -0.030448712408542633, - 0.024618906900286674, - -0.07624676823616028, - -0.050029706209897995, - 0.015101027674973011, - 0.008731895126402378, - -0.005163616966456175, - -0.016517074778676033, - 0.013342677615582943, - -0.018305223435163498, - 0.06058698520064354, - 0.02535492368042469, - -0.0014730156399309635, - 0.03812725469470024, - 0.022633083164691925, - 0.026032086461782455, - 0.009453002363443375, - 0.059898823499679565, - -0.05425108224153519, - -0.035754647105932236, - 0.07836917042732239, - 0.038476064801216125, - 0.010618230327963829, - -0.09000751376152039, - -0.043080467730760574, - 0.07129234820604324, - -0.06593001633882523, - -0.005188079085201025, - 0.019621217623353004, - -0.048588015139102936, - -0.06472895294427872, - -0.009012101218104362, - -0.03380448743700981, - 0.08233749866485596, - -0.045430250465869904, - 3.431398363318294e-05, - -0.01813228242099285, - 0.05594703182578087, - 0.06519906967878342, - -0.09853655844926834, - 0.025499727576971054, - -0.05555672198534012, - -0.02468022145330906, - -0.06364111602306366, - -0.037881966680288315, - -0.004600340500473976, - -0.016238372772932053, - -0.010151775553822517, - -0.04727615788578987, - 0.007969299331307411, - -0.04190324619412422, - 0.002025892958045006, - 0.037030212581157684, - -0.01608317904174328, - 0.09813655912876129, - -0.08405668288469315, - 0.016390005126595497, - 0.017167193815112114, - -0.05458718165755272 - ], - [ - 0.04893726482987404, - -0.0058402493596076965, - 0.09677095711231232, - -0.01799270138144493, - -0.0845121443271637, - 0.050097040832042694, - -0.0760682076215744, - 0.047012072056531906, - 0.04017748683691025, - -0.000549644639249891, - -0.008726249448955059, - 0.09820261597633362, - 0.003039821982383728, - 0.0014271332183852792, - -0.02098223753273487, - -0.04054472595453262, - 0.1749071478843689, - -0.20440784096717834, - 0.032307855784893036, - 0.09268529713153839, - -0.3435579240322113, - 0.06814207136631012, - -0.05877280607819557, - 0.1223217099905014, - 0.11179354041814804, - -0.051450274884700775, - 0.025481754913926125, - -0.1819257289171219, - 0.007147911936044693, - 0.08810316771268845, - 0.20382805168628693, - 0.04239678010344505, - -0.1195031926035881, - 0.0032910157460719347, - -0.007354235276579857, - 0.24458040297031403, - -0.0926448255777359, - 0.03889201954007149, - -0.08063124120235443, - 0.02067529410123825, - 0.021831054240465164, - -0.044897451996803284, - -0.0507982112467289, - 0.04813080653548241, - 0.011655500158667564, - -0.1006115972995758, - 0.13817951083183289, - 0.11375591158866882, - -0.029052352532744408, - 0.032122306525707245, - 0.08776398003101349, - -0.1208442971110344, - 0.1185803934931755, - -0.0451594702899456, - 0.06881650537252426, - 0.1314273327589035, - 0.13900017738342285, - 0.1061820238828659, - -0.06934898346662521, - -0.01508370228111744, - -0.16175629198551178, - 0.025260161608457565, - -0.019894346594810486, - 0.1751524955034256, - 0.004936481360346079, - 0.14545002579689026, - 0.19607006013393402, - 0.018146924674510956, - -0.026711300015449524, - -0.025026461109519005, - 0.024112621322274208, - -0.008576999418437481, - 0.08398990333080292, - -0.011081922799348831, - 0.04346594214439392, - 0.07444331794977188, - 0.033239029347896576, - 0.07223405689001083, - -0.1309126615524292, - -0.02131984755396843, - -0.28765928745269775, - 0.12153533101081848, - -0.029027482494711876, - 0.06173262000083923, - -0.26933974027633667, - 0.04371882602572441, - -0.038598477840423584, - 0.1349632889032364, - 0.03874923661351204, - 0.08301515132188797, - 0.1785111278295517, - 0.051854055374860764, - -0.3853868246078491, - 0.05699970945715904, - -0.012921108864247799, - 0.01769828237593174, - -0.03694178909063339, - 0.025612691417336464, - 0.005346054211258888, - -0.1594909131526947, - -0.07150875777006149, - -0.28304287791252136, - 0.05378830432891846, - -0.08613017946481705, - -0.09403800964355469, - -0.2186294049024582, - -0.03819073736667633, - -0.04001442342996597, - 0.06888549029827118, - -0.046198900789022446, - -0.2528606653213501, - 0.17923451960086823, - 0.07434991747140884, - -0.05781762674450874, - -0.0570165291428566, - 0.0757913887500763, - 0.0135014858096838, - -0.0033735090401023626, - 0.11975431442260742, - -0.0023670245427638292, - -0.011395405977964401, - -0.004186677746474743, - 0.03269597142934799, - 0.1403622031211853, - -0.060640741139650345, - -0.14460735023021698, - 0.04573328047990799, - 0.007799024228006601 - ], - [ - -0.009682480245828629, - 0.05292750149965286, - 0.07668240368366241, - 0.10546676069498062, - 0.029432740062475204, - -0.45123785734176636, - 0.09541188925504684, - -0.10465805977582932, - -0.015568483620882034, - -0.17877328395843506, - 0.14573606848716736, - -0.03973155841231346, - -0.12162008881568909, - -0.24564428627490997, - 0.11408292502164841, - 0.06726127862930298, - 0.13195553421974182, - -0.1201321929693222, - 0.0724555030465126, - -0.04764515906572342, - 0.2118200659751892, - -0.35577526688575745, - 0.006964277476072311, - -0.5206752419471741, - 0.16660310328006744, - -0.03923766314983368, - 0.10647612065076828, - -0.1221228763461113, - -0.08642400056123734, - -0.24455711245536804, - -0.24729026854038239, - -0.28766903281211853, - -0.31521761417388916, - 0.02641470730304718, - -0.029588716104626656, - -0.5426087975502014, - -0.11675895750522614, - -0.10410301387310028, - -0.12491942197084427, - 0.1097325012087822, - -0.13869278132915497, - 0.08168550580739975, - -0.018541323021054268, - -0.24245180189609528, - 0.0056050121784210205, - 0.1566111296415329, - 0.08483851701021194, - 0.22938497364521027, - 0.0036835551727563143, - -0.5441039204597473, - 0.09151265025138855, - -0.12439418584108353, - -0.14873455464839935, - 0.09215636551380157, - -0.012051736935973167, - -0.04932255670428276, - 0.21852144598960876, - 0.05425585061311722, - -0.01630050502717495, - 0.09343045949935913, - 0.007835119031369686, - 0.04148249328136444, - 0.08018830418586731, - -0.11759725213050842, - -0.024801168590784073, - -0.04710831493139267, - 0.28018680214881897, - 0.07934600859880447, - -0.08701283484697342, - 0.12618325650691986, - -0.0806952714920044, - -0.28779932856559753, - 0.06395451724529266, - -0.13048182427883148, - -0.059479426592588425, - 0.2232690155506134, - -0.027086252346634865, - -0.16470271348953247, - -0.10676867514848709, - -0.0030674587469547987, - 0.16489183902740479, - 0.177242249250412, - 0.05709878355264664, - -0.13217869400978088, - 0.14346542954444885, - 0.06503988057374954, - 0.03210723027586937, - 0.09677568078041077, - -0.05039878189563751, - 0.027128838002681732, - 0.18376664817333221, - -0.07421406358480453, - -0.32794326543807983, - -0.34613439440727234, - -0.11973515897989273, - -0.03209976106882095, - -0.020840223878622055, - 0.048445168882608414, - 0.10510396957397461, - -0.403597891330719, - -0.11090874671936035, - -0.1491924226284027, - -0.024676864966750145, - -0.022991839796304703, - -0.09472640603780746, - -0.11453399062156677, - -0.08906660228967667, - 0.2052864283323288, - 0.17384682595729828, - -0.07431571930646896, - 0.14708857238292694, - -0.3357168138027191, - 0.021947024390101433, - -0.05447414889931679, - 0.08098731189966202, - 0.11021174490451813, - -0.22608281672000885, - 0.5040015578269958, - -0.25376829504966736, - 0.22929547727108002, - 0.19472669064998627, - -0.22433297336101532, - -0.08627758920192719, - -0.09376882761716843, - 0.011259117163717747, - 0.10272569209337234, - -0.030747821554541588, - -0.0700654610991478 - ], - [ - -0.03373949974775314, - -0.20386609435081482, - 0.028986118733882904, - -0.02541741356253624, - 0.17529776692390442, - 0.06198277696967125, - -0.08386463671922684, - 0.0013539398787543178, - -0.1949346512556076, - 0.1320994645357132, - -0.21428871154785156, - 0.013764902949333191, - 0.07008123397827148, - -0.07240710407495499, - 0.05570218712091446, - 0.11839047819375992, - -0.2439432442188263, - 0.32172784209251404, - 0.0011403111275285482, - -0.433788925409317, - 0.1881006509065628, - 0.051037225872278214, - -0.11586712300777435, - -0.0021518152207136154, - -0.3133847713470459, - 0.07732443511486053, - 0.05773279815912247, - 0.07260143756866455, - -0.04432855173945427, - 0.10585169494152069, - 0.1755530834197998, - -0.007567631546407938, - -0.07691910117864609, - -0.26937299966812134, - -0.0182910468429327, - -0.04958734288811684, - -0.22675833106040955, - 0.0002216265711467713, - 0.02831379696726799, - -0.0055421567521989346, - 0.011302954517304897, - -0.08322001993656158, - 0.08351431041955948, - 0.024850662797689438, - 0.12815693020820618, - -0.2277359664440155, - -0.18226532638072968, - 0.07065649330615997, - 0.07333964109420776, - 0.2076173573732376, - -0.2722102701663971, - -0.03309676796197891, - 0.11944717913866043, - 0.08164827525615692, - 0.029720788821578026, - -0.043797485530376434, - 0.028479482978582382, - 0.020878860726952553, - 0.052128955721855164, - -0.20585131645202637, - 0.20815885066986084, - 0.09836098551750183, - 0.24171386659145355, - -0.008032371290028095, - -0.024199075996875763, - 0.20322568714618683, - 0.06355233490467072, - 0.049235470592975616, - 0.05883649364113808, - 0.16226248443126678, - -0.03820045664906502, - 0.05564669892191887, - -0.17151591181755066, - 0.16064175963401794, - -0.18818634748458862, - 0.16918310523033142, - 0.1387612223625183, - -0.38740164041519165, - -0.0034635458141565323, - -0.1112586036324501, - -0.09161406010389328, - 0.04657602682709694, - 0.13405965268611908, - 0.11244387924671173, - 0.17962154746055603, - 0.03205510601401329, - -0.1620417982339859, - -0.316724568605423, - -0.1300724297761917, - 0.004112797789275646, - -0.3679676949977875, - -0.8888188004493713, - -1.3260128498077393, - -0.03746601939201355, - 0.06930089741945267, - 0.1198146864771843, - -0.06911249458789825, - -0.027608202770352364, - -0.05782115459442139, - -0.07657481729984283, - 0.11506764590740204, - 0.3820888102054596, - 0.1321304887533188, - -0.42697519063949585, - -0.04237403720617294, - -0.034845177084207535, - 0.11277307569980621, - 0.056731946766376495, - 0.08227284252643585, - -0.18221744894981384, - 0.5221775770187378, - 0.16589905321598053, - -0.3070075213909149, - 0.034732233732938766, - 0.03331894800066948, - 0.1380075365304947, - 0.08150234818458557, - 0.12187470495700836, - 0.11502106487751007, - -0.16480767726898193, - -0.0747382789850235, - 0.05263378471136093, - 0.15973956882953644, - -0.11154681444168091, - 0.1031060442328453, - 0.14426474273204803, - 0.013075035065412521, - 0.06027095764875412 - ], - [ - -0.15520255267620087, - 0.0181125458329916, - -0.08428597450256348, - -0.1390082687139511, - -0.18263308703899384, - 0.09813286364078522, - -0.34793365001678467, - 0.10763484984636307, - -0.08782882988452911, - 0.17000305652618408, - 0.1635645478963852, - -0.08807937055826187, - 0.12180091440677643, - 0.07664904743432999, - 0.023484421893954277, - -0.14350254833698273, - -0.07822943478822708, - -0.031011106446385384, - 0.2000948041677475, - -0.7007007002830505, - 0.16365677118301392, - 0.17082816362380981, - -0.21023450791835785, - 0.15482839941978455, - -0.6186422109603882, - 0.09985583275556564, - 0.00916769914329052, - 0.16208937764167786, - 0.19459307193756104, - -0.20068523287773132, - -0.05844015255570412, - 0.07200222462415695, - -0.10007701069116592, - 0.08475957810878754, - -0.12023811787366867, - 0.06343929469585419, - -0.025667887181043625, - -0.0564231313765049, - 0.010185373947024345, - -0.07049667835235596, - -0.20722773671150208, - -0.11022617667913437, - -0.18156608939170837, - 0.09187473356723785, - 0.003936861641705036, - -0.09194739162921906, - -0.017594361677765846, - 0.17291833460330963, - 0.09563695639371872, - 0.1762615293264389, - -0.3952924609184265, - -0.10080292820930481, - -0.107294961810112, - 0.029298121109604836, - -0.0710691586136818, - 0.12434081733226776, - 0.013349381275475025, - -0.046077944338321686, - -0.043741609901189804, - 0.2880513370037079, - 0.0745154395699501, - -0.3252546489238739, - 0.12081035226583481, - -0.28100040555000305, - 0.1265290230512619, - -0.004578909836709499, - -0.01107937190681696, - -0.3420383930206299, - 0.04421592503786087, - -0.04566372558474541, - -0.023252414539456367, - 0.02066107839345932, - -0.09750576317310333, - -0.004938255995512009, - -0.327876478433609, - -0.25856858491897583, - 0.20891813933849335, - -0.08908101171255112, - 0.09061186760663986, - 0.07218626141548157, - 0.08094844967126846, - -0.011012701317667961, - -0.03055514022707939, - -0.15159012377262115, - 0.07817917317152023, - 0.031234128400683403, - -0.12829139828681946, - -0.16767331957817078, - -0.2714453935623169, - -0.25519248843193054, - -0.11575079709291458, - 0.15695978701114655, - 0.0018485760083422065, - 0.14046752452850342, - 0.01577463187277317, - 0.27033159136772156, - -0.0033939408604055643, - -0.3100588917732239, - 0.28145667910575867, - 0.005141402594745159, - -0.02461238205432892, - -0.09548435360193253, - 0.038965512067079544, - -0.03453989326953888, - 0.023588130250573158, - 0.012711389921605587, - -0.2543503940105438, - 0.062455352395772934, - -0.3897725045681, - -0.11031099408864975, - -0.08257236331701279, - 0.10927227139472961, - 0.42813047766685486, - -0.05718206986784935, - 0.0066705429926514626, - 0.18214565515518188, - -0.16828954219818115, - 0.21732397377490997, - -0.07088091224431992, - 0.06865840405225754, - -0.05611380562186241, - 0.15235593914985657, - -0.06764762103557587, - -0.13969795405864716, - -0.19600360095500946, - -0.17516988515853882, - 0.08721411228179932, - 0.12968914210796356 - ], - [ - -0.11238700151443481, - -0.12590478360652924, - -0.018640849739313126, - 0.056609101593494415, - -0.04449351504445076, - -0.0035858822520822287, - -0.04093122109770775, - 0.012282810173928738, - -0.02729523926973343, - -0.08766801655292511, - 0.27297723293304443, - 0.1819225251674652, - 0.011973485350608826, - 0.09232823550701141, - 0.0050602625124156475, - -0.06857647746801376, - -0.15286347270011902, - 0.05194134637713432, - -0.08123817294836044, - -0.022473309189081192, - 0.010499238036572933, - -0.001212665461935103, - -0.18625488877296448, - 0.1599319577217102, - 0.09731491655111313, - -0.14146697521209717, - -0.005108128301799297, - 0.01515810377895832, - 0.18046905100345612, - 0.155790776014328, - -0.22740906476974487, - -0.01863410882651806, - -0.5205853581428528, - 0.02772824838757515, - -0.03363064303994179, - -0.07392145693302155, - 0.09469647705554962, - 0.15424472093582153, - -0.03624097257852554, - -0.07461462169885635, - -0.09659659117460251, - -0.1971689909696579, - -0.056987594813108444, - 0.15038242936134338, - -0.31143951416015625, - -0.2500779628753662, - 0.29711928963661194, - -0.07175704091787338, - 0.1043776273727417, - -0.03851475194096565, - 0.07258779555559158, - -0.08160170912742615, - -0.04302779212594032, - -0.02723030187189579, - -0.11148824542760849, - 0.05932198464870453, - 0.1146557405591011, - 0.12016455829143524, - 0.1304599940776825, - 0.06771352142095566, - -0.0775962620973587, - 0.016576742753386497, - -0.05617036670446396, - -0.09299235045909882, - 0.11756674200296402, - -0.06574629247188568, - 0.1122073158621788, - -0.02751249447464943, - 0.0949266105890274, - 0.016215916723012924, - 0.011630916967988014, - 0.03165903314948082, - 0.029043007642030716, - -0.197708860039711, - -0.19848133623600006, - -0.09184287488460541, - 0.13407044112682343, - 0.12438161671161652, - -0.04411923512816429, - -0.04930974170565605, - -0.20349879562854767, - 0.123837411403656, - -0.021471315994858742, - 0.01303805410861969, - -0.09922424703836441, - 0.015586872585117817, - 0.2197849005460739, - 0.10328707098960876, - 0.0406968779861927, - 0.06670669466257095, - -0.039120446890592575, - 0.16096921265125275, - -0.34162184596061707, - 0.043180983513593674, - -0.1315820962190628, - -0.08134584873914719, - -0.09721112996339798, - 0.14486537873744965, - 0.12716516852378845, - 0.07350900769233704, - 0.05324964597821236, - -0.10450754314661026, - 0.0751427561044693, - 0.027063103392720222, - -0.013825553469359875, - -0.10479243099689484, - -0.2941891849040985, - -0.10762480646371841, - -0.19687223434448242, - -0.0655607283115387, - -0.1385330855846405, - 0.15017810463905334, - 0.1323767900466919, - -0.027664611116051674, - 0.09297416359186172, - -0.010130951181054115, - 0.06616318225860596, - -0.06307036429643631, - 0.1716156005859375, - 0.020379718393087387, - -0.04996771365404129, - -0.05517945811152458, - 0.025452762842178345, - -0.00799772422760725, - -0.246479794383049, - -0.16347448527812958, - -0.045373089611530304, - 0.10530093312263489 - ], - [ - 0.021212151274085045, - -0.014556045643985271, - 0.12308353185653687, - -0.008947973139584064, - -0.02102857455611229, - 0.029185673221945763, - -0.026273446157574654, - 0.09616921842098236, - -0.020904704928398132, - -0.046645063906908035, - 0.0313723087310791, - 0.07961895316839218, - 0.13139225542545319, - -0.036146145313978195, - -0.05767407268285751, - 0.11898039281368256, - -0.07241222262382507, - -0.3726726770401001, - -0.022222647443413734, - 0.10817413777112961, - -0.17358657717704773, - 0.006756107322871685, - -0.33816471695899963, - -0.06903818994760513, - 0.0958629921078682, - 0.03751816228032112, - -0.01229590643197298, - -0.003997483290731907, - 0.09592573344707489, - 0.08838314563035965, - 0.034253329038619995, - -0.005883978679776192, - -0.1767890602350235, - 0.08971678465604782, - 0.17069286108016968, - -0.1699218899011612, - -0.1577530801296234, - 0.15159261226654053, - 0.1092519536614418, - -0.0013490464771166444, - 0.13342469930648804, - -0.08054398745298386, - -0.22331413626670837, - 0.07005267590284348, - -0.05445452407002449, - -0.4209088385105133, - 0.16884927451610565, - 0.11056655645370483, - -0.03872447460889816, - -0.138294979929924, - -0.03449954465031624, - 0.16699829697608948, - 0.025344939902424812, - 0.08181089907884598, - -0.10200044512748718, - 0.08064776659011841, - 0.06253424286842346, - 0.00414982670918107, - -0.12361068278551102, - 0.18191449344158173, - -0.11839795112609863, - 0.17322653532028198, - -0.1238081306219101, - -0.052344612777233124, - 0.10128083825111389, - 0.027662431821227074, - 0.1374344527721405, - -0.1649051457643509, - 0.03373895213007927, - 0.026597490534186363, - 0.0714898332953453, - -0.10654684156179428, - -0.022828616201877594, - -0.08680666983127594, - -0.08026181906461716, - -0.007190864998847246, - -0.02074909582734108, - -0.07425564527511597, - 0.015315448865294456, - -0.22029536962509155, - 0.09127532690763474, - 0.17612291872501373, - -0.03754301741719246, - -0.16699016094207764, - -0.11774273216724396, - -0.08488398790359497, - 0.182804137468338, - 0.08531278371810913, - 0.11736488342285156, - -0.020065894350409508, - 0.2015722543001175, - 0.04994514212012291, - -1.4182758331298828, - 0.04682062938809395, - -0.20435501635074615, - 0.08111504465341568, - -0.3645493984222412, - -0.05393547564744949, - 0.11758356541395187, - -0.2482536882162094, - 0.04504050314426422, - -0.22125330567359924, - 0.02407822012901306, - 0.10014230757951736, - 0.015849582850933075, - -0.012852243147790432, - -0.12249977141618729, - 0.054227109998464584, - -0.05478619784116745, - -0.03176501765847206, - -0.02743583358824253, - 0.1056777760386467, - 0.04198061302304268, - -0.10728026926517487, - 0.1708507239818573, - 0.03860192745923996, - -0.008396417833864689, - -0.070994071662426, - -0.055344562977552414, - -0.03527451679110527, - -0.037409745156764984, - 0.14319907128810883, - 0.012748748064041138, - 0.16019997000694275, - -0.024607589468359947, - -0.14934349060058594, - -0.06920216977596283, - 0.12574462592601776 - ], - [ - 0.07014277577400208, - -0.0351623110473156, - -0.11218171566724777, - 0.11228878051042557, - 0.2416064590215683, - 0.07768618315458298, - 0.20139671862125397, - -0.056351859122514725, - -0.031683556735515594, - -0.0559673011302948, - -0.10940022021532059, - -0.1315704882144928, - 0.1717953085899353, - -0.09507451206445694, - 0.10520726442337036, - 0.055889930576086044, - -0.15574617683887482, - -0.11354203522205353, - -0.04941444844007492, - -0.13760824501514435, - 0.08856821060180664, - -0.026700805872678757, - -0.11374159157276154, - -0.0029887992423027754, - 0.09967483580112457, - 0.028182007372379303, - 0.05805085971951485, - -0.1415824592113495, - 0.014357483945786953, - -0.055257998406887054, - 0.12128321826457977, - -0.11484801024198532, - 0.14399008452892303, - -0.2751915156841278, - 2.6399542548460886e-05, - -0.12891985476016998, - 0.10406123846769333, - -0.0046610720455646515, - 0.09761025011539459, - -0.002737517934292555, - 0.1710057556629181, - 0.07467767596244812, - 0.19904911518096924, - -0.07420102506875992, - 0.1825695037841797, - 0.01794128119945526, - -0.1413174867630005, - -0.1304275542497635, - -0.09736531972885132, - 0.13590827584266663, - 0.004227517172694206, - -0.14674699306488037, - 0.18957200646400452, - 0.05690461024641991, - -0.03822953999042511, - -0.05274684354662895, - 0.12726889550685883, - 0.0888669490814209, - -0.09172869473695755, - -0.04757538437843323, - 0.13331128656864166, - 0.060887549072504044, - 0.12637916207313538, - -0.08851641416549683, - -0.23486490547657013, - 0.04241888225078583, - -0.16076141595840454, - 0.03931017592549324, - 0.11708633601665497, - 0.02282727137207985, - -0.15546077489852905, - 0.07051675766706467, - -0.13935674726963043, - -0.1752493679523468, - -0.01036369614303112, - 0.09951820224523544, - -0.10911285132169724, - -0.09764610230922699, - 0.033752597868442535, - -0.011054752394557, - 0.06407804787158966, - -0.05066635087132454, - -0.07907290011644363, - -0.029791949316859245, - 0.04015176370739937, - -0.12839564681053162, - -0.05495491251349449, - -0.29271063208580017, - 0.13553035259246826, - 0.19222354888916016, - -0.0782637819647789, - -0.06670359522104263, - 0.2584686279296875, - -0.03308732435107231, - 0.10523476451635361, - -0.019808489829301834, - 0.07774040102958679, - 0.14416004717350006, - -0.43290817737579346, - 0.06242425739765167, - 0.003355608321726322, - 0.02894199825823307, - -0.16063717007637024, - 0.007322956342250109, - -0.005649432074278593, - -0.128949835896492, - 0.07308026403188705, - 0.06317023187875748, - -0.04360933601856232, - 0.11624979227781296, - -0.03618346154689789, - 0.08947136253118515, - -0.47764158248901367, - 0.040414854884147644, - 0.04210762307047844, - 0.07939056307077408, - -0.0468658022582531, - -0.030375273898243904, - -0.1277189552783966, - -0.02766875922679901, - 0.06974193453788757, - 0.045762427151203156, - 0.05726540461182594, - -0.06064724177122116, - 0.16445636749267578, - -0.022550180554389954, - -0.08066385239362717, - -0.0916556641459465 - ], - [ - -0.12670359015464783, - 0.05853061005473137, - -0.06844493001699448, - 0.04335508495569229, - -0.15289808809757233, - 0.026114648208022118, - 0.049946464598178864, - 0.07867565751075745, - 0.018592430278658867, - -0.16809295117855072, - 0.04641557112336159, - -0.12483598291873932, - 0.2641320526599884, - -0.3055526912212372, - -0.42058998346328735, - 0.10521021485328674, - 0.2037898302078247, - -0.009504948742687702, - 0.07657673954963684, - 0.04024892300367355, - -0.3284511864185333, - 0.07537226378917694, - -0.008081602863967419, - 0.061946917325258255, - -0.0010998526122421026, - -0.16480925679206848, - 0.17128832638263702, - -0.3784794509410858, - 0.010231069289147854, - -0.04435530677437782, - 0.2619415521621704, - 0.09728822857141495, - -0.06740335375070572, - -0.03171616420149803, - -0.03549680858850479, - 0.020831892266869545, - -0.18521955609321594, - 0.11249279975891113, - 0.1642773300409317, - 0.028309153392910957, - -0.02181088551878929, - -0.11785566806793213, - -0.1720147430896759, - 0.02929362840950489, - -0.05137592926621437, - -0.10623881220817566, - 0.004034942947328091, - -0.005083553958684206, - 0.1392102688550949, - 0.12150391936302185, - 0.014211629517376423, - -0.09720737487077713, - 0.0589771494269371, - -0.15021109580993652, - 0.06645956635475159, - 0.09847874939441681, - 0.0659671202301979, - 0.12213972210884094, - -0.027439456433057785, - -0.016916945576667786, - -0.09185638278722763, - -0.18259376287460327, - 0.030444424599409103, - -0.002183769829571247, - 0.013662177138030529, - 0.1678646057844162, - 0.07505106925964355, - -0.15538452565670013, - 0.1030774861574173, - -0.06060400232672691, - 0.06704123318195343, - -0.010108391754329205, - 0.1497269868850708, - -0.23932306468486786, - -0.05756823718547821, - 0.060190871357917786, - 0.09712830185890198, - 0.012486563064157963, - -0.08697210252285004, - -0.13108906149864197, - -0.22837071120738983, - 0.07913801074028015, - -0.14489814639091492, - -0.022766700014472008, - -0.10219480842351913, - 0.021647289395332336, - 0.11857856065034866, - 0.08575023710727692, - -0.09612056612968445, - 0.17948158085346222, - 0.07525833696126938, - 0.030646294355392456, - -0.19634924829006195, - 0.06541768461465836, - -0.03852180019021034, - -0.1658252626657486, - 0.06698651611804962, - -0.048025552183389664, - 0.10644666105508804, - -0.14985734224319458, - -0.020324628800153732, - -0.25834840536117554, - -0.01859930157661438, - 0.06704728305339813, - 0.0965677872300148, - -0.20235134661197662, - -0.14699392020702362, - 0.24269802868366241, - -0.3027573227882385, - 0.15615732967853546, - 0.0658564418554306, - 0.22233732044696808, - 0.04463149234652519, - 0.05108906701207161, - -0.23091135919094086, - 0.3518728017807007, - 0.06779973208904266, - -0.008436222560703754, - 0.046186599880456924, - 0.09458363801240921, - -0.20586149394512177, - -0.12211515009403229, - 0.06288594007492065, - 0.20402872562408447, - -0.4218448996543884, - -0.03784264624118805, - -0.031425971537828445, - -0.3249821066856384 - ], - [ - -0.058300845324993134, - 0.20745012164115906, - 0.07265610992908478, - 0.026096975430846214, - 0.13887976109981537, - 0.0005489321192726493, - -0.26757189631462097, - -0.1347556710243225, - -0.23581361770629883, - 0.09280536323785782, - -0.27552688121795654, - -0.12768524885177612, - 0.026498083025217056, - -0.44579601287841797, - -0.2752133011817932, - 0.23625190556049347, - -0.033908162266016006, - -1.2662625312805176, - 0.014485793188214302, - 0.29547378420829773, - -0.6393572092056274, - -0.03196083754301071, - 0.17717158794403076, - -0.06059296429157257, - -0.07955514639616013, - 0.18489709496498108, - 0.09252215176820755, - 0.15390756726264954, - -0.1419997215270996, - -0.18443699181079865, - 0.14637082815170288, - 0.026171663776040077, - -0.5015670657157898, - -0.2884386479854584, - 0.1476019322872162, - 0.03005380742251873, - 0.2266792207956314, - 0.11030063778162003, - -0.07772094756364822, - -0.016127651557326317, - 0.011067626997828484, - -0.16511696577072144, - 0.15066871047019958, - -0.010925629176199436, - -0.09620647877454758, - -0.18288780748844147, - -0.06117785722017288, - 0.06310617923736572, - -0.5031008720397949, - 0.3473767936229706, - -0.5198538899421692, - 0.19490426778793335, - 0.15623517334461212, - 0.05985216051340103, - 0.13408464193344116, - 0.06788714975118637, - 0.1250510960817337, - -0.2061993032693863, - -1.4160492420196533, - -0.23088213801383972, - -0.06822527199983597, - -0.002661078004166484, - 0.029115067794919014, - 0.15134410560131073, - -0.03307243809103966, - 0.23254504799842834, - 0.3156445324420929, - -0.16247589886188507, - 0.18690630793571472, - 0.10854858160018921, - -0.16166380047798157, - 0.064368836581707, - -0.33288654685020447, - -0.44020524621009827, - 0.0728880912065506, - 0.07155076414346695, - -0.01470980979502201, - 0.06650067865848541, - -0.12366008013486862, - -0.0830800011754036, - -0.16207584738731384, - -0.4292878210544586, - -0.06562856584787369, - 0.10687728971242905, - 0.2684785723686218, - -0.21883408725261688, - -0.04105547443032265, - -0.1453772634267807, - 0.09407351166009903, - -0.33736559748649597, - 0.25463223457336426, - -0.1384527087211609, - -0.18398812413215637, - -0.22044654190540314, - -0.14390592277050018, - -0.09311831742525101, - 0.08781791478395462, - 0.2504681646823883, - -0.7596649527549744, - -0.40232813358306885, - -0.028742847964167595, - 0.12352072447538376, - 0.05515861511230469, - 0.017746057361364365, - -0.10040784627199173, - 0.2759139835834503, - -0.30584976077079773, - -0.07145065814256668, - -0.30956968665122986, - 0.1862582415342331, - -0.36936235427856445, - 0.16688980162143707, - 0.059454094618558884, - 0.049328893423080444, - -0.0049695889465510845, - 0.08939918130636215, - 0.19247804582118988, - 0.1553768515586853, - -0.051356520503759384, - 0.11763298511505127, - -0.10939280688762665, - -0.035860586911439896, - 0.23290087282657623, - -0.2812832295894623, - -0.0015875404933467507, - 0.8846412301063538, - 0.05173202231526375, - -0.02991451881825924 - ], - [ - -0.2833716571331024, - -0.01045883446931839, - 0.1311863660812378, - 0.023237314075231552, - 0.08414684236049652, - 0.07144024223089218, - 0.10651535540819168, - 0.3003581762313843, - -0.1277167797088623, - 0.042347341775894165, - 0.09138737618923187, - 0.13765038549900055, - 0.4605830907821655, - -0.15266557037830353, - -0.284836083650589, - -0.18694671988487244, - 0.025315390899777412, - -0.13807758688926697, - 0.00750333908945322, - -0.0328548327088356, - -0.3762173354625702, - -0.06670304387807846, - -0.192694753408432, - 0.044747982174158096, - 0.06927310675382614, - -0.3003024160861969, - 0.08969210088253021, - 0.08440666645765305, - -0.018170710653066635, - -0.17766065895557404, - -0.05617024749517441, - 0.16515156626701355, - -0.17289264500141144, - -0.023961931467056274, - -0.2240113765001297, - -0.12013834714889526, - 0.2723321318626404, - 0.08252869546413422, - 0.09141071140766144, - -0.10177671909332275, - -0.0703808143734932, - -0.0003880492295138538, - -0.12967807054519653, - 0.0641188770532608, - 0.006737728137522936, - -0.27119848132133484, - -0.028498778119683266, - 0.10969524830579758, - 0.04731299728155136, - -0.018849927932024002, - -0.2163204699754715, - 0.10685645788908005, - -0.04648631438612938, - -0.018303487449884415, - 0.08888842910528183, - 0.1771603375673294, - 0.18295419216156006, - -0.005444866139441729, - 0.055780455470085144, - 0.08179789036512375, - -0.20270608365535736, - 0.09772735089063644, - 0.03463514894247055, - -0.08333923667669296, - 0.007068773731589317, - 0.0810212716460228, - 0.14951300621032715, - -0.1398766189813614, - 0.015347322449088097, - 0.10847602784633636, - 0.06289854645729065, - -0.407133549451828, - -0.042247530072927475, - -0.3595666289329529, - -0.14160160720348358, - 0.11895439773797989, - 0.15333783626556396, - 0.08144699037075043, - -0.3348076641559601, - 0.07028499245643616, - -0.17219598591327667, - 0.05357527732849121, - -0.1851181834936142, - -0.10151620954275131, - 0.026331702247262, - 0.09880059957504272, - 0.12294364720582962, - 0.07895776629447937, - 0.013659468851983547, - 0.023486172780394554, - 0.07317490130662918, - 0.04738108441233635, - -0.8077264428138733, - 0.05772717297077179, - -0.1070374995470047, - -0.16474947333335876, - 0.040634673088788986, - 0.10228157788515091, - 0.11225728690624237, - -0.025256605818867683, - 0.1587221920490265, - -0.02539418824017048, - 0.05065034702420235, - 0.004962633363902569, - -0.06527451425790787, - 0.12095000594854355, - -0.2241382747888565, - -0.2271765172481537, - -0.20756956934928894, - 0.14052821695804596, - 0.029862336814403534, - -0.08544861525297165, - 0.1612582951784134, - -0.06768684089183807, - 0.003743815468624234, - 0.2268703728914261, - -0.06765150278806686, - -0.3303546905517578, - 0.3167669475078583, - -0.10948602855205536, - -0.19783207774162292, - -0.08800287544727325, - 0.07103893160820007, - 0.34151336550712585, - -0.19146503508090973, - -0.13352634012699127, - 0.059924013912677765, - 0.14139758050441742 - ], - [ - -0.38959962129592896, - -0.08303744345903397, - 0.013090858235955238, - -0.34505975246429443, - -0.010397303849458694, - 0.17019739747047424, - 0.007793452590703964, - 0.202500119805336, - -0.18432430922985077, - 0.022671403363347054, - 0.2562287151813507, - 0.06401509791612625, - 0.19012291729450226, - -0.693723201751709, - 0.09999910742044449, - -0.04594073444604874, - 0.029487164691090584, - -0.2489795833826065, - 0.09767896682024002, - 0.12935370206832886, - -0.14421936869621277, - 0.07965601980686188, - 0.039961256086826324, - -0.011313557624816895, - -0.03947460278868675, - 0.07326416671276093, - 0.32380208373069763, - 0.05146734043955803, - -0.2828916907310486, - 0.060360778123140335, - 0.06715979427099228, - 0.19839811325073242, - -0.449133962392807, - 0.10023324191570282, - -0.12748286128044128, - -0.801084578037262, - -0.37160494923591614, - -0.09470392018556595, - 0.18981191515922546, - 0.045743923634290695, - 0.0369405634701252, - -0.2093656212091446, - -0.07763554155826569, - 0.007479988969862461, - 0.1395556628704071, - -0.8160651326179504, - -0.4891366958618164, - -0.10827787965536118, - 0.08526217192411423, - 0.024748247116804123, - -0.348864883184433, - 0.10248037427663803, - -0.13364684581756592, - 0.0790579542517662, - 0.0881509780883789, - -0.012020205147564411, - 0.1387951821088791, - 0.11384648084640503, - -0.006189262494444847, - 0.11277022212743759, - -0.13678455352783203, - 0.06858977675437927, - -0.08986220508813858, - -0.052851635962724686, - 0.002981176134198904, - 0.21299627423286438, - 0.255474328994751, - -0.19084133207798004, - 0.03599700331687927, - 0.004479550290852785, - 0.1444961577653885, - -0.021434929221868515, - 0.06461448967456818, - -0.12569402158260345, - 0.005367428530007601, - 0.02244952693581581, - 0.26586517691612244, - -0.2926822006702423, - -0.1335180252790451, - -0.056272946298122406, - -0.3134584426879883, - -0.05337870866060257, - -0.2686101496219635, - 0.04500696808099747, - -0.20399774610996246, - -0.017533063888549805, - -0.026522209867835045, - 0.10714105516672134, - 0.10819302499294281, - 0.2323804348707199, - 0.05683912709355354, - 0.04857287555932999, - -1.1003899574279785, - 0.061866044998168945, - -0.23288027942180634, - -0.3471205234527588, - 0.015438929200172424, - -0.03819103538990021, - 0.17148616909980774, - -0.0747537612915039, - -0.14700700342655182, - -0.009657368063926697, - -0.00972847267985344, - 0.07264848053455353, - -0.13252469897270203, - -0.11538960039615631, - -0.5282462239265442, - -0.010666993446648121, - 0.04405824840068817, - 0.05710693076252937, - -0.11731170862913132, - 0.47661086916923523, - 0.07386558502912521, - -0.20288528501987457, - -0.09192929416894913, - 0.44514521956443787, - 0.014272564090788364, - -0.06648489832878113, - 0.10130656510591507, - 0.2070777863264084, - -0.38231736421585083, - -0.05244328826665878, - 0.020609194412827492, - 0.461796373128891, - 0.04598718136548996, - -0.06330186128616333, - 0.15325510501861572, - 0.27057313919067383 - ], - [ - -0.44828030467033386, - 0.048996977508068085, - -0.055692508816719055, - -0.021444624289870262, - 0.0136663056910038, - 0.01632648892700672, - 0.006340031512081623, - 0.2693220376968384, - 0.006907705217599869, - -0.04462500289082527, - 0.10185114294290543, - 0.08448948711156845, - 0.32572734355926514, - -0.467989444732666, - -0.05995290353894234, - -0.02337992563843727, - 0.10729463398456573, - -0.07564529031515121, - 0.31894317269325256, - 0.19312816858291626, - -0.4805547297000885, - 0.11524203419685364, - 0.05771439149975777, - -0.024202896282076836, - -0.10051058232784271, - 0.22599555552005768, - 0.19865544140338898, - -0.0668187290430069, - -0.37262454628944397, - 0.059289492666721344, - -0.006592836696654558, - 0.06093962863087654, - 0.003229717491194606, - -0.0788615494966507, - -0.13608485460281372, - -0.15801580250263214, - -0.08486194908618927, - -0.01817161776125431, - 0.256752073764801, - -0.03345233201980591, - -0.05510847643017769, - -0.06311394274234772, - -0.17559905350208282, - -0.04742007702589035, - -0.012616240419447422, - -0.1665707677602768, - -0.10086043179035187, - -0.10733810812234879, - 0.104757159948349, - 0.11616234481334686, - -0.4474644064903259, - 0.10261689871549606, - -0.09192220866680145, - 0.13350309431552887, - 0.023577097803354263, - 0.08805719763040543, - -0.023995034396648407, - 0.10118794441223145, - -0.0304582342505455, - 0.11441292613744736, - -0.053170111030340195, - -0.02209489420056343, - -0.15139377117156982, - 0.09921064972877502, - 0.0800919458270073, - 0.19017855823040009, - 0.12358066439628601, - 0.04576299712061882, - -0.02178935706615448, - -0.04926731809973717, - 0.035468053072690964, - 0.1750515252351761, - -0.008526111952960491, - -0.13073231279850006, - 0.014108633622527122, - 0.06785829365253448, - 0.15868376195430756, - -0.28627467155456543, - -0.06030423194169998, - -0.004290005192160606, - -0.2238890528678894, - -0.06331953406333923, - -0.08061075210571289, - 0.11651495844125748, - -0.11863988637924194, - -0.09556056559085846, - 0.047146234661340714, - 0.0061664944514632225, - -0.04765507951378822, - -0.048831261694431305, - 0.1393192857503891, - -0.08016173541545868, - -0.6002864241600037, - -0.04565341770648956, - -0.014506650157272816, - -0.22978918254375458, - 0.05320210009813309, - 0.03441409766674042, - 0.03812064230442047, - -0.04341857507824898, - -0.12483333051204681, - -0.3196130394935608, - -0.07220491021871567, - 0.12090760469436646, - -0.12244710326194763, - 0.008286695927381516, - -0.10953690856695175, - -0.11676423251628876, - -0.21673326194286346, - 0.1732134371995926, - 0.061833299696445465, - 0.3622860908508301, - 0.1278005689382553, - -0.09926170855760574, - -0.05644288286566734, - 0.3958446979522705, - 0.13134005665779114, - -0.010907700285315514, - -0.06852703541517258, - 0.21079760789871216, - -0.1440414935350418, - 0.08464924991130829, - 0.10947507619857788, - 0.23124960064888, - 0.035889919847249985, - 0.06840106099843979, - 0.0755625069141388, - 0.26267319917678833 - ], - [ - -0.11242909729480743, - 0.07777813822031021, - 0.017147891223430634, - 0.0762556940317154, - -0.13979555666446686, - -0.017134366557002068, - -0.013230796903371811, - 0.046539243310689926, - 0.09505430608987808, - -0.0414227657020092, - 0.011501535773277283, - 0.0006677822093479335, - 0.03078167326748371, - 0.03196495771408081, - -0.4448053240776062, - 0.05593688413500786, - 0.095420241355896, - -0.017177168279886246, - 0.20258627831935883, - -0.0011969000333920121, - -0.23747749626636505, - 0.10683197528123856, - -0.03323505446314812, - 0.031687263399362564, - 0.046661339700222015, - 0.054656755179166794, - 0.012940018437802792, - 0.0006602873909287155, - -0.00022531057766173035, - 0.012515143491327763, - -0.02224370650947094, - 0.0003869870270136744, - -0.22065208852291107, - 0.09468060731887817, - 0.027235044166445732, - -0.24194775521755219, - -0.006803445052355528, - 0.042202215641736984, - 0.12874245643615723, - -0.011152839288115501, - 0.048327911645174026, - -0.01924109272658825, - 0.05618466064333916, - 0.08392523974180222, - -0.010170466266572475, - -0.20001554489135742, - 0.031138386577367783, - -0.014936487190425396, - -0.009930361062288284, - 0.01906576007604599, - -0.022151919081807137, - -0.1364564746618271, - -0.029475219547748566, - 0.003457417944446206, - -0.0936758816242218, - 0.06645279377698898, - -0.08753884583711624, - 0.09784088283777237, - 0.05310910567641258, - 0.013989313505589962, - -0.05888087674975395, - -0.0767161175608635, - 0.01887543499469757, - 0.03624594211578369, - 0.015229374170303345, - 0.14909999072551727, - 0.1695866733789444, - 0.061133455485105515, - 0.061879713088274, - 0.08529990166425705, - 0.0601227805018425, - 0.017911726608872414, - 0.0371505506336689, - 0.02199270762503147, - 0.028400950133800507, - -0.03420627489686012, - 0.12792915105819702, - -0.023482924327254295, - -0.10907995700836182, - -0.14806093275547028, - 0.06563640385866165, - 0.01166056003421545, - -0.07720408588647842, - 0.044623225927352905, - -0.0638914406299591, - -0.08010472357273102, - 0.00018978943990077823, - 0.018169814720749855, - -0.06458085775375366, - 0.008147467859089375, - 0.1874166876077652, - 0.11788869649171829, - -0.14503361284732819, - -0.056928880512714386, - -0.051586370915174484, - 0.0311379786580801, - -0.029242807999253273, - -0.011479995213449001, - 0.008777651004493237, - 0.016140438616275787, - 0.07853540033102036, - -0.014216870069503784, - -0.06865290552377701, - -0.00562622444704175, - -0.06683144718408585, - 0.03967902064323425, - 0.0025456338189542294, - -0.19979006052017212, - -0.08635608851909637, - 0.019245268777012825, - -0.019028937444090843, - 0.05601559579372406, - 0.07524778693914413, - 0.004251585807651281, - -0.29718995094299316, - 0.05612385645508766, - -0.018215905874967575, - 0.04229329898953438, - -0.08520445972681046, - -0.027483901008963585, - -0.08607099205255508, - -0.07842132449150085, - 0.06527925282716751, - 0.07952331751585007, - -0.07018627226352692, - 0.023047439754009247, - 0.010121683590114117, - 0.06487199664115906 - ], - [ - -0.06850838661193848, - 0.03820861876010895, - -0.04997118189930916, - -0.0558176226913929, - -0.13766519725322723, - -0.11654634028673172, - -0.1751621812582016, - 0.06240612640976906, - -0.029796531423926353, - -0.042663898319005966, - 0.057892680168151855, - -0.06606350839138031, - 0.36279329657554626, - -0.2325775921344757, - -0.43989458680152893, - -0.006151264533400536, - 0.15289334952831268, - -0.03182404488325119, - 0.21477963030338287, - 0.2055479735136032, - -0.12358276546001434, - -0.06091983988881111, - 0.10520388185977936, - -0.04231717064976692, - -0.03316401690244675, - -0.20634320378303528, - 0.1947881430387497, - -0.19119331240653992, - 0.00224330578930676, - 0.1105017215013504, - 0.25372496247291565, - 0.16088958084583282, - -0.12618398666381836, - 0.30473464727401733, - -0.05637894570827484, - -0.15415571630001068, - -0.17848704755306244, - 0.02226218394935131, - 0.3213121294975281, - 0.005376210901886225, - 0.064080610871315, - -0.10318352282047272, - 0.0498216412961483, - 0.06875601410865784, - 0.0332530215382576, - -0.40952959656715393, - -0.2061605155467987, - -0.0011906459694728255, - 0.1559947431087494, - 0.1803823560476303, - 0.03039652481675148, - -0.1341896504163742, - -0.10690904408693314, - 0.016638850793242455, - 0.014905170537531376, - 0.1646748036146164, - 0.04869476333260536, - 0.011145325377583504, - -0.05761881545186043, - 0.06827794015407562, - 0.07074949145317078, - 0.1155596524477005, - -0.02054426446557045, - 0.06492248922586441, - 0.026034777984023094, - 0.05220374837517738, - 0.23937484622001648, - -0.08600922673940659, - -0.10282047837972641, - 0.05017709732055664, - 0.03027898073196411, - -0.21838518977165222, - 0.03674689307808876, - -0.20900288224220276, - 0.07955801486968994, - 0.010319070890545845, - 0.0006021950975991786, - -0.16838690638542175, - -0.19675730168819427, - -0.020879825577139854, - -0.14897336065769196, - -0.11284782737493515, - -0.034122489392757416, - 0.14978983998298645, - -0.1882222294807434, - -0.02910163812339306, - 0.07628294825553894, - -0.12354149669408798, - -0.20605646073818207, - -0.067026287317276, - 0.03651810064911842, - -0.04009218513965607, - -0.4336915910243988, - -0.12370501458644867, - -0.1894737333059311, - -0.1067979484796524, - 0.0005106063326820731, - 0.02266286499798298, - 0.15023422241210938, - 0.07491898536682129, - 0.1738005131483078, - -0.011356878094375134, - -0.07745537161827087, - 0.0018616914749145508, - -0.03903433680534363, - -0.14344757795333862, - -0.25354230403900146, - -0.3587690591812134, - -0.16760607063770294, - 0.07490547746419907, - -0.027816174551844597, - 0.2804313898086548, - 0.13427774608135223, - -0.08475857973098755, - -0.13692010939121246, - 0.0434500016272068, - 0.15848766267299652, - 0.06419291347265244, - 0.13726398348808289, - 0.20845246315002441, - -0.1566987782716751, - -0.13126084208488464, - 0.1149948462843895, - 0.22904621064662933, - -0.5067880153656006, - -0.07808747887611389, - 0.12406840175390244, - -0.10160921514034271 - ] - ], - [ - [ - -0.06756807118654251, - -0.16543987393379211, - -0.3955898582935333, - 0.23137737810611725, - 0.8105812072753906, - -0.7038881182670593, - 0.4241858720779419, - -0.1069340705871582, - 0.00033008589525707066, - -0.000287123752059415, - 0.21891747415065765, - -0.2620095908641815, - 0.21122407913208008, - -0.2604796290397644, - -0.20162317156791687, - 0.33764249086380005, - 0.027461672201752663, - 1.1470284461975098, - -0.6689460873603821, - 0.0030311518348753452, - 0.0007200560066848993, - 0.5650426149368286, - -1.4484511613845825, - 0.7349910736083984, - 0.13127289712429047, - -0.0971437618136406, - -0.20855778455734253, - 1.0889016389846802, - 0.29467228055000305, - 0.02700752764940262, - 0.06916867941617966, - 1.2414883375167847, - -0.2856679856777191, - -0.25423693656921387, - 0.36631569266319275, - -0.3396744132041931, - 0.194773331284523, - 0.005377310793846846, - -0.6050127744674683, - -0.08947154134511948, - -0.6805055141448975, - 0.3207355737686157, - 0.32702335715293884, - -1.0606392621994019, - -1.2447706460952759, - -2.5441553592681885, - 0.3214056193828583, - -0.8217073082923889, - -0.04984506592154503, - 0.048520974814891815, - -0.7850474715232849, - -1.295426368713379, - 0.2141086608171463, - -0.8262404799461365, - -0.12335185706615448, - -0.3200710713863373, - 0.2956101894378662, - 0.006402024067938328, - 0.48091503977775574, - -0.13661351799964905, - 0.5072853565216064, - -1.0244522094726562, - -0.5020338892936707, - -0.34595540165901184, - -0.7613320350646973, - -0.2577553391456604, - 0.5887584090232849, - -0.17392855882644653, - -1.6277570724487305, - 0.026200657710433006, - 0.12160252779722214, - 1.3254919052124023, - 0.13432152569293976, - 0.0013512569712474942, - 0.2175121009349823, - 0.14757132530212402, - 0.22288161516189575, - -0.08641904592514038, - -0.9761590361595154, - -0.22108010947704315, - 0.28592702746391296, - 1.2467024326324463, - -0.5349047780036926, - 0.09560094028711319, - 0.4562901258468628, - -0.5896481275558472, - -0.3397466242313385, - -0.34773266315460205, - 0.027619490399956703, - -0.005026989616453648, - 0.007132960017770529, - 0.13221536576747894, - 0.1813429743051529, - 0.6329764127731323, - -0.6600300073623657, - 0.36737582087516785, - 0.605143666267395, - 0.08125394582748413, - -0.2494572252035141, - -1.0565824508666992, - 0.015786949545145035, - -0.33262452483177185, - -0.7486162185668945, - -0.8038054704666138, - -1.5733354091644287, - -1.061435341835022, - -0.24699997901916504, - 0.28481364250183105, - 0.2269888073205948, - -0.8981099128723145, - -2.031986713409424, - 0.11067937314510345, - -0.42052552103996277, - -0.018095210194587708, - 0.1407410204410553, - -0.7161560654640198, - -0.3761627972126007, - -0.5308826565742493, - 0.3465748429298401, - 0.4759661853313446, - -0.2290668934583664, - 0.5694806575775146, - -1.6017088890075684, - 0.8640625476837158, - 1.2884881496429443, - 1.053236961364746, - 0.0726151391863823, - 0.6022239923477173 - ] - ] - ], - "activationLayers": [ - "reLU", - "reLU", - "reLU" - ], - "biases": [ - [ - 0.41210898756980896, - -0.14466501772403717, - 0.11615071445703506, - 0.15551765263080597, - 0.2896631360054016, - 0.2601502537727356, - -0.09201329946517944, - 0.12317017465829849, - 0.2754036784172058, - 0.1393490433692932, - 0.0106710996478796, - 0.3008906841278076, - -0.3705286979675293, - 0.13894571363925934, - -0.24349340796470642, - 0.11219232529401779, - -0.3475782573223114, - -0.3216690719127655, - -0.4586440920829773, - -0.35091671347618103, - -0.3820383548736572, - 0.23171252012252808, - -0.5182207822799683, - 0.2747291624546051, - 0.10045353323221207, - 0.007530077360570431, - -0.07444372773170471, - 0.12993216514587402, - 0.2992708384990692, - 0.2836220860481262, - -0.24976615607738495, - -0.09116362035274506, - -0.05714938044548035, - -0.2559919059276581, - 0.17496241629123688, - -0.07897314429283142, - -0.012259084731340408, - 0.2332637906074524, - 0.06723882257938385, - 0.05602554231882095, - -0.008035704493522644, - 0.06503932178020477, - -0.1942092925310135, - 0.16313612461090088, - -0.20086807012557983, - -0.4011442959308624, - 0.19558599591255188, - 0.11690598726272583, - 0.08897747099399567, - -0.1906489133834839, - 0.09074617922306061, - -0.022266032174229622, - 0.08257032930850983, - -0.4201367497444153, - 0.025272872298955917, - 0.16209301352500916, - 0.1653354912996292, - 0.06447666138410568, - -0.24351462721824646, - -0.25724470615386963, - -0.1045750230550766, - -0.05668416619300842, - 0.06308846175670624, - -0.0446014478802681, - 0.08223901689052582, - -0.17683956027030945, - -0.049475718289613724, - -0.3542690575122833, - 0.12083445489406586, - -0.08175133913755417, - 0.12638680636882782, - 0.04070816561579704, - 0.15121451020240784, - -0.17749427258968353, - -0.05650431290268898, - 0.089194156229496, - 0.24117672443389893, - -0.03255736455321312, - 0.3707243800163269, - -0.14949753880500793, - 0.2443474531173706, - 0.20650245249271393, - -0.04992556571960449, - -0.3056444823741913, - -0.03732169046998024, - 0.23476454615592957, - 0.3409971296787262, - -0.15662559866905212, - 0.023329952731728554, - 0.29453355073928833, - -0.46265003085136414, - 0.029613692313432693, - -0.6571834087371826, - 0.1144028827548027, - -0.20819827914237976, - -0.03867660462856293, - -0.037245795130729675, - 0.16308486461639404, - -0.36614203453063965, - -0.2943962514400482, - 0.334348201751709, - -0.150777205824852, - 0.2239372432231903, - 0.008847127668559551, - 0.11820665746927261, - 0.09000764787197113, - -0.12177037447690964, - -0.34207475185394287, - 0.07563664019107819, - 0.012970546260476112, - -0.3776833713054657, - -0.008794604800641537, - -0.16827081143856049, - 0.2858964204788208, - -0.019382338970899582, - -0.22749945521354675, - -0.25380027294158936, - 0.029560454189777374, - 0.224834144115448, - 0.04995596036314964, - 0.2540011703968048, - 0.057912442833185196, - 0.0915704295039177, - -0.3275631070137024, - -0.3664524555206299, - -0.04216212034225464, - -0.052519362419843674, - -0.3615948259830475 - ], - [ - 0.047699615359306335, - 0.08498521149158478, - 0.11366501450538635, - 0.20011846721172333, - 0.13601696491241455, - 0.044375352561473846, - 0.10027670860290527, - 0.042436566203832626, - -2.1180344804416773e-13, - -0.0035322783514857292, - 0.08897602558135986, - 0.05478644743561745, - 0.01309268083423376, - -0.031728990375995636, - -0.011171314865350723, - -0.11098471283912659, - 0.02556885965168476, - 0.08012890070676804, - 0.06106296181678772, - 0.007653011474758387, - -0.008623088710010052, - -0.022251330316066742, - 0.02949560061097145, - -0.09171757847070694, - 0.05878021568059921, - 0.0700177252292633, - -0.07448582351207733, - 0.026788588613271713, - -0.1554175615310669, - -1.267052191248827e-13, - 0.06707378476858139, - -0.21733832359313965, - 0.09259239584207535, - 0.04375907778739929, - -0.043065495789051056, - 0.08185916393995285, - -0.06715206056833267, - 0.021116917952895164, - 0.022028082981705666, - 0.01577305793762207, - 0.09392517060041428, - -0.02431216463446617, - 0.015894291922450066, - -0.0474163256585598, - 0.14496028423309326, - 0.027936071157455444, - -0.020667744800448418, - -0.13828492164611816, - 0.011518381536006927, - 0.06043945997953415, - 0.005468614865094423, - 0.11960017681121826, - 0.015274234116077423, - -0.07039181143045425, - 0.07687773555517197, - 0.15402936935424805, - -0.003556318348273635, - 0.027931367978453636, - -0.10420271754264832, - 0.02732524462044239, - 0.06901879608631134, - 0.05905807390809059, - 0.10269398987293243, - -0.11711360514163971, - 0.0024184132926166058, - 0.06942161917686462, - -0.012103397399187088, - -0.045856524258852005, - 0.02954353578388691, - -0.055997584015131, - 0.07168228924274445, - -0.08835671842098236, - 0.0692959725856781, - -0.0004929265123791993, - 0.08187314867973328, - -0.03290141746401787, - 0.04021641984581947, - 0.009694978594779968, - 0.09465997666120529, - -0.06636419892311096, - 0.03090566210448742, - -0.01891789212822914, - 0.09943457692861557, - -0.07068777084350586, - 0.04829065129160881, - 0.10806778073310852, - 0.14855991303920746, - -0.017830660566687584, - 0.0849478542804718, - -0.02673247642815113, - 0.051755715161561966, - 0.09093113243579865, - 0.07427509874105453, - -0.11021300405263901, - 0.08712634444236755, - -0.03183803707361221, - -0.08997230231761932, - 0.06885886192321777, - -0.006107353139668703, - 0.14184601604938507, - -0.02509114518761635, - -0.08376593887805939, - 0.058691930025815964, - 0.024715105071663857, - 0.002094974974170327, - -0.03127538412809372, - 0.024943839758634567, - 0.14382454752922058, - 0.14642073214054108, - -0.010911544784903526, - 0.20058637857437134, - 0.0668783187866211, - 0.049609556794166565, - 0.09508326649665833, - 0.0025026528164744377, - 0.017473747953772545, - 0.017592759802937508, - 0.052776649594306946, - 0.06248925253748894, - 0.06398999691009521, - 0.09754019230604172, - -0.12873417139053345, - 0.003965021576732397, - -0.025616483762860298, - -0.1462949514389038, - -0.34913501143455505, - 0.05132580175995827, - -0.06187589839100838 - ], - [ - 0.026853766292333603 - ] - ] -} \ No newline at end of file diff --git a/models/0/scaler.txt b/models/0/scaler.txt deleted file mode 100644 index 461a1d8f..00000000 --- a/models/0/scaler.txt +++ /dev/null @@ -1,2 +0,0 @@ -2.6720630059068036,1.0017657905428634,1.9156327155670845,9.149623402193956,28.647771666093696,3.7526096196518424,10.19303372191143,1.82985123605338,3.1600228146388725,1.5738584867331313,1.435431446698128,1.2643060286901897,1.1452401787667594 -1.858559757027421,0.4865249978344985,3.162572904879665,25.21040017953888,34.48252849402906,5.320336536404879,25.362484286622546,3.722723690419032,10.46575141988185,2.489423223957629,1.8889113541845977,1.0913557664615596,0.6525565126200781 diff --git a/monitoring/MonitoringSettings.md b/monitoring/MonitoringSettings.md deleted file mode 100644 index 0a9c05e3..00000000 --- a/monitoring/MonitoringSettings.md +++ /dev/null @@ -1,24 +0,0 @@ -# Monitoring Settings - -## Configuration files - -There are monitoring configuration files for each project in `project//monitoring.properties`. - -### Monitoring configure -The file `monitoring.properties` is passed as a java property `-Dutbot.monitoring.settings.path`. It configures `org.utbot.monitoring.MonitoringSettings` class. - -#### Properties description: -- `project` is a name of project that will be run in monitoring. -- `classTimeoutSeconds` is a unit-test generation timeout for one class. -- `runTimeoutMinutes` is a timeout for one whole run of the project. -- `fuzzingRatios` is a list of numbers that configure the ratio of fuzzing time to total generation time. - -## Which project can be run? - -### Prerequisites - -Firstly, you should read [this](../utbot-junit-contest/README.md) paper about available projects and how to extend them. - -### How to add projects to monitoring - -To add a project to monitoring you should create a folder with a project name and create a file `monitoring.properties` with needed configurations. diff --git a/monitoring/insert_metadata.py b/monitoring/insert_metadata.py deleted file mode 100644 index 10be3c4b..00000000 --- a/monitoring/insert_metadata.py +++ /dev/null @@ -1,281 +0,0 @@ -import argparse -import json -import re -import subprocess -from collections import OrderedDict -from datetime import datetime -from os import environ -from platform import uname -from time import time -from typing import Optional, List - -from monitoring_settings import JSON_VERSION -from utils import load - - -def try_get_output(args: str) -> Optional[str]: - """ - Try to run subprocess with specified arguments - :param args: arguments for execution - :return: result output of execution or None - """ - try: - return subprocess.check_output(args, stderr=subprocess.STDOUT, shell=True).decode() - except Exception as e: - print(f'Error in command "{args}":\n\t{e}') - return None - - -def parse_gradle_version(s: str) -> Optional[str]: - """ - Parse gradle version from given string - :param s: execution result of gradle --version - :return: parsed gradle version or None - """ - if s is None: - return None - regex = re.compile(r'^\s*(Gradle [.\d]+)\s*$', re.MULTILINE) - result = regex.search(s) - if result is None: - return None - return result.group(1) - - -def build_environment_data() -> dict: - """ - Collect environment data from host - :return: dictionary with environment data - """ - uname_result = uname() - environment = { - 'host': uname_result.node, - 'OS': f'{uname_result.system} version {uname_result.version}', - 'java_version': try_get_output('java -version'), - 'gradle_version': parse_gradle_version(try_get_output('gradle --version')), - 'JAVA_HOME': environ.get('JAVA_HOME'), - 'KOTLIN_HOME': environ.get('KOTLIN_HOME'), - 'PATH': environ.get('PATH'), - } - return environment - - -def build_metadata(args: argparse.Namespace) -> dict: - """ - Collect metadata into dictionary - :param args: parsed program arguments - :return: dictionary with metadata - """ - metadata = { - 'source': { - 'type': args.source_type, - 'id': args.source_id - }, - 'commit_hash': args.commit, - 'branch': args.branch, - 'build_number': args.build, - 'timestamp': args.timestamp, - 'date': datetime.fromtimestamp(args.timestamp).strftime('%Y-%m-%dT%H:%M:%S'), - 'environment': build_environment_data() - } - return metadata - - -def build_target(target_name: str) -> dict: - return { - "target": target_name, - "summarised": [], - "by_class": OrderedDict() - } - - -def transform_metrics(metrics: dict) -> dict: - """ - Transform given metrics with calculation coverage - :param metrics: given metrics - :return: transformed metrics - """ - result = OrderedDict() - - instr_count_prefix = "covered_bytecode_instructions" - total_instr_count_prefix = "total_bytecode_instructions" - - coverage_prefix = "total_bytecode_instruction_coverage" - - total_count = 0 - for metric in metrics: - if metric.startswith(total_instr_count_prefix): - total_count = metrics[metric] - break - - for metric in metrics: - if metric.startswith(total_instr_count_prefix): - continue - if metric.startswith(instr_count_prefix): - coverage = metrics[metric] / total_count if total_count > 0 else 0.0 - result[coverage_prefix + metric.removeprefix(instr_count_prefix)] = coverage - else: - result[metric] = metrics[metric] - - return result - - -def build_data(parameters: dict, metrics: dict) -> dict: - return { - "parameters": { - **parameters - }, - "metrics": { - **transform_metrics(metrics) - } - } - - -def build_by_class(class_name: str) -> dict: - return { - "class_name": class_name, - "data": [] - } - - -def update_from_class(by_class: dict, class_item: dict, parameters: dict): - """ - Update class object using given class_item - :param by_class: dictionary with classname keys - :param class_item: class metrics of current run - :param parameters: parameters of current run - """ - class_name = class_item["class_name"] - if class_name not in by_class: - by_class[class_name] = build_by_class(class_name) - - metrics = class_item["metrics"] - by_class[class_name]["data"].append( - build_data(parameters, metrics) - ) - - -def update_from_target(targets: dict, target_item: dict, parameters: dict): - """ - Update targets using given target_item - :param targets: dictionary with target keys - :param target_item: metrics of current run - :param parameters: parameters of current run - """ - target_name = target_item["target"] - if target_name not in targets: - targets[target_name] = build_target(target_name) - - summarised_metrics = target_item["summarised_metrics"] - targets[target_name]["summarised"].append( - build_data(parameters, summarised_metrics) - ) - - for class_item in target_item["metrics_by_class"]: - update_from_class(targets[target_name]["by_class"], class_item, parameters) - - -def update_from_stats(targets: dict, stats: dict): - """ - Updates targets using given statistics - :param targets: dictionary with target keys - :param stats: target object - """ - parameters = stats["parameters"] - for target_item in stats["targets"]: - update_from_target(targets, target_item, parameters) - - -def postprocess_by_class(by_class: dict) -> List[dict]: - """ - Transform dictionary with classname keys into array with class objects - :param by_class: dictionary with classname keys - :return: array of class objects - """ - return list(by_class.values()) - - -def postprocess_targets(targets: dict) -> List[dict]: - """ - Transform dictionary with target keys into array with target objects - :param targets: dictionary with target keys - :return: array of targets - """ - result = [] - for target in targets.values(): - target["by_class"] = postprocess_by_class(target["by_class"]) - result.append(target) - return result - - -def build_targets(stats_array: List[dict]) -> List[dict]: - """ - Collect and group statistics by target - :param stats_array: list of dictionaries with parameters and metrics - :return: list of metrics and parameters grouped by target - """ - result = OrderedDict() - for stats in stats_array: - update_from_stats(result, stats) - - return postprocess_targets(result) - - -def insert_metadata(args: argparse.Namespace) -> dict: - """ - Collect metadata and statistics from specified files and merge them into result - :param args: parsed program arguments - :return: dictionary with statistics and metadata - """ - stats_array = [item for f in args.stats_file for item in load(f)] - result = { - 'version': JSON_VERSION, - 'targets': build_targets(stats_array), - 'metadata': build_metadata(args) - } - return result - - -def get_args(): - parser = argparse.ArgumentParser() - parser.add_argument( - '--stats_file', required=True, nargs='+', - help='files (one or more) with statistics', type=str - ) - parser.add_argument( - '--commit', help='commit hash', type=str - ) - parser.add_argument( - '--build', help='build number', type=str - ) - parser.add_argument( - '--output_file', required=True, - help='output file', type=str - ) - parser.add_argument( - '--timestamp', help='statistics timestamp', - type=int, default=int(time()) - ) - parser.add_argument( - '--source_type', help='source type of metadata', - type=str, default="Manual" - ) - parser.add_argument( - '--source_id', help='source id of metadata', type=str - ) - parser.add_argument( - '--branch', help='branch name', type=str - ) - - args = parser.parse_args() - return args - - -def main(): - args = get_args() - stats = insert_metadata(args) - with open(args.output_file, "w") as f: - json.dump(stats, f, indent=4) - - -if __name__ == "__main__": - main() diff --git a/monitoring/monitoring_settings.py b/monitoring/monitoring_settings.py deleted file mode 100644 index 8b0fb83a..00000000 --- a/monitoring/monitoring_settings.py +++ /dev/null @@ -1,4 +0,0 @@ -""" -Json format version. -""" -JSON_VERSION = 2 diff --git a/monitoring/prepare_metrics.py b/monitoring/prepare_metrics.py deleted file mode 100644 index 59da56fc..00000000 --- a/monitoring/prepare_metrics.py +++ /dev/null @@ -1,150 +0,0 @@ -import argparse -import json -from typing import List - -from utils import load - - -def remove_in_class(name: str) -> str: - in_class = "_in_class" - idx = name.find(in_class) - if idx == -1: - return name - return name[:idx] + name[idx:].removeprefix(in_class) - - -def update_from_counter_name(key_word: str, name: str, labels: dict) -> str: - if name == f"total_{key_word}": - labels["type"] = "total" - return key_word - if name.startswith(key_word): - labels["type"] = name.removeprefix(f"{key_word}_") - return key_word - return name - - -def update_from_coverage(name: str, labels: dict) -> str: - coverage_key = "bytecode_instruction_coverage" - idx = name.find(coverage_key) - if idx == -1: - return name - labels["type"] = name[:idx - 1] - source = name[idx:].removeprefix(f"{coverage_key}") - if len(source) > 0: - source = source.removeprefix("_by_") - if source == "classes": - labels["type"] = "averaged_by_classes" - else: - labels["source"] = source - if "source" not in labels: - labels["source"] = "all" - return coverage_key - - -def build_metric_struct(name: str, value: any, labels: dict) -> dict: - name = remove_in_class(name) - name = update_from_counter_name("classes", name, labels) - name = update_from_counter_name("methods", name, labels) - name = update_from_coverage(name, labels) - - if type(value) == bool: - value = int(value) - name = f"test_generation_{name}" - elif type(value) == int: - name = f"{name}_total" - - name = f"utbot_{name}" - - return { - "metric": name, - "labels": labels, - "value": value - } - - -def build_metrics_from_data(data: dict, labels: dict) -> List[dict]: - result = [] - fuzzing_ratio = data["parameters"]["fuzzing_ratio"] - new_labels = { - **labels, - "fuzzing_ratio": fuzzing_ratio - } - metrics = data["metrics"] - for metric in metrics: - result.append(build_metric_struct(metric, metrics[metric], new_labels.copy())) - return result - - -def build_metrics_from_data_array(metrics: List[dict], labels: dict) -> List[dict]: - result = [] - for metric in metrics: - result.extend(build_metrics_from_data(metric, labels)) - return result - - -def build_metrics_from_target(target: dict, run_id: str) -> List[dict]: - result = [] - project = target["target"] - - result.extend(build_metrics_from_data_array( - target["summarised"], - { - "run_id": run_id, - "project": project, - "class": "All" - } - )) - - for class_item in target["by_class"]: - class_name = class_item["class_name"] - result.extend(build_metrics_from_data_array( - class_item["data"], - { - "run_id": run_id, - "project": project, - "class": class_name - } - )) - - return result - - -def build_metrics_from_targets(targets: List[dict], run_id: str) -> List[dict]: - metrics = [] - for target in targets: - metrics.extend(build_metrics_from_target(target, run_id)) - return metrics - - -def get_args(): - parser = argparse.ArgumentParser() - parser.add_argument( - '--stats_file', required=True, - help='files with statistics after insertion metadata', type=str - ) - parser.add_argument( - '--output_file', required=True, - help='output file', type=str - ) - - args = parser.parse_args() - return args - - -def extract_run_id(text: str): - idx = text.find('-') - return "run" + text[idx:] - - -def main(): - args = get_args() - stats = load(args.stats_file) - run_id = extract_run_id(stats["metadata"]["source"]["id"]) - metrics = build_metrics_from_targets(stats["targets"], run_id) - metrics.sort(key=lambda x: x["metric"]) - with open(args.output_file, "w") as f: - json.dump(metrics, f, indent=4) - - -if __name__ == "__main__": - main() diff --git a/monitoring/projects/fescar/monitoring.properties b/monitoring/projects/fescar/monitoring.properties deleted file mode 100644 index cabd34e5..00000000 --- a/monitoring/projects/fescar/monitoring.properties +++ /dev/null @@ -1,4 +0,0 @@ -project=fescar -classTimeoutSeconds=20 -runTimeoutMinutes=20 -fuzzingRatios=0.0;0.05;1.0 \ No newline at end of file diff --git a/monitoring/projects/guava/monitoring.properties b/monitoring/projects/guava/monitoring.properties deleted file mode 100644 index 0555a8c4..00000000 --- a/monitoring/projects/guava/monitoring.properties +++ /dev/null @@ -1,4 +0,0 @@ -project=guava -classTimeoutSeconds=20 -runTimeoutMinutes=20 -fuzzingRatios=0.0;0.05;1.0 \ No newline at end of file diff --git a/monitoring/projects/pdfbox/monitoring.properties b/monitoring/projects/pdfbox/monitoring.properties deleted file mode 100644 index 3878e706..00000000 --- a/monitoring/projects/pdfbox/monitoring.properties +++ /dev/null @@ -1,4 +0,0 @@ -project=pdfbox -classTimeoutSeconds=20 -runTimeoutMinutes=20 -fuzzingRatios=0.0;0.05;1.0 \ No newline at end of file diff --git a/monitoring/projects/seata/monitoring.properties b/monitoring/projects/seata/monitoring.properties deleted file mode 100644 index 9cb7421c..00000000 --- a/monitoring/projects/seata/monitoring.properties +++ /dev/null @@ -1,4 +0,0 @@ -project=seata -classTimeoutSeconds=20 -runTimeoutMinutes=20 -fuzzingRatios=0.0;0.05;1.0 \ No newline at end of file diff --git a/monitoring/projects/spoon/monitoring.properties b/monitoring/projects/spoon/monitoring.properties deleted file mode 100644 index 41b56c94..00000000 --- a/monitoring/projects/spoon/monitoring.properties +++ /dev/null @@ -1,4 +0,0 @@ -project=spoon -classTimeoutSeconds=20 -runTimeoutMinutes=20 -fuzzingRatios=0.0;0.05;1.0 \ No newline at end of file diff --git a/monitoring/push_with_rebase.sh b/monitoring/push_with_rebase.sh deleted file mode 100644 index 655b09cb..00000000 --- a/monitoring/push_with_rebase.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -set -e - -# inputs: target_branch, target_directory, github_token, message - -AUTHOR_EMAIL='github-actions[bot]@users.noreply.github.com' -AUTHOR_NAME='github-actions[bot]' -INPUT_BRANCH=${target_branch:-GITHUB_REF_NAME} -INPUT_DIRECTORY=${target_directory:-'.'} -REPOSITORY=$GITHUB_REPOSITORY - -echo "Push to branch $INPUT_BRANCH"; -[ -z "${github_token}" ] && { - echo 'Missing input "github_token: ${{ secrets.GITHUB_TOKEN }}".'; - exit 1; -}; - -cd "${INPUT_DIRECTORY}" - -remote_repo="https://${GITHUB_ACTOR}:${github_token}@github.com/${REPOSITORY}.git" - -git config http.sslVerify false -git config --local user.email "${AUTHOR_EMAIL}" -git config --local user.name "${AUTHOR_NAME}" - -git add -A -git commit -m "${message}" - -until git push "${remote_repo}" HEAD:"${INPUT_BRANCH}" -do - git pull --rebase || exit 1 -done diff --git a/monitoring/utils.py b/monitoring/utils.py deleted file mode 100644 index c897f46d..00000000 --- a/monitoring/utils.py +++ /dev/null @@ -1,15 +0,0 @@ -import json -from os.path import exists -from typing import Optional - - -def load(json_file: str) -> Optional[any]: - """ - Try load object from json file - :param json_file: path to json file - :return: object from given json file or None - """ - if exists(json_file): - with open(json_file, "r") as f: - return json.load(f) - return None diff --git a/scripts/ml/codeforces_scrapper/codeforces_scrapper.py b/scripts/ml/codeforces_scrapper/codeforces_scrapper.py deleted file mode 100644 index d6ae207c..00000000 --- a/scripts/ml/codeforces_scrapper/codeforces_scrapper.py +++ /dev/null @@ -1,120 +0,0 @@ -import argparse -import os.path -import time - -import requests -from urllib import request -import json -import bs4 -import javalang - -from codeforces import CodeforcesAPI - - -def get_args(): - parser = argparse.ArgumentParser() - parser.add_argument("--problem_count", dest='problem_count', type=int, default=100) - parser.add_argument("--submission_count", dest='submission_count', type=int, default=10) - parser.add_argument("--min_rating", dest='min_rating', type=int, default=0) - parser.add_argument("--max_rating", dest="max_rating", type=int, default=1500) - parser.add_argument("--output_dir", dest="output_dir", type=str, default=".") - return parser.parse_args() - - -args = get_args() - - -def check_json(answer): - values = json.loads(answer) - - if values['status'] == 'OK': - return values['result'] - - -def get_main_name(tree): - """ - :return: class name with main method - """ - return next(klass.name for klass in tree.types - if isinstance(klass, javalang.tree.ClassDeclaration) - for m in klass.methods - if m.name == 'main' and m.modifiers.issuperset({'public', 'static'})) - - -def save_source_code(contest_id, submission_id): - """ - Parse html page to find source code of submission and save it in some unique package p${contest_id}.p${submission_id}. - If we reach api request bound, then we try to sleep for 5 minutes. - """ - url = request.Request(f"http://codeforces.com/contest/{contest_id}/submission/{submission_id}") - with request.urlopen(url) as req: - soup = bs4.BeautifulSoup(req.read(), "html.parser") - path = os.path.join(args.output_dir, f"p{contest_id}", f"p{submission_id}") - if not os.path.exists(path): - os.makedirs(path) - code = "" - for p in soup.find_all("pre", {"class": "program-source"}): - code += p.get_text() - tree = javalang.parse.parse(code) - try: - name = get_main_name(tree) - with open(os.path.join(path, f"{name}.java"), 'w') as f: - print(f"package p{contest_id}.p{submission_id};", file=f) - f.write(code) - except StopIteration: - print("Sleeping, because we reach request bound") - time.sleep(300) - - -def main(): - codeforces = "http://codeforces.com/api/" - api = CodeforcesAPI() - - with request.urlopen(f"{codeforces}problemset.problems") as req: - all_problems = check_json(req.read().decode('utf-8')) - - problems = [] - cur_problem = 0 - for p in all_problems['problems']: - if cur_problem >= args.problem_count: - break - if p.get('rating') is None: - continue - if p['rating'] < args.min_rating or p['rating'] > args.max_rating: - continue - cur_problem += 1 - problems.append({'contest_id': p['contestId'], 'index': p['index']}) - - print(f"Get {len(problems)} problems: {problems[0]}") - - """ - For each problem try to take submission_count submissions. - """ - all_submission = 0 - for i, p in enumerate(problems): - cur_submission = 0 - iteration = 0 - page_size = 1000 - while cur_submission < args.submission_count: - length = 0 - for s in api.contest_status(contest_id=p['contest_id'], from_=page_size * iteration + 1, count=page_size): - if cur_submission >= args.submission_count: - break - length += 1 - if s.problem.contest_id != p['contest_id'] or s.problem.index != p['index']: - continue - if s.programming_language != "Java 8": - continue - if s.verdict.name != "ok": - continue - save_source_code(p['contest_id'], s.id) - cur_submission += 1 - all_submission += 1 - print(f"Get new {all_submission} program") - iteration += 1 - if length == 0: - break - - -if __name__ == "__main__": - main() diff --git a/scripts/ml/prepare.sh b/scripts/ml/prepare.sh deleted file mode 100644 index 74f10c74..00000000 --- a/scripts/ml/prepare.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -./gradlew clean build -x test - -INPUT_FOLDER=contest_input - -# Copy resources folder in distinct folder to allow other scripts have specific project in contest resources folder -mkdir $INPUT_FOLDER -cp -r utbot-junit-contest/src/main/resources/* $INPUT_FOLDER \ No newline at end of file diff --git a/scripts/ml/prog_list b/scripts/ml/prog_list deleted file mode 100644 index 7ccf5603..00000000 --- a/scripts/ml/prog_list +++ /dev/null @@ -1 +0,0 @@ -antlr diff --git a/scripts/ml/quality_analysis.sh b/scripts/ml/quality_analysis.sh deleted file mode 100644 index 5d18d0e3..00000000 --- a/scripts/ml/quality_analysis.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -PROJECT=${1} -SELECTORS=${2} -STMT_COVERAGE=${3} -WORKDIR="." - -# We set QualityAnalysisConfig by properties file -SETTING_PROPERTIES_FILE="$WORKDIR/utbot-analytics/src/main/resources/config.properties" -touch $SETTING_PROPERTIES_FILE -echo "project=$PROJECT" > "$SETTING_PROPERTIES_FILE" -echo "selectors=$SELECTORS" >> "$SETTING_PROPERTIES_FILE" - -JAR_TYPE="utbot-analytics" -echo "JAR_TYPE: $JAR_TYPE" -LIBS_DIR=utbot-analytics/build/libs/ -UTBOT_JAR="$LIBS_DIR$(ls -l $LIBS_DIR | grep $JAR_TYPE | awk '{print $9}')" -echo $UTBOT_JAR -MAIN_CLASS="org.utbot.QualityAnalysisKt" - -if [[ -n $STMT_COVERAGE ]]; then - MAIN_CLASS="org.utbot.StmtCoverageReportKt" -fi - - - -#Running the jar -COMMAND_LINE="java $JVM_OPTS -cp $UTBOT_JAR $MAIN_CLASS" - -echo "COMMAND=$COMMAND" - -$COMMAND_LINE diff --git a/scripts/ml/requirements.txt b/scripts/ml/requirements.txt deleted file mode 100644 index 3dcd5d56..00000000 --- a/scripts/ml/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -beautifulsoup4 -javalang -numpy -pandas -requests -scikit_learn -torch diff --git a/scripts/ml/run_contest_estimator.sh b/scripts/ml/run_contest_estimator.sh deleted file mode 100644 index 493bd518..00000000 --- a/scripts/ml/run_contest_estimator.sh +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/bash - -PROJECT=${1} -TIME_LIMIT=${2} -PATH_SELECTOR=${3} - -items=(${PATH_SELECTOR//##/ }) -PATH_SELECTOR_TYPE=${items[0]} -PATH_SELECTOR_PATH=${items[1]} -PREDICTOR_TYPE=${items[2]} -IS_COMBINED_SELECTOR=${items[3]} -ITERATIONS=${items[4]} - -echo "PATH_SELECTOR=$PATH_SELECTOR" -echo "PATH_SELECTOR_TYPE=$PATH_SELECTOR_TYPE" -echo "PATH_SELECTOR_PATH=$PATH_SELECTOR_PATH" - -FEATURE_ARG=${4} -featureItems=(${FEATURE_ARG//##/ }) -FEATURE_PROCESSING=${featureItems[0]} -FEATURE_PATH=${featureItems[1]} - -echo "FEATURE_ARG=$FEATURE_ARG" -echo "FEATURE_PATH=$FEATURE_PATH" - -COVERAGE_ARG=${5} -coverageItems=(${COVERAGE_ARG//##/ }) -COVERAGE_PROCESSING=${coverageItems[0]} -COVERAGE_PATH=${coverageItems[1]} - -WORKDIR="." -INPUT_FOLDER=contest_input - -# We set UtSettings by properties file -SETTING_PROPERTIES_FILE="$WORKDIR/settings.properties" -touch $SETTING_PROPERTIES_FILE -echo "pathSelectorType=$PATH_SELECTOR_TYPE" > "$SETTING_PROPERTIES_FILE" - -if [[ -n $PATH_SELECTOR_PATH ]]; then - echo "rewardModelPath=$PATH_SELECTOR_PATH" >> "$SETTING_PROPERTIES_FILE" -fi - -if [[ -n $IS_COMBINED_SELECTOR ]]; then - echo "singleSelector=false" >> "$SETTING_PROPERTIES_FILE" -fi - -if [[ -n $ITERATIONS ]]; then - echo "iterations=$ITERATIONS" >> "$SETTING_PROPERTIES_FILE" -fi - -if [[ -n $PREDICTOR_TYPE ]]; then - echo "nnStateRewardPredictorType=$PREDICTOR_TYPE" >> "$SETTING_PROPERTIES_FILE" -fi - -if [[ -n $FEATURE_PROCESSING ]]; then - echo "enableFeatureProcess=true" >> "$SETTING_PROPERTIES_FILE" - if [[ -z $FEATURE_PATH ]]; then - FEATURE_PATH=eval/features/$PATH_SELECTOR_TYPE/$PROJECT - fi - echo "featurePath=$FEATURE_PATH" >> "$SETTING_PROPERTIES_FILE" -fi - -if [[ -n $COVERAGE_PROCESSING ]]; then - echo "collectCoverage=true" >> "$SETTING_PROPERTIES_FILE" - echo "coverageStatisticsDir=$COVERAGE_PATH" >> "$SETTING_PROPERTIES_FILE" -fi - - -# Clean resources folder, because if there is more than one project, than there is may be error during jacoco report -RESOURCES_FOLDER="utbot-junit-contest/src/main/resources" -rm -rf $RESOURCES_FOLDER/classes/* -rm -rf $RESOURCES_FOLDER/projects/* -rm -rf $RESOURCES_FOLDER/evosuite - -# Copy target project in resources folder -cp -rp $INPUT_FOLDER/classes/$PROJECT $RESOURCES_FOLDER/classes/$PROJECT -cp -rp $INPUT_FOLDER/projects/$PROJECT $RESOURCES_FOLDER/projects/$PROJECT - -JAR_TYPE="utbot-junit-contest" -echo "JAR_TYPE: $JAR_TYPE" -LIBS_DIR="utbot-junit-contest/build/libs/" -UTBOT_JAR="$LIBS_DIR$(ls -l $LIBS_DIR | grep $JAR_TYPE | awk '{print $9}')" -MAIN_CLASS="org.utbot.contest.ContestEstimatorKt" -CLASSPATH=$RESOURCES_FOLDER/projects -echo "CLASS PATH: $CLASSPATH" -TARGET_CLASSES=$RESOURCES_FOLDER/classes -echo "TARGET CLASSES: $TARGET_CLASSES" -TIME_LIMIT_IN_SEC=$TIME_LIMIT -echo "TIME LIMIT IN SEC: $TIME_LIMIT_IN_SEC" -OUTPUT_DIR=$WORKDIR/utbot-junit-contest/build/output -echo "OUTPUT_DIR: $OUTPUT_DIR" -COMPILABLE_TESTS_TARGET_DIR=$OUTPUT_DIR/utbot-junit-contest/build/output -echo "COMPILABLE_TESTS_TARGET_DIR: $COMPILABLE_TESTS_TARGET_DIR" -JUNIT4_JAR="skip" -echo "JUNIT4_JAR: $JUNIT4_JAR" - -#JVM Flags and Options -JVM_OPTS="" -JVM_OPTS=$JVM_OPTS" -Xms512m" -JVM_OPTS=$JVM_OPTS" -Xmx12288m" -JVM_OPTS=$JVM_OPTS" -XX:+UseG1GC" -JVM_OPTS=$JVM_OPTS" -verbose:gc" -JVM_OPTS=$JVM_OPTS" -XX:+PrintGCDetails" -JVM_OPTS=$JVM_OPTS" -XX:+PrintGCTimeStamps" -JVM_OPTS=$JVM_OPTS" -Xloggc:$WORKDIR/run_contest_gc.log" - -JVM_OPTS=$JVM_OPTS" -Dutbot.settings.path=$SETTING_PROPERTIES_FILE" - -#Custom TMP directory - usually for server, change it by yours -#JVM_OPTS=$JVM_OPTS" -Djava.io.tmpdir=/home/wx1143086/tmp" - -echo "JVM_OPTS: $JVM_OPTS" - -#Creating output directory -mkdir -p $OUTPUT_DIR/test -rm -rf $OUTPUT_DIR/test/* - -echo "new directory is supposed to be created at %OUTPUT_DIR/test%" - -#Running the jar -COMMAND_LINE="java $JVM_OPTS -cp $UTBOT_JAR $MAIN_CLASS $TARGET_CLASSES $CLASSPATH $TIME_LIMIT_IN_SEC $OUTPUT_DIR $COMPILABLE_TESTS_TARGET_DIR $JUNIT4_JAR" - -set -o pipefail -echo "Command to run: $COMMAND_LINE 2>&1 | tee -a $WORKDIR/execution.out" -$COMMAND_LINE 2>&1 | tee -a $WORKDIR/execution.out \ No newline at end of file diff --git a/scripts/ml/run_with_coverage.sh b/scripts/ml/run_with_coverage.sh deleted file mode 100644 index 95ba77eb..00000000 --- a/scripts/ml/run_with_coverage.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -PROJECT=${1} -TIME_LIMIT=${2} -PATH_SELECTOR=${3} -SELECTOR_ALIAS=${4} -COVERAGE_PROCESSING=${5} - - -if [[ -n $COVERAGE_PROCESSING ]]; then - COVERAGE_PROCESSING="true eval/report/${PROJECT}/${SELECTOR_ALIAS}" - mkdir -p "eval/report/${PROJECT}/${SELECTOR_ALIAS}" -fi - -WORKDIR="." -$WORKDIR/scripts/ml/run_contest_estimator.sh $PROJECT $TIME_LIMIT "$PATH_SELECTOR" "" "$COVERAGE_PROCESSING" - -./gradlew :utbot-junit-contest:test :utbot-junit-contest:jacocoTestReport - -# Move jacoco report in some specific folder for future filter and analysis -OUTPUT_FOLDER=eval/jacoco/$PROJECT/$SELECTOR_ALIAS -rm -rf $OUTPUT_FOLDER -mkdir -p $OUTPUT_FOLDER -mv utbot-junit-contest/build/reports/jacoco/test/html/* "$OUTPUT_FOLDER"/ diff --git a/scripts/ml/selector_list b/scripts/ml/selector_list deleted file mode 100644 index c3344555..00000000 --- a/scripts/ml/selector_list +++ /dev/null @@ -1 +0,0 @@ -RANDOM_SELECTOR diff --git a/scripts/ml/train.py b/scripts/ml/train.py deleted file mode 100644 index 1f873520..00000000 --- a/scripts/ml/train.py +++ /dev/null @@ -1,257 +0,0 @@ -import argparse - -import pandas as pd -import os -import numpy as np -import sklearn.model_selection -import torch -import json -import sys -import copy - -from sklearn.linear_model import LinearRegression -from torch.optim.lr_scheduler import ReduceLROnPlateau -from torch.utils.data import TensorDataset, DataLoader -from sklearn.preprocessing import normalize, StandardScaler -from sklearn.metrics import mean_squared_error, mean_absolute_error - - -def get_args(): - parser = argparse.ArgumentParser() - parser.add_argument("--features_dir", dest='features_dir', type=str) - parser.add_argument("--output_dir", dest='output_dir', type=str) - parser.add_argument("--prog_list", dest='prog_list', type=str) - parser.add_argument("--epochs", default=-1, type=int) - parser.add_argument("--device", default='cpu', type=str) - parser.add_argument("--batch_size", dest='batch_size', default=4096, type=int) - parser.add_argument("--hidden_dim", dest='hidden_dim', default=64, type=int) - parser.add_argument("--model", dest='model', default='nn', type=str) - - args = parser.parse_args() - args.device = 'cpu' if args.device == 'cpu' else f'cuda:{get_free_gpu()}' - return args - - -def get_free_gpu(): - """ - :return: index of gpu with maximum free memory - """ - os.system('nvidia-smi -q -d Memory |grep -A4 GPU|grep Free >tmp') - memory_available = [int(x.split()[2]) for x in open('tmp', 'r').readlines()] - return np.argmax(memory_available) - - -def get_data(args): - DATA_DIR = args.features_dir - - def get_data_selector(func_selector, acc_df): - for prog in progs: - if not os.path.exists(os.path.join(DATA_DIR, func_selector, prog)): - continue - for f in os.listdir(os.path.join(DATA_DIR, func_selector, prog)): - df = pd.read_csv(os.path.join(DATA_DIR, func_selector, prog, f)) - - if acc_df is None: - acc_df = df - else: - acc_df = pd.concat([acc_df, df]) - print(f"Finish collecting data with {func_selector}", flush=True) - return acc_df - - target_col = 'reward' - feature_cols = ['stack', 'successor', 'testCase', 'coverageByBranch', 'coverageByPath', 'depth', 'cpicnt', 'icnt', - 'covNew', 'subpath1', 'subpath2', 'subpath4', 'subpath8'] - progs = [] - with open(args.prog_list, 'r') as f: - for line in f: - progs.append(line[:-1]) - - total_df = None - for selector in os.listdir(DATA_DIR): - if selector.endswith("jlearch"): - continue - - total_df = get_data_selector(selector, total_df) - - """ - In jlearch directory we store features, which was collected by selectors using models, - which was trained on previous iterations. - We choose only features, that was collected by previous iteration of current model. - """ - jlearch_dir = os.path.join(DATA_DIR, "jlearch") - if os.path.exists(jlearch_dir): - for selector in os.listdir(jlearch_dir): - if not selector.startswith(args.model): - continue - - total_df = get_data_selector(selector, total_df) - - y = np.expand_dims(total_df[target_col].values, axis=1) - x = total_df[feature_cols].values - x = x.astype(float) - - return x, y - - -def dump_scaler(scaler, args): - """ - Dump scaler in such format: - - first line is mean vector values separated by comma - - second line is variance vector values separated by comma - """ - with open(os.path.join(args.output_dir, 'scaler.txt'), 'w') as f: - for array in np.vstack((scaler.mean_, scaler.scale_)).tolist(): - for item in array[:-1]: - f.write("%s," % item) - f.write("%s" % array[-1]) - f.write("\n") - - -class NeuralNetwork(torch.nn.Module): - def __init__(self, hidden_dim=64): - super(NeuralNetwork, self).__init__() - self.nn = torch.nn.Sequential( - torch.nn.Linear(13, hidden_dim), - torch.nn.ReLU(), - torch.nn.Linear(hidden_dim, hidden_dim), - torch.nn.ReLU(), - torch.nn.Linear(hidden_dim, 1) - ) - self.scaler = StandardScaler() - - def forward(self, x): - out = self.nn(x) - return out - - def do_train(self, x, y, args): - x = copy.deepcopy(x) - y = copy.deepcopy(y) - - x_train, x_test, y_train, y_test = sklearn.model_selection.train_test_split(x, y, test_size=0.2) - self.scaler = self.scaler.fit(x_train) - x_train = self.scaler.transform(x_train) - x_test = self.scaler.transform(x_test) - - learning_rate = 1e-3 - epochs = sys.maxsize if args.epochs == -1 else args.epochs - criterion = torch.nn.MSELoss() - optimizer = torch.optim.Adam(self.parameters(), lr=learning_rate, weight_decay=1e-5) - scheduler = ReduceLROnPlateau(optimizer, 'min', patience=3, verbose=True) - - tensor_x = torch.Tensor(x_train) - tensor_y = torch.Tensor(y_train) - tensor_x_test = torch.Tensor(x_test) - tensor_y_test = torch.Tensor(y_test) - - train_dataloader = DataLoader(TensorDataset(tensor_x, tensor_y), batch_size=args.batch_size) - test_dataloader = DataLoader(TensorDataset(tensor_x_test, tensor_y_test), batch_size=args.batch_size) - - for epoch in range(epochs): - if optimizer.param_groups[0]['lr'] <= 1e-6: - break - - train_loss = train_epoch(self, train_dataloader, criterion, optimizer, args.device) - val_loss, val_mae = eval_epoch(self, test_dataloader, criterion, args.device) - scheduler.step(val_loss) - - print('epoch {}, train_loss {}, val_loss {}, val_mae {}'.format(epoch, train_loss, val_loss, val_mae), - flush=True) - - def dump(self, args): - if not os.path.exists(args.output_dir): - os.makedirs(args.output_dir) - - dump_scaler(self.scaler, args) - - nn = { - "linearLayers": [], - "activationLayers": ["reLU", "reLU", "reLU"], - "biases": [], - } - - state_dict = self.cpu().state_dict() - for i in [0, 2, 4]: - nn["linearLayers"] += [state_dict[f'nn.{i}.weight'].numpy().tolist()] - nn["biases"] += [state_dict[f'nn.{i}.bias'].numpy().tolist()] - - with open(os.path.join(args.output_dir, 'nn.json'), 'w') as f: - json.dump(nn, f, indent=4) - - -class Linear(torch.nn.Module): - def __init__(self): - super(Linear, self).__init__() - self.model = LinearRegression() - self.scaler = StandardScaler() - - def do_train(self, x, y, args): - x = copy.deepcopy(x) - y = copy.deepcopy(y) - - self.scaler = self.scaler.fit(x) - self.model.fit(self.scaler.transform(x), y) - - def dump(self, args): - if not os.path.exists(args.output_dir): - os.makedirs(args.output_dir) - - dump_scaler(self.scaler, args) - with open(os.path.join(args.output_dir, 'linear.txt'), 'w') as f: - f.write(f"{','.join(map(str, self.model.coef_[0]))},{self.model.intercept_[0]}\n") - - -def train_epoch(model, data_loader, loss_fn, optimizer, device): - model.train(True) - - running_loss = 0.0 - processed_data = 0 - - for batch_x, batch_y in data_loader: - batch_x = batch_x.to(device=device) - batch_y = batch_y.to(device=device) - optimizer.zero_grad() - - outputs = model(batch_x) - loss = loss_fn(outputs, batch_y) - - running_loss += loss.detach().cpu().item() - processed_data += batch_x.shape[0] - - loss.backward() - optimizer.step() - - return running_loss / processed_data - - -def eval_epoch(model, data_loader, loss_fn, device): - model.eval() - - running_loss = 0.0 - running_ae = 0.0 - processed_data = 0 - - for batch_x, batch_y in data_loader: - batch_x = batch_x.to(device=device) - batch_y = batch_y.to(device=device) - outputs = model(batch_x) - loss = loss_fn(outputs, batch_y) - - running_loss += loss.detach().cpu().item() - processed_data += batch_x.shape[0] - running_ae += torch.sum(torch.abs(outputs - batch_y)) - - return running_loss / processed_data, running_ae / processed_data - - -def main(): - args = get_args() - model = NeuralNetwork(hidden_dim=args.hidden_dim) if ("nn" in args.model) else Linear() - model = model.to(device=args.device) - - x, y = get_data(args) - model.do_train(x, y, args) - model.dump(args) - - -if __name__ == "__main__": - main() diff --git a/scripts/ml/train_data.sh b/scripts/ml/train_data.sh deleted file mode 100644 index 25ef4b47..00000000 --- a/scripts/ml/train_data.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -WORKDIR="." -TIME_LIMIT=${1} - -while read prog; do - echo "Starting features collection from $prog" - prog="${prog%%[[:cntrl:]]}" - while read selector; do - echo "Starting features collection from $prog with $selector" - selector="${selector%%[[:cntrl:]]}" - $WORKDIR/scripts/ml/run_contest_estimator.sh "$prog" "$TIME_LIMIT" "$selector" true - done <"$WORKDIR/scripts/ml/selector_list" -done <"$WORKDIR/scripts/ml/prog_list" diff --git a/scripts/ml/train_iteratively.sh b/scripts/ml/train_iteratively.sh deleted file mode 100644 index a2169a95..00000000 --- a/scripts/ml/train_iteratively.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -TIME_LIMIT=${1} -ITERATIONS=${2} -OUTPUT_DIR=${3} -PYTHON_COMMAND=${4} - -declare -a models=("linear" "nn16" "nn32" "nn64" "nn128") - -WORKDIR="." - -echo "Start training data on heuristical based selectors" - -$WORKDIR/scripts/ml/train_data.sh $TIME_LIMIT - -echo "Start iterative learning of models" - -for (( i=0; i < $ITERATIONS; i++ )) -do - - echo "Start $i iteration" - - for model in "${models[@]}" - do - EXTRA_ARGS="" - if [[ $model == *"nn"* ]]; then - EXTRA_ARGS="--hidden_dim $(echo $model | cut -c 3-)" - echo "EXTRA_ARGS=$EXTRA_ARGS" - fi - - COMMAND="$PYTHON_COMMAND $WORKDIR/scripts/ml/train.py --features_dir $WORKDIR/eval/features --output_dir $OUTPUT_DIR/$model/$i --prog_list $WORKDIR/scripts/prog_list --model $model $EXTRA_ARGS" - echo "TRAINING COMMAND=$COMMAND" - $COMMAND - done - - while read prog; do - prog="${prog%%[[:cntrl:]]}" - - for model in "${models[@]}" - do - PREDICTOR="BASE" - - if [[ $model == *"linear"* ]]; then - PREDICTOR="LINEAR" - fi - - $WORKDIR/scripts/ml/run_contest_estimator.sh $prog $TIME_LIMIT "NN_REWARD_GUIDED_SELECTOR $OUTPUT_DIR/$model/$i $PREDICTOR" "true eval/features/jlearch/$model$i/$prog" - done - done <"$WORKDIR/scripts/ml/prog_list" -done diff --git a/scripts/project/json_to_prometheus.py b/scripts/project/json_to_prometheus.py deleted file mode 100644 index 0a00270f..00000000 --- a/scripts/project/json_to_prometheus.py +++ /dev/null @@ -1,36 +0,0 @@ -import sys -import json - -with open(sys.argv[1]) as metrics_raw: - metrics_json = json.load(metrics_raw) - -# metrics is a json list e.g.: -# [ -# { -# "metric": "total_classes", -# "labels": { -# "project": "guava", -# "fuzzing_ratio": 0.1 -# }, -# "value": 20 -# }, -# { -# "metric": "testcases_generated", -# "labels": { -# "project": "guava", -# "fuzzing_ratio": 0.1 -# }, -# "value": 1042 -# } -# ] -# -# the loop below iterates over each list item and constructs metrics set -metrics_set_str = "" -for metric in metrics_json: - labels_set_str = "" - comma = "" - for label, value in metric['labels'].items(): - labels_set_str = f'{labels_set_str}{comma}{label}=\"{value}\"' - comma = "," - metrics_set_str += f'{metric["metric"]}{{{labels_set_str}}} {metric["value"]}\n' -print(metrics_set_str) diff --git a/scripts/project/logging.sh b/scripts/project/logging.sh deleted file mode 100644 index 52931a78..00000000 --- a/scripts/project/logging.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash - -FILEBEAT_DIR=${1} -LOGSTASH_HOST=${2} - -cat > ${FILEBEAT_DIR}/filebeat.yml </dev/null - sleep ${SLEEP_TIME_SECONDS} -done & - -# jvm metrics -# -# to enable this part of monitoring you also need to pass -javaagent option to org.gradle.jvmargs of GRADLE_OPTS variable, for example: -# GRADLE_OPTS: "-Dorg.gradle.jvmargs='-XX:MaxHeapSize=2048m -javaagent:/tmp/jmx-exporter.jar=12345:/tmp/jmx-exporter.yml -Dorg.gradle.daemon=false'" -#curl ${JMX_EXPORTER_URL} -o ${JMX_EXPORTER_JAR} -#chmod +x ${JMX_EXPORTER_JAR} -#printf "rules:\n- pattern: \".*\"\n" > ${JMX_EXPORTER_CONFIG} -#while true; do -# curl localhost:${JMX_EXPORTER_PORT} 2>/dev/null | curl -u "${PUSHGATEWAY_USER}":"${PUSHGATEWAY_PASSWORD}" --data-binary @- "https://${PUSHGATEWAY_HOSTNAME}${PUSHGATEWAY_ADDITIONAL_PATH}/metrics/job/pushgateway/instance/${GITHUB_RUN_ID}-${HOSTNAME}${PROM_ADDITIONAL_LABELS}" 2>/dev/null -# sleep ${SLEEP_TIME_SECONDS} -#done & diff --git a/scripts/project/ps_parser.sh b/scripts/project/ps_parser.sh deleted file mode 100644 index 7bdf32b0..00000000 --- a/scripts/project/ps_parser.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -while read line; do - #echo $line - PID=$(echo $line | awk '{ print $1 }') - RSS=$(echo $line | awk '{ print $2 * 1024 }') - PID_EXECUTABLE=$(cat /proc/${PID}/stat 2>/dev/null | awk '{ print $2 }' | sed -n 's/^(\(.*\))$/\1/p' ) - DESCRIPTION=$(echo $line | grep -o "Gradle Test Executor [0-9]*") - if [[ "${PID_EXECUTABLE=}" == "java" ]]; then - echo "process_memory_bytes{pid=\"${PID}\",pid_executable=\"${PID_EXECUTABLE}\",description=\"${DESCRIPTION}\"} ${RSS}" - fi -done <<< $(ps -ax --no-headers --format=pid,rss,command --sort=-rss,pid) diff --git a/settings.gradle.kts b/settings.gradle.kts index 7e15d4d1..9312e80c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -10,7 +10,6 @@ val buildType: String by settings val pythonIde: String by settings val jsIde: String by settings val jsBuild: String by settings -val includeRiderInBuild: String by settings val goIde: String by settings pluginManagement { @@ -28,66 +27,7 @@ rootProject.name = "utbot" include("utbot-core") include("utbot-framework") include("utbot-framework-api") -include("utbot-intellij") -include("utbot-sample") -include("utbot-java-fuzzing") -include("utbot-fuzzing") -include("utbot-junit-contest") -include("utbot-analytics") -include("utbot-analytics-torch") - -include("utbot-cli") - include("utbot-api") -include("utbot-instrumentation") -include("utbot-instrumentation-tests") - -include("utbot-summary") -include("utbot-gradle") -include("utbot-maven") -include("utbot-summary-tests") -include("utbot-framework-test") -include("utbot-testing") include("utbot-rd") -include("utbot-android-studio") - -if (includeRiderInBuild.toBoolean()) { - include("utbot-rider") -} - -include("utbot-ui-commons") - -include("utbot-spring-commons-api") -include("utbot-spring-commons") -include("utbot-spring-analyzer") - -if (projectType == languagesEdition || projectType == ultimateEdition) { - if (pythonIde.split(",").contains(ideType)) { - include("utbot-python") - include("utbot-cli-python") - include("utbot-intellij-python") - include("utbot-python-parser") - } - - if (jsBuild == buildType || jsIde.split(",").contains(ideType)) { - include("utbot-js") - include("utbot-cli-js") - include("utbot-intellij-js") - } - - if (goIde.split(",").contains(ideType)) { - include("utbot-go") - include("utbot-cli-go") - include("utbot-intellij-go") - } -} - -if (projectType == springEdition || projectType == ultimateEdition) { - include("utbot-spring-sample") - include("utbot-spring-test") -} - - - include("utbot-light") diff --git a/utbot-analytics-torch/build.gradle b/utbot-analytics-torch/build.gradle deleted file mode 100644 index 572658dd..00000000 --- a/utbot-analytics-torch/build.gradle +++ /dev/null @@ -1,48 +0,0 @@ -configurations { - torchmodels -} - -def osName = System.getProperty('os.name').toLowerCase().split()[0] -if (osName == "mac") osName = "macosx" -String classifier = osName + "-x86_64" - -evaluationDependsOn(':utbot-framework') -compileTestJava.dependsOn tasks.getByPath(':utbot-framework:testClasses') - -dependencies { - api project(':utbot-analytics') - testImplementation project(':utbot-sample') - testImplementation group: 'junit', name: 'junit', version: junit4Version - - implementation group: 'org.bytedeco', name: 'javacpp', version: javaCppVersion, classifier: "$classifier" - implementation group: 'org.jsoup', name: 'jsoup', version: jsoupVersion - - implementation "ai.djl:api:$djlApiVersion" - implementation "ai.djl.pytorch:pytorch-engine:$djlApiVersion" - implementation "ai.djl.pytorch:pytorch-native-auto:$pytorchNativeVersion" - - testImplementation project(':utbot-framework').sourceSets.test.output -} - -processResources { - configurations.torchmodels.resolvedConfiguration.resolvedArtifacts.each { artifact -> - from(zipTree(artifact.getFile())) { - into "models" - } - } -} - -jar { - dependsOn classes - manifest { - attributes 'Main-Class': 'org.utbot.QualityAnalysisKt' - } - - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - zip64 = true -} \ No newline at end of file diff --git a/utbot-analytics-torch/readme.md b/utbot-analytics-torch/readme.md deleted file mode 100644 index 3238a2c5..00000000 --- a/utbot-analytics-torch/readme.md +++ /dev/null @@ -1,10 +0,0 @@ -To enable support of the `utbot-analytics-torch` models in `utbot-intellij` module the following steps should be made: - -- change the row `api project(':utbot-analytics')` to the `api project(':utbot-analytics-torch')` in the `build.gradle` file in the `utbot-intellij` module and uncomment it, if it's commented. -- change the `pathSelectorType` in the `UtSettings.kt` to the `PathSelectorType.TORCH_SELECTOR` -- don't forget the put the Torch model in the path ruled by the setting `modelPath` in the `UtSettings.kt` - -NOTE: for Windows you could obtain the error message related to the "engine not found problem" from DJL library during the Torch model initialization. -The proposed solution from DJL authors includes the installation of the [Microsoft Visual C++ Redistributable.](https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170) - -But at this moment it doesn't work on Windows at all. \ No newline at end of file diff --git a/utbot-analytics-torch/src/main/kotlin/org/utbot/AnalyticsTorchConfiguration.kt b/utbot-analytics-torch/src/main/kotlin/org/utbot/AnalyticsTorchConfiguration.kt deleted file mode 100644 index 7f70ec31..00000000 --- a/utbot-analytics-torch/src/main/kotlin/org/utbot/AnalyticsTorchConfiguration.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot - -import org.utbot.analytics.EngineAnalyticsContext -import org.utbot.features.FeatureExtractorFactoryImpl -import org.utbot.features.FeatureProcessorWithStatesRepetitionFactory -import org.utbot.predictors.TorchPredictorFactoryImpl - -/** - * The basic configuration of the utbot-analytics-torch module used in utbot-intellij and (as planned) in utbot-cli - * to implement the hidden configuration initialization to avoid direct calls of this configuration and usage of utbot-analytics-torch imports. - * - * @see - * Issue: Enable utbot-analytics module in utbot-intellij module - */ -object AnalyticsTorchConfiguration { - init { - EngineAnalyticsContext.featureProcessorFactory = FeatureProcessorWithStatesRepetitionFactory() - EngineAnalyticsContext.featureExtractorFactory = FeatureExtractorFactoryImpl() - EngineAnalyticsContext.mlPredictorFactory = TorchPredictorFactoryImpl() - } -} \ No newline at end of file diff --git a/utbot-analytics-torch/src/main/kotlin/org/utbot/predictors/TorchPredictor.kt b/utbot-analytics-torch/src/main/kotlin/org/utbot/predictors/TorchPredictor.kt deleted file mode 100644 index 5b0dce70..00000000 --- a/utbot-analytics-torch/src/main/kotlin/org/utbot/predictors/TorchPredictor.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.predictors - -import ai.djl.Model -import ai.djl.inference.Predictor -import ai.djl.ndarray.NDArray -import ai.djl.ndarray.NDList -import ai.djl.translate.Translator -import ai.djl.translate.TranslatorContext -import org.utbot.analytics.MLPredictor -import org.utbot.framework.UtSettings -import java.io.Closeable -import java.nio.file.Paths - -class TorchPredictor : MLPredictor, Closeable { - val model: Model - - init { - model = Model.newInstance("model") - model.load(Paths.get(UtSettings.modelPath, "model.pt1")) - } - - private val predictor: Predictor, Float> = model.newPredictor(object : Translator, Float> { - override fun processInput(ctx: TranslatorContext, input: List): NDList { - val array: NDArray = ctx.ndManager.create(input.toFloatArray()) - return NDList(array) - } - - override fun processOutput(ctx: TranslatorContext, list: NDList): Float = list[0].getFloat() - }) - - override fun predict(input: List): Double { - val reward: Float = predictor.predict(input.map { it.toFloat() }.toList()) - return reward.toDouble() - } - - override fun close() { - predictor.close() - } -} \ No newline at end of file diff --git a/utbot-analytics-torch/src/main/kotlin/org/utbot/predictors/TorchPredictorFactoryImpl.kt b/utbot-analytics-torch/src/main/kotlin/org/utbot/predictors/TorchPredictorFactoryImpl.kt deleted file mode 100644 index f61fe0b1..00000000 --- a/utbot-analytics-torch/src/main/kotlin/org/utbot/predictors/TorchPredictorFactoryImpl.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.predictors - -import org.utbot.analytics.MLPredictorFactory -import org.utbot.framework.UtSettings - -/** - * Creates [StateRewardPredictor], by checking the [UtSettings] configuration. - */ -class TorchPredictorFactoryImpl : MLPredictorFactory { - override operator fun invoke() = TorchPredictor() -} \ No newline at end of file diff --git a/utbot-analytics-torch/src/test/kotlin/org/utbot/predictors/TorchPredictorTest.kt b/utbot-analytics-torch/src/test/kotlin/org/utbot/predictors/TorchPredictorTest.kt deleted file mode 100644 index 22d58ca1..00000000 --- a/utbot-analytics-torch/src/test/kotlin/org/utbot/predictors/TorchPredictorTest.kt +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.predictors - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.analytics.MLPredictor -import org.utbot.testcheckers.withModelPath -import kotlin.system.measureNanoTime - -class TorchPredictorTest { - @Test - @Disabled("Just to see the performance of predictors") - fun simpleTest() { - withModelPath("src/test/resources") { - val pred = TorchPredictor() - - val features = listOf(0.0, 0.0) - - assertEquals(5.0, pred.predict(features)) - } - } - - @Disabled("Just to see the performance of predictors") - @Test - fun performanceTest() { - val features = (1..13).map { 1.0 }.toList() - withModelPath("models") { - val averageTime = calcAverageTimeForModelPredict(::TorchPredictor, 100, features) - println(averageTime) - } - } - - private fun calcAverageTimeForModelPredict( - model: () -> MLPredictor, - iterations: Int, - features: List - ): Double { - val pred = model() - - (1..iterations).map { - pred.predict(features) - } - - return (1..iterations) - .map { measureNanoTime { pred.predict(features) } } - .average() - } -} \ No newline at end of file diff --git a/utbot-analytics-torch/src/test/resources/log4j2.xml b/utbot-analytics-torch/src/test/resources/log4j2.xml deleted file mode 100644 index 7dde3c2f..00000000 --- a/utbot-analytics-torch/src/test/resources/log4j2.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-analytics/build.gradle b/utbot-analytics/build.gradle deleted file mode 100644 index 9952de6e..00000000 --- a/utbot-analytics/build.gradle +++ /dev/null @@ -1,61 +0,0 @@ -configurations { - mlmodels -} - -def osName = System.getProperty('os.name').toLowerCase().split()[0] -if (osName == "mac") osName = "macosx" -String classifier = osName + "-x86_64" - -evaluationDependsOn(':utbot-framework') -compileTestJava.dependsOn tasks.getByPath(':utbot-framework:testClasses') - -dependencies { - api project(":utbot-framework") - testImplementation project(':utbot-sample') - testImplementation group: 'junit', name: 'junit', version: junit4Version - - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude group:'com.google.guava', module:'guava' - } - implementation group: 'com.github.haifengl', name: 'smile-kotlin', version: '2.6.0' - implementation group: 'com.github.haifengl', name: 'smile-plot', version: '2.6.0' - implementation group: 'com.github.haifengl', name: 'smile-core', version: '2.6.0' - implementation group: 'com.github.haifengl', name: 'smile-interpolation', version: '2.6.0' - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.6' - - implementation group: 'org.bytedeco', name: 'arpack-ng', version: arpackNgVersion, classifier: "$classifier" - implementation group: 'org.bytedeco', name: 'openblas', version: openblasVersion, classifier: "$classifier" - - implementation group: 'tech.tablesaw', name: 'tablesaw-core', version: '0.38.2' - implementation group: 'tech.tablesaw', name: 'tablesaw-jsplot', version: '0.38.2' - - implementation group: 'org.apache.commons', name: 'commons-text', version: '1.9' - implementation group: 'com.github.javaparser', name: 'javaparser-core', version: '3.22.1' - - testImplementation project(':utbot-testing') - testImplementation project(':utbot-framework').sourceSets.test.output -} - -processResources { - configurations.mlmodels.resolvedConfiguration.resolvedArtifacts.each { artifact -> - from(zipTree(artifact.getFile())) { - into "models" - } - } -} - -jar { - dependsOn classes - manifest { - attributes 'Main-Class': 'org.utbot.QualityAnalysisKt' - } - - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - zip64 = true -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/AbstractTrainer.kt b/utbot-analytics/src/main/kotlin/org/utbot/AbstractTrainer.kt deleted file mode 100644 index ded0a042..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/AbstractTrainer.kt +++ /dev/null @@ -1,100 +0,0 @@ -package org.utbot - -import org.utbot.features.* -import org.utbot.utils.RegressionResample -import org.utbot.utils.ResampleGenerationStrategy -import org.utbot.utils.ResampleSplitStrategy -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.math.MathEx -import smile.projection.PCA - -private const val TARGET_NAME = "EXEC_TIME" - -abstract class AbstractTrainer( - var data: DataFrame, - private val featureScaling: ScalingType? = ScalingType.WINSOR, - private val featureProjection: ProjectionType? = null, - val targetColumn: String = TARGET_NAME, - resampleSplitStrategy: ResampleSplitStrategy = ResampleSplitStrategy.CUSTOM, - resampleGenerationStrategy: ResampleGenerationStrategy = ResampleGenerationStrategy.CUT, - private val removeConstColumns: Boolean = false, - private val savePcaVariance: Boolean = false, - trainProportion: Double = 0.8 -) { - var trainData: DataFrame - val formula: Formula = Formula.lhs(targetColumn) - var validationData: DataFrame - val resample: RegressionResample = RegressionResample(formula) - - var pcaCumulativeVarianceProportion = doubleArrayOf() - var pcaVarianceProportion = doubleArrayOf() - var transforms = mutableListOf() - - init { - val threshold = (data.size() * trainProportion).toInt() - val (trainIndexes, valIndexes) = MathEx.permutate(data.size()).toList().chunked(threshold) - - trainData = DataFrame.of(MathEx.slice(data.toArray(), trainIndexes.toIntArray()), *data.names()) - validationData = DataFrame.of(MathEx.slice(data.toArray(), valIndexes.toIntArray()), *data.names()) - - resample.fit(trainData, resampleSplitStrategy, resampleGenerationStrategy) - trainData = resample.transform(trainData) - validationData = resample.transform(validationData) - } - - private fun scaleData() { - if (featureScaling == null) { - return - } - - transforms.add(when (featureScaling) { - ScalingType.MAXMIN -> Scaling.initMaxMin(formula, trainData) - ScalingType.WINSOR -> Scaling.initWinsor(formula, trainData) - ScalingType.STANDARD -> Scaling.initStandard(formula, trainData) - }) - trainData = transforms.last().apply(trainData) - } - - private fun projectData() { - if (featureProjection == null) { - return - } - transforms.add(when (featureProjection) { - ProjectionType.PCA -> Projection.initPCA(formula, trainData) - ProjectionType.PPCA -> Projection.initPPCA(formula, trainData) - ProjectionType.GHA -> Projection.initGHA(formula, trainData) - }) - trainData = transforms.last().apply(trainData) - - if (savePcaVariance) { - val pca = PCA.fit(formula.x(trainData).toArray()) - pcaCumulativeVarianceProportion = pca.cumulativeVarianceProportion - pcaVarianceProportion = pca.varianceProportion - } - } - - fun preprocess() { - if (removeConstColumns) { - transforms.add(FeatureSelection(formula, trainData)) - trainData = transforms.last().apply(trainData) - } - scaleData() - featureSelection() - projectData() - } - - fun fit() { - preprocess() - train() - validate() - visualize() - save() - } - - abstract fun train() - abstract fun validate() - abstract fun visualize() - abstract fun featureSelection() - abstract fun save() -} diff --git a/utbot-analytics/src/main/kotlin/org/utbot/AnalyticsConfiguration.kt b/utbot-analytics/src/main/kotlin/org/utbot/AnalyticsConfiguration.kt deleted file mode 100644 index 58e0df80..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/AnalyticsConfiguration.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot - -import org.utbot.analytics.EngineAnalyticsContext -import org.utbot.features.FeatureExtractorFactoryImpl -import org.utbot.features.FeatureProcessorWithStatesRepetitionFactory -import org.utbot.predictors.MLPredictorFactoryImpl - -/** - * The basic configuration of the utbot-analytics module used in utbot-intellij and (as planned) in utbot-cli - * to implement the hidden configuration initialization to avoid direct calls of this configuration and usage of utbot-analytics imports. - * - * @see - * Issue: Enable utbot-analytics module in utbot-intellij module - */ -object AnalyticsConfiguration { - init { - EngineAnalyticsContext.featureProcessorFactory = FeatureProcessorWithStatesRepetitionFactory() - EngineAnalyticsContext.featureExtractorFactory = FeatureExtractorFactoryImpl() - EngineAnalyticsContext.mlPredictorFactory = MLPredictorFactoryImpl() - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/ClassifierTrainer.kt b/utbot-analytics/src/main/kotlin/org/utbot/ClassifierTrainer.kt deleted file mode 100644 index c3bba8ff..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/ClassifierTrainer.kt +++ /dev/null @@ -1,108 +0,0 @@ -package org.utbot - -import org.utbot.features.Compose -import org.utbot.features.featureIndexHash -import org.utbot.metrics.ClassificationMetrics -import org.utbot.models.ClassifierModel -import org.utbot.models.loadModelFromJson -import org.utbot.models.save -import org.utbot.visual.ClassificationHtmlReport -import smile.classification.Classifier -import smile.data.CategoricalEncoder -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.data.vector.IntVector -import smile.read -import java.io.File -import java.util.* - -private const val dataPath = "logs/stats.txt" -private const val logDir = "logs" - -class ClassifierTrainer(data: DataFrame, val classifierModel: ClassifierModel = ClassifierModel.GBM) : - AbstractTrainer(data, savePcaVariance = true) { - private lateinit var metrics: ClassificationMetrics - lateinit var model: Classifier - val properties = Properties() - private var classSizesAfterResampling: DoubleArray - private var classSizesBeforeResampling: DoubleArray - - init { - val indicesBeforeResampling = resample.groupIndicesByLabel(data) - classSizesBeforeResampling = indicesBeforeResampling.map { it.size.toDouble() }.toDoubleArray() - - val indicesAfterResampling = resample.groupIndicesByLabel(resample.transform(data)) - classSizesAfterResampling = indicesAfterResampling.map { it.size.toDouble() }.toDoubleArray() - - trainData = remap(trainData) - validationData = remap(validationData) - properties.putAll(loadModelFromJson("models.json", classifierModel.name)) - } - - private fun remap(remapData: DataFrame): DataFrame { - val indices = resample.groupIndicesByLabel(remapData) - - val labels = IntArray(remapData.nrows()) { 0 } - for ((label, array) in indices.withIndex()) { - for (i in array) labels[i] = label - } - val xFrame = Formula.lhs(targetColumn).x(remapData) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val nTrainData = DataFrame.of(x, *xFrame.names()) - - return nTrainData.merge(IntVector.of(targetColumn, labels)) - } - - override fun train() { - model = classifierModel.train(Formula.lhs(targetColumn), trainData, properties) - } - - override fun validate() { - val actualLabel: DoubleArray = Formula.lhs(targetColumn).y(validationData).toDoubleArray() - val xFrame = Formula.lhs(targetColumn).x(validationData) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - - metrics = ClassificationMetrics(classifierModel.name, model, Compose(transforms), actualLabel.map { it.toInt() }.toIntArray(), x) - } - - override fun visualize() { - val report = ClassificationHtmlReport() - report.run { - addHeader(classifierModel.name, properties) - addDataDistribution(formula.y(data).toDoubleArray()) - addClassDistribution(classSizesBeforeResampling) - addClassDistribution(classSizesAfterResampling, before = false) - addPCAPlot(pcaVarianceProportion, pcaCumulativeVarianceProportion) - addMetrics(metrics.acc, metrics.f1Macro, metrics.avgPredTime, metrics.precision.toDoubleArray(), - metrics.recall.toDoubleArray()) - addConfusionMatrix(metrics.getNormalizedConfusionMatrix()) - save() - } - } - - override fun featureSelection() { - // Uncomment for feature selection -// transforms.add(FeatureSelection(trainData, validationData, Formula.lhs(targetColumn), classifierModel, properties)) -// trainData = transforms.last().apply(trainData) - } - - override fun save() { - save(Compose(transforms), "$logDir/transform") - } -} - - -fun main() { - val data = read.csv(dataPath) - val model = ClassifierModel.GBM - val trainer = ClassifierTrainer(data, classifierModel = model) - trainer.fit() - - save(trainer.model, "$logDir/predictor") - File("$logDir/META-INF.txt").printWriter().use { out -> - out.println("FeatureExtraction=UtExpressionStructureCounter") - out.println("FeatureExtractionHash=$featureIndexHash") - out.println("ModelType=" + model.name) - out.println("Transforms=" + Compose(trainer.transforms).toString()) - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/HyperParamChooser.kt b/utbot-analytics/src/main/kotlin/org/utbot/HyperParamChooser.kt deleted file mode 100644 index 893ef339..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/HyperParamChooser.kt +++ /dev/null @@ -1,96 +0,0 @@ -package org.utbot - -import org.utbot.features.Compose -import org.utbot.models.ClassifierModel -import org.utbot.models.saveToJson -import smile.data.CategoricalEncoder -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.read -import smile.validation.Hyperparameters -import smile.validation.metric.Accuracy -import java.util.* - -private val dataPath = "logs/stats.txt" - -data class SearchResult(val score: Double, val properties: Properties) - -class HyperParamChooser { - - /** - * Note: limitation < 0 - unlimited combination of properties - */ - fun search( - trainingModel: ClassifierModel, - formula: Formula, - trainData: DataFrame, - validationData: DataFrame, - random: Boolean = false, - limitation: Long = 20L, - takeResult: Int = 50 - ): List { - val actualValidationLabel: IntArray = formula.y(validationData).toIntArray() - val xFrame = formula.x(validationData) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val result = mutableListOf() - val hyperParams = trainingModel.getHParams() - - val block: (prop: Properties) -> Unit = { - val model = trainingModel.train(formula, trainData, it) - val predictedValidationLabel = model.predict(x) - val accuracy = Accuracy.of(actualValidationLabel, predictedValidationLabel) - result.add(SearchResult(accuracy, it)) - } - - if (!random) gridSearchClassifier( - block, - hyperParams, - limitation - ) - else randSearchClassifier( - block, - hyperParams, - limitation - ) - return result.sortedByDescending { it.score }.take(takeResult) - } - - private fun gridSearchClassifier( - block: (prop: Properties) -> Unit, - hyperParams: Hyperparameters, - limitation: Long = 20L - ) { - if (limitation < 0) hyperParams.grid().forEach(block) - else hyperParams.grid().limit(limitation).forEach(block) - } - - private fun randSearchClassifier( - block: (prop: Properties) -> Unit, - hyperParams: Hyperparameters, - limitation: Long = 20L - ) { - if (limitation < 0) hyperParams.random().forEach(block) - else hyperParams.random().limit(limitation).forEach(block) - } -} - - -fun main() { - val classifierModel = ClassifierModel.GBM - val data = read.csv(dataPath) - val hpChooser = HyperParamChooser() - - val trainer = ClassifierTrainer(data, classifierModel = classifierModel) - trainer.preprocess() - trainer.validationData = Compose(trainer.transforms).apply(trainer.validationData) - - val props = hpChooser.search(classifierModel, Formula.lhs(trainer.targetColumn), - trainer.trainData, trainer.validationData, random = true, limitation = 1) - - props.last().properties.saveToJson(Thread.currentThread().contextClassLoader.getResource("models.json")!!.file, - classifierModel.name) - props.forEach { - println(it.score) - println(it.properties) - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/RegressionTrainer.kt b/utbot-analytics/src/main/kotlin/org/utbot/RegressionTrainer.kt deleted file mode 100644 index 07ae6921..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/RegressionTrainer.kt +++ /dev/null @@ -1,73 +0,0 @@ -package org.utbot - -import org.utbot.TrainRegressionModel.* -import org.utbot.metrics.RegressionMetrics -import org.utbot.models.SimpleRegression -import org.utbot.models.SimpleRegressionNeuralNetworks -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.read - -class RegressionTrainer(data: DataFrame, val trainRegressionModel: TrainRegressionModel = GBM) : - AbstractTrainer(data) { - val simpleRegression = SimpleRegression() - val simpleNeuralNetworks = SimpleRegressionNeuralNetworks() - var validationResult: Map>? = null - var metrics: Map? = null - - override fun train() { - when (trainRegressionModel) { - CART -> simpleRegression.trainCART(Formula.lhs(targetColumn), trainData) - GBM -> simpleRegression.trainGradientTreeBoosting(Formula.lhs(targetColumn), trainData) - LRM -> simpleRegression.trainLinearRegression(Formula.lhs(targetColumn), trainData) - LASSO -> simpleRegression.trainLassoModel(Formula.lhs(targetColumn), trainData) - RANDOMFOREST -> simpleRegression.trainRandomForest( - Formula.lhs(targetColumn), - trainData - ) - RBF -> simpleNeuralNetworks.trainRBFModel(Formula.lhs(targetColumn), trainData) - MLP -> simpleNeuralNetworks.trainMLP(Formula.lhs(targetColumn), trainData) - } - } - - override fun validate() { - validationResult = when (trainRegressionModel) { - RBF, MLP -> simpleNeuralNetworks.prediction( - Formula.lhs(targetColumn).expand(validationData.schema()), validationData, trainRegressionModel - ) - else -> simpleRegression.prediction( - Formula.lhs(targetColumn).expand(validationData.schema()), validationData, trainRegressionModel - ) - } - metrics = validationResult?.mapValues { - RegressionMetrics(it.key, it.value.first, it.value.second!!) - } - } - - override fun visualize() { - TODO("Not yet implemented") - } - - override fun featureSelection() { - TODO("Not yet implemented") - } - - override fun save() { - TODO("Not yet implemented") - } -} - -enum class TrainRegressionModel { - GBM, LRM, LASSO, CART, RANDOMFOREST, RBF, MLP -} - - -fun main() { - val data = read.csv("logs/stats.txt") - - values().forEach { - val trainer = RegressionTrainer(data, trainRegressionModel = it) - trainer.fit() - trainer.metrics?.values?.forEach { println(it) } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorFactoryImpl.kt b/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorFactoryImpl.kt deleted file mode 100644 index 9def22a3..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorFactoryImpl.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.features - -import org.utbot.analytics.FeatureExtractor -import org.utbot.analytics.FeatureExtractorFactory -import org.utbot.engine.InterProceduralUnitGraph - -/** - * Implementation of feature extractor factory - */ -class FeatureExtractorFactoryImpl : FeatureExtractorFactory { - override operator fun invoke(graph: InterProceduralUnitGraph): FeatureExtractor = FeatureExtractorImpl(graph) -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorImpl.kt b/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorImpl.kt deleted file mode 100644 index ddf13226..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureExtractorImpl.kt +++ /dev/null @@ -1,50 +0,0 @@ -package org.utbot.features - -import org.utbot.analytics.FeatureExtractor -import org.utbot.engine.state.ExecutionState -import org.utbot.engine.InterProceduralUnitGraph -import org.utbot.engine.selectors.strategies.StatementsStatistics -import org.utbot.engine.selectors.strategies.SubpathStatistics - -/** - * Implementation of feature extractor. - * Extract features for state and stores it in features vector of this state. - * - * @param graph execution graph of current symbolic traverse - */ -class FeatureExtractorImpl(private val graph: InterProceduralUnitGraph) : FeatureExtractor { - companion object { - /** - * Indexes for [SubpathStatistics], with which we want to collect our features - */ - private val subpathGuidedSelectorIndexes = listOf(0, 1, 2, 3) - } - - private fun MutableList.add(value: T) = add(value.toDouble()) - private fun > MutableList.add(value: T) = add(value.size) - - private val subpathStatistics = subpathGuidedSelectorIndexes.map { SubpathStatistics(graph, it) } - private val statementStatistics = StatementsStatistics(graph) - - override fun extractFeatures(executionState: ExecutionState, generatedTestCases: Int) { - with(executionState.features) { - if (isNotEmpty()) { - clear() - } - - add(executionState.executionStack) // stack - add(graph.succs(executionState.stmt)) // successor - add(generatedTestCases) // testCase - add(executionState.visitedAfterLastFork) // coverage by branch - add(executionState.visitedBeforeLastFork + executionState.visitedAfterLastFork) // coverage by path - add(executionState.depth) // depth - add(statementStatistics.statementInMethodCount(executionState)) // cpicnt - add(statementStatistics.statementCount(executionState)) // icnt - add(executionState.stmtsSinceLastCovered) // covNew - - subpathStatistics.forEach { - add(it.subpathCount(executionState)) // sgs_i - } - } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetition.kt b/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetition.kt deleted file mode 100644 index 4c80f18d..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetition.kt +++ /dev/null @@ -1,162 +0,0 @@ -package org.utbot.features - -import org.utbot.analytics.EngineAnalyticsContext -import org.utbot.analytics.FeatureProcessor -import org.utbot.engine.state.ExecutionState -import org.utbot.engine.InterProceduralUnitGraph -import org.utbot.framework.UtSettings -import soot.jimple.Stmt -import java.io.File -import java.io.FileOutputStream -import java.nio.file.Paths -import kotlin.math.pow - -/** - * Implementation of feature processor, in which we dump each test, so there will be several copies of each state. - * Goal is make weighted dataset, where more value for states, which generated more tests. - * Extract features for state when this state will be marked visited in graph. - * Add test case, when last state of it will be traversed. - * - * @param graph execution graph of current symbolic traverse - * @param saveDir directory in which we will store features and rewards of [ExecutionState] - */ -class FeatureProcessorWithStatesRepetition( - graph: InterProceduralUnitGraph, - private val saveDir: String = UtSettings.featurePath -) : FeatureProcessor(graph) { - init { - File(saveDir).mkdirs() - } - - companion object { - private const val featureFile = "jlearch_features" - private val featureKeys = Companion::class.java.classLoader.getResourceAsStream(featureFile) - ?.bufferedReader().use { - it?.readText()?.split(System.lineSeparator()) ?: emptyList() - } - } - - private var generatedTestCases = 0 - private val featureExtractor = EngineAnalyticsContext.featureExtractorFactory(graph) - private val rewardEstimator = RewardEstimator() - - private val dumpedStates = mutableMapOf>() - private val visitedStmts = mutableSetOf() - private val testCases = mutableListOf() - - private fun extractFeatures(executionState: ExecutionState) { - featureExtractor.extractFeatures(executionState, generatedTestCases) - } - - private fun addTestCase(executionState: ExecutionState) { - val states = mutableListOf>() - var newCoverage = 0 - - generateSequence(executionState) { it.parent }.forEach { currentState -> - val stateHashCode = currentState.hashCode() - - if (currentState.features.isEmpty()) { - extractFeatures(currentState) - } - - states += stateHashCode to currentState.executingTime - dumpedStates[stateHashCode] = currentState.features - - currentState.stmt.let { - if (it !in visitedStmts && !currentState.isInNestedMethod()) { - visitedStmts += it - newCoverage++ - } - } - } - - generatedTestCases++ - testCases += TestCase(states, newCoverage, generatedTestCases) - } - - override fun dumpFeatures() { - val rewards = rewardEstimator.calculateRewards(testCases) - - testCases.forEach { ts -> - val outputFile = Paths.get(saveDir, "${UtSettings.testCounter++}.csv").toFile() - FileOutputStream(outputFile, true) - .bufferedWriter() - .use { out -> - out.appendLine("newCov,reward,${featureKeys.joinToString(separator = ",")}") - val reversedStates = ts.states.asReversed() - - reversedStates.forEach { (state, _) -> - val isCoveredNew = ts.newCoverage != 0 - val reward = rewards[state] - val features = dumpedStates[state]?.joinToString(separator = ",") - - out.appendLine("$isCoveredNew,$reward,$features") - } - - out.flush() - } - } - } - - override fun onTraversed(executionState: ExecutionState) { - addTestCase(executionState) - } - - override fun onVisit(executionState: ExecutionState) { - extractFeatures(executionState) - } -} - -class RewardEstimator { - - fun calculateRewards(testCases: List): Map { - val rewards = mutableMapOf() - val coverages = mutableMapOf() - val stateToExecutingTime = mutableMapOf() - - testCases.forEach { ts -> - var allTime = 0L - ts.states.forEach { (stateHash, time) -> - coverages.compute(stateHash) { _, v -> - ts.newCoverage + (v ?: 0) - } - val isNewState = stateHash !in stateToExecutingTime - stateToExecutingTime.compute(stateHash) { _, v -> - allTime + (v ?: time) - } - if (isNewState) { - allTime += time - } - } - } - - coverages.forEach { (state, coverage) -> - rewards[state] = reward(coverage.toDouble(), stateToExecutingTime.getValue(state).toDouble()) - } - - return rewards - } - - companion object { - /** - * Threshold for time: executingTime less than that we don't distinct. We are not expiremented with changing it yet, - * now it is just minimal positive value distinct from 0. - */ - private const val minTime = 1.0 - - /** - * Just degree of reward to make it smaller if it more than 1 and bigger if it less than 1. - */ - private const val rewardDegree = 0.5 - - fun reward(coverage: Double, time: Double): Double = (coverage / maxOf(time, minTime)).pow(rewardDegree) - } -} - -/** - * Class that represents test case. - * @param states pairs from stateHash and executingTime, created from each state of this test case - * @param newCoverage number of instructions, that was visited in first time by [states] - * @param testIndex number of test case, that was created before - */ -data class TestCase(val states: List>, val newCoverage: Int, val testIndex: Int) diff --git a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetitionFactory.kt b/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetitionFactory.kt deleted file mode 100644 index 51744e69..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/features/FeatureProcessorWithStatesRepetitionFactory.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.features - -import org.utbot.analytics.FeatureProcessor -import org.utbot.analytics.FeatureProcessorFactory -import org.utbot.engine.InterProceduralUnitGraph - -/** - * Implementation of feature processor factory, which creates FeatureProcessorWithStatesRepetition. - * See [FeatureProcessorWithStatesRepetition]. - */ -class FeatureProcessorWithStatesRepetitionFactory : FeatureProcessorFactory { - override fun invoke(graph: InterProceduralUnitGraph): FeatureProcessor = FeatureProcessorWithStatesRepetition(graph) -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/features/Transform.kt b/utbot-analytics/src/main/kotlin/org/utbot/features/Transform.kt deleted file mode 100644 index b47aceb7..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/features/Transform.kt +++ /dev/null @@ -1,168 +0,0 @@ -package org.utbot.features - -import org.utbot.models.ClassifierModel -import org.utbot.models.DataFrameClassifierAdapter -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.feature.* -import smile.math.MathEx -import smile.math.matrix.Matrix -import smile.projection.GHA -import smile.projection.LinearProjection -import smile.projection.PCA -import smile.projection.ProbabilisticPCA -import java.io.Serializable -import java.util.* - -interface Transform : Serializable { - fun apply(x: DoubleArray): DoubleArray - fun apply(data: DataFrame): DataFrame -} - -enum class ProjectionType : Serializable { - PCA, PPCA, GHA -} - -enum class ScalingType : Serializable { - MAXMIN, WINSOR, STANDARD -} - -class Projection(private val type: ProjectionType, - private val formula: Formula, - private val matrix: Matrix) : Transform, LinearProjection { - - companion object { - fun initPCA(formula: Formula, data: DataFrame): Projection { - val matrix = PCA.fit(formula.x(data).toArray()).projection - return Projection(ProjectionType.PCA, formula, matrix) - } - - fun initPPCA(formula: Formula, data: DataFrame, k: Int = 30): Projection { - val matrix = ProbabilisticPCA.fit(formula.x(data).toArray(), k).projection - return Projection(ProjectionType.PPCA, formula, matrix) - } - - fun initGHA(formula: Formula, data: DataFrame, p: Int = 20, lr: Double = 0.00001): Projection { - val numInput = data.schema().fields().size - 1 - val features = formula.x(data).toArray() - val gha = GHA(numInput, p, lr) - for (feature in features) - gha.update(feature) - return Projection(ProjectionType.GHA, formula, gha.projection) - } - } - - override fun apply(x: DoubleArray): DoubleArray { - return this.project(x) - } - - override fun apply(data: DataFrame): DataFrame { - val features = formula.x(data) - val labels = formula.y(data) - val projectedFeatures = this.project(features.toArray()) - val projectedFeaturesFrame = DataFrame.of(projectedFeatures, *features.names()) - - return projectedFeaturesFrame.merge(labels) - } - - override fun getProjection(): Matrix { - return matrix - } - - override fun toString(): String { - return "Projection[${this.type.name}]" - } -} - -class Scaling(private val type: ScalingType, - private val formula: Formula, - private val featureTransform: FeatureTransform) : Transform { - - companion object { - fun initMaxMin(formula: Formula, data: DataFrame): Scaling { - val featureTransform = MaxAbsScaler.fit(formula.x(data).toArray()) - return Scaling(ScalingType.MAXMIN, formula, featureTransform) - } - - fun initWinsor(formula: Formula, data: DataFrame, - lowerLimit: Double = 0.05, upperLimit: Double = 0.95): Scaling { - val featureTransform = WinsorScaler.fit(formula.x(data).toArray(), lowerLimit, upperLimit) - return Scaling(ScalingType.WINSOR, formula, featureTransform) - } - - fun initStandard(formula: Formula, data: DataFrame): Scaling { - val featureTransform = Standardizer.fit(formula.x(data).toArray()) - return Scaling(ScalingType.STANDARD, formula, featureTransform) - } - } - - override fun apply(x: DoubleArray): DoubleArray { - return featureTransform.transform(x) - } - - override fun apply(data: DataFrame): DataFrame { - val features: DataFrame = formula.x(data) - val labels = formula.y(data) - val scaledFeatures = featureTransform.transform(features.toArray()) - val scaledFeaturesFrame = DataFrame.of(scaledFeatures, *features.names()) - return scaledFeaturesFrame.merge(labels) - } - - override fun toString(): String { - return "Scaling[${type.name}]" - } -} - -class Compose(private val transforms: Iterable) : Transform { - override fun apply(x: DoubleArray): DoubleArray { - return transforms.fold(x) { acc, transform -> transform.apply(acc) } - } - - override fun apply(data: DataFrame): DataFrame { - return transforms.fold(data) { acc, transform -> transform.apply(acc) } - } - - override fun toString(): String { - return "Compose[\n\t" + transforms.joinToString(separator = "\n\t") { it.toString() } + "\n]" - } -} - -class FeatureSelection : Transform { - - private val saveIndexes: List - private val formula: Formula - private val name: String - - constructor(dataTrain: DataFrame, dataVal: DataFrame, formula: Formula, - classifierModel: ClassifierModel, properties: Properties = Properties()) { - val result = GAFE().apply( - 100, 1, formula.x(dataTrain).ncols(), - GAFE.fitness("EXEC_TIME", dataTrain, dataVal, smile.validation.metric.Accuracy(), - { x, y -> DataFrameClassifierAdapter(classifierModel.train(x, y, properties), x, y.schema()) }) - ) - saveIndexes = result.maxByOrNull { it.fitness() }?.bits()?.withIndex()?.filter { it.value.toInt() == 1 }?.map { it.index }!! - this.formula = formula - this.name = "GAFE" - } - - constructor(formula: Formula, data: DataFrame) { - val features: Matrix = formula.matrix(data, false) - val scale = features.colSds() - this.saveIndexes = scale.indices.filter { !MathEx.isZero(scale[it]) } - this.formula = formula - this.name = "RemoveConst" - } - - override fun apply(x: DoubleArray): DoubleArray { - return saveIndexes.map { x[it] }.toDoubleArray() - } - - override fun apply(data: DataFrame): DataFrame { - val colNames = formula.x(data).names() - return data.drop(*colNames.filterIndexed { index, _ -> index !in saveIndexes }.toTypedArray()) - } - - override fun toString(): String { - return "FeatureSelection[${name}]" - } -} diff --git a/utbot-analytics/src/main/kotlin/org/utbot/features/UtExpressionStructureCounter.kt b/utbot-analytics/src/main/kotlin/org/utbot/features/UtExpressionStructureCounter.kt deleted file mode 100644 index b1c56619..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/features/UtExpressionStructureCounter.kt +++ /dev/null @@ -1,256 +0,0 @@ -package org.utbot.features - -import org.utbot.engine.pc.* -import java.lang.Integer.max - - -private const val TREES = "Trees" -private const val MAX_NODES = "MaxNodes" -private const val MIN_NODES = "MinNodes" -private const val AVE_NODES = "AveNodes" -private const val MAX_LEVEL = "MaxLevel" -private const val MIN_LEVEL = "MinLevel" -private const val AVE_LEVEL = "AveLevel" - -val featureIndex = listOf( - UtArraySelectExpression::class.simpleName, - UtMkArrayExpression::class.simpleName, - UtArrayMultiStoreExpression::class.simpleName, - UtBvLiteral::class.simpleName, - UtBvConst::class.simpleName, - UtAddrExpression::class.simpleName, - UtFpLiteral::class.simpleName, - UtFpConst::class.simpleName, - UtOpExpression::class.simpleName, - UtTrue::class.simpleName, - UtFalse::class.simpleName, - UtEqExpression::class.simpleName, - UtBoolConst::class.simpleName, - NotBoolExpression::class.simpleName, - UtOrBoolExpression::class.simpleName, - UtAndBoolExpression::class.simpleName, - UtNegExpression::class.simpleName, - UtCastExpression::class.simpleName, - UtBoolOpExpression::class.simpleName, - UtIsExpression::class.simpleName, - UtIteExpression::class.simpleName, - TREES, - MAX_NODES, - MIN_NODES, - AVE_NODES, - MAX_LEVEL, - MIN_LEVEL, - AVE_LEVEL -).mapIndexed { index, cls -> cls!! to index }.toMap() - -val featureIndexHash = featureIndex.hashCode() - -class UtExpressionStructureCounter(private val input: Iterable) : UtExpressionVisitor { - private val features = DoubleArray(featureIndex.size) - - fun extract(): DoubleArray { - val trees = input.count() - if (trees == 0) { - return features - } - val stats = input.map { buildState(it) } - - features[featureIndex.getValue(TREES)] = trees.toDouble() - - features[featureIndex.getValue(MAX_NODES)] = stats.maxOf { it.nodes }.toDouble() - features[featureIndex.getValue(MIN_NODES)] = stats.minOf { it.nodes }.toDouble() - features[featureIndex.getValue(AVE_NODES)] = stats.sumOf { it.nodes }.toDouble() / trees - - features[featureIndex.getValue(MAX_LEVEL)] = stats.maxOf { it.level }.toDouble() - features[featureIndex.getValue(MIN_LEVEL)] = stats.minOf { it.level }.toDouble() - features[featureIndex.getValue(AVE_LEVEL)] = stats.sumOf { it.level }.toDouble() / trees - - return features - } - - private fun buildState(expr: UtExpression): NestStat { - val key = expr::class.simpleName - featureIndex[key]?.let { - features[it]++ - } - - return expr.accept(this) - } - - override fun visit(expr: UtArraySelectExpression): NestStat { - val stat = buildState(expr.arrayExpression) - val stats = buildState(expr.index) - return NestStat( - nodes = stat.nodes + stats.nodes + 1, - level = max(stats.level, stat.level) + 1 - ) - } - - // array declared - override fun visit(expr: UtMkArrayExpression) = NestStat() - - override fun visit(expr: UtConstArrayExpression): NestStat { - val stat = buildState(expr.constValue) - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtArrayMultiStoreExpression): NestStat { - val statInitial = buildState(expr.initial) - val stats = expr.stores.map { it.index }.map { buildState(it) } - val maxStat = stats.maxByOrNull { it.level } ?: NestStat() - return NestStat( - nodes = stats.sumOf { it.nodes } + statInitial.nodes + 1, - level = statInitial.level + maxStat.level + 1 - ) - } - - override fun visit(expr: UtBvLiteral) = NestStat() - - override fun visit(expr: UtBvConst) = NestStat() - - override fun visit(expr: UtAddrExpression): NestStat { - val stat = buildState(expr.internal) - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtFpLiteral) = NestStat() - - override fun visit(expr: UtFpConst) = NestStat() - - override fun visit(expr: UtOpExpression) = multipleExpressions(expr.left.expr, expr.right.expr) - - override fun visit(expr: UtTrue) = NestStat() - - override fun visit(expr: UtFalse) = NestStat() - - override fun visit(expr: UtEqExpression) = multipleExpressions(expr.left, expr.right) - - override fun visit(expr: UtBoolConst) = NestStat() - - override fun visit(expr: NotBoolExpression): NestStat { - val stat = NestStat() - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtOrBoolExpression) = multipleExpression(expr.exprs) - - override fun visit(expr: UtAndBoolExpression) = multipleExpression(expr.exprs) - - override fun visit(expr: UtAddNoOverflowExpression) = multipleExpressions(expr.left, expr.right) - - override fun visit(expr: UtSubNoOverflowExpression) = multipleExpressions(expr.left, expr.right) - override fun visit(expr: UtMulNoOverflowExpression)= multipleExpressions(expr.left, expr.right) - - override fun visit(expr: UtNegExpression): NestStat { - val stat = buildState(expr.variable.expr) - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtBvNotExpression): NestStat { - val stat = buildState(expr.variable.expr) - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtCastExpression): NestStat { - val stat = buildState(expr.variable.expr) - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtBoolOpExpression) = multipleExpressions(expr.left.expr, expr.right.expr) - - override fun visit(expr: UtIsExpression): NestStat { - val stat = buildState(expr.addr) - stat.level++ - stat.nodes++ - return stat - } - - - override fun visit(expr: UtGenericExpression): NestStat { - return NestStat() - } - - override fun visit(expr: UtIsGenericTypeExpression): NestStat { - return NestStat() - } - - override fun visit(expr: UtEqGenericTypeParametersExpression): NestStat { - return NestStat() - } - - - override fun visit(expr: UtInstanceOfExpression): NestStat { - val stat = buildState(expr) - stat.level++ - stat.nodes++ - return stat - } - - override fun visit(expr: UtIteExpression): NestStat { - val stateCondition = buildState(expr.condition) - val stateThen = buildState(expr.thenExpr) - val stateElse = buildState(expr.elseExpr) - - return NestStat( - nodes = (stateElse.nodes + stateThen.nodes) / 2 + stateCondition.nodes + 1, - level = maxOf(stateElse.level, stateThen.level, stateCondition.level) + 1 - ) - } - - private fun multipleExpressions(vararg expressions: UtExpression) = multipleExpression(expressions.toList()) - - private fun multipleExpression(expressions: List): NestStat { - val stats = expressions.map { buildState(it) } - val level = stats.maxOfOrNull { it.level } ?: 0 - return NestStat( - level = level + 1, - nodes = stats.sumOf { it.nodes } + 1 - ) - } - - override fun visit(expr: UtMkTermArrayExpression): NestStat { - return NestStat() - } - - override fun visit(expr: UtArrayInsert): NestStat { - return NestStat() - } - - override fun visit(expr: UtArrayInsertRange): NestStat { - return NestStat() - } - - override fun visit(expr: UtArrayRemove): NestStat { - return NestStat() - } - - override fun visit(expr: UtArrayRemoveRange): NestStat { - return NestStat() - } - - override fun visit(expr: UtArraySetRange): NestStat { - return NestStat() - } - - override fun visit(expr: UtArrayShiftIndexes): NestStat { - return NestStat() - } - - override fun visit(expr: UtArrayApplyForAll): NestStat { - return NestStat() - } -} - -data class NestStat(var nodes: Int = 1, var level: Int = 1) diff --git a/utbot-analytics/src/main/kotlin/org/utbot/metrics/ClassificationMetrics.kt b/utbot-analytics/src/main/kotlin/org/utbot/metrics/ClassificationMetrics.kt deleted file mode 100644 index 2420f1a1..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/metrics/ClassificationMetrics.kt +++ /dev/null @@ -1,68 +0,0 @@ -package org.utbot.metrics - -import org.utbot.features.Transform -import smile.classification.Classifier -import smile.validation.metric.ConfusionMatrix -import kotlin.math.round - -@Suppress("ArrayInDataClass") -data class ClassificationMetrics( - val modelName: String, - var numCls: Int = 0, - var f1Macro: Double = 0.0, - var acc: Double = 0.0, - var precision: Array = Array(numCls) { 0.0 }, - var recall: Array = Array(numCls) { 0.0 }, - var avgPredTime: Double = 0.0 -) { - - lateinit var confusionMatrix: ConfusionMatrix - - constructor(modelName: String, model: Classifier, transform: Transform, target: IntArray, input: Array) : this(modelName) { - assert(input.size == target.size) - avgPredTime = 0.0 - - val prediction = input.map { - val startTime = System.nanoTime() - val pred = model.predict(transform.apply(it)) - avgPredTime += (System.nanoTime() - startTime).toDouble() / 1_000_000 - pred - } - avgPredTime /= target.size - confusionMatrix = ConfusionMatrix.of(target, prediction.toIntArray()) - - val diag = (confusionMatrix.matrix.indices).map { confusionMatrix.matrix[it][it].toDouble() } - numCls = diag.size - precision = Array(numCls) { 0.0 } - recall = Array(numCls) { 0.0 } - for (i in confusionMatrix.matrix.indices) { - precision[i] = diag[i] / confusionMatrix.matrix[i].sum() - recall[i] = diag[i] / confusionMatrix.matrix.sumBy { row -> row[i] } - } - - acc = diag.sum() / confusionMatrix.matrix.sumBy { it.sum() } - f1Macro = (confusionMatrix.matrix.indices).sumByDouble { - 2 * precision[it] * recall[it] / (precision[it] + recall[it]) - } / numCls - } - - override fun toString(): String { - return "modelName:$modelName" + - "\nnumCls:$numCls" + - "\nf1Macro:${round(f1Macro * 100) / 100}" + - "\nacc:${round(acc * 100) / 100}" + - "\nprecision:[${precision.joinToString(" ") { (round(it * 100) / 100).toString() }}]" + - "\nrecall:[${recall.joinToString(" ") { (round(it * 100) / 100).toString() }}]" + - "\navgPredTime:${avgPredTime}" - } - - fun getNormalizedConfusionMatrix(): Array { - return confusionMatrix.matrix - .mapIndexed { index, counts -> - counts.map { it.toDouble() / confusionMatrix.matrix[index].sum() } - .toDoubleArray() - }.toTypedArray() - } - - operator fun compareTo(metrics: ClassificationMetrics) = this.acc.compareTo(metrics.acc) -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/metrics/RegressionMetrics.kt b/utbot-analytics/src/main/kotlin/org/utbot/metrics/RegressionMetrics.kt deleted file mode 100644 index 13e1582e..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/metrics/RegressionMetrics.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.metrics - -import kotlin.math.pow -import kotlin.math.sqrt - -data class RegressionMetrics( - val modelName: String, - var mae: Double = 0.0, - var mse: Double = 0.0, - var rmse: Double = 0.0 -) { - - private val eps: Double = 0.01 - private val absoluteErrors = mutableMapOf() - private val absolutePercentageErrors = mutableMapOf() - - constructor(modelName: String, prediction: DoubleArray, target: DoubleArray) : this(modelName) { - assert(prediction.size == target.size) - for (i in prediction.indices) { - val variance = kotlin.math.abs(prediction[i] - target[i]) - val powVariance = variance.pow(2) - - mae += variance - mse += powVariance - rmse += powVariance - - absoluteErrors[i] = variance - absolutePercentageErrors[i] = variance / (target[i] + eps) * 100 - } - - mae /= prediction.size - mse /= prediction.size - rmse = sqrt(rmse / prediction.size) - } - - override fun toString(): String { - return "$modelName mae:$mae rmse:$rmse" - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/models/ClassifierModel.kt b/utbot-analytics/src/main/kotlin/org/utbot/models/ClassifierModel.kt deleted file mode 100644 index 6cf70359..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/models/ClassifierModel.kt +++ /dev/null @@ -1,366 +0,0 @@ -package org.utbot.models - -import com.google.gson.Gson -import com.google.gson.GsonBuilder -import com.google.gson.reflect.TypeToken -import java.io.FileOutputStream -import java.io.FileReader -import java.io.FileWriter -import java.io.InputStreamReader -import java.io.ObjectInputStream -import java.io.ObjectOutputStream -import java.util.Properties -import smile.base.mlp.Layer -import smile.base.mlp.OutputFunction -import smile.classification.AdaBoost -import smile.classification.Classifier -import smile.classification.DataFrameClassifier -import smile.classification.DecisionTree -import smile.classification.GradientTreeBoost -import smile.classification.LogisticRegression -import smile.classification.RandomForest -import smile.classification.fisher -import smile.classification.knn -import smile.classification.lda -import smile.classification.mlp -import smile.classification.ovr -import smile.classification.qda -import smile.classification.rda -import smile.classification.svm -import smile.data.CategoricalEncoder -import smile.data.DataFrame -import smile.data.Tuple -import smile.data.formula.Formula -import smile.data.type.StructType -import smile.math.TimeFunction -import smile.math.distance.EuclideanDistance -import smile.math.distance.Metric -import smile.math.kernel.LaplacianKernel -import smile.math.kernel.MercerKernel -import smile.validation.Hyperparameters - - -@Suppress("unused") -enum class ClassifierModel { - LOGISTIC { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - return LogisticRegression.fit(x, y, properties) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.logistic.lambda", 0.01, 0.1, 0.01) - .add("smile.logistic.tolerance", doubleArrayOf(0.001, 0.0001, 0.00001)) - .add("smile.logistic.max.iterations", 250, 1000, 250) - }, - KNN { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val metric: Metric = EuclideanDistance() - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - val k = properties.getProperty("knn.k", "10").toInt() - - return knn(x, y, k, metric) - } - - // TODO -> SAT-733 - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("knn.k", 5, 40, 1) - }, - LDA { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - val tol: Double = properties.getProperty("smile.lda.tolerance", "1E-4").toDouble() - - return lda(x, y, null, tol) - } - - override fun getHParams(): Hyperparameters { - val toll = doubleArrayOf(0.001, 0.0001, 0.00001) - val sampleToll = mutableListOf() - for (sample in 1..9) toll.forEach { sampleToll.add(sample * it) } - - return Hyperparameters().add("smile.lda.tolerance", sampleToll.toDoubleArray()) - } - }, - FISHER { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - val tol = properties.getProperty("smile.fld.tolerance", "1E-4").toDouble() - - return fisher(x, y, -1, tol) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.fld.tolerance", doubleArrayOf(0.01, 0.001, 0.0001, 0.00001)) - }, - QDA { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - val tol = properties.getProperty("smile.qda.tolerance", "1E-4").toDouble() - - return qda(x, y, null, tol) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.qda.tolerance", doubleArrayOf(0.0001, 0.00001)) - }, - RDA { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - val alpha = properties.getProperty("smile.rda.alpha", "0.5").toDouble() - val tol = properties.getProperty("smile.rda.tolerance", "1E-4").toDouble() - - return rda(x, y, alpha, null, tol) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.rda.alpha", doubleArrayOf(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9)) - .add("smile.rda.tolerance", doubleArrayOf(0.01, 0.001, 0.0001, 0.00001)) - }, - SVM { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toDoubleArray().map { it.toInt() }.toIntArray() - val tol = properties.getProperty("svm.tol", "1E-3").toDouble() - val c = properties.getProperty("svm.C", "15.0").toDouble() - val kernel: MercerKernel = LaplacianKernel(0.3) - - return ovr(x, y) { x2, y2 -> svm(x2, y2, kernel, c, tol) } - } - - // TODO -> SAT-733 - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("svm.C", (1..70).map { it / 2.0 }.toDoubleArray()) - .add("svm.tol", doubleArrayOf(0.01, 0.001, 0.0001, 0.00001)) - }, - CART { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - return ClassifierAdapter(DecisionTree.fit(formula, data, properties), data.schema()) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.cart.split.rule", "GINI") - .add("smile.cart.max.depth", 5, 30, 5) - .add("smile.cart.max.nodes", 5, 30, 5) - .add("smile.cart.node.size", 5, 27, 3) - }, - RANDOM_FOREST { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - return ClassifierAdapter(RandomForest.fit(formula, data, properties), data.schema()) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.random.forest.trees", 50) - .add("smile.random.forest.mtry", 0) - .add("smile.random.forest.split.rule", "GINI") - .add("smile.random.forest.max.depth", 5, 30, 5) - .add("smile.random.forest.max.nodes", 5, 30, 5) - .add("smile.random.forest.node.size", 5, 27, 3) - .add("smile.random.forest.sample.rate", 0.5, 0.8, 0.1) - }, - GBM { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - return ClassifierAdapter(GradientTreeBoost.fit(formula, data, properties), data.schema()) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.gbt.trees", 50) - .add("smile.gbt.max.depth", 5, 30, 5) - .add("smile.gbt.max.nodes", 5, 30, 5) - .add("smile.gbt.node.size", 3, 27, 3) - .add("smile.gbt.shrinkage", 0.01, 0.1, 0.01) - .add("smile.gbt.sample.rate", 0.4, 0.8, 0.1) - }, - ADABOOST { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - return ClassifierAdapter(AdaBoost.fit(formula, data, properties), data.schema()) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.adaboost.trees", 30, 50, 10) - .add("smile.adaboost.max.depth", 5, 30, 5) - .add("smile.adaboost.max.nodes", 5, 30, 5) - .add("smile.adaboost.node.size", 3, 27, 3) - }, - ONE_LAYER_MLP { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - - val neurons = properties.getProperty("smile.mlp.onelayer.neurons", "10").toInt() - val epochs = properties.getProperty("smile.mlp.onelayer.epochs", "500").toInt() - val weightDecay = properties.getProperty("smile.mlp.onelayer.weightDecay", "0.005").toDouble() - val rho = properties.getProperty("smile.mlp.onelayer.rho", "0.005").toDouble() - val epsilon = properties.getProperty("smile.mlp.onelayer.epsilon", "1E-7").toDouble() - val momentum = properties.getProperty("smile.mlp.onelayer.momentum", "0.001").toDouble() - val initialLearningRate = properties.getProperty("smile.mlp.onelayer.initialLearninRate", "0.01").toDouble() - val learningRateDecay = properties.getProperty("smile.mlp.onelayer.learningRateDecay", "500.0").toDouble() - val endLearningRate = properties.getProperty("smile.mlp.onelayer.endLearningRate", "0.01").toDouble() - - return mlp( - x, y, arrayOf(Layer.sigmoid(neurons), Layer.mle(y.toSet().size, OutputFunction.SIGMOID)), epochs, - learningRate = TimeFunction.linear(initialLearningRate, learningRateDecay, endLearningRate), - momentum = TimeFunction.constant(momentum), - weightDecay = weightDecay, rho = rho, epsilon = epsilon) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.mlp.onelayer.neurons", 4, 16, 2) - .add("smile.mlp.onelayer.epochs", 100) - .add("smile.mlp.onelayer.weightDecay", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.onelayer.rho", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.onelayer.epsilon", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.onelayer.momentum", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.onelayer.initialLearninRate", doubleArrayOf(0.01, 0.001, 0.0001, 0.00001)) - .add("smile.mlp.onelayer.learningRateDecay", 100.0) - .add("smile.mlp.onelayer.endLearningRate", doubleArrayOf(0.1, 0.01)) - }, - TWO_LAYER_MLP { - override fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier { - smile.math.MathEx.setSeed(CLASSIFIER_MODEL_SEED) - val xFrame = formula.x(data) - val x = xFrame.toArray(false, CategoricalEncoder.LEVEL) - val y = formula.y(data).toIntArray() - - val firstLayerNeurons = properties.getProperty("smile.mlp.twolayer.first_layer", "12").toInt() - val secondLayerNeurons = properties.getProperty("smile.mlp.twolayer.second_layer", "8").toInt() - - val epochs = properties.getProperty("smile.mlp.twolayer.epochs", "500").toInt() - val weightDecay = properties.getProperty("smile.mlp.twolayer.weightDecay", "0.005").toDouble() - val rho = properties.getProperty("smile.mlp.twolayer.rho", "0.005").toDouble() - val epsilon = properties.getProperty("smile.mlp.twolayer.epsilon", "1E-7").toDouble() - val momentum = properties.getProperty("smile.mlp.twolayer.momentum", "0.001").toDouble() - val initialLearningRate = properties.getProperty("smile.mlp.twolayer.initialLearninRate", "0.01").toDouble() - val learningRateDecay = properties.getProperty("smile.mlp.twolayer.learningRateDecay", "500.0").toDouble() - val endLearningRate = properties.getProperty("smile.mlp.twolayer.endLearningRate", "0.01").toDouble() - - return mlp( - x, - y, - arrayOf( - Layer.sigmoid(firstLayerNeurons), - Layer.sigmoid(secondLayerNeurons), - Layer.mle(y.toSet().size, OutputFunction.SIGMOID) - ), - epochs = epochs, - learningRate = TimeFunction.linear(initialLearningRate, learningRateDecay, endLearningRate), - momentum = TimeFunction.constant(momentum), - weightDecay = weightDecay, - rho = rho, - epsilon = epsilon - ) - } - - override fun getHParams(): Hyperparameters = Hyperparameters() - .add("smile.mlp.twolayer.first_layer", 4, 16, 2) - .add("smile.mlp.twolayer.second_layer", 4, 16, 2) - .add("smile.mlp.twolayer.epochs", 100) - .add("smile.mlp.twolayer.weightDecay", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.twolayer.rho", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.twolayer.epsilon", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.twolayer.momentum", doubleArrayOf(0.005, 0.0001, 0.00005)) - .add("smile.mlp.twolayer.initialLearninRate", doubleArrayOf(0.01, 0.001, 0.0001, 0.00001)) - .add("smile.mlp.twolayer.learningRateDecay", 100.0) - .add("smile.mlp.twolayer.endLearningRate", doubleArrayOf(0.1, 0.01)) - }; - - abstract fun train(formula: Formula, data: DataFrame, properties: Properties): Classifier - abstract fun getHParams(): Hyperparameters -} - -const val CLASSIFIER_MODEL_SEED = 19650218L - -class ClassifierAdapter(private val model: DataFrameClassifier, - private val schema: StructType) : Classifier { - companion object { - @JvmStatic - private val serialVersionUID = 1L - } - - override fun predict(x: DoubleArray?): Int = this.model.predict(Tuple.of(x, this.schema)) -} - -class DataFrameClassifierAdapter(private val model: Classifier, - private val formula: Formula, - private val schema: StructType) : DataFrameClassifier { - - override fun predict(x: Tuple?): Int { - return model.predict(x?.toArray()) - } - - override fun schema(): StructType { - return this.schema - } - - override fun formula(): Formula { - return this.formula - } -} - - -fun loadModelFromJson(name: String, modelName: String): Map { - InputStreamReader(Thread.currentThread().contextClassLoader.getResourceAsStream(name)!!).use { reader -> - val type = object : TypeToken>>() {}.type - val models: Map> = Gson().fromJson(reader, type) - - return models[modelName] ?: emptyMap() - } -} - -fun Properties.saveToJson(path: String, modelName: String) { - val gson = GsonBuilder().setPrettyPrinting().create() - var models: MutableMap>? = null - - FileReader(path).use { reader -> - val type = object : TypeToken>>() {}.type - val newData: MutableMap = mutableMapOf() - this.stringPropertyNames().forEach { newData[it] = this.getProperty(it) } - - models = gson.fromJson(reader, type) - models!!.put(modelName, newData) - } - - FileWriter(path).use { writer -> - gson.toJson(models, writer) - } -} - -fun save(model: T, path: String) { - ObjectOutputStream(FileOutputStream(path)).use { - it.writeObject(model) - } -} - -@Suppress("UNCHECKED_CAST") -fun loadModel(name: String): T = -// Uncomment for local debug (after model training) -// ObjectInputStream(FileInputStream("logs/$name")).use { - ObjectInputStream(Thread.currentThread().contextClassLoader.getResourceAsStream("models/$name")).use { - it.readObject() as T - } diff --git a/utbot-analytics/src/main/kotlin/org/utbot/models/SimpleRegression.kt b/utbot-analytics/src/main/kotlin/org/utbot/models/SimpleRegression.kt deleted file mode 100644 index f27c6bd9..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/models/SimpleRegression.kt +++ /dev/null @@ -1,140 +0,0 @@ -package org.utbot.models - -import org.utbot.TrainRegressionModel -import smile.base.cart.Loss -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.regression.* - - -class SimpleRegression { - - var gradientBoostModel: DataFrameRegression? = null - var linearRegressionModel: DataFrameRegression? = null - var lassoModel: DataFrameRegression? = null - var cartModel: DataFrameRegression? = null - var randomForestModel: DataFrameRegression? = null - - // train with default params - fun trainAllModels(formula: Formula, data: DataFrame) { - trainLassoModel(formula, data) - trainLinearRegression(formula, data) - trainGradientTreeBoosting(formula, data) - trainCART(formula, data) - trainRandomForest(formula, data) - } - - //prediction by all models - fun predictionByAllModels(formula: Formula, data: DataFrame): Map> { - val actualLabel: DoubleArray = formula.y(data).toDoubleArray() - - val gbmPrediction = gradientBoostModel?.predict(data) - val lrmPrediction = linearRegressionModel?.predict(data) - val lassoPrediction = lassoModel?.predict(data) - val cartPrediction = cartModel?.predict(data) - val randomForestPrediction = randomForestModel?.predict(data) - - return mapOf( - "gbm" to Pair(actualLabel, gbmPrediction), - "lrm" to Pair(actualLabel, lrmPrediction), - "lasso" to Pair(actualLabel, lassoPrediction), - "cart" to Pair(actualLabel, cartPrediction), - "randomForest" to Pair(actualLabel, randomForestPrediction) - ) - } - - // loss - loss function for regression. - // ntrees - the number of iterations (trees). - // maxDepth - the maximum depth of the tree. - // maxNodes - the maximum number of leaf nodes in the tree. - // nodeSize - the minimum size of leaf nodes. - // shrinkage - the shrinkage parameter in (0, 1] controls the learning rate of procedure. - // subsample - the sampling fraction for stochastic tree boosting. - fun trainGradientTreeBoosting( - formula: Formula, data: DataFrame, - loss: Loss = Loss.lad(), - ntrees: Int = 25, maxDepth: Int = 20, - maxNodes: Int = 6, nodeSize: Int = 5, - shrinkage: Double = 0.05, subsample: Double = 0.7 - ) { - gradientBoostModel = gbm(formula, data, loss, ntrees, maxDepth, maxNodes, nodeSize, shrinkage, subsample) - } - - // method - the fitting method ("svd" or "qr"). - // recursive - if true, the return model supports recursive least squares. - fun trainLinearRegression( - formula: Formula, data: DataFrame, - method: String = "qr", stderr: Boolean = true, - recursive: Boolean = true - ) { - linearRegressionModel = lm(formula, data, method, stderr, recursive) - } - - fun trainLassoModel(formula: Formula, data: DataFrame) { - lassoModel = lasso(formula, data, 100.0) - } - - /* - * maxDepth - the maximum depth of the tree. - * maxNodes - the maximum number of leaf nodes in the tree. - * nodeSize - the minimum size of leaf nodes - * */ - fun trainCART(formula: Formula, data: DataFrame, maxDepth: Int = 20, maxNodes: Int = 50, nodeSize: Int = 5) { - cartModel = cart(formula, data, maxDepth, maxNodes, nodeSize) - } - - /* - * ntrees - the number of trees. - * mtry - the number of input variables to be used to determine the decision at a node of the tree. - * dim/3 seems to give generally good performance, where dim is the number of variables. - * maxDepth - the maximum depth of the tree. - * maxNodes - the maximum number of leaf nodes in the tree. - * nodeSize - the minimum size of leaf nodes. - * subsample - the sampling rate for training tree. 1.0 means sampling with replacement. < 1.0 means sampling without replacement. - * */ - fun trainRandomForest( - formula: Formula, data: DataFrame, ntrees: Int = 25, mtry: Int = 5, maxDepth: Int = 20, - maxNodes: Int = 50, nodeSize: Int = 5, subsample: Double = 1.0 - ) { - randomForestModel = randomForest( - formula, data, ntrees, mtry, maxDepth, - maxNodes, nodeSize, subsample - ) - } - - fun prediction( - formula: Formula, - data: DataFrame, - trainRegressionModel: TrainRegressionModel - ): Map> { - val actualLabel: DoubleArray = formula.y(data).toDoubleArray() - return when (trainRegressionModel) { - TrainRegressionModel.GBM -> { - mapOf( - "gbm" to Pair(actualLabel, gradientBoostModel?.predict(data)) - ) - } - TrainRegressionModel.LRM -> { - mapOf( - "lrm" to Pair(actualLabel, linearRegressionModel?.predict(data)) - ) - } - TrainRegressionModel.LASSO -> { - mapOf( - "lasso" to Pair(actualLabel, lassoModel?.predict(data)) - ) - } - TrainRegressionModel.CART -> { - mapOf( - "cart" to Pair(actualLabel, cartModel?.predict(data)) - ) - } - TrainRegressionModel.RANDOMFOREST -> { - mapOf( - "random forest" to Pair(actualLabel, randomForestModel?.predict(data)) - ) - } - else -> predictionByAllModels(formula, data) - } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/models/SimpleRegressionNeuralNetworks.kt b/utbot-analytics/src/main/kotlin/org/utbot/models/SimpleRegressionNeuralNetworks.kt deleted file mode 100644 index 0ea42b47..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/models/SimpleRegressionNeuralNetworks.kt +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.models - -import org.utbot.TrainRegressionModel -import smile.base.mlp.Layer -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.math.MathEx -import smile.math.TimeFunction -import smile.regression.MLP -import smile.regression.RBFNetwork -import smile.regression.rbfnet - - -class SimpleRegressionNeuralNetworks { - var rbfModel: RBFNetwork? = null - var mlp: MLP? = null - - fun trainByAllModels(formula: Formula, data: DataFrame) { - trainRBFModel(formula, data) - trainMLP(formula, data) - } - - fun predictionByAllModels(formula: Formula, data: DataFrame): Map> { - val actualLabel: DoubleArray = formula.y(data).toDoubleArray() - val features = formula.x(data).toArray() - - val rbfPrediction = rbfModel?.predict(features) - val mlpPrediction = mlp?.predict(features) - return mapOf( - "rbf" to Pair(actualLabel, rbfPrediction), - "mlp" to Pair(actualLabel, mlpPrediction) - ) - } - - // k - number of neurons - fun trainRBFModel(formula: Formula, data: DataFrame, k: Int = 10, normalized: Boolean = false) { - val features = formula.x(data).toArray() - val labels = formula.y(data).toDoubleArray() - rbfModel = rbfnet(features, labels, k, normalized) - } - - - fun trainMLP( - formula: Formula, - data: DataFrame, - hidden: Int = 16, - epochs: Int = 200, - lr: Double = 0.001, - lambda: Double = 0.001 - ) { - val numInput = data.schema().fields().size - 1 - val features = formula.x(data).toArray() - val labels = formula.y(data).toDoubleArray() - - mlp = MLP(numInput, Layer.rectifier(hidden), Layer.sigmoid(hidden / 2)) - .also { - it.setLearningRate(TimeFunction.constant(lr)) - it.weightDecay = lambda - } - - mlp?.apply { - for (epoch in 1..epochs) { - val permutation: IntArray = MathEx.permutate(features.size) - for (i in permutation) { - this.update(features[i], labels[i]) - } - } - } - } - - fun prediction( - formula: Formula, - data: DataFrame, - trainRegressionModel: TrainRegressionModel - ): Map> { - val actualLabel: DoubleArray = formula.y(data).toDoubleArray() - val features = formula.x(data).toArray() - return when (trainRegressionModel) { - TrainRegressionModel.RBF -> mapOf( - "rbf" to Pair(actualLabel, rbfModel?.predict(features)) - ) - TrainRegressionModel.MLP -> mapOf( - "mlp" to Pair(actualLabel, mlp?.predict(features)) - ) - else -> predictionByAllModels(formula, data) - } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/FeedForwardNetwork.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/FeedForwardNetwork.kt deleted file mode 100644 index 3e0dfbb9..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/FeedForwardNetwork.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.predictors - -import org.utbot.predictors.util.ModelBuildingException -import smile.math.matrix.Matrix -import kotlin.math.max - -private object ActivationFunctions { - const val ReLU = "reLU" -} - -data class FeedForwardNetwork(val operations: List<(DoubleArray) -> DoubleArray>) - -private fun reLU(input: DoubleArray): DoubleArray { - return input.map { max(0.0, it) }.toDoubleArray() -} - -internal fun buildModel(nnJson: NNJson): FeedForwardNetwork { - val weights = nnJson.linearLayers.map { Matrix(it) } - val biases = nnJson.biases.map { Matrix(it) } - val operations = mutableListOf<(DoubleArray) -> DoubleArray>() - - nnJson.linearLayers.indices.forEach { i -> - operations.add { - weights[i].mm(Matrix(it)).add(biases[i]).col(0) - } - if (i != nnJson.linearLayers.lastIndex) { - operations.add { - when (nnJson.activationLayers[i]) { - ActivationFunctions.ReLU -> reLU(it) - else -> throw ModelBuildingException("Unsupported activation") - } - } - } - } - - return FeedForwardNetwork(operations) -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/LinearRegressionPredictor.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/LinearRegressionPredictor.kt deleted file mode 100644 index 731480a8..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/LinearRegressionPredictor.kt +++ /dev/null @@ -1,72 +0,0 @@ -package org.utbot.predictors - -import org.utbot.analytics.MLPredictor -import mu.KotlinLogging -import org.utbot.framework.PathSelectorType -import org.utbot.framework.UtSettings -import org.utbot.predictors.util.PredictorLoadingException -import org.utbot.predictors.util.WeightsLoadingException -import org.utbot.predictors.util.splitByCommaIntoDoubleArray -import smile.math.MathEx.dot -import smile.math.matrix.Matrix -import java.io.File - -private const val DEFAULT_WEIGHT_PATH = "linear.txt" - -private val logger = KotlinLogging.logger {} - -/** - * Last weight is bias - */ -private fun loadWeights(path: String): Matrix { - val weightsFile = File("${UtSettings.modelPath}/${path}") - lateinit var weightsArray: DoubleArray - - try { - if (!weightsFile.exists()) { - error("There is no file with weights with path: ${weightsFile.absolutePath}") - } - - weightsArray = weightsFile.readText().splitByCommaIntoDoubleArray() - } catch (e: Exception) { - throw WeightsLoadingException(e) - } - - return Matrix(weightsArray) -} - -class LinearRegressionPredictor(weightsPath: String = DEFAULT_WEIGHT_PATH, scalerPath: String = DEFAULT_SCALER_PATH) : - MLPredictor { - private lateinit var weights: Matrix - private lateinit var scaler: StandardScaler - - init { - try { - weights = loadWeights(weightsPath) - scaler = loadScaler(scalerPath) - } catch (e: PredictorLoadingException) { - logger.info(e) { - "Error while initialization of LinearRegressionPredictor. Changing pathSelectorType on INHERITORS_SELECTOR" - } - UtSettings.pathSelectorType = PathSelectorType.INHERITORS_SELECTOR - } - } - - fun predict(input: List>): List { - // add 1 to each feature vector - val matrixValues = input - .map { (it + 1.0).toDoubleArray() } - .toTypedArray() - - val X = Matrix(matrixValues) - - return X.mm(weights).col(0).toList() - } - - override fun predict(input: List): Double { - var inputArray = Matrix(input.toDoubleArray()).sub(scaler.mean).div(scaler.variance).col(0) - inputArray += 1.0 - - return dot(inputArray, weights.col(0)) - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/MultilayerPerceptronPredictor.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/MultilayerPerceptronPredictor.kt deleted file mode 100644 index 978f5b02..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/MultilayerPerceptronPredictor.kt +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.predictors - -import mu.KotlinLogging -import org.utbot.analytics.MLPredictor -import org.utbot.framework.PathSelectorType -import org.utbot.framework.UtSettings -import org.utbot.predictors.util.PredictorLoadingException -import smile.math.matrix.Matrix - -private const val DEFAULT_MODEL_PATH = "nn.json" - -private val logger = KotlinLogging.logger {} - -private fun getModel(path: String) = buildModel(loadModel(path)) - -class MultilayerPerceptronPredictor(modelPath: String = DEFAULT_MODEL_PATH, scalerPath: String = DEFAULT_SCALER_PATH) : - MLPredictor { - private lateinit var nn: FeedForwardNetwork - private lateinit var scaler: StandardScaler - - init { - try { - nn = getModel(modelPath) - scaler = loadScaler(scalerPath) - } catch (e: PredictorLoadingException) { - logger.info(e) { - "Error while initialization of MultilayerPerceptronPredictor. Changing pathSelectorType on INHERITORS_SELECTOR" - } - UtSettings.pathSelectorType = PathSelectorType.INHERITORS_SELECTOR - } - } - - override fun predict(input: List): Double { - var inputArray = input.toDoubleArray() - inputArray = Matrix(inputArray).sub(scaler.mean).div(scaler.variance).col(0) - - nn.operations.forEach { - inputArray = it(inputArray) - } - - check(inputArray.size == 1) { "Neural network have several outputs" } - return inputArray[0] - } -} diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/NNJson.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/NNJson.kt deleted file mode 100644 index ed0066ec..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/NNJson.kt +++ /dev/null @@ -1,49 +0,0 @@ -package org.utbot.predictors - -import com.google.gson.Gson -import org.utbot.framework.UtSettings -import org.utbot.predictors.util.ModelLoadingException -import java.io.FileReader -import java.nio.file.Paths - -data class NNJson( - val linearLayers: Array> = emptyArray(), - val activationLayers: Array = emptyArray(), - val biases: Array = emptyArray() -) { - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as NNJson - - if (!linearLayers.contentDeepEquals(other.linearLayers)) return false - if (!activationLayers.contentEquals(other.activationLayers)) return false - if (!biases.contentDeepEquals(other.biases)) return false - - return true - } - - override fun hashCode(): Int { - var result = linearLayers.contentDeepHashCode() - result = 31 * result + activationLayers.contentHashCode() - result = 31 * result + biases.contentDeepHashCode() - return result - } -} - -internal fun loadModel(path: String): NNJson { - val modelFile = Paths.get(UtSettings.modelPath, path).toFile() - lateinit var nnJson: NNJson - - try { - nnJson = - Gson().fromJson(FileReader(modelFile), NNJson::class.java) ?: run { - error("Empty model") - } - } catch (e: Exception) { - throw ModelLoadingException(e) - } - - return nnJson -} diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/StateRewardPredictorFactory.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/StateRewardPredictorFactory.kt deleted file mode 100644 index 0c6d3e12..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/StateRewardPredictorFactory.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.predictors - -import org.utbot.analytics.MLPredictor -import org.utbot.analytics.MLPredictorFactory -import org.utbot.framework.MLPredictorType -import org.utbot.framework.UtSettings - -/** - * Creates [MLPredictor], by checking the [UtSettings] configuration. - */ -class MLPredictorFactoryImpl : MLPredictorFactory { - override operator fun invoke() = when (UtSettings.mlPredictorType) { - MLPredictorType.MLP -> MultilayerPerceptronPredictor() - MLPredictorType.LINREG -> LinearRegressionPredictor() - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/StatementUniquenessPredictor.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/StatementUniquenessPredictor.kt deleted file mode 100644 index 2e26ac48..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/StatementUniquenessPredictor.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.predictors - -import org.utbot.analytics.UtBotAbstractPredictor -import soot.jimple.Stmt - -class StatementUniquenessPredictor : UtBotAbstractPredictor, String> { - - override fun predict(input: Iterable): String { - return "" - } - - override fun provide(input: Iterable, expectedResult: String, actualResult: String) { - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/UtBotSatPredictor.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/UtBotSatPredictor.kt deleted file mode 100644 index d99f5060..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/UtBotSatPredictor.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.predictors - -import org.utbot.analytics.IUtBotSatPredictor -import org.utbot.analytics.UtBotAbstractPredictor -import org.utbot.engine.pc.UtExpression -import org.utbot.engine.pc.UtSolverStatusKind - -@Suppress("unused") -class UtBotSatPredictor : UtBotAbstractPredictor, UtSolverStatusKind>, - IUtBotSatPredictor> { - - override fun provide(input: Iterable, expectedResult: UtSolverStatusKind, actualResult: UtSolverStatusKind) { - } - - override fun terminate() { - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/UtBotTimePredictor.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/UtBotTimePredictor.kt deleted file mode 100644 index d919645b..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/UtBotTimePredictor.kt +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.predictors - -import org.utbot.analytics.IncrementalData -import org.utbot.analytics.UtBotAbstractPredictor -import org.utbot.analytics.UtBotNanoTimePredictor -import org.utbot.engine.pc.UtExpression -import org.utbot.features.Transform -import org.utbot.features.UtExpressionStructureCounter -import org.utbot.features.featureIndex -import org.utbot.models.loadModel -import smile.classification.Classifier -import java.io.File -import java.io.FileOutputStream - - -@Suppress("unused") -class UtBotTimePredictor : UtBotAbstractPredictor, Long>, - UtBotNanoTimePredictor> { - - private val saveFile = "logs/stats.txt" - - private val transform: Transform = loadModel("transform") - private val model: Classifier = loadModel("predictor") - - init { - File(saveFile).printWriter().use { out -> - out.println("EXEC_TIME," + featureIndex.keys.joinToString(separator = ",")) - } - } - - override fun predict(input: Iterable): Long { - val extract = UtExpressionStructureCounter(input).extract() - - val features = transform.apply(extract) - - return model.predict(features).toLong() - } - - override fun provide(input: Iterable, expectedResult: Long, actualResult: Long) { - val extract = UtExpressionStructureCounter(input).extract() - - FileOutputStream(saveFile, true).bufferedWriter().use { out -> - out.appendLine((actualResult.toDouble() / 1_000_000).toString() + "," + - extract.joinToString(separator = ",")) - } - } -} - -class UtBotTimePredictorIncremental : UtBotAbstractPredictor, - UtBotNanoTimePredictor { - - private val saveFile = "logs/stats.txt" - private val transform: Transform = loadModel("transform") - private val model: Classifier = loadModel("predictor") - - init { - File(saveFile).printWriter().use { out -> - out.println("EXEC_TIME," + featureIndex.keys.joinToString(separator = ",") { "All$it" } + "," + - featureIndex.keys.joinToString(separator = ",") { "New$it" } - ) - } - } - - override fun provide(input: IncrementalData, expectedResult: Long, actualResult: Long) { - val allFeatures = UtExpressionStructureCounter(input.constraints).extract() - val newFeatures = UtExpressionStructureCounter(input.constraintsToAdd).extract() - - FileOutputStream(saveFile, true).bufferedWriter().use { out -> - out.write((actualResult.toDouble() / 1_000_000).toString() + "," + - allFeatures.joinToString(separator = ",") + "," + - newFeatures.joinToString(separator = ",")); - out.newLine() - } - } - - override fun predict(input: IncrementalData): Long { - val allFeatures = UtExpressionStructureCounter(input.constraints).extract() - val newFeatures = UtExpressionStructureCounter(input.constraintsToAdd).extract() - - val features = transform.apply(allFeatures + newFeatures) - - return model.predict(features).toLong() - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/scalers.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/scalers.kt deleted file mode 100644 index db38bc77..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/scalers.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.predictors - -import org.utbot.framework.UtSettings -import org.utbot.predictors.util.ScalerLoadingException -import org.utbot.predictors.util.splitByCommaIntoDoubleArray -import smile.math.matrix.Matrix -import java.nio.file.Paths - - -internal const val DEFAULT_SCALER_PATH = "scaler.txt" - -data class StandardScaler(val mean: Matrix?, val variance: Matrix?) - -internal fun loadScaler(path: String): StandardScaler = - try { - Paths.get(UtSettings.modelPath, path).toFile().bufferedReader().use { - val mean = it.readLine()?.splitByCommaIntoDoubleArray() ?: error("There is not mean in $path") - val variance = it.readLine()?.splitByCommaIntoDoubleArray() ?: error("There is not variance in $path") - StandardScaler(Matrix(mean), Matrix(variance)) - } - } catch (e: Exception) { - throw ScalerLoadingException(e) - } diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/util/PredictorLoadingException.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/util/PredictorLoadingException.kt deleted file mode 100644 index d45e7dec..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/util/PredictorLoadingException.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.predictors.util - -sealed class PredictorLoadingException(msg: String?, cause: Throwable? = null) : Exception(msg, cause) - -class WeightsLoadingException(e: Throwable) : PredictorLoadingException("Error while loading weights", e) - -class ModelLoadingException(e: Throwable) : PredictorLoadingException("Error while loading model", e) - -class ScalerLoadingException(e: Throwable) : PredictorLoadingException("Error while loading scaler", e) - -class ModelBuildingException(msg: String) : PredictorLoadingException(msg) diff --git a/utbot-analytics/src/main/kotlin/org/utbot/predictors/util/StringUtils.kt b/utbot-analytics/src/main/kotlin/org/utbot/predictors/util/StringUtils.kt deleted file mode 100644 index b6f3c98e..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/predictors/util/StringUtils.kt +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.predictors.util - -fun String.splitByCommaIntoDoubleArray() = - try { - split(',').map(String::toDouble).toDoubleArray() - } catch (e: NumberFormatException) { - error("Wrong format in $this, expect doubles separated by commas") - } \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/utils/RegressionResample.kt b/utbot-analytics/src/main/kotlin/org/utbot/utils/RegressionResample.kt deleted file mode 100644 index ec2db605..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/utils/RegressionResample.kt +++ /dev/null @@ -1,93 +0,0 @@ -package org.utbot.utils - -import org.utbot.utils.ResampleGenerationStrategy.CUT -import org.utbot.utils.ResampleGenerationStrategy.NO_GENERATION -import org.utbot.utils.ResampleSplitStrategy.* -import smile.data.DataFrame -import smile.data.formula.Formula -import smile.math.MathEx - - -/** - * Strategies for split continues values into groups - */ -enum class ResampleSplitStrategy { - NO_SPLIT, - CUSTOM, - REL_FUN -} - -/** - * Group balancing strategies. - */ -enum class ResampleGenerationStrategy { - NO_GENERATION, - CUT -} - - -class RegressionResample(private val formula: Formula) { - - private var valueIntervals: MutableList = mutableListOf() - private var generationStrategy: ResampleGenerationStrategy = NO_GENERATION - - fun fit( - dataframe: DataFrame, - splitStrategy: ResampleSplitStrategy, - generationStrategy: ResampleGenerationStrategy - ) { - this.generationStrategy = generationStrategy - this.valueIntervals = when (splitStrategy) { - NO_SPLIT -> singleInterval(dataframe, formula) - CUSTOM -> customIntervals() - REL_FUN -> mutableListOf() // TODO - } - } - - private fun customIntervals(): MutableList = - mutableListOf(0.0, 6.0, 10.0, 15.0, 20.0, 60.0, 100.0, 150.0, 800.0) - - private fun singleInterval(dataframe: DataFrame, formula: Formula): MutableList { - val values = formula.y(dataframe).toDoubleArray() - values.minOrNull().let { - return mutableListOf(it!! - 0.01) - } - } - - fun groupIndicesByLabel(dataframe: DataFrame): Array> { - val result = Array>(valueIntervals.size) { mutableListOf() } - val sortedIndexedValue = formula.y(dataframe).toDoubleArray().withIndex().sortedBy { it.value } - var intervalIndex = 0 - - sortedIndexedValue.forEach { - while (intervalIndex < valueIntervals.size && it.value > valueIntervals[intervalIndex]) { - intervalIndex++ - } - result[intervalIndex - 1].add(it.index) - } - - return result - } - - fun transform(dataframe: DataFrame): DataFrame { - if (this.generationStrategy == NO_GENERATION) return dataframe - val intervalsIndexes = groupIndicesByLabel(dataframe) - val result = mutableListOf() - - if (generationStrategy == CUT) { - intervalsIndexes.forEach { - if (it.size > 500) { - val indexes = it.toIntArray() - MathEx.permutate(indexes) - result.addAll(MathEx.slice(dataframe.toArray(), indexes.slice(0..500).toIntArray())) - } else { - val indexes = it.toIntArray() - MathEx.permutate(indexes) - result.addAll(MathEx.slice(dataframe.toArray(), indexes)) - } - } - } - result.shuffle() - return DataFrame.of(result.toTypedArray(), *dataframe.names()) - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/visual/AbstractHtmlReport.kt b/utbot-analytics/src/main/kotlin/org/utbot/visual/AbstractHtmlReport.kt deleted file mode 100644 index ce7ff03e..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/visual/AbstractHtmlReport.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.visual - -import org.utbot.common.dateTimeFormatter -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter - - -abstract class AbstractHtmlReport(bodyWidth: Int = 600) { - val builder = HtmlBuilder(bodyMaxWidth = bodyWidth) - - private fun nameWithDate() = - "logs/Report_" + dateTimeFormatter.format(LocalDateTime.now()) + ".html" - - fun save(filename: String = nameWithDate()) { - builder.saveHtml(filename) - } -} - diff --git a/utbot-analytics/src/main/kotlin/org/utbot/visual/ClassificationHtmlReport.kt b/utbot-analytics/src/main/kotlin/org/utbot/visual/ClassificationHtmlReport.kt deleted file mode 100644 index 9e278409..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/visual/ClassificationHtmlReport.kt +++ /dev/null @@ -1,102 +0,0 @@ -package org.utbot.visual - -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter -import java.util.Properties -import tech.tablesaw.plotly.components.Figure - -class ClassificationHtmlReport : AbstractHtmlReport() { - - private var figuresNum = 0 - - fun addHeader(modelName: String, properties: Properties) { - val currentDateTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss")) - builder.addRawHTML("

Model : ${modelName}

") - builder.addRawHTML("

$currentDateTime

") - builder.addRawHTML("

Hyperparameters:

") - for (property in properties) { - builder.addText("${property.key} : ${property.value}") - } - } - - private fun addFigure(figure: Figure) { - builder.addRawHTML("
") - builder.addRawHTML(figure.asJavascript("plot$figuresNum")) - builder.addRawHTML("
") - figuresNum++ - } - - fun addDataDistribution(y: DoubleArray, threshold: Double = 1000.0) { - val (data, notPresented) = y.partition { x -> x <= threshold } - val rawHistogram = FigureBuilders.buildHistogram( - data.toDoubleArray(), - xLabel = "ms", - yLabel = "Number of samples", - title = "Raw data distribution" - ) - addFigure(rawHistogram) - builder.addText("Number of samples: ${y.size}") - if (notPresented.isNotEmpty()) { - builder.addText( - "And ${notPresented.size} more samples longer than $threshold ms are not presented " + - "in the raw data distribution plot \n\n" - ) - } - } - - fun addConfusionMatrix(confusionMatrix: Array) { - addFigure( - FigureBuilders.buildHeatmap( - Array(confusionMatrix.size) { it }, - Array(confusionMatrix.size) { it }, - confusionMatrix, - xLabel = "Predicted class", - yLabel = "Reference class", - title = "Confusion matrix" - ) - ) - } - - fun addClassDistribution(classSizes: DoubleArray, before: Boolean = true) { - var title = "Class distribution after resampling" - if (before) title = "Class distribution before resampling" - - addFigure( - FigureBuilders.buildBarPlot( - Array(classSizes.size) { it }, - classSizes, - title = title, - xLabel = "Classes", - yLabel = "Number of samples" - ) - ) - } - - fun addPCAPlot(variance: DoubleArray, cumulativeVariance: DoubleArray) { - addFigure( - FigureBuilders.buildTwoLinesPlot( - variance, - cumulativeVariance, - title = "PCA variance and cumulative variance", - xLabel = "PC", - yLabel = "Variance" - ) - ) - } - - fun addMetrics(acc: Double, f1: Double, predTime: Double, precision: DoubleArray, recall: DoubleArray) { - builder.addText("Accuracy ${String.format("%.3f", acc)}") - builder.addText("F1 macro ${String.format("%.3f", f1)}") - builder.addText("AvgPredTime ${String.format("%.3f", predTime)}(ms)") - for ((i, value) in precision.withIndex()) { - builder.addText( - "For class $i precision ${String.format("%.3f", value)} recall ${ - String.format( - "%.3f", - recall[i] - ) - }" - ) - } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/visual/FigureBuilders.kt b/utbot-analytics/src/main/kotlin/org/utbot/visual/FigureBuilders.kt deleted file mode 100644 index 445934e5..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/visual/FigureBuilders.kt +++ /dev/null @@ -1,146 +0,0 @@ -package org.utbot.visual - -import tech.tablesaw.plotly.components.Axis -import tech.tablesaw.plotly.components.Figure -import tech.tablesaw.plotly.components.Layout -import tech.tablesaw.plotly.components.Line -import tech.tablesaw.plotly.traces.* - - -class FigureBuilders { - companion object { - private fun getXYLayout( - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Plot" - ): Layout { - return Layout.builder() - .title(title) - .xAxis(Axis.builder().title(xLabel).build()) - .yAxis(Axis.builder().title(yLabel).build()) - .build() - } - - private fun getXYZLayout( - xLabel: String = "X", - yLabel: String = "Y", - zLabel: String = "Y", - title: String = "Plot" - ): Layout { - return Layout.builder() - .title(title) - .xAxis(Axis.builder().title(xLabel).build()) - .yAxis(Axis.builder().title(yLabel).build()) - .zAxis(Axis.builder().title(zLabel).build()) - .build() - } - - fun buildScatterPlot( - x: DoubleArray, - y: DoubleArray, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Scatter plot" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = ScatterTrace.builder(x, y).build() - - return Figure(layout, trace) - } - - fun buildHistogram( - data: DoubleArray, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Histogram" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = HistogramTrace.builder(data).build() - - return Figure(layout, trace) - } - - fun build2DHistogram( - x: DoubleArray, - y: DoubleArray, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Histogram 2D" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = Histogram2DTrace.builder(x, y).build() - - return Figure(layout, trace) - } - - fun buildBarPlot( - x: Array, - y: DoubleArray, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "BarPlot" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = BarTrace.builder(x, y).build() - return Figure(layout, trace) - } - - fun buildHeatmap( - x: Array, - y: Array, - z: Array, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Heatmap" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = HeatmapTrace.builder(x, y, z).build() - return Figure(layout, trace) - } - - fun buildLinePlot( - x: DoubleArray, - y: DoubleArray, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Line plot" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = ScatterTrace.builder(x, y).mode(ScatterTrace.Mode.LINE_AND_MARKERS).build() - - return Figure(layout, trace) - } - - fun buildTwoLinesPlot( - y1: DoubleArray, - y2: DoubleArray, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Two lines plot" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace1: Trace = ScatterTrace.builder(DoubleArray(y1.size) { it.toDouble() }, y1).mode(ScatterTrace.Mode.LINE_AND_MARKERS).build() - val trace2: Trace = ScatterTrace.builder(DoubleArray(y2.size) { it.toDouble() }, y2).mode(ScatterTrace.Mode.LINE_AND_MARKERS).build() - - return Figure(layout, trace1, trace2) - } - - fun buildLinePlotSmoothed( - x: DoubleArray, - y: DoubleArray, - smoothing: Double = 1.2, - xLabel: String = "X", - yLabel: String = "Y", - title: String = "Line plot" - ): Figure { - val layout = getXYLayout(xLabel, yLabel, title) - val trace: Trace = ScatterTrace.builder(x, y) - .mode(ScatterTrace.Mode.LINE_AND_MARKERS) - .line(Line.builder().shape(Line.Shape.SPLINE).smoothing(smoothing).build()) - .build() - - return Figure(layout, trace) - } - } - -} \ No newline at end of file diff --git a/utbot-analytics/src/main/kotlin/org/utbot/visual/HtmlBuilder.kt b/utbot-analytics/src/main/kotlin/org/utbot/visual/HtmlBuilder.kt deleted file mode 100644 index 98037c21..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/visual/HtmlBuilder.kt +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.visual - -import java.io.File -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter -import java.util.* - -class HtmlBuilder(bodyMaxWidth: Int = 600) { - private val pageTop = ("" - + System.lineSeparator() - + "" - + System.lineSeparator() - + " Multi-plot test" - + System.lineSeparator() - + " " - + System.lineSeparator() - + "" - + System.lineSeparator() - + "" - + System.lineSeparator() - + "" - + System.lineSeparator()) - - private val pageBottom = "" + System.lineSeparator() + "" - - private var pageBuilder = StringBuilder(pageTop).appendLine() - - fun saveHtml(fileName: String = "Report.html") { - File(fileName).writeText(pageBuilder.toString() + pageBottom) - } - - fun addText(text: String) { - pageBuilder.append("
$text
") - } - - fun addRawHTML(HTMLCode: String) { - pageBuilder.append(HTMLCode) - } - - fun addBreak() { - addText("
") - } - - fun addHeader1(header: String){ - addText("

$header

") - } - - fun addHeader2(header: String){ - addText("

$header

") - } - - fun addHeader3(header: String){ - addText("

$header

") - } - -} diff --git a/utbot-analytics/src/main/kotlin/org/utbot/visual/TracePathReport.kt b/utbot-analytics/src/main/kotlin/org/utbot/visual/TracePathReport.kt deleted file mode 100644 index e7f58a7c..00000000 --- a/utbot-analytics/src/main/kotlin/org/utbot/visual/TracePathReport.kt +++ /dev/null @@ -1,167 +0,0 @@ -package org.utbot.visual - -import org.utbot.summary.tag.BasicTypeTag -import org.utbot.summary.tag.ExecutionTag -import org.utbot.summary.tag.UniquenessTag -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTag -import soot.jimple.JimpleBody - -class TracePathReport : AbstractHtmlReport(bodyWidth = 1200) { - private val tab = "    " - - private val freqSymbols = mapOf( - UniquenessTag.Common to " ", - UniquenessTag.Unique to "★ ", - UniquenessTag.Partly to "► " - ) - - private val basicTagColors = mapOf( - BasicTypeTag.Initialization to "#aab7b8", - BasicTypeTag.Condition to "black", - BasicTypeTag.Return to "#28b463", - BasicTypeTag.Assignment to "black", - BasicTypeTag.Basic to "black", - BasicTypeTag.ExceptionAssignment to "red", - BasicTypeTag.ExceptionThrow to "red", - BasicTypeTag.Invoke to "black", - BasicTypeTag.IterationStart to "blue", - BasicTypeTag.IterationEnd to "#2874a6" - ) - - private val executionPostfix = mapOf( - ExecutionTag.True to " : ✓", - ExecutionTag.False to " : ✗", - ExecutionTag.Executed to "" - ) - - fun addJimpleBody(jimpleBody: JimpleBody?) { - if (jimpleBody == null) - return - var result = "

Jimple Body

\n" - jimpleBody.units.forEach { - result += "${it.javaSourceStartLineNumber}:$tab $it
\n" - } - - builder.addRawHTML(result) - } - - private fun buildStructViewStatementTag(statementTag: StatementTag?): String { - if (statementTag == null) - return "" - var result = "
  • ${statementTag.step.stmt} \n" + - "
    Decision = ${markDecision(statementTag.executionTag)}\n" + - "
    Line = ${statementTag.line} \n" + - "
    Type = ${statementTag.basicTypeTag} \n" + - "
    Frequency = ${statementTag.uniquenessTag} \n" + - "
    Call times = ${statementTag.callOrderTag}
    \n" + - "
  • " - - if (statementTag.invoke != null) { - result += "\n
    Invocation:
    \n" + - "
      ${buildStructViewStatementTag(statementTag.invoke)}
    \n" - } - if (statementTag.iterations.size > 0) { - result += "Iterations:\n" - result += "
      " - for (i in 0 until statementTag.iterations.size) { - result += "
      Iteration $i
      ${buildStructViewStatementTag(statementTag.iterations[i])}\n" - } - result += "
    " - } - if (statementTag.next != null) { - result += "
    ${buildStructViewStatementTag(statementTag.next)}\n" - } - return result - } - - fun addStructViewTraces(tracesTags: Iterable) { - var table = "

    Struct View

    \n " + - "\n" - tracesTags.forEach { - table += "\n" - } - table += "\n" - builder.addRawHTML(table) - } - - fun addTracesTable(tagsToKeywords: List>, name: String) { - var table = "

    $name

    \n" + - "
      ${buildStructViewStatementTag(it.rootStatementTag)}
    " - - table += "" - table += "" - table += "" - table += " " - table += "" - - for ((clusterNum, clusterTraceTags) in tagsToKeywords.withIndex()) { - - for (traceTags in clusterTraceTags) { - table += "" - val traceTagsVisual = traceTags.rootStatementTag?.let { visualizeStatementTag(it) } - table += "" - - table += "" - - table += "" - - table += "" - table += "" - } - } - table += "
    Jimple codeSource codeKeywordsComment
    $clusterNum
    "
    -                table += traceTagsVisual ?: "None"
    -                table += "
    "
    -                table += "No source code yet"
    -                table += "
    "
    -                table += traceTags.summary
    -                table += "
    " - builder.addRawHTML(table) - } - - private fun markDecision(executionTag: ExecutionTag): String { - var result = when (executionTag) { - ExecutionTag.True -> "" - ExecutionTag.False -> "" - else -> "" - } - result += "$executionTag " - return result - } - - fun addExecutionVisualisation(rootTag: StatementTag, name: String){ - var visualization = "

    $name

    \n" - visualization += "
    "
    -        visualization += visualizeStatementTag(rootTag)
    -        visualization += "
    " - builder.addRawHTML(visualization) - } - - private fun visualizeStatementTag(tag: StatementTag, tabPrefix: String = ""): String { - var localTabPrefix = tabPrefix - var visualization = "" - - visualization += "" - visualization += tag.line.toString().padEnd(3, ' ') + ':' - visualization += localTabPrefix - visualization += freqSymbols[tag.uniquenessTag] - if (tag.uniquenessTag == UniquenessTag.Unique) visualization += "" - visualization += tag.step.stmt.toString() - visualization += executionPostfix[tag.executionTag] - if (tag.uniquenessTag == UniquenessTag.Unique) visualization += "" - visualization += "" - visualization += "\n" - - if (tag.invoke != null) visualization += visualizeStatementTag(tag.invoke!!, localTabPrefix + "\t") - if (tag.iterations.size > 0) { - for (cycle in tag.iterations) visualization += visualizeStatementTag(cycle, localTabPrefix + "\t") - } - - if (tag.basicTypeTag == BasicTypeTag.IterationEnd) localTabPrefix = localTabPrefix.removePrefix("\t") - if (tag.next != null) visualization += visualizeStatementTag(tag.next!!, localTabPrefix) - - return visualization - } - -} \ No newline at end of file diff --git a/utbot-analytics/src/main/resources/config.properties b/utbot-analytics/src/main/resources/config.properties deleted file mode 100644 index e71418b7..00000000 --- a/utbot-analytics/src/main/resources/config.properties +++ /dev/null @@ -1,3 +0,0 @@ -project=antlr -selectors=random_120,cpi_120,fork_120,inheritors_120,random_120 -covStatistics=logs/covStatistics,logs/covStatistics \ No newline at end of file diff --git a/utbot-analytics/src/main/resources/jlearch_features b/utbot-analytics/src/main/resources/jlearch_features deleted file mode 100644 index 0a852928..00000000 --- a/utbot-analytics/src/main/resources/jlearch_features +++ /dev/null @@ -1,13 +0,0 @@ -stack -successor -testCase -coverageByBranch -coverageByPath -depth -cpicnt -icnt -covNew -subpath1 -subpath2 -subpath4 -subpath8 \ No newline at end of file diff --git a/utbot-analytics/src/main/resources/models.json b/utbot-analytics/src/main/resources/models.json deleted file mode 100644 index 1f1049f6..00000000 --- a/utbot-analytics/src/main/resources/models.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "CART": { - "smile.cart.max.depth": "20", - "smile.cart.node.size": "20", - "smile.cart.max.nodes": "20", - "smile.cart.split.rule": "GINI" - }, - "LOGISTIC": { - "smile.logistic.max.iterations": "250", - "smile.logistic.tolerance": "0.001", - "smile.logistic.lambda": "0.01" - }, - "KNN": { - "knn.k": "7" - }, - "LDA": { - "smile.lda.tolerance": "1.0E-3" - }, - "FISHER": { - "smile.fld.tolerance": "0.0001" - }, - "QDA": { - "smile.qda.tolerance": "1.0E-3" - }, - "RDA": { - "smile.rda.alpha": "0.1", - "smile.rda.tolerance": "0.0001" - }, - "SVM": { - "svm.tol": "0.001", - "svm.C": "15" - }, - "RANDOMFOREST": { - "smile.random.forest.sample.rate": "0.5", - "smile.random.forest.max.nodes": "50", - "smile.random.forest.node.size": "1", - "smile.random.forest.trees": "50", - "smile.random.forest.max.depth": "20", - "smile.random.forest.mtry": "0", - "smile.random.forest.split.rule": "GINI" - }, - "GBM": { - "smile.gbt.shrinkage": "0.1", - "smile.gbt.sample.rate": "0.8", - "smile.gbt.node.size": "12", - "smile.gbt.max.nodes": "20", - "smile.gbt.max.depth": "30", - "smile.gbt.trees": "50" - }, - "ADABOOST": { - "smile.adaboost.node.size": "1", - "smile.adaboost.trees": "50", - "smile.adaboost.max.depth": "20", - "smile.adaboost.max.nodes": "6" - }, - "ONE_LAYER_MLP": { - "smile.mlp.onelayer.epsilon": "0.0004", - "smile.mlp.onelayer.endLearningRate": "0.01", - "smile.mlp.onelayer.momentum": "0.00005", - "smile.mlp.onelayer.weightDecay": "0.00005", - "smile.mlp.onelayer.epochs": "500", - "smile.mlp.onelayer.initialLearninRate": "0.01", - "smile.mlp.onelayer.rho": "0.00005", - "smile.mlp.onelayer.learningRateDecay": "500.0", - "smile.mlp.onelayer.neurons": "10" - }, - "TWO_LAYER_MLP": { - "smile.mlp.twolayer.epsilon": "0.0001", - "smile.mlp.twolayer.endLearningRate": "0.01", - "smile.mlp.twolayer.learningRateDecay": "500.0", - "smile.mlp.twolayer.first_layer": "12", - "smile.mlp.twolayer.momentum": "0.00005", - "smile.mlp.twolayer.epochs": "800", - "smile.mlp.twolayer.rho": "0.00005", - "smile.mlp.twolayer.initialLearninRate": "0.01", - "smile.mlp.twolayer.second_layer": "8", - "smile.mlp.twolayer.weightDecay": "0.00005" - } -} \ No newline at end of file diff --git a/utbot-analytics/src/test/java/org/utbot/features/OnePath.java b/utbot-analytics/src/test/java/org/utbot/features/OnePath.java deleted file mode 100644 index 15bd5a87..00000000 --- a/utbot-analytics/src/test/java/org/utbot/features/OnePath.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.features; - -/** - * Class that have one execution path - */ -public class OnePath { - int onePath() { - return 1; - } -} diff --git a/utbot-analytics/src/test/kotlin/org/utbot/features/FeatureProcessorWithRepetitionTest.kt b/utbot-analytics/src/test/kotlin/org/utbot/features/FeatureProcessorWithRepetitionTest.kt deleted file mode 100644 index b2020d37..00000000 --- a/utbot-analytics/src/test/kotlin/org/utbot/features/FeatureProcessorWithRepetitionTest.kt +++ /dev/null @@ -1,116 +0,0 @@ -package org.utbot.features - -import org.junit.jupiter.api.AfterAll -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.utbot.analytics.EngineAnalyticsContext -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withFeaturePath -import org.utbot.testing.UtValueTestCaseChecker -import java.io.File -import java.io.FileInputStream - -class FeatureProcessorWithRepetitionTest: UtValueTestCaseChecker(OnePath::class, false) { - companion object { - const val featureDir = "src/test/resources/features" - fun reward(coverage: Double, time: Double) = RewardEstimator.reward(coverage, time) - - @JvmStatic - @BeforeAll - fun beforeAll() { - File(featureDir).mkdir() - EngineAnalyticsContext.featureProcessorFactory = FeatureProcessorWithStatesRepetitionFactory() - EngineAnalyticsContext.featureExtractorFactory = FeatureExtractorFactoryImpl() - } - - @JvmStatic - @AfterAll - fun afterAll() { - File(featureDir).deleteRecursively() - } - } - - @Test - fun testCalculateRewards() { - val statesToInt = mapOf( - "a0" to 1, - "c0" to 2, - "f0" to 3, - "g0" to 4, - "c1" to 5, - "f1" to 6, - "g1" to 7, - "b0" to 8, - "d0" to 9 - ) - - val expectedRewards: Map = mapOf( - "a0" to reward(6.0, 15.0), - "c0" to reward(4.0, 10.0), - "f0" to reward(4.0, 8.0), - "g0" to reward(4.0, 2.0), - "c1" to reward(0.0, 4.0), - "f1" to reward(0.0, 3.0), - "g1" to reward(0.0, 2.0), - "b0" to reward(2.0, 4.0), - "d0" to reward(2.0, 2.0) - ) - - val rewardEstimator = RewardEstimator() - val testCases = listOf( - TestCase( - listOf( - statesToInt["g0"]!! to 2L, - statesToInt["f0"]!! to 2L, - statesToInt["c0"]!! to 2L, - statesToInt["a0"]!! to 1L - ), - newCoverage = 4, testIndex = 0 - ), - TestCase( - listOf( - statesToInt["g1"]!! to 2L, - statesToInt["f1"]!! to 1L, - statesToInt["c1"]!! to 1L, - statesToInt["f0"]!! to 2L, - statesToInt["c0"]!! to 2L, - statesToInt["a0"]!! to 1L - ), - newCoverage = 0, - testIndex = 1 - ), - TestCase( - listOf(statesToInt["d0"]!! to 2L, statesToInt["b0"]!! to 2L, statesToInt["a0"]!! to 1L), - newCoverage = 2, - testIndex = 2 - ) - ) - - val rewards = rewardEstimator.calculateRewards(testCases) - Assertions.assertEquals(9, rewards.size) - expectedRewards.forEach { - Assertions.assertEquals(it.value, rewards[statesToInt[it.key]]) - } - } - - /** - * Test, that we correctly add test cases and dump them into file - * - * NOTE: works only if the - * ``` - * UtSettings.pathSelectorType == PathSelectorType.INHERITORS_SELECTOR - * ``` - */ - @Test - fun addTestCaseTest() { - withFeaturePath(featureDir) { - check( - OnePath::onePath, - eq(1) - ) - - Assertions.assertTrue(FileInputStream("$featureDir/0.csv").bufferedReader().readLines().size > 1) - } - } -} diff --git a/utbot-analytics/src/test/kotlin/org/utbot/predictors/LinearRegressionPredictorTest.kt b/utbot-analytics/src/test/kotlin/org/utbot/predictors/LinearRegressionPredictorTest.kt deleted file mode 100644 index 32f36b05..00000000 --- a/utbot-analytics/src/test/kotlin/org/utbot/predictors/LinearRegressionPredictorTest.kt +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.predictors - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Test -import org.utbot.framework.PathSelectorType -import org.utbot.framework.UtSettings -import org.utbot.testcheckers.withPathSelectorType -import org.utbot.testcheckers.withModelPath - -class LinearRegressionPredictorTest { - @Test - fun simpleTest() { - withModelPath("src/test/resources") { - val pred = LinearRegressionPredictor() - - val features = listOf( - listOf(2.0, 3.0), - listOf(2.0, 3.0) - ) - - assertEquals(listOf(6.0, 6.0), pred.predict(features)) - } - } - - @Test - fun wrongFormatTest() { - withModelPath("src/test/resources") { - withPathSelectorType(PathSelectorType.ML_SELECTOR) { - LinearRegressionPredictor("wrong_format_linear.txt") - assertEquals(PathSelectorType.INHERITORS_SELECTOR, UtSettings.pathSelectorType) - } - } - } - - @Test - fun simpleTestNotBatch() { - withModelPath("src/test/resources") { - val pred = LinearRegressionPredictor() - - val features = listOf(2.0, 3.0) - - assertEquals(6.0, pred.predict(features)) - } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/test/kotlin/org/utbot/predictors/MultilayerPerceptronPredictorTest.kt b/utbot-analytics/src/test/kotlin/org/utbot/predictors/MultilayerPerceptronPredictorTest.kt deleted file mode 100644 index c6829c6b..00000000 --- a/utbot-analytics/src/test/kotlin/org/utbot/predictors/MultilayerPerceptronPredictorTest.kt +++ /dev/null @@ -1,80 +0,0 @@ -package org.utbot.predictors - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.analytics.MLPredictor -import org.utbot.framework.PathSelectorType -import org.utbot.framework.UtSettings -import org.utbot.testcheckers.withPathSelectorType -import org.utbot.testcheckers.withModelPath -import kotlin.system.measureNanoTime - -class MultilayerPerceptronPredictorTest { - @Test - fun simpleTest() { - withModelPath("src/test/resources") { - val pred = MultilayerPerceptronPredictor() - - val features = listOf(0.0, 0.0) - - assertEquals(5.0, pred.predict(features)) - } - } - - @Disabled("Just to see the performance of predictors") - @Test - fun performanceTest() { - val features = (1..13).map { 1.0 }.toList() - withModelPath("models\\test\\0") { - val averageTime = calcAverageTimeForModelPredict(::MultilayerPerceptronPredictor, 100, features) - println(averageTime) - } - } - - internal fun calcAverageTimeForModelPredict( - model: () -> MLPredictor, - iterations: Int, - features: List - ): Double { - val pred = model() - - (1..iterations).map { - pred.predict(features) - } - - return (1..iterations) - .map { measureNanoTime { pred.predict(features) } } - .average() - } - - @Test - fun corruptedModelFileTest() { - withModelPath("src/test/resources") { - withPathSelectorType(PathSelectorType.ML_SELECTOR) { - MultilayerPerceptronPredictor(modelPath = "corrupted_nn.json") - assertEquals(PathSelectorType.INHERITORS_SELECTOR, UtSettings.pathSelectorType) - } - } - } - - @Test - fun emptyModelFileTest() { - withModelPath("src/test/resources") { - withPathSelectorType(PathSelectorType.ML_SELECTOR) { - MultilayerPerceptronPredictor(modelPath = "empty_nn.json") - assertEquals(PathSelectorType.INHERITORS_SELECTOR, UtSettings.pathSelectorType) - } - } - } - - @Test - fun corruptedScalerTest() { - withModelPath("src/test/resources") { - withPathSelectorType(PathSelectorType.ML_SELECTOR) { - MultilayerPerceptronPredictor(scalerPath = "corrupted_scaler.txt") - assertEquals(PathSelectorType.INHERITORS_SELECTOR, UtSettings.pathSelectorType) - } - } - } -} \ No newline at end of file diff --git a/utbot-analytics/src/test/resources/corrupted_nn.json b/utbot-analytics/src/test/resources/corrupted_nn.json deleted file mode 100644 index ffc3ef79..00000000 --- a/utbot-analytics/src/test/resources/corrupted_nn.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - dsfds - "linearLayers": [ - [ - [1, 0], - [0, 1] - ], - [ - [1, 0], - [0, 1] - ], - [ - [1, 1] - ] - ], - "activationLayers": [ - "reLU", - "reLU" - ], - "biases": [ - [1, 1], - [1, 1], - [1] - ] -} \ No newline at end of file diff --git a/utbot-analytics/src/test/resources/corrupted_scaler.txt b/utbot-analytics/src/test/resources/corrupted_scaler.txt deleted file mode 100644 index 42ff95f9..00000000 --- a/utbot-analytics/src/test/resources/corrupted_scaler.txt +++ /dev/null @@ -1 +0,0 @@ -1,asada \ No newline at end of file diff --git a/utbot-analytics/src/test/resources/empty_nn.json b/utbot-analytics/src/test/resources/empty_nn.json deleted file mode 100644 index e69de29b..00000000 diff --git a/utbot-analytics/src/test/resources/linear.txt b/utbot-analytics/src/test/resources/linear.txt deleted file mode 100644 index 8a6627b4..00000000 --- a/utbot-analytics/src/test/resources/linear.txt +++ /dev/null @@ -1 +0,0 @@ -1,1,1 \ No newline at end of file diff --git a/utbot-analytics/src/test/resources/log4j2.xml b/utbot-analytics/src/test/resources/log4j2.xml deleted file mode 100644 index 7dde3c2f..00000000 --- a/utbot-analytics/src/test/resources/log4j2.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-analytics/src/test/resources/nn.json b/utbot-analytics/src/test/resources/nn.json deleted file mode 100644 index 945b53ae..00000000 --- a/utbot-analytics/src/test/resources/nn.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "linearLayers": [ - [ - [1, 0], - [0, 1] - ], - [ - [1, 0], - [0, 1] - ], - [ - [1, 1] - ] - ], - "activationLayers": [ - "reLU", - "reLU" - ], - "biases": [ - [1, 1], - [1, 1], - [1] - ] -} \ No newline at end of file diff --git a/utbot-analytics/src/test/resources/scaler.txt b/utbot-analytics/src/test/resources/scaler.txt deleted file mode 100644 index b241d25f..00000000 --- a/utbot-analytics/src/test/resources/scaler.txt +++ /dev/null @@ -1,2 +0,0 @@ -0,0 -1,1 diff --git a/utbot-analytics/src/test/resources/wrong_format_linear.txt b/utbot-analytics/src/test/resources/wrong_format_linear.txt deleted file mode 100644 index bf4d5a1b..00000000 --- a/utbot-analytics/src/test/resources/wrong_format_linear.txt +++ /dev/null @@ -1 +0,0 @@ -1,asdasdsa,asdasd \ No newline at end of file diff --git a/utbot-android-studio/build.gradle.kts b/utbot-android-studio/build.gradle.kts deleted file mode 100644 index 96197ffc..00000000 --- a/utbot-android-studio/build.gradle.kts +++ /dev/null @@ -1,46 +0,0 @@ -plugins { - id("org.jetbrains.intellij") version "1.13.1" -} - -intellij { - /* - The list of Android Studio releases can be found here https://plugins.jetbrains.com/docs/intellij/android-studio-releases-list.html - For each release a compatible Intellij Idea version can be found in the right column. Specify it in "version.set("...") - - NOTE!!! - We use Android Studio Chipmunk (2021.2.1), although Android Studio Dolphin (2021.3.1) has been released. - The reason is that a version of Kotlin plugin compatible with Android Studio is required. - The list of Kotlin plugin releases can be found here https://plugins.jetbrains.com/plugin/6954-kotlin/versions/stable - The last compatible with AS plugin version on 19 Oct 2022 is Kotlin 212-1.7.10-release-333-AS5457.46, - it is not compatible with Dolphin release (https://plugins.jetbrains.com/plugin/6954-kotlin/versions/stable/193255). - */ - - val androidPlugins = listOf("org.jetbrains.android") - - val jvmPlugins = listOf( - "java", - "org.jetbrains.kotlin:212-1.7.10-release-333-AS5457.46" - ) - - plugins.set(jvmPlugins + androidPlugins) - - version.set("212.5712.43") - type.set("IC") -} - -project.tasks.asMap["runIde"]?.enabled = false - -tasks { - compileKotlin { - kotlinOptions { - jvmTarget = "11" - freeCompilerArgs = freeCompilerArgs + listOf("-Xallow-result-return-type", "-Xsam-conversions=class") - allWarningsAsErrors = false - } - } - - java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } -} \ No newline at end of file diff --git a/utbot-android-studio/src/main/kotlin/org/androidstudio/plugin/util/UtAndroidGradleJavaProjectModelModifier.kt b/utbot-android-studio/src/main/kotlin/org/androidstudio/plugin/util/UtAndroidGradleJavaProjectModelModifier.kt deleted file mode 100644 index 4b5665d7..00000000 --- a/utbot-android-studio/src/main/kotlin/org/androidstudio/plugin/util/UtAndroidGradleJavaProjectModelModifier.kt +++ /dev/null @@ -1,117 +0,0 @@ -package org.androidstudio.plugin.util - -import com.android.tools.idea.gradle.AndroidGradleJavaProjectModelModifier -import com.android.tools.idea.gradle.dsl.api.GradleBuildModel -import com.android.tools.idea.gradle.dsl.api.dependencies.ArtifactDependencySpec -import com.android.tools.idea.gradle.dsl.api.dependencies.CommonConfigurationNames -import com.android.tools.idea.gradle.project.sync.GradleSyncInvoker -import com.android.tools.idea.gradle.project.sync.GradleSyncListener -import com.android.tools.idea.gradle.project.sync.idea.GradleSyncExecutor -import com.android.tools.idea.gradle.util.GradleUtil -import com.android.tools.idea.project.AndroidProjectInfo -import com.android.tools.idea.projectsystem.TestArtifactSearchScopes -import com.google.wireless.android.sdk.stats.GradleSyncStats -import com.intellij.ide.plugins.PluginManager -import com.intellij.openapi.command.WriteCommandAction -import com.intellij.openapi.command.undo.BasicUndoableAction -import com.intellij.openapi.command.undo.UndoManager -import com.intellij.openapi.extensions.PluginId -import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.DependencyScope -import com.intellij.openapi.roots.ExternalLibraryDescriptor -import com.intellij.openapi.roots.libraries.Library -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.pom.java.LanguageLevel -import com.intellij.util.containers.ContainerUtil -import org.jetbrains.concurrency.AsyncPromise -import org.jetbrains.concurrency.Promise -import org.jetbrains.concurrency.rejectedPromise - -class UtAndroidGradleJavaProjectModelModifier : AndroidGradleJavaProjectModelModifier() { - override fun addExternalLibraryDependency( - modules: Collection, - descriptor: ExternalLibraryDescriptor, - scope: DependencyScope - ): Promise? { - val module = ContainerUtil.getFirstItem(modules) ?: return null - val dependencySpec = ArtifactDependencySpec.create(descriptor.libraryArtifactId, descriptor.libraryGroupId, descriptor.preferredVersion) - return addExternalLibraryDependency(module, dependencySpec, scope) - } - - private fun addExternalLibraryDependency( - module: Module, - dependencySpec: ArtifactDependencySpec, - scope: DependencyScope, - ): Promise? { - val project = module.project - val openedFile = FileEditorManagerEx.getInstanceEx(project).currentFile - val buildModelsToUpdate: MutableList = ArrayList() - - val buildModel = GradleBuildModel.get(module) ?: return null - val configurationName = getConfigurationName(module, scope, openedFile) - val dependencies = buildModel.dependencies() - dependencies.addArtifact(configurationName, dependencySpec) - buildModelsToUpdate.add(buildModel) - - WriteCommandAction.writeCommandAction(project).withName("Add Gradle Library Dependency").run { - buildModelsToUpdate.forEach { buildModel -> buildModel.applyChanges() } - registerUndoAction(project) - } - - return doAndroidGradleSync(project, GradleSyncStats.Trigger.TRIGGER_MODIFIER_ADD_LIBRARY_DEPENDENCY) - } - - private fun getConfigurationName(module: Module, scope: DependencyScope, openedFile: VirtualFile?): String = - GradleUtil.mapConfigurationName( - getLegacyConfigurationName(module, scope, openedFile), - GradleUtil.getAndroidGradleModelVersionInUse(module), - false - ) - - private fun getLegacyConfigurationName( - module: Module, - scope: DependencyScope, - openedFile: VirtualFile? - ): String { - if (!scope.isForProductionCompile) { - val testScopes = TestArtifactSearchScopes.getInstance(module) - if (testScopes != null && openedFile != null) { - return if (testScopes.isAndroidTestSource(openedFile)) CommonConfigurationNames.ANDROID_TEST_COMPILE else CommonConfigurationNames.TEST_COMPILE - } - } - return CommonConfigurationNames.COMPILE - } - - private fun registerUndoAction(project: Project) { - UndoManager.getInstance(project).undoableActionPerformed(object : BasicUndoableAction() { - - override fun undo() { - doAndroidGradleSync(project, GradleSyncStats.Trigger.TRIGGER_MODIFIER_ACTION_UNDONE) - - } - - override fun redo() { - doAndroidGradleSync(project, GradleSyncStats.Trigger.TRIGGER_MODIFIER_ACTION_REDONE) - } - }) - } - - private fun doAndroidGradleSync(project: Project, trigger: GradleSyncStats.Trigger): AsyncPromise { - val promise = AsyncPromise() - val request = GradleSyncInvoker.Request(trigger) - val listener = object : GradleSyncListener { - override fun syncSucceeded(project: Project) { - promise.setResult(null) - } - - override fun syncFailed(project: Project, errorMessage: String) { - promise.setError(errorMessage) - } - } - GradleSyncExecutor(project).sync(request, listener) - - return promise - } -} \ No newline at end of file diff --git a/utbot-android-studio/src/main/kotlin/org/androidstudio/plugin/util/UtAndroidGradleJavaProjectModelModifierWrapper.kt b/utbot-android-studio/src/main/kotlin/org/androidstudio/plugin/util/UtAndroidGradleJavaProjectModelModifierWrapper.kt deleted file mode 100644 index 4eba5a7d..00000000 --- a/utbot-android-studio/src/main/kotlin/org/androidstudio/plugin/util/UtAndroidGradleJavaProjectModelModifierWrapper.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.androidstudio.plugin.util - -import com.android.tools.idea.model.AndroidModel -import com.intellij.facet.ProjectFacetManager -import com.intellij.ide.plugins.PluginManager -import com.intellij.openapi.extensions.PluginId -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.DependencyScope -import com.intellij.openapi.roots.ExternalLibraryDescriptor -import com.intellij.openapi.roots.impl.IdeaProjectModelModifier -import com.intellij.openapi.roots.libraries.Library -import com.intellij.pom.java.LanguageLevel -import org.jetbrains.android.facet.AndroidFacet -import org.jetbrains.concurrency.Promise - -/* -NOTE: this is a wrapper for [UtAndroidGradleJavaProjectModelModifier]. -The purpose of this wrapper is to avoid inheritance of [AndroidGradleJavaProjectModelModifier] -because it leads to crashes when Android plugin is disabled. - */ -class UtAndroidGradleJavaProjectModelModifierWrapper(val project: Project): IdeaProjectModelModifier(project) { - - override fun addExternalLibraryDependency( - modules: Collection, - descriptor: ExternalLibraryDescriptor, - scope: DependencyScope - ): Promise? { - if (!isAndroidGradleProject(project)) { - return null - } - - // NOTE: we use such DependencyScope to obtain `implementation`, not `testImplementation` - // to deal with androidTest modules (there is no way to add `androidTestImplementation` additionally. - return UtAndroidGradleJavaProjectModelModifier().addExternalLibraryDependency(modules, descriptor, DependencyScope.COMPILE) - } - - override fun addModuleDependency( - from: Module, - to: Module, - scope: DependencyScope, - exported: Boolean - ): Promise? = null - - override fun addLibraryDependency( - from: Module, - library: Library, - scope: DependencyScope, - exported: Boolean - ): Promise? = null - - override fun changeLanguageLevel(module: Module, level: LanguageLevel): Promise? = null - - private fun isAndroidGradleProject(project: Project): Boolean { - val pluginId = PluginId.findId("org.jetbrains.android") - if (pluginId == null || PluginManager.getInstance().findEnabledPlugin(pluginId) == null) { - return false - } - - return ProjectFacetManager.getInstance(project).getFacets(AndroidFacet.ID).stream() - .anyMatch { AndroidModel.isRequired(it) } - } -} \ No newline at end of file diff --git a/utbot-cli-go/build.gradle b/utbot-cli-go/build.gradle deleted file mode 100644 index 1f0cf227..00000000 --- a/utbot-cli-go/build.gradle +++ /dev/null @@ -1,77 +0,0 @@ -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - freeCompilerArgs += ["-Xallow-result-return-type", "-Xsam-conversions=class"] - } -} - -tasks.withType(JavaCompile) { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_17 -} - -configurations { - fetchInstrumentationJar -} - -dependencies { - implementation project(':utbot-framework') - implementation project(':utbot-cli') - implementation project(':utbot-go') - - // Without this dependency testng tests do not run. - implementation group: 'com.beust', name: 'jcommander', version: '1.48' - implementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'com.github.ajalt.clikt', name: 'clikt', version: cliktVersion - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junit5Version - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit5Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version - implementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - //noinspection GroovyAssignabilityCheck - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') - - implementation 'com.beust:klaxon:5.5' // to read and write JSON -} - -processResources { - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} - -task createProperties(dependsOn: processResources) { - doLast { - new File("$buildDir/resources/main/version.properties").withWriter { w -> - Properties properties = new Properties() - //noinspection GroovyAssignabilityCheck - properties['version'] = project.version.toString() - properties.store w, null - } - } -} - -classes { - dependsOn createProperties -} - -jar { - manifest { - attributes 'Main-Class': 'org.utbot.cli.go.ApplicationKt' - attributes 'Bundle-SymbolicName': 'org.utbot.cli.go' - attributes 'Bundle-Version': "${project.version}" - attributes 'Implementation-Title': 'UtBot Go CLI' - attributes 'JAR-Type': 'Fat JAR' - } - - archiveVersion.set(project.version as String) - - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/Application.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/Application.kt deleted file mode 100644 index 2492442c..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/Application.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.cli.go - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.subcommands -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.versionOption -import com.github.ajalt.clikt.parameters.types.enum -import org.slf4j.event.Level -import org.utbot.cli.getVersion -import org.utbot.cli.setVerbosity -import kotlin.system.exitProcess -import org.utbot.cli.go.commands.GenerateGoTestsCommand -import org.utbot.cli.go.commands.RunGoTestsCommand - -class UtBotCli : CliktCommand(name = "UnitTestBot Go Command Line Interface") { - private val verbosity by option("--verbosity", help = "Changes verbosity level, case insensitive") - .enum(ignoreCase = true) - .default(Level.INFO) - - override fun run() = setVerbosity(verbosity) - - init { - versionOption(getVersion()) - } -} - -fun main(args: Array) = try { - UtBotCli().subcommands( - GenerateGoTestsCommand(), - RunGoTestsCommand(), - ).main(args) -} catch (ex: Throwable) { - ex.printStackTrace() - exitProcess(1) -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/CoverageJsonStructs.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/CoverageJsonStructs.kt deleted file mode 100644 index 55c97cb5..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/CoverageJsonStructs.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.cli.go.commands - -import com.beust.klaxon.Json - -internal data class Position(@Json(index = 1) val line: Int, @Json(index = 2) val column: Int) - -internal data class CodeRegion(@Json(index = 1) val start: Position, @Json(index = 2) val end: Position) - -internal data class CoveredSourceFile( - @Json(index = 1) val sourceFileName: String, - @Json(index = 2) val covered: List, - @Json(index = 3) val uncovered: List -) \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/GenerateGoTestsCommand.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/GenerateGoTestsCommand.kt deleted file mode 100644 index b836808e..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/GenerateGoTestsCommand.kt +++ /dev/null @@ -1,154 +0,0 @@ -package org.utbot.cli.go.commands - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.* -import com.github.ajalt.clikt.parameters.types.int -import com.github.ajalt.clikt.parameters.types.long -import mu.KotlinLogging -import org.utbot.cli.go.logic.CliGoUtTestsGenerationController -import org.utbot.cli.go.util.durationInMillis -import org.utbot.cli.go.util.now -import org.utbot.cli.go.util.toAbsolutePath -import org.utbot.go.logic.GoUtTestsGenerationConfig -import org.utbot.go.logic.TestsGenerationMode -import java.nio.file.Files -import java.nio.file.Paths - -private val logger = KotlinLogging.logger {} - -class GenerateGoTestsCommand : - CliktCommand(name = "generateGo", help = "Generates tests for the specified Go source file") { - - private val sourceFile: String by option( - "-s", "--source", - help = "Specifies Go source file to generate tests for" - ) - .required() - .check("Must exist and ends with *.go suffix") { - it.endsWith(".go") && Files.exists(Paths.get(it)) - } - - private val selectedFunctionNames: List by option( - "-f", "--function", - help = StringBuilder() - .append("Specifies function name to generate tests for. ") - .append("Can be used multiple times to select multiple functions at the same time.") - .toString() - ) - .multiple() - - private val selectedMethodNames: List by option( - "-m", "--method", - help = StringBuilder() - .append("Specifies method name to generate tests for. ") - .append("Can be used multiple times to select multiple methods at the same time.") - .toString() - ) - .multiple() - - private val goExecutablePath: String by option( - "-go", - help = "Specifies path to Go executable. For example, it could be [/usr/local/go/bin/go] for some systems" - ) - .required() // TODO: attempt to find it if not specified - - private val gopath: String by option( - "-gopath", - help = buildString { - appendLine("Specifies path the location of your workspace.") - appendLine("It defaults to a directory named go inside your home directory, so \$HOME/go on Unix, \$home/go on Plan 9, and %USERPROFILE%\\go (usually C:\\Users\\YourName\\go) on Windows.") - } - ).required() // TODO: attempt to find it if not specified - - private val numberOfFuzzingProcesses: Int by option( - "-parallel", - help = "The number of fuzzing processes running at once, default 8." - ) - .int() - .default(8) - .check("Must be positive") { it > 0 } - - private val eachFunctionExecutionTimeoutMillis: Long by option( - "-et", "--each-execution-timeout", - help = StringBuilder() - .append("Specifies a timeout in milliseconds for each fuzzed function execution.") - .append("Default is ${GoUtTestsGenerationConfig.DEFAULT_EACH_EXECUTION_TIMEOUT_MILLIS} ms") - .toString() - ) - .long() - .default(GoUtTestsGenerationConfig.DEFAULT_EACH_EXECUTION_TIMEOUT_MILLIS) - .check("Must be positive") { it > 0 } - - private val allFunctionExecutionTimeoutMillis: Long by option( - "-at", "--all-execution-timeout", - help = StringBuilder() - .append("Specifies a timeout in milliseconds for all fuzzed function execution.") - .append("Default is ${GoUtTestsGenerationConfig.DEFAULT_ALL_EXECUTION_TIMEOUT_MILLIS} ms") - .toString() - ) - .long() - .default(GoUtTestsGenerationConfig.DEFAULT_ALL_EXECUTION_TIMEOUT_MILLIS) - .check("Must be positive") { it > 0 } - - private val printToStdOut: Boolean by option( - "-p", - "--print-test", - help = "Specifies whether a test should be printed out to StdOut. Is disabled by default" - ) - .flag(default = false) - - private val overwriteTestFiles: Boolean by option( - "-w", - "--overwrite", - help = "Specifies whether to overwrite the output test file if it already exists. Is disabled by default" - ) - .flag(default = false) - - private val fuzzingMode: Boolean by option( - "-fm", - "--fuzzing-mode", - help = "Stop test generation when a panic or error occurs (only one test will be generated for one of these cases)" - ) - .flag(default = false) - - override fun run() { - if (selectedFunctionNames.isEmpty() && selectedMethodNames.isEmpty()) { - throw IllegalArgumentException("Functions or methods must be passed") - } - - val sourceFileAbsolutePath = sourceFile.toAbsolutePath() - val goExecutableAbsolutePath = goExecutablePath.toAbsolutePath() - val gopathAbsolutePath = gopath.toAbsolutePath() - val mode = if (fuzzingMode) { - TestsGenerationMode.FUZZING_MODE - } else { - TestsGenerationMode.DEFAULT - } - - val testsGenerationStarted = now() - logger.info { "Test file generation for [$sourceFile] - started" } - try { - CliGoUtTestsGenerationController( - printToStdOut = printToStdOut, - overwriteTestFiles = overwriteTestFiles - ).generateTests( - mapOf(sourceFileAbsolutePath to selectedFunctionNames), - mapOf(sourceFileAbsolutePath to selectedMethodNames), - GoUtTestsGenerationConfig( - goExecutableAbsolutePath, - gopathAbsolutePath, - numberOfFuzzingProcesses, - mode, - eachFunctionExecutionTimeoutMillis, - allFunctionExecutionTimeoutMillis - ), - ) - } catch (t: Throwable) { - logger.error { "An error has occurred while generating test for snippet $sourceFile: $t" } - throw t - } finally { - val duration = durationInMillis(testsGenerationStarted) - logger.info { "Test file generation for [$sourceFile] - completed in [$duration] (ms)" } - } - } -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/RunGoTestsCommand.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/RunGoTestsCommand.kt deleted file mode 100644 index b5e58476..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/commands/RunGoTestsCommand.kt +++ /dev/null @@ -1,223 +0,0 @@ -package org.utbot.cli.go.commands - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.* -import com.github.ajalt.clikt.parameters.types.choice -import mu.KotlinLogging -import org.utbot.cli.go.util.* -import org.utbot.go.util.convertObjectToJsonString -import java.io.File - -private val logger = KotlinLogging.logger {} - -class RunGoTestsCommand : CliktCommand(name = "runGo", help = "Runs tests for the specified Go package") { - - private val packageDirectory: String by option( - "-p", "--package", - help = "Specifies Go package to run tests for" - ) - .required() - .check("Must exist and be directory") { - File(it).let { file -> file.exists() && file.isDirectory } - } - - private val goExecutablePath: String by option( - "-go", "--go-path", - help = "Specifies path to Go executable. For example, it could be [/usr/local/go/bin/go] for some systems" - ) - .required() // TODO: attempt to find it if not specified - - private val verbose: Boolean by option( - "-v", "--verbose", - help = "Specifies whether an output should be verbose. Is disabled by default" - ) - .flag(default = false) - - private val json: Boolean by option( - "-j", "--json", - help = "Specifies whether an output should be in JSON format. Is disabled by default" - ) - .flag(default = false) - - private val output: String? by option( - "-o", "--output", - help = "Specifies output file for tests run report. Prints to StdOut by default" - ) - - private enum class CoverageMode(val displayName: String) { - REGIONS_HTML("html"), PERCENTS_BY_FUNCS("func"), REGIONS_JSON("json"); - - override fun toString(): String = displayName - - val fileExtensionValidator: (String) -> Boolean - get() = when (this) { - REGIONS_HTML -> { - { it.substringAfterLast('.') == "html" } - } - - REGIONS_JSON -> { - { it.substringAfterLast('.') == "json" } - } - - PERCENTS_BY_FUNCS -> { - { true } - } - } - } - - private val coverageMode: CoverageMode? by option( - "-cov-mode", "--coverage-mode", - help = StringBuilder() - .append("Specifies whether a test coverage report should be generated and defines its mode. ") - .append("Coverage report generation is disabled by default") - .toString() - ) - .choice( - CoverageMode.REGIONS_HTML.toString() to CoverageMode.REGIONS_HTML, - CoverageMode.PERCENTS_BY_FUNCS.toString() to CoverageMode.PERCENTS_BY_FUNCS, - CoverageMode.REGIONS_JSON.toString() to CoverageMode.REGIONS_JSON, - ) - .check( - StringBuilder() - .append("Test coverage report output file must be set ") - .append("and have an extension that matches the coverage mode") - .toString() - ) { mode -> - coverageOutput?.let { mode.fileExtensionValidator(it) } ?: false - } - - private val coverageOutput: String? by option( - "-cov-out", "--coverage-output", - help = "Specifies output file for test coverage report. Required if [--coverage-mode] is set" - ) - .check("Test coverage report mode must be specified") { - coverageMode != null - } - - override fun run() { - val runningTestsStarted = now() - try { - logger.debug { "Running tests for [$packageDirectory] - started" } - - /* run tests */ - - val packageDirectoryFile = File(packageDirectory).canonicalFile - - val coverProfileFile = if (coverageMode != null) { - createFile(createCoverProfileFileName()) - } else { - null - } - - try { - val runGoTestCommand = mutableListOf( - goExecutablePath.toAbsolutePath().toString(), - "test", - "./" - ) - if (verbose) { - runGoTestCommand.add("-v") - } - if (json) { - runGoTestCommand.add("-json") - } - if (coverageMode != null) { - runGoTestCommand.add("-coverprofile") - runGoTestCommand.add(coverProfileFile!!.canonicalPath) - } - - val outputStream = if (output == null) { - System.out - } else { - createFile(output!!).outputStream() - } - executeCommandAndRedirectStdoutOrFail(runGoTestCommand, packageDirectoryFile, outputStream) - - /* generate coverage report */ - - val coverageOutputFile = coverageOutput?.let { createFile(it) } ?: return - - when (coverageMode) { - null -> { - return - } - - CoverageMode.REGIONS_HTML, CoverageMode.PERCENTS_BY_FUNCS -> { - val runToolCoverCommand = mutableListOf( - "go", - "tool", - "cover", - "-${coverageMode!!.displayName}", - coverProfileFile!!.canonicalPath, - "-o", - coverageOutputFile.canonicalPath - ) - executeCommandAndRedirectStdoutOrFail(runToolCoverCommand, packageDirectoryFile) - } - - CoverageMode.REGIONS_JSON -> { - val coveredSourceFiles = parseCoverProfile(coverProfileFile!!) - val jsonCoverage = convertObjectToJsonString(coveredSourceFiles) - coverageOutputFile.writeText(jsonCoverage) - } - } - } finally { - coverProfileFile?.delete() - } - } catch (t: Throwable) { - logger.error { "An error has occurred while running tests for [$packageDirectory]: $t" } - throw t - } finally { - val duration = durationInMillis(runningTestsStarted) - logger.debug { "Running tests for [$packageDirectory] - completed in [$duration] (ms)" } - } - } - - private fun createCoverProfileFileName(): String { - return "ut_go_cover_profile.out" - } - - private fun parseCoverProfile(coverProfileFile: File): List { - data class CoverageRegions( - val covered: MutableList, - val uncovered: MutableList - ) - - val coverageRegionsBySourceFilesNames = mutableMapOf() - - coverProfileFile.readLines().asSequence() - .drop(1) // drop "mode" value - .forEach { fullLine -> - val (sourceFileFullName, coverageInfoLine) = fullLine.split(":", limit = 2) - val sourceFileName = sourceFileFullName.substringAfterLast("/") - val (regionString, _, countString) = coverageInfoLine.split(" ", limit = 3) - - fun parsePosition(positionString: String): Position { - val (lineNumber, columnNumber) = positionString.split(".", limit = 2).asSequence() - .map { it.toInt() } - .toList() - return Position(lineNumber, columnNumber) - } - val (startString, endString) = regionString.split(",", limit = 2) - val region = CodeRegion(parsePosition(startString), parsePosition(endString)) - - val regions = coverageRegionsBySourceFilesNames.getOrPut(sourceFileName) { - CoverageRegions( - mutableListOf(), - mutableListOf() - ) - } - // it is called "count" in docs, but in reality it is like boolean for covered / uncovered - val count = countString.toInt() - if (count == 0) { - regions.uncovered.add(region) - } else { - regions.covered.add(region) - } - } - - return coverageRegionsBySourceFilesNames.map { (sourceFileName, regions) -> - CoveredSourceFile(sourceFileName, regions.covered, regions.uncovered) - } - } -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/logic/CliGoUtTestsGenerationController.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/logic/CliGoUtTestsGenerationController.kt deleted file mode 100644 index e10f3e97..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/logic/CliGoUtTestsGenerationController.kt +++ /dev/null @@ -1,138 +0,0 @@ -package org.utbot.cli.go.logic - -import mu.KotlinLogging -import org.utbot.cli.go.util.durationInMillis -import org.utbot.cli.go.util.now -import org.utbot.go.api.GoUtFile -import org.utbot.go.api.GoUtFunction -import org.utbot.go.api.GoUtFuzzedFunctionTestCase -import org.utbot.go.gocodeanalyzer.GoSourceCodeAnalyzer -import org.utbot.go.logic.AbstractGoUtTestsGenerationController -import java.io.File -import java.nio.file.Path -import java.time.LocalDateTime - -private val logger = KotlinLogging.logger {} - -class CliGoUtTestsGenerationController( - private val printToStdOut: Boolean, - private val overwriteTestFiles: Boolean -) : AbstractGoUtTestsGenerationController() { - - private lateinit var currentStageStarted: LocalDateTime - - override fun onSourceCodeAnalysisStart( - targetFunctionNamesBySourceFiles: Map>, - targetMethodNamesBySourceFiles: Map> - ): Boolean { - currentStageStarted = now() - logger.debug { "Source code analysis - started" } - - return true - } - - override fun onSourceCodeAnalysisFinished( - analysisResults: Map - ): Boolean { - val stageDuration = durationInMillis(currentStageStarted) - logger.debug { "Source code analysis - completed in [$stageDuration] (ms)" } - - return handleMissingSelectedFunctions(analysisResults) - } - - override fun onPackageInstrumentationStart(): Boolean { - currentStageStarted = now() - logger.debug { "Package instrumentation - started" } - - return true - } - - override fun onPackageInstrumentationFinished(): Boolean { - val stageDuration = durationInMillis(currentStageStarted) - logger.debug { "Package instrumentation - completed in [$stageDuration] (ms)" } - - return true - } - - override fun onTestCasesGenerationForGoSourceFileFunctionsStart( - sourceFile: GoUtFile, - functions: List - ): Boolean { - currentStageStarted = now() - logger.debug { "Test cases generation for [${sourceFile.fileName}] - started" } - - return true - } - - override fun onTestCasesGenerationForGoSourceFileFunctionsFinished( - sourceFile: GoUtFile, - testCases: List - ): Boolean { - val stageDuration = durationInMillis(currentStageStarted) - logger.debug { - "Test cases generation for [${sourceFile.fileName}] functions - completed in [$stageDuration] (ms)" - } - - return true - } - - override fun onTestCasesFileCodeGenerationStart( - sourceFile: GoUtFile, - testCases: List - ): Boolean { - currentStageStarted = now() - logger.debug { "Test cases file code generation for [${sourceFile.fileName}] - started" } - - return true - } - - override fun onTestCasesFileCodeGenerationFinished(sourceFile: GoUtFile, generatedTestsFileCode: String): Boolean { - if (printToStdOut) { - logger.info { generatedTestsFileCode } - return true - } - writeGeneratedCodeToFile(sourceFile, generatedTestsFileCode) - - val stageDuration = durationInMillis(currentStageStarted) - logger.debug { - "Test cases file code generation for [${sourceFile.fileName}] functions - completed in [$stageDuration] (ms)" - } - - return true - } - - private fun handleMissingSelectedFunctions( - analysisResults: Map - ): Boolean { - val missingSelectedFunctionsListMessage = generateMissingSelectedFunctionsListMessage(analysisResults) - val okSelectedFunctionsArePresent = - analysisResults.any { (_, analysisResult) -> analysisResult.functions.isNotEmpty() } - - if (missingSelectedFunctionsListMessage != null) { - logger.warn { "Some selected functions were skipped during source code analysis.$missingSelectedFunctionsListMessage" } - } - if (!okSelectedFunctionsArePresent) { - throw Exception("Nothing to process. No functions were provided") - } - - return true - } - - private fun writeGeneratedCodeToFile(sourceFile: GoUtFile, generatedTestsFileCode: String) { - val testsFileNameWithExtension = createTestsFileNameWithExtension(sourceFile) - val testFile = File(sourceFile.absoluteDirectoryPath).resolve(testsFileNameWithExtension) - if (testFile.exists()) { - val alreadyExistsMessage = "File [${testFile.absolutePath}] already exists" - if (overwriteTestFiles) { - logger.warn { "$alreadyExistsMessage: it will be overwritten" } - } else { - logger.warn { "$alreadyExistsMessage: skipping test generation for [${sourceFile.fileName}]" } - return - } - } - testFile.writeText(generatedTestsFileCode) - } - - private fun createTestsFileNameWithExtension(sourceFile: GoUtFile) = - sourceFile.fileNameWithoutExtension + "_go_ut_test.go" -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/FileUtils.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/FileUtils.kt deleted file mode 100644 index b3d072fd..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/FileUtils.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.cli.go.util - -import java.io.File -import java.nio.file.Path -import java.nio.file.Paths - -fun String.toAbsolutePath(): Path = Paths.get(this).toAbsolutePath() - -fun createFile(filePath: String): File = createFile(File(filePath).canonicalFile) - -fun createFile(file: File): File { - return file.also { - it.parentFile?.mkdirs() - it.createNewFile() - } -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/IoUtils.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/IoUtils.kt deleted file mode 100644 index 220b2f0e..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/IoUtils.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.cli.go.util - -import java.io.InputStream -import java.io.OutputStream - -fun copy(from: InputStream, to: OutputStream?) { - val buffer = ByteArray(10240) - var len: Int - while (from.read(buffer).also { len = it } != -1) { - to?.write(buffer, 0, len) - } -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/ProcessExecutionUtils.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/ProcessExecutionUtils.kt deleted file mode 100644 index 3dbeebd9..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/ProcessExecutionUtils.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.cli.go.util - -import java.io.File -import java.io.InputStreamReader -import java.io.OutputStream - -fun executeCommandAndRedirectStdoutOrFail( - command: List, - workingDirectory: File? = null, - redirectStdoutToStream: OutputStream? = null // if null, stdout of process is suppressed -) { - val executedProcess = runCatching { - val process = ProcessBuilder(command) - .redirectOutput(ProcessBuilder.Redirect.PIPE) - .redirectErrorStream(true) - .directory(workingDirectory) - .start() - copy(process.inputStream, redirectStdoutToStream) - process.waitFor() - process - }.getOrElse { - throw RuntimeException( - "Execution of [${command.joinToString(separator = " ")}] failed with throwable: $it" - ) - } - val exitCode = executedProcess.exitValue() - if (exitCode != 0) { - val processOutput = InputStreamReader(executedProcess.inputStream).readText() - throw RuntimeException( - "Execution of [${command.joinToString(separator = " ")}] failed with non-zero exit code = $exitCode:\n$processOutput" - ) - } -} \ No newline at end of file diff --git a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/TimeMeasureUtils.kt b/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/TimeMeasureUtils.kt deleted file mode 100644 index c7260157..00000000 --- a/utbot-cli-go/src/main/kotlin/org/utbot/cli/go/util/TimeMeasureUtils.kt +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.cli.go.util - -import java.time.LocalDateTime -import java.time.temporal.ChronoUnit - -fun now(): LocalDateTime = LocalDateTime.now() - -fun durationInMillis(started: LocalDateTime): Long = ChronoUnit.MILLIS.between(started, now()) \ No newline at end of file diff --git a/utbot-cli-go/src/main/resources/log4j2.xml b/utbot-cli-go/src/main/resources/log4j2.xml deleted file mode 100644 index 3d6ee82b..00000000 --- a/utbot-cli-go/src/main/resources/log4j2.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-cli-go/src/main/resources/version.properties b/utbot-cli-go/src/main/resources/version.properties deleted file mode 100644 index 956d6e33..00000000 --- a/utbot-cli-go/src/main/resources/version.properties +++ /dev/null @@ -1,2 +0,0 @@ -#to be populated during the build task -version=N/A \ No newline at end of file diff --git a/utbot-cli-js/Dockerfile b/utbot-cli-js/Dockerfile deleted file mode 100644 index 6eb09983..00000000 --- a/utbot-cli-js/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM azul/zulu-openjdk:11.0.15-11.56.19 - -ARG DEBIAN_FRONTEND=noninteractive - -WORKDIR /usr/src/ - -RUN apt-get update \ - && apt-get install -y -q --no-install-recommends \ - curl \ - && curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh \ - && /bin/sh nodesource_setup.sh \ - && apt-get install -y -q --no-install-recommends \ - nodejs \ - && rm -rf /var/lib/apt/lists/* - -# Install UTBot Javascript CLI - -ARG ARTIFACT_PATH -COPY ${ARTIFACT_PATH} . - -RUN UTBOT_JS_CLI_PATH="$(find /usr/src -type f -name 'utbot-cli*')" \ - && ln -s "${UTBOT_JS_CLI_PATH}" /usr/src/utbot-cli.jar \ diff --git a/utbot-cli-js/build.gradle b/utbot-cli-js/build.gradle deleted file mode 100644 index 02488067..00000000 --- a/utbot-cli-js/build.gradle +++ /dev/null @@ -1,75 +0,0 @@ -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - freeCompilerArgs += ["-Xallow-result-return-type", "-Xsam-conversions=class"] - } -} - -tasks.withType(JavaCompile) { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_17 -} - -configurations { - fetchInstrumentationJar -} - -dependencies { - implementation project(':utbot-framework') - implementation project(':utbot-cli') - implementation project(':utbot-js') - - // Without this dependency testng tests do not run. - implementation group: 'com.beust', name: 'jcommander', version: '1.48' - implementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'com.github.ajalt.clikt', name: 'clikt', version: cliktVersion - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junit5Version - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit5Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version - implementation group: 'org.json', name: 'json', version: '20220320' - //noinspection GroovyAssignabilityCheck - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') -} - -processResources { - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} - -task createProperties(dependsOn: processResources) { - doLast { - new File("$buildDir/resources/main/version.properties").withWriter { w -> - Properties properties = new Properties() - //noinspection GroovyAssignabilityCheck - properties['version'] = project.version.toString() - properties.store w, null - } - } -} - -classes { - dependsOn createProperties -} - -jar { - manifest { - attributes 'Main-Class': 'org.utbot.cli.js.ApplicationKt' - attributes 'Bundle-SymbolicName': 'org.utbot.cli.js' - attributes 'Bundle-Version': "${project.version}" - attributes 'Implementation-Title': 'UtBot JavaScript CLI' - attributes 'JAR-Type': 'Fat JAR' - } - - archiveVersion.set(project.version as String) - - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - diff --git a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/Application.kt b/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/Application.kt deleted file mode 100644 index 9f1ed44f..00000000 --- a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/Application.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.cli.js - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.subcommands -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.versionOption -import com.github.ajalt.clikt.parameters.types.enum -import org.slf4j.event.Level -import org.utbot.cli.getVersion -import org.utbot.cli.setVerbosity -import kotlin.system.exitProcess - -class UtBotJsCli : CliktCommand(name = "UnitTestBot JavaScript Command Line Interface") { - private val verbosity by option("--verbosity", help = "Changes verbosity level, case insensitive") - .enum(ignoreCase = true) - .default(Level.INFO) - - override fun run() = setVerbosity(verbosity) - - init { - versionOption(getVersion()) - } -} - -fun main(args: Array) = try { - UtBotJsCli().subcommands( - JsCoverageCommand(), - JsGenerateTestsCommand(), - JsRunTestsCommand(), - ).main(args) -} catch (ex: Throwable) { - ex.printStackTrace() - exitProcess(1) -} \ No newline at end of file diff --git a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsCoverageCommand.kt b/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsCoverageCommand.kt deleted file mode 100644 index 788b63c5..00000000 --- a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsCoverageCommand.kt +++ /dev/null @@ -1,163 +0,0 @@ -package org.utbot.cli.js - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.check -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.required -import mu.KotlinLogging -import org.json.JSONArray -import org.json.JSONObject -import org.utbot.cli.js.JsUtils.makeAbsolutePath -import org.w3c.dom.Document -import org.w3c.dom.Element -import utils.JsCmdExec -import java.io.File -import java.nio.file.Files -import java.nio.file.Paths -import javax.xml.parsers.DocumentBuilderFactory - -private val logger = KotlinLogging.logger {} - -class JsCoverageCommand : CliktCommand(name = "coverage_js", help = "Get tests coverage for the specified file.") { - - private val testFile by option( - "-s", "--source", - help = "Target test file path." - ).required() - .check("Must exist and ends with .js suffix") { - it.endsWith(".js") && Files.exists(Paths.get(it)) - } - - private val output by option( - "-o", "--output", - help = "Specifies output .json file for generated tests." - ).check("Must end with .json suffix") { - it.endsWith(".json") - } - - private val pathToNYC by option( - "--path-to-nyc", - help = "Sets path to nyc executable, defaults to \"nyc\" shortcut. " + - "As there are many nyc files in the global npm directory, choose one without file extension." - ).default("nyc") - - override fun run() { - val testFileAbsolutePath = makeAbsolutePath(testFile) - val workingDir = testFileAbsolutePath.substringBeforeLast("/") - val coverageDataPath = "$workingDir/coverage" - val outputAbsolutePath = output?.let { makeAbsolutePath(it) } - JsCmdExec.runCommand( - dir = workingDir, - shouldWait = true, - timeout = 20, - cmd = arrayOf( - "\"$pathToNYC\"", - "--report-dir=\"$coverageDataPath\"", - "--reporter=\"clover\"", - "--temp-dir=\"${workingDir}/cache\"", - "mocha", - "\"$testFileAbsolutePath\"" - ) - ) - val coveredList = mutableListOf() - val partiallyCoveredList = mutableListOf() - val uncoveredList = mutableListOf() - val db = DocumentBuilderFactory.newInstance().newDocumentBuilder() - val xmlFile = File("$coverageDataPath/clover.xml") - val doc = db.parse(xmlFile) - buildCoverageLists( - coveredList, - partiallyCoveredList, - uncoveredList, - doc, - ) - val json = createJson( - coveredList, - partiallyCoveredList, - uncoveredList, - ) - processResult(json, outputAbsolutePath) - } - - private fun buildCoverageLists( - coveredList: MutableList, - partiallyCoveredList: MutableList, - uncoveredList: MutableList, - doc: Document, - ) { - doc.documentElement.normalize() - val lineList = try { - (((doc.getElementsByTagName("project").item(0) as Element) - .getElementsByTagName("package").item(0) as Element) - .getElementsByTagName("file").item(0) as Element) - .getElementsByTagName("line") - } catch (e: Exception) { - ((doc.getElementsByTagName("project").item(0) as Element) - .getElementsByTagName("file").item(0) as Element) - .getElementsByTagName("line") - } - for (i in 0 until lineList.length) { - val lineInfo = lineList.item(i) as Element - val num = lineInfo.getAttribute("num").toInt() - val count = lineInfo.getAttribute("count").toInt() - when (lineInfo.getAttribute("type")) { - "stmt" -> { - if (count > 0) coveredList += num - else uncoveredList += num - } - - "cond" -> { - val trueCount = lineInfo.getAttribute("truecount").toInt() - val falseCount = lineInfo.getAttribute("falsecount").toInt() - when { - trueCount == 2 && falseCount == 0 -> coveredList += num - trueCount == 1 && falseCount == 1 -> partiallyCoveredList += num - trueCount == 0 && falseCount == 2 -> uncoveredList += num - } - } - } - } - } - - private fun createJson( - coveredList: List, - partiallyCoveredList: List, - uncoveredList: List, - ): JSONObject { - val coveredArray = JSONArray() - coveredList.forEach { - val obj = JSONObject() - obj.put("start", it) - obj.put("end", it) - coveredArray.put(obj) - } - val partiallyCoveredArray = JSONArray() - partiallyCoveredList.forEach { - val obj = JSONObject() - obj.put("start", it) - obj.put("end", it) - partiallyCoveredArray.put(obj) - } - val uncoveredArray = JSONArray() - uncoveredList.forEach { - val obj = JSONObject() - obj.put("start", it) - obj.put("end", it) - uncoveredArray.put(obj) - } - val json = JSONObject() - json.put("covered", coveredArray) - json.put("notCovered", uncoveredArray) - json.put("partlyCovered", partiallyCoveredArray) - return json - } - - private fun processResult(json: JSONObject, output: String?) { - output?.let { fileName -> - val file = File(fileName) - file.createNewFile() - file.writeText(json.toString()) - } ?: logger.info { json.toString() } - } -} \ No newline at end of file diff --git a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsGenerateTestsCommand.kt b/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsGenerateTestsCommand.kt deleted file mode 100644 index 2a0e0432..00000000 --- a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsGenerateTestsCommand.kt +++ /dev/null @@ -1,149 +0,0 @@ -package org.utbot.cli.js - -import api.JsTestGenerator -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.* -import com.github.ajalt.clikt.parameters.types.choice -import mu.KotlinLogging -import org.utbot.cli.js.JsUtils.makeAbsolutePath -import service.coverage.CoverageMode -import settings.JsDynamicSettings -import settings.JsExportsSettings.endComment -import settings.JsExportsSettings.startComment -import settings.JsTestGenerationSettings.defaultTimeout -import java.io.File -import java.nio.file.Files -import java.nio.file.Paths -import java.time.LocalDateTime -import java.time.temporal.ChronoUnit - -private val logger = KotlinLogging.logger {} - - -class JsGenerateTestsCommand : - CliktCommand(name = "generate_js", help = "Generates tests for the specified class or toplevel functions.") { - - private val sourceCodeFile by option( - "-s", "--source", - help = "Specifies source code file for a generated test." - ) - .required() - .check("Must exist and ends with .js suffix") { - it.endsWith(".js") && Files.exists(Paths.get(it)) - } - - private val targetClass by option("-c", "--class", help = "Specifies target class to generate tests for.") - - private val output by option("-o", "--output", help = "Specifies output file for generated tests.") - .check("Must end with .js suffix") { - it.endsWith(".js") - } - - private val printToStdOut by option( - "-p", - "--print-test", - help = "Specifies whether test should be printed out to StdOut." - ) - .flag(default = false) - - private val timeout by option( - "-t", - "--timeout", - help = "Timeout for Node.js to run scripts in seconds." - ).default("$defaultTimeout") - - private val coverageMode by option( - "--coverage-mode", - help = "Specifies the coverage mode for test generation. Check docs for more info." - ).choice( - CoverageMode.BASIC.toString() to CoverageMode.BASIC, - CoverageMode.FAST.toString() to CoverageMode.FAST - ).default(CoverageMode.FAST) - - private val pathToNode by option( - "--path-to-node", - help = "Sets path to Node.js executable, defaults to \"node\" shortcut." - ).default("node") - - private val pathToNYC by option( - "--path-to-nyc", - help = "Sets path to nyc executable, defaults to \"nyc\" shortcut. " + - "As there are many nyc files in the global npm directory, choose one without file extension." - ).default("nyc") - - private val pathToNPM by option( - "--path-to-npm", - help = "Sets path to npm executable, defaults to \"npm\" shortcut." - ).default("npm") - - override fun run() { - val started = LocalDateTime.now() - try { - val sourceFileAbsolutePath = makeAbsolutePath(sourceCodeFile) - logger.info { "Generating tests for [$sourceFileAbsolutePath] - started" } - val fileText = File(sourceCodeFile).readText() - currentFileText = fileText - val outputAbsolutePath = output?.let { makeAbsolutePath(it) } - val testGenerator = JsTestGenerator( - fileText = fileText, - sourceFilePath = sourceFileAbsolutePath, - parentClassName = targetClass, - outputFilePath = outputAbsolutePath, - exportsManager = ::manageExports, - settings = JsDynamicSettings( - pathToNode = pathToNode, - pathToNYC = pathToNYC, - pathToNPM = pathToNPM, - timeout = timeout.toLong(), - coverageMode = coverageMode, - - ) - ) - val testCode = testGenerator.run() - - if (printToStdOut || (outputAbsolutePath == null && !printToStdOut)) { - logger.info { "\n$testCode" } - } - outputAbsolutePath?.let { filePath -> - val outputFile = File(filePath) - outputFile.createNewFile() - outputFile.writeText(testCode) - } - - } catch (t: Throwable) { - logger.error { "An error has occurred while generating tests for file $sourceCodeFile : $t" } - throw t - } finally { - val duration = ChronoUnit.MILLIS.between(started, LocalDateTime.now()) - logger.debug { "Generating test for [$sourceCodeFile] - completed in [$duration] (ms)" } - } - } - - // Needed for continuous exports managing - private var currentFileText = "" - - private fun manageExports(swappedText: (String?, String) -> String) { - val file = File(sourceCodeFile) - when { - - currentFileText.contains(startComment) -> { - val regex = Regex("$startComment((\\r\\n|\\n|\\r|.)*)$endComment") - regex.find(currentFileText)?.groups?.get(1)?.value?.let { existingSection -> - val newText = swappedText(existingSection, currentFileText) - file.writeText(newText) - currentFileText = newText - } - } - - else -> { - val line = buildString { - append("\n$startComment") - append(swappedText(null, currentFileText)) - append(endComment) - } - file.appendText(line) - currentFileText = file.readText() - } - } - } -} diff --git a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsRunTestsCommand.kt b/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsRunTestsCommand.kt deleted file mode 100644 index 60d96fc3..00000000 --- a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsRunTestsCommand.kt +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.cli.js - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.check -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.required -import com.github.ajalt.clikt.parameters.types.choice -import mu.KotlinLogging -import org.utbot.cli.js.JsUtils.makeAbsolutePath -import utils.JsCmdExec -import java.io.File - -private val logger = KotlinLogging.logger {} - -class JsRunTestsCommand : CliktCommand(name = "run_js", help = "Runs tests for the specified file or directory.") { - - private val fileWithTests by option( - "--fileOrDir", "-f", - help = "Specifies a file or directory with tests." - ).required() - - private val output by option( - "-o", "--output", - help = "Specifies an output .txt file for test framework result." - ).check("Must end with .txt suffix") { - it.endsWith(".txt") - } - - private val testFramework by option("--test-framework", "-t", help = "Test framework to be used.") - .choice("mocha") - .default("mocha") - - - override fun run() { - val fileWithTestsAbsolutePath = makeAbsolutePath(fileWithTests) - val dir = if (fileWithTestsAbsolutePath.endsWith(".js")) - fileWithTestsAbsolutePath.substringBeforeLast("/") else fileWithTestsAbsolutePath - val outputAbsolutePath = output?.let { makeAbsolutePath(it) } - when (testFramework) { - "mocha" -> { - val (inputText, errorText) = JsCmdExec.runCommand( - dir = dir, - shouldWait = true, - cmd = arrayOf("mocha", "\"$fileWithTestsAbsolutePath\"") - ) - if (errorText.isNotEmpty()) { - logger.error { "An error has occurred while running tests for $fileWithTests: $errorText" } - } else { - outputAbsolutePath?.let { - val file = File(it) - file.createNewFile() - file.writeText(inputText) - } ?: logger.info { "Output absolute path is null with text: $inputText" } - } - } - } - } -} diff --git a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsUtils.kt b/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsUtils.kt deleted file mode 100644 index 87b135a1..00000000 --- a/utbot-cli-js/src/main/kotlin/org/utbot/cli/js/JsUtils.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.cli.js - -import java.io.File - -internal object JsUtils { - - fun makeAbsolutePath(path: String): String { - val rawPath = when { - File(path).isAbsolute -> path - else -> System.getProperty("user.dir") + "/" + path - } - return rawPath.replace("\\", "/") - } -} \ No newline at end of file diff --git a/utbot-cli-js/src/main/resources/log4j2.xml b/utbot-cli-js/src/main/resources/log4j2.xml deleted file mode 100644 index d0f20b10..00000000 --- a/utbot-cli-js/src/main/resources/log4j2.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-cli-js/src/main/resources/version.properties b/utbot-cli-js/src/main/resources/version.properties deleted file mode 100644 index 956d6e33..00000000 --- a/utbot-cli-js/src/main/resources/version.properties +++ /dev/null @@ -1,2 +0,0 @@ -#to be populated during the build task -version=N/A \ No newline at end of file diff --git a/utbot-cli-python/Dockerfile b/utbot-cli-python/Dockerfile deleted file mode 100644 index 6a76e29d..00000000 --- a/utbot-cli-python/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM azul/zulu-openjdk:11.0.15-11.56.19 - -ARG DEBIAN_FRONTEND=noninteractive - -WORKDIR /usr/src/ - -RUN apt-get update \ - && apt-get install -y -q --no-install-recommends \ - curl \ - python3.9 \ - python3.9-distutils \ - && rm -rf /var/lib/apt/lists/* \ - && curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \ - && python3.9 get-pip.py \ - && pip install -U \ - pytest - -# Install UTBot Python CLI - -ARG ARTIFACT_PATH -COPY ${ARTIFACT_PATH} . - -RUN UTBOT_PYTHON_CLI_PATH="$(find /usr/src -type f -name 'utbot-cli*')" \ - && ln -s "${UTBOT_PYTHON_CLI_PATH}" /usr/src/utbot-cli.jar diff --git a/utbot-cli-python/build.gradle b/utbot-cli-python/build.gradle deleted file mode 100644 index f688940d..00000000 --- a/utbot-cli-python/build.gradle +++ /dev/null @@ -1,76 +0,0 @@ -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - freeCompilerArgs += ["-Xallow-result-return-type", "-Xsam-conversions=class"] - } -} - -tasks.withType(JavaCompile) { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_17 -} - -configurations { - fetchInstrumentationJar -} - -dependencies { - implementation project(':utbot-framework') - implementation project(':utbot-cli') - implementation project(':utbot-python') - - implementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - // Without this dependency testng tests do not run. - implementation group: 'com.beust', name: 'jcommander', version: '1.48' - implementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'com.github.ajalt.clikt', name: 'clikt', version: cliktVersion - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junit5Version - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit5Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version - implementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - //noinspection GroovyAssignabilityCheck - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration:'instrumentationArchive') -} - -processResources { - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} - -task createProperties(dependsOn: processResources) { - doLast { - new File("$buildDir/resources/main/version.properties").withWriter { w -> - Properties properties = new Properties() - //noinspection GroovyAssignabilityCheck - properties['version'] = project.version.toString() - properties.store w, null - } - } -} - -classes { - dependsOn createProperties -} - -jar { - manifest { - attributes 'Main-Class': 'org.utbot.cli.language.python.ApplicationKt' - attributes 'Bundle-SymbolicName': 'org.utbot.cli.language.python' - attributes 'Bundle-Version': "${project.version}" - attributes 'Implementation-Title': 'UtBot Python CLI' - attributes 'JAR-Type': 'Fat JAR' - } - - archiveVersion.set(project.version as String) - - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - diff --git a/utbot-cli-python/src/README.md b/utbot-cli-python/src/README.md deleted file mode 100644 index 67c68972..00000000 --- a/utbot-cli-python/src/README.md +++ /dev/null @@ -1,105 +0,0 @@ -## Build - -.jar file can be built in Github Actions with script `publish-plugin-and-cli-from-branch`. - -## Requirements - - - Required Java version: 11. - - - Prefered Python version: 3.8+. - - Make sure that your Python has `pip` installed (this is usually the case). [Read more about pip installation](https://pip.pypa.io/en/stable/installation/). - - Before running utbot install pip requirements (or use `--install-requirements` flag in `generate_python` command): - - python -m pip install mypy==1.0 utbot_executor==0.4.31 utbot_mypy_runner==0.2.8 - -## Basic usage - -Generate tests: - - java -jar utbot-cli.jar generate_python dir/file_with_sources.py -p -o generated_tests.py -s dir - -This will generate tests for top-level functions from `file_with_sources.py`. - -Run generated tests: - - java -jar utbot-cli.jar run_python generated_tests.py -p - -### `generate_python` options - -- `-s, --sys-path ,` - - (required) Directories to add to `sys.path`. One of directories must contain the file with the methods under test. - - `sys.path` is a list of strings that specifies the search path for modules. It must include paths for all user modules that are used in imports. - -- `-p, --python-path ` - - (required) Path to Python interpreter. - -- `-o, --output ` - - (required) File for generated tests. - -- `--coverage ` - - File to write coverage report. - -- `-c, --class ` - - Specify top-level (ordinary, not nested) class under test. Without this option tests will be generated for top-level functions. - -- `-m, --methods ,` - - Specify methods under test. - -- `--install-requirements` - - Install Python requirements if missing. - -- `--do-not-minimize` - - Turn off minimization of the number of generated tests. - -- `--do-not-check-requirements` - - Turn off Python requirements check (to speed up). - -- `-t, --timeout INT` - - Specify the maximum time in milliseconds to spend on generating tests (60000 by default). - -- `--timeout-for-run INT` - - Specify the maximum time in milliseconds to spend on one function run (2000 by default). - -- `--test-framework [pytest|Unittest]` - - Test framework to be used. - -- `--runtime-exception-behaviour [PASS|FAIL]` - - Expected behaviour for runtime exception. - -- `--do-not-generate-regression-suite` - - Generate regression test suite or not. Regression suite and error suite generation is active by default. - -### `run_python` options - -- `-p, --python-path ` - - (required) Path to Python interpreter. - -- `--test-framework [pytest|Unittest]` - - Test framework of tests to run. - -- `-o, --output ` - - Specify file for report. - -## Problems - -- Unittest can not run tests from parent directories diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/Application.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/Application.kt deleted file mode 100644 index 5ab0e5e4..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/Application.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.cli.language.python - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.subcommands -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.versionOption -import com.github.ajalt.clikt.parameters.types.enum -import org.slf4j.event.Level -import org.utbot.cli.getVersion -import org.utbot.cli.setVerbosity -import kotlin.system.exitProcess - -class UtBotPythonCli : CliktCommand(name = "UnitTestBot Python Command Line Interface") { - private val verbosity by option("--verbosity", help = "Changes verbosity level, case insensitive") - .enum(ignoreCase = true) - .default(Level.INFO) - - override fun run() = setVerbosity(verbosity) - - init { - versionOption(getVersion()) - } -} - -fun main(args: Array) = try { - UtBotPythonCli().subcommands( - PythonGenerateTestsCommand(), - PythonRunTestsCommand(), - PythonTypeInferenceCommand() - ).main(args) -} catch (ex: Throwable) { - ex.printStackTrace() - exitProcess(1) -} \ No newline at end of file diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/CliRequirementsInstaller.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/CliRequirementsInstaller.kt deleted file mode 100644 index 8653520a..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/CliRequirementsInstaller.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.cli.language.python - -import mu.KLogger -import org.utbot.python.utils.RequirementsInstaller -import org.utbot.python.utils.RequirementsUtils - -class CliRequirementsInstaller( - private val installRequirementsIfMissing: Boolean, - private val logger: KLogger, -) : RequirementsInstaller { - override fun checkRequirements(pythonPath: String, requirements: List): Boolean { - return RequirementsUtils.requirementsAreInstalled(pythonPath, requirements) - } - - override fun installRequirements(pythonPath: String, requirements: List) { - if (installRequirementsIfMissing) { - val result = RequirementsUtils.installRequirements(pythonPath, requirements) - if (result.exitValue != 0) { - System.err.println(result.stderr) - logger.error("Failed to install requirements.") - } - } else { - logger.error("Missing some requirements. Please add --install-requirements flag or install them manually.") - } - logger.info("Requirements: ${requirements.joinToString()}") - } -} \ No newline at end of file diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonCliProcessor.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonCliProcessor.kt deleted file mode 100644 index 801686e2..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonCliProcessor.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.cli.language.python - -import mu.KLogger -import org.utbot.python.PythonTestGenerationConfig -import org.utbot.python.PythonTestGenerationProcessor -import org.utbot.python.PythonTestSet - -class PythonCliProcessor( - override val configuration: PythonTestGenerationConfig, - private val output: String, - private val logger: KLogger, - private val coverageOutput: String?, -) : PythonTestGenerationProcessor() { - - override fun saveTests(testsCode: String) { - writeToFileAndSave(output, testsCode) - } - - override fun notGeneratedTestsAction(testedFunctions: List) { - logger.error( - "Couldn't generate tests for the following functions: ${testedFunctions.joinToString()}" - ) - } - - override fun processCoverageInfo(testSets: List) { - val coverageReport = getCoverageInfo(testSets) - val output = coverageOutput ?: return - writeToFileAndSave(output, coverageReport) - } -} \ No newline at end of file diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonGenerateTestsCommand.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonGenerateTestsCommand.kt deleted file mode 100644 index 03361d44..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonGenerateTestsCommand.kt +++ /dev/null @@ -1,283 +0,0 @@ -package org.utbot.cli.language.python - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.arguments.argument -import com.github.ajalt.clikt.parameters.options.* -import com.github.ajalt.clikt.parameters.types.choice -import com.github.ajalt.clikt.parameters.types.long -import mu.KotlinLogging -import org.parsers.python.PythonParser -import org.utbot.framework.codegen.domain.RuntimeExceptionTestsBehaviour -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.python.PythonMethodHeader -import org.utbot.python.PythonTestGenerationConfig -import org.utbot.python.PythonTestSet -import org.utbot.python.utils.RequirementsInstaller -import org.utbot.python.TestFileInformation -import org.utbot.python.code.PythonCode -import org.utbot.python.framework.api.python.PythonClassId -import org.utbot.python.framework.codegen.model.Pytest -import org.utbot.python.framework.codegen.model.Unittest -import org.utbot.python.newtyping.ast.parseClassDefinition -import org.utbot.python.newtyping.ast.parseFunctionDefinition -import org.utbot.python.newtyping.mypy.dropInitFile -import org.utbot.python.utils.* -import java.io.File -import java.nio.file.Paths - -private const val DEFAULT_TIMEOUT_IN_MILLIS = 60000L -private const val DEFAULT_TIMEOUT_FOR_ONE_RUN_IN_MILLIS = 2000L - -private val logger = KotlinLogging.logger {} - -class PythonGenerateTestsCommand : CliktCommand( - name = "generate_python", - help = "Generate tests for a specified Python class or top-level functions from a specified file." -) { - private val sourceFile by argument( - help = "File with Python code to generate tests for." - ) - - private val pythonClass by option( - "-c", "--class", - help = "Specify top-level (ordinary, not nested) class under test. " + - "Without this option tests will be generated for top-level functions." - ) - - private val methods by option( - "-m", "--methods", - help = "Specify methods under test." - ).split(",") - - private val directoriesForSysPath by option( - "-s", "--sys-path", - help = "(required) Directories to add to sys.path. " + - "One of directories must contain the file with the methods under test." - ).split(",").required() - - private val pythonPath by option( - "-p", "--python-path", - help = "(required) Path to Python interpreter." - ).required() - - private val output by option( - "-o", "--output", - help = "(required) File for generated tests." - ).required() - - private val coverageOutput by option( - "--coverage", - help = "File to write coverage report." - ) - - private val installRequirementsIfMissing by option( - "--install-requirements", - help = "Install Python requirements if missing." - ).flag(default = false) - - private val doNotMinimize by option( - "--do-not-minimize", - help = "Turn off minimization of the number of generated tests." - ).flag(default = false) - - private val doNotCheckRequirements by option( - "--do-not-check-requirements", - help = "Turn off Python requirements check (to speed up)." - ).flag(default = false) - - private val timeout by option( - "-t", "--timeout", - help = "Specify the maximum time in milliseconds to spend on generating tests ($DEFAULT_TIMEOUT_IN_MILLIS by default)." - ).long().default(DEFAULT_TIMEOUT_IN_MILLIS) - - private val timeoutForRun by option( - "--timeout-for-run", - help = "Specify the maximum time in milliseconds to spend on one function run ($DEFAULT_TIMEOUT_FOR_ONE_RUN_IN_MILLIS by default)." - ).long().default(DEFAULT_TIMEOUT_FOR_ONE_RUN_IN_MILLIS) - - private val testFrameworkAsString by option("--test-framework", help = "Test framework to be used.") - .choice(Pytest.toString(), Unittest.toString()) - .default(Unittest.toString()) - - private val runtimeExceptionTestsBehaviour by option("--runtime-exception-behaviour", help = "PASS or FAIL") - .choice("PASS", "FAIL") - .default("FAIL") - - private val doNotGenerateRegressionSuite by option("--do-not-generate-regression-suite", help = "Do not generate regression test suite") - .flag(default = false) - - private val testFramework: TestFramework - get() = - when (testFrameworkAsString) { - Unittest.toString() -> Unittest - Pytest.toString() -> Pytest - else -> error("Not reachable") - } - - private val forbiddenMethods = listOf("__init__", "__new__") - - private fun getPythonMethods(): Optional> { - val parsedModule = PythonParser(sourceFileContent).Module() - - val topLevelFunctions = PythonCode.getTopLevelFunctions(parsedModule) - val topLevelClasses = PythonCode.getTopLevelClasses(parsedModule) - - val selectedMethods = methods - if (pythonClass == null && methods == null) { - return if (topLevelFunctions.isNotEmpty()) - Success( - topLevelFunctions - .mapNotNull { parseFunctionDefinition(it) } - .map { PythonMethodHeader(it.name.toString(), sourceFile, null) } - ) - else { - val topLevelClassMethods = topLevelClasses - .mapNotNull { parseClassDefinition(it) } - .flatMap { cls -> - PythonCode.getClassMethods(cls.body) - .mapNotNull { parseFunctionDefinition(it) } - .map { function -> - val parsedClassName = PythonClassId(cls.name.toString()) - PythonMethodHeader(function.name.toString(), sourceFile, parsedClassName) - } - } - if (topLevelClassMethods.isNotEmpty()) { - Success(topLevelClassMethods) - } else - Fail("No top-level functions and top-level classes in the source file to test.") - } - } else if (pythonClass == null && selectedMethods != null) { - val pythonMethodsOpt = selectedMethods.map { functionName -> - topLevelFunctions - .mapNotNull { parseFunctionDefinition(it) } - .map { PythonMethodHeader(it.name.toString(), sourceFile, null) } - .find { it.name == functionName } - ?.let { Success(it) } - ?: Fail("Couldn't find top-level function $functionName in the source file.") - } - return pack(*pythonMethodsOpt.toTypedArray()) - } - - val pythonClassFromSources = topLevelClasses - .mapNotNull { parseClassDefinition(it) } - .find { it.name.toString() == pythonClass } - ?.let { Success(it) } - ?: Fail("Couldn't find class $pythonClass in the source file.") - - val methods = bind(pythonClassFromSources) { parsedClass -> - val parsedClassId = PythonClassId(parsedClass.name.toString()) - val methods = PythonCode.getClassMethods(parsedClass.body).mapNotNull { parseFunctionDefinition(it) } - val fineMethods = methods - .filter { !forbiddenMethods.contains(it.name.toString()) } - .map { - PythonMethodHeader(it.name.toString(), sourceFile, parsedClassId) - } - if (fineMethods.isNotEmpty()) - Success(fineMethods) - else - Fail("No methods in definition of class $pythonClass to test.") - } - - if (selectedMethods == null) - return methods - - return bind(methods) { classFineMethods -> - pack( - *(selectedMethods.map { methodName -> - classFineMethods.find { it.name == methodName }?.let { Success(it) } - ?: Fail("Couldn't find method $methodName of class $pythonClass") - }).toTypedArray() - ) - } - } - - private lateinit var currentPythonModule: String - private lateinit var pythonMethods: List - private lateinit var sourceFileContent: String - - @Suppress("UNCHECKED_CAST") - private fun calculateValues(): Optional { - val currentPythonModuleOpt = findCurrentPythonModule(directoriesForSysPath, sourceFile) - sourceFileContent = File(sourceFile).readText() - val pythonMethodsOpt = bind(currentPythonModuleOpt) { getPythonMethods() } - - return bind(pack(currentPythonModuleOpt, pythonMethodsOpt)) { - currentPythonModule = it[0] as String - pythonMethods = it[1] as List - Success(Unit) - } - } - - override fun run() { - val status = calculateValues() - if (status is Fail) { - logger.error(status.message) - return - } - - logger.info("Checking requirements...") - val installer = CliRequirementsInstaller(installRequirementsIfMissing, logger) - val requirementsAreInstalled = RequirementsInstaller.checkRequirements( - installer, - pythonPath, - if (testFramework.isInstalled) emptyList() else listOf(testFramework.mainPackage) - ) - if (!requirementsAreInstalled) { - return - } - - val config = PythonTestGenerationConfig( - pythonPath = pythonPath, - testFileInformation = TestFileInformation(sourceFile.toAbsolutePath(), sourceFileContent, currentPythonModule.dropInitFile()), - sysPathDirectories = directoriesForSysPath.toSet(), - testedMethods = pythonMethods, - timeout = timeout, - timeoutForRun = timeoutForRun, - testFramework = testFramework, - testSourceRootPath = Paths.get(output).parent.toAbsolutePath(), - withMinimization = !doNotMinimize, - isCanceled = { false }, - runtimeExceptionTestsBehaviour = RuntimeExceptionTestsBehaviour.valueOf(runtimeExceptionTestsBehaviour) - ) - - val processor = PythonCliProcessor( - config, - output, - logger, - coverageOutput, - ) - - logger.info("Loading information about Python types...") - val (mypyStorage, _) = processor.sourceCodeAnalyze() - - logger.info("Generating tests...") - var testSets = processor.testGenerate(mypyStorage) - if (testSets.isEmpty()) return - if (doNotGenerateRegressionSuite) { - testSets = testSets.map { testSet -> - PythonTestSet( - testSet.method, - testSet.executions.filterNot { it.result is UtExecutionSuccess }, - testSet.errors, - testSet.mypyReport, - testSet.classId - ) - } - } - - logger.info("Saving tests...") - val testCode = processor.testCodeGenerate(testSets) - processor.saveTests(testCode) - - - logger.info("Saving coverage report...") - processor.processCoverageInfo(testSets) - - logger.info( - "Finished test generation for the following functions: ${ - testSets.joinToString { it.method.name } - }" - ) - } -} diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonRunTestsCommand.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonRunTestsCommand.kt deleted file mode 100644 index ffa9d084..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonRunTestsCommand.kt +++ /dev/null @@ -1,82 +0,0 @@ -package org.utbot.cli.language.python - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.arguments.argument -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.required -import com.github.ajalt.clikt.parameters.types.choice -import org.utbot.python.framework.codegen.model.Pytest -import org.utbot.python.framework.codegen.model.Unittest -import org.utbot.python.utils.CmdResult -import org.utbot.python.utils.runCommand -import java.io.File -import java.nio.file.Paths - -class PythonRunTestsCommand : CliktCommand(name = "run_python", help = "Run tests in the specified file") { - - private val sourceFile by argument( - help = "File with Python tests to run." - ) - - private val pythonPath by option( - "-p", "--python-path", - help = "Path to Python interpreter." - ).required() - - private val output by option( - "-o", "--output", - help = "Specify file for report." - ) - - private val testFrameworkAsString by option("--test-framework", help = "Test framework of tests to run") - .choice(Pytest.toString(), Unittest.toString()) - .default(Unittest.toString()) - - private fun runUnittest(): CmdResult { - val currentPath = Paths.get("").toAbsolutePath().toString() - val sourceFilePath = Paths.get(sourceFile).toAbsolutePath().toString() - return if (sourceFilePath.startsWith(currentPath)) { - runCommand( - listOf( - pythonPath, - "-m", - "unittest", - sourceFile - ) - ) - } else CmdResult( - "", - "File $sourceFile can not be imported from Unittest. Move test file to child directory or use pytest.", - 1 - ) - } - - private fun runPytest(): CmdResult = - runCommand( - listOf( - pythonPath, - "-m", - "pytest", - sourceFile - ) - ) - - override fun run() { - val result = - when (testFrameworkAsString) { - Unittest.toString() -> runUnittest() - Pytest.toString() -> runPytest() - else -> error("Not reachable") - } - - output?.let { - val file = File(it) - file.writeText(result.stderr + result.stdout) - file.parentFile?.mkdirs() - file.createNewFile() - } - println(result.stderr) - println(result.stdout) - } -} \ No newline at end of file diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonTypeInferenceCommand.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonTypeInferenceCommand.kt deleted file mode 100644 index edf9a9df..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/PythonTypeInferenceCommand.kt +++ /dev/null @@ -1,89 +0,0 @@ -package org.utbot.cli.language.python - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.arguments.argument -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.required -import com.github.ajalt.clikt.parameters.options.split -import com.github.ajalt.clikt.parameters.types.long -import mu.KotlinLogging -import org.utbot.python.newtyping.inference.TypeInferenceProcessor -import org.utbot.python.newtyping.pythonTypeRepresentation -import org.utbot.python.utils.Fail -import org.utbot.python.utils.RequirementsUtils.requirements -import org.utbot.python.utils.Success - -private val logger = KotlinLogging.logger {} - -class PythonTypeInferenceCommand : CliktCommand( - name = "infer_types", - help = "Infer types for the specified Python top-level function." -) { - private val sourceFile by argument( - help = "File with Python code." - ) - - private val function by argument( - help = "Function to infer types for." - ) - - private val className by option( - "-c", "--class", - help = "Class of the function" - ) - - private val pythonPath by option( - "-p", "--python-path", - help = "(required) Path to Python interpreter. Use only UNC format on Windows." - ).required() - - private val timeout by option( - "-t", "--timout", - help = "(required) Timeout in milliseconds for type inference." - ).long().required() - - private val directoriesForSysPath by option( - "-s", "--sys-path", - help = "(required) Directories to add to sys.path. Use only UNC format on Windows. " + - "One of directories must contain the file with the methods under test." - ).split(",").required() - - private var startTime: Long = 0 - - override fun run() { - val moduleOpt = findCurrentPythonModule( - directoriesForSysPath.map { it.toAbsolutePath() }, - sourceFile.toAbsolutePath() - ) - if (moduleOpt is Fail) { - logger.error(moduleOpt.message) - } - val module = (moduleOpt as Success).value - - val result = TypeInferenceProcessor( - pythonPath, - directoriesForSysPath.map{ it.toAbsolutePath() }.toSet(), - sourceFile, - module, - function, - className - ).inferTypes( - startingTypeInferenceAction = { - startTime = System.currentTimeMillis() - logger.info("Starting type inference...") - }, - processSignature = { logger.info("Found signature: " + it.pythonTypeRepresentation()) }, - cancel = { System.currentTimeMillis() - startTime > timeout }, - checkRequirementsAction = { logger.info("Checking Python requirements...") }, - missingRequirementsAction = { - logger.error("Some of the following Python requirements are missing: " + - "${requirements.joinToString()}. Please install them.") - }, - loadingInfoAboutTypesAction = { logger.info("Loading information about types...") }, - analyzingCodeAction = { logger.info("Analyzing code...") }, - pythonMethodExtractionFailAction = { logger.error(it) } - ) - - result.forEach { println(it.pythonTypeRepresentation()) } - } -} \ No newline at end of file diff --git a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/Utils.kt b/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/Utils.kt deleted file mode 100644 index 8ff7f714..00000000 --- a/utbot-cli-python/src/main/kotlin/org/utbot/cli/language/python/Utils.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.cli.language.python - -import org.utbot.python.utils.Fail -import org.utbot.python.utils.Optional -import org.utbot.python.utils.Success -import org.utbot.python.utils.getModuleName -import java.io.File - -fun findCurrentPythonModule( - directoriesForSysPath: Collection, - sourceFile: String -): Optional { - directoriesForSysPath.forEach { path -> - val module = getModuleName(path.toAbsolutePath(), sourceFile.toAbsolutePath()) - if (module != null) - return Success(module) - } - return Fail("Couldn't find path for $sourceFile in --sys-path option. Please, specify it.") -} - -fun String.toAbsolutePath(): String = - File(this).canonicalPath - -fun writeToFileAndSave(filename: String, fileContent: String) { - val file = File(filename) - file.parentFile?.mkdirs() - file.writeText(fileContent) - file.createNewFile() -} diff --git a/utbot-cli-python/src/main/resources/log4j2.xml b/utbot-cli-python/src/main/resources/log4j2.xml deleted file mode 100644 index 3d6ee82b..00000000 --- a/utbot-cli-python/src/main/resources/log4j2.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-cli-python/src/main/resources/version.properties b/utbot-cli-python/src/main/resources/version.properties deleted file mode 100644 index 956d6e33..00000000 --- a/utbot-cli-python/src/main/resources/version.properties +++ /dev/null @@ -1,2 +0,0 @@ -#to be populated during the build task -version=N/A \ No newline at end of file diff --git a/utbot-cli/Dockerfile b/utbot-cli/Dockerfile deleted file mode 100644 index 9e4e97e1..00000000 --- a/utbot-cli/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM azul/zulu-openjdk:11.0.15-11.56.19 - -ARG DEBIAN_FRONTEND=noninteractive - -WORKDIR /usr/src/ - -RUN apt-get update \ - && apt-get install -y -q --no-install-recommends \ - wget \ - unzip \ - && rm -rf /var/lib/apt/lists/* - -# Install Kotlin compiler - -ENV KOTLIN_COMPILER_VERSION=1.8.0 -ENV KOTLIN_HOME="/opt/kotlin/kotlinc" -ENV PATH="${KOTLIN_HOME}/bin:${PATH}" - -RUN wget --no-verbose https://github.com/JetBrains/kotlin/releases/download/v${KOTLIN_COMPILER_VERSION}/kotlin-compiler-${KOTLIN_COMPILER_VERSION}.zip -O /tmp/${KOTLIN_COMPILER_VERSION}.zip \ - && unzip -q -d /opt/kotlin /tmp/${KOTLIN_COMPILER_VERSION}.zip - -# Install UTBot Java CLI - -ARG ARTIFACT_PATH -COPY ${ARTIFACT_PATH} . - -RUN UTBOT_JAVA_CLI_PATH="$(find /usr/src -type f -name 'utbot-cli*')" \ - && ln -s "${UTBOT_JAVA_CLI_PATH}" /usr/src/utbot-cli.jar diff --git a/utbot-cli/build.gradle b/utbot-cli/build.gradle deleted file mode 100644 index 139bc81c..00000000 --- a/utbot-cli/build.gradle +++ /dev/null @@ -1,75 +0,0 @@ -tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17 - freeCompilerArgs += ["-Xallow-result-return-type", "-Xsam-conversions=class"] - } -} - -tasks.withType(JavaCompile) { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_17 -} - -configurations { - fetchInstrumentationJar -} - -dependencies { - implementation project(':utbot-framework') - - implementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - // Without this dependency testng tests do not run. - implementation group: 'com.beust', name: 'jcommander', version: '1.48' - implementation group: 'org.testng', name: 'testng', version: testNgVersion - implementation group: 'junit', name: 'junit', version: junit4Version - implementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'com.github.ajalt.clikt', name: 'clikt', version: cliktVersion - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: junit5Version - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junit5Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version - implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version - implementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') -} - -processResources { - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} - -task createProperties(dependsOn: processResources) { - doLast { - new File("$buildDir/resources/main/version.properties").withWriter { w -> - Properties properties = new Properties() - //noinspection GroovyAssignabilityCheck - properties['version'] = project.version.toString() - properties.store w, null - } - } -} - -classes { - dependsOn createProperties -} - -jar { - manifest { - attributes 'Main-Class': 'org.utbot.cli.ApplicationKt' - attributes 'Bundle-SymbolicName': 'org.utbot.cli' - attributes 'Bundle-Version': "${project.version}" - attributes 'Implementation-Title': 'UtBot Java CLI' - attributes 'JAR-Type': 'Fat JAR' - } - - archiveVersion.set(project.version as String) - - dependsOn configurations.runtimeClasspath - from { - configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} - diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/Application.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/Application.kt deleted file mode 100644 index b8d1f5a6..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/Application.kt +++ /dev/null @@ -1,51 +0,0 @@ -package org.utbot.cli - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.core.subcommands -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.versionOption -import com.github.ajalt.clikt.parameters.types.enum -import java.util.Properties -import kotlin.system.exitProcess -import mu.KotlinLogging -import org.apache.logging.log4j.LogManager -import org.apache.logging.log4j.core.config.Configurator -import org.slf4j.event.Level - -private val logger = KotlinLogging.logger {} - -class UtBotCli : CliktCommand(name = "UnitTestBot Java Command Line Interface") { - private val verbosity by option("--verbosity", help = "Changes verbosity level, case insensitive") - .enum(ignoreCase = true) - .default(Level.INFO) - - override fun run() = setVerbosity(verbosity) - - init { - versionOption(getVersion()) - } -} - -fun main(args: Array) = try { - UtBotCli().subcommands(GenerateTestsCommand(), BunchTestGeneratorCommand(), RunTestsCommand()).main(args) -} catch (ex: Throwable) { - ex.printStackTrace() - exitProcess(1) -} - -fun setVerbosity(verbosity: Level) { - Configurator.setAllLevels(LogManager.getRootLogger().name, level(verbosity)) - logger.debug { "Log Level changed to [$verbosity]" } -} - -private fun level(level: Level) = org.apache.logging.log4j.Level.toLevel(level.name) - -fun getVersion(): String { - val prop = Properties() - Thread.currentThread().contextClassLoader.getResourceAsStream("version.properties") - .use { stream -> - prop.load(stream) - } - return prop.getProperty("version") -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/BunchTestGeneratorCommand.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/BunchTestGeneratorCommand.kt deleted file mode 100644 index 6b54026a..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/BunchTestGeneratorCommand.kt +++ /dev/null @@ -1,136 +0,0 @@ -package org.utbot.cli - -import com.github.ajalt.clikt.parameters.arguments.argument -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.types.choice -import mu.KotlinLogging -import org.utbot.cli.util.createClassLoader -import org.utbot.engine.Mocker -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.withUtContext -import java.io.File -import java.net.URLClassLoader -import java.nio.file.Paths -import java.time.temporal.ChronoUnit - - -private val logger = KotlinLogging.logger {} - -class BunchTestGeneratorCommand : GenerateTestsAbstractCommand( - name = "bunchGenerate", - help = "Generates tests for class files in the specified directory" -) { - private val classRootDirectory by argument( - help = "Directory with classes" - ) - - override val classPath by option( - "-cp", "--classpath", - help = "Specifies the classpath for a class under test" - ) - - private val output by option( - "-o", - "--output", - help = "Specifies output directory. It will be populated with package-directory structure." - ) - - private val packageFilter by option( - "-pf", "--filter", - help = "Specifies a string to generate tests only for classes that contains the substring in the fully qualified name" - ) - - private val classPathFilePath by option( - "--classpathFile", - help = "Specifies the classpath as a list of strings in a file" - ) - - override val codegenLanguage by option("-l", "--language", help = "Defines the codegen language") - .choice( - CodegenLanguage.JAVA.toString() to CodegenLanguage.JAVA, - CodegenLanguage.KOTLIN.toString() to CodegenLanguage.KOTLIN - ) - .default(CodegenLanguage.defaultItem) - - override val classLoader: URLClassLoader by lazy { - assert(classPath != null || classPathFilePath != null) { "Classpath or classpath file have to be specified." } - if (classPathFilePath != null) { - createClassLoader(classPath, classPathFilePath) - } else { - createClassLoader(classPath) - } - } - - override fun run() { - val classesFromPath = loadClassesFromPath(classLoader, classRootDirectory) - classesFromPath.filterNot { it.java.isInterface }.filter { clazz -> - clazz.qualifiedName != null - }. - filter { clazz -> - packageFilter?.run { - clazz.qualifiedName?.contains(this) ?: false - } ?: true - }.forEach { - if (it.qualifiedName != null) { - generateTestsForClass(it.qualifiedName!!) - } else { - logger.info("No qualified name for $it") - } - } - } - - private fun generateTestsForClass(targetClassFqn: String) { - val started = now() - val workingDirectory = getWorkingDirectory(targetClassFqn) - ?: throw IllegalStateException("Error: Cannot find the target class in the classpath") - - try { - logger.debug { "Generating test for [$targetClassFqn] - started" } - logger.debug { "Classpath to be used: ${newline()} $classPath ${newline()}" } - - // utContext is used in `targetMethods`, `generate`, `generateTest`, `generateReport` - withUtContext(UtContext(classLoader)) { - val classIdUnderTest = ClassId(targetClassFqn) - val targetMethods = classIdUnderTest.targetMethods() - if (targetMethods.isEmpty()) return - - val testCaseGenerator = initializeGenerator(workingDirectory) - - val testClassName = "${classIdUnderTest.simpleName}Test" - - val testSets = generateTestSets( - testCaseGenerator, - targetMethods, - searchDirectory = workingDirectory, - chosenClassesToMockAlways = (Mocker.defaultSuperClassesToMockAlwaysNames + classesToMockAlways) - .mapTo(mutableSetOf()) { ClassId(it) } - ) - - val testClassBody = generateTest(classIdUnderTest, testClassName, testSets) - - val outputArgAsFile = File(output ?: "") - if (!outputArgAsFile.exists()) { - outputArgAsFile.mkdirs() - } - - val outputDir = "$outputArgAsFile${File.separator}" - - val packageNameAsList = classIdUnderTest.jvmName.split('.').dropLast(1) - val path = Paths.get("${outputDir}${packageNameAsList.joinToString(separator = File.separator)}") - path.toFile().mkdirs() - - saveToFile(testClassBody, "$path${File.separator}${testClassName}.java") - } - } catch (t: Throwable) { - logger.error { "An error has occurred while generating test for snippet $targetClassFqn : $t" } - throw t - } finally { - val duration = ChronoUnit.MILLIS.between(started, now()) - logger.debug { "Generating test for [$targetClassFqn] - completed in [$duration] (ms)" } - } - } - -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/ClassLoaderUtils.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/ClassLoaderUtils.kt deleted file mode 100644 index 50247d56..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/ClassLoaderUtils.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.cli - -import java.io.File -import kotlin.reflect.KClass - -internal fun loadClassesFromPath(classLoader: ClassLoader, pathToClassPathRoot: String): List> { - val classFiles = mutableListOf>() - // Create a java file from the path - val root = File(pathToClassPathRoot) - if (!root.exists()) { - return emptyList() - } - //Scan and find all class files - root.walkTopDown().forEach { file -> - if (file.extension == "class") { - // construct relative path - val relativePathForClass = file.normalize().relativeTo(root) - val fqnClassName = relativePathForClass.parent.replace('/', '.') - .replace('\\', '.') + '.' + relativePathForClass.nameWithoutExtension - classFiles.add(classLoader.loadClass(fqnClassName).kotlin) - } - } - return classFiles -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsAbstractCommand.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsAbstractCommand.kt deleted file mode 100644 index 4d39fd2c..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsAbstractCommand.kt +++ /dev/null @@ -1,239 +0,0 @@ -package org.utbot.cli - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.options.check -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.multiple -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.unique -import com.github.ajalt.clikt.parameters.types.choice -import com.github.ajalt.clikt.parameters.types.long -import mu.KotlinLogging -import org.utbot.common.PathUtil.classFqnToPath -import org.utbot.common.PathUtil.replaceSeparator -import org.utbot.common.PathUtil.toPath -import org.utbot.common.PathUtil.toURL -import org.utbot.common.toPath -import org.utbot.engine.Mocker -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.MockitoStaticMocking -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.testFrameworkByName -import org.utbot.framework.codegen.generator.CodeGenerator -import org.utbot.framework.codegen.generator.CodeGeneratorParams -import org.utbot.framework.codegen.services.language.CgLanguageAssistant -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.TestCaseGenerator -import org.utbot.framework.plugin.api.TreatOverflowAsError -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import org.utbot.summary.summarizeAll -import java.io.File -import java.net.URLClassLoader -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.Paths -import java.time.LocalDateTime -import java.time.temporal.ChronoUnit - -private const val LONG_GENERATION_TIMEOUT = 1_200_000L - -private val logger = KotlinLogging.logger {} - -abstract class GenerateTestsAbstractCommand(name: String, help: String) : - CliktCommand(name = name, help = help) { - - abstract val classPath: String? - - private val mockStrategy by option("-m", "--mock-strategy", help = "Defines the mock strategy") - .choice( - "do-not-mock" to MockStrategyApi.NO_MOCKS, - "package-based" to MockStrategyApi.OTHER_PACKAGES, - "all-except-cut" to MockStrategyApi.OTHER_CLASSES - ) - .default(MockStrategyApi.NO_MOCKS) - - private val testFramework by option("--test-framework", help = "Test framework to be used") - .choice("junit4", "junit5", "testng") - .default("junit4") - - private val staticsMocking by option( - "--mock-statics", - help = "Choose framework for mocking statics (or not mock statics at all" - ) - .choice( - "do-not-mock-statics" to NoStaticMocking, - "mock-statics" to MockitoStaticMocking, - ) - .default(StaticsMocking.defaultItem) - - private val forceStaticMocking by option( - "-f", - "--force-static-mocking", - help = "Forces mocking static methods and constructors for \"--mock-always\" classes" - ) - .choice( - "force" to ForceStaticMocking.FORCE, - "do-not-force" to ForceStaticMocking.DO_NOT_FORCE - ) - .default(ForceStaticMocking.defaultItem) - - private val treatOverflowAsError by option( - "--overflow", - help = "Treat overflows as errors" - ) - .choice( - "ignore" to TreatOverflowAsError.IGNORE, - "error" to TreatOverflowAsError.AS_ERROR, - ) - .default(TreatOverflowAsError.defaultItem) - - protected val classesToMockAlways by option( - "--mock-always", - "--ma", - help = "Classes fully qualified name to force mocking theirs static methods and constructors " + - "(you can use it multiple times to provide few classes);" + - "default classes = ${ - Mocker.defaultSuperClassesToMockAlwaysNames.joinToString( - separator = newline() + "\t", - prefix = newline() + "\t", - ) - }" - ) - .multiple() - .unique() - // TODO maybe better way exists - .check("Some classes were not found") { fullyQualifiedNames -> - for (fullyQualifiedName in fullyQualifiedNames) { - try { - val initialize = false - Class.forName(fullyQualifiedName, initialize, ClassLoader.getSystemClassLoader()) - } catch (e: ClassNotFoundException) { - return@check false - } - } - return@check true - } - - abstract val codegenLanguage: CodegenLanguage - - private val generationTimeout by option( - "--generation-timeout", - help = "Specifies the maximum time in milliseconds used to generate tests ($LONG_GENERATION_TIMEOUT by default)" - ) - .long() - .default(LONG_GENERATION_TIMEOUT) - - protected open val classLoader: URLClassLoader by lazy { - val urls = classPath!! - .split(File.pathSeparator) - .map { uri -> - uri.toPath().toURL() - } - .toTypedArray() - URLClassLoader(urls) - } - - abstract override fun run() - - protected fun getWorkingDirectory(classFqn: String): Path? { - val classRelativePath = classFqnToPath(classFqn) + ".class" - val classAbsoluteURL = classLoader.getResource(classRelativePath) ?: return null - val classAbsolutePath = replaceSeparator(classAbsoluteURL.toPath().toString()) - .removeSuffix(classRelativePath) - return Paths.get(classAbsolutePath) - } - - protected fun generateTestSets( - testCaseGenerator: TestCaseGenerator, - targetMethods: List, - sourceCodeFile: Path? = null, - searchDirectory: Path, - chosenClassesToMockAlways: Set - ): List = - testCaseGenerator.generate( - targetMethods, - mockStrategy, - chosenClassesToMockAlways, - generationTimeout - ).let { - if (sourceCodeFile != null) it.summarizeAll(searchDirectory, sourceCodeFile.toFile()) else it - } - - - protected fun withLogger(targetClassFqn: String, block: Runnable) { - val started = now() - try { - logger.debug { "Generating test for [$targetClassFqn] - started" } - logger.debug { "Classpath to be used: ${newline()} $classPath ${newline()}" } - block.run() - } catch (t: Throwable) { - logger.error { "An error has occurred while generating test for snippet $targetClassFqn : $t" } - throw t - } finally { - val duration = ChronoUnit.MILLIS.between(started, now()) - logger.debug { "Generating test for [$targetClassFqn] - completed in [$duration] (ms)" } - } - } - - protected fun generateTest( - classUnderTest: ClassId, - testClassname: String, - testSets: List - ): String = - initializeCodeGenerator( - testFramework, - classUnderTest - ).generateAsString(testSets, testClassname) - - protected fun initializeGenerator(workingDirectory: Path): TestCaseGenerator { - val classPathNormalized = - classLoader.urLs.joinToString(separator = File.pathSeparator) { it.toPath().absolutePath } - // TODO: SAT-1566 Set UtSettings parameters. - UtSettings.treatOverflowAsError = treatOverflowAsError == TreatOverflowAsError.AS_ERROR - - return TestCaseGenerator( - listOf(workingDirectory), - classPathNormalized, - System.getProperty("java.class.path"), - JdkInfoDefaultProvider().info - ) - } - - private fun initializeCodeGenerator(testFramework: String, classUnderTest: ClassId): CodeGenerator { - val generateWarningsForStaticMocking = - forceStaticMocking == ForceStaticMocking.FORCE && staticsMocking is NoStaticMocking - return CodeGenerator( - CodeGeneratorParams( - testFramework = testFrameworkByName(testFramework), - classUnderTest = classUnderTest, - //TODO: Support Spring projects in utbot-cli if requested - projectType = ProjectType.PureJvm, - codegenLanguage = codegenLanguage, - cgLanguageAssistant = CgLanguageAssistant.getByCodegenLanguage(codegenLanguage), - staticsMocking = staticsMocking, - forceStaticMocking = forceStaticMocking, - generateWarningsForStaticMocking = generateWarningsForStaticMocking, - ) - ) - } - - protected fun ClassId.targetMethods(): List = - allMethods.filter { it.classId == this }.toList() // only declared methods - - protected fun saveToFile(snippet: String, outputPath: String?) = - outputPath?.let { - Files.write(it.toPath(), listOf(snippet)) - } - - protected fun now(): LocalDateTime = LocalDateTime.now() - - protected fun newline(): String = System.lineSeparator() -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsCommand.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsCommand.kt deleted file mode 100644 index a6837ca8..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/GenerateTestsCommand.kt +++ /dev/null @@ -1,164 +0,0 @@ -package org.utbot.cli - -import com.github.ajalt.clikt.parameters.arguments.argument -import com.github.ajalt.clikt.parameters.options.check -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.flag -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.required -import com.github.ajalt.clikt.parameters.types.choice -import mu.KotlinLogging -import org.utbot.common.PathUtil.toPath -import org.utbot.common.filterWhen -import org.utbot.engine.Mocker -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.isAbstract -import org.utbot.framework.plugin.api.util.isSynthetic -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.util.isKnownImplicitlyDeclaredMethod -import org.utbot.sarif.SarifReport -import org.utbot.sarif.SourceFindingStrategyDefault -import java.nio.file.Files -import java.nio.file.Paths -import java.time.temporal.ChronoUnit - - -private val logger = KotlinLogging.logger {} - -class GenerateTestsCommand : - GenerateTestsAbstractCommand(name = "generate", help = "Generates tests for the specified class") { - private val targetClassFqn by argument( - help = "Target class fully qualified name" - ) - - private val output by option("-o", "--output", help = "Specifies output file for a generated test") - .check("Must end with .java or .kt suffix") { - it.endsWith(".java") or it.endsWith(".kt") - } - - override val classPath by option( - "-cp", "--classpath", - help = "Specifies the classpath for a class under test" - ) - .required() - - private val sourceCodeFile by option( - "-s", "--source", - help = "Specifies source code file for a generated test" - ) - .required() - .check("Must exist and end with .java or .kt suffix") { - (it.endsWith(".java") || it.endsWith(".kt")) && Files.exists(Paths.get(it)) - } - - private val projectRoot by option( - "--project-root", - help = "Specifies the root of the relative paths in the sarif report that are required to show links correctly" - ) - - private val sarifReport by option( - "--sarif", - help = "Specifies output file for the static analysis report" - ) - .check("Must end with *.sarif suffix") { - it.endsWith(".sarif") - } - - override val codegenLanguage by option("-l", "--language", help = "Defines the codegen language") - .choice( - CodegenLanguage.JAVA.toString() to CodegenLanguage.JAVA, - CodegenLanguage.KOTLIN.toString() to CodegenLanguage.KOTLIN - ) - .default(CodegenLanguage.defaultItem) - .check("Output file extension must match the test class language") { language -> - output?.let { "." + it.substringAfterLast('.') == language.extension } ?: true - } - - private val printToStdOut by option( - "-p", - "--print-test", - help = "Specifies whether a test should be printed out to StdOut" - ) - .flag(default = false) - - override fun run() { - val started = now() - val workingDirectory = getWorkingDirectory(targetClassFqn) - ?: throw Exception("Cannot find the target class in the classpath") - - try { - logger.debug { "Generating test for [$targetClassFqn] - started" } - logger.debug { "Classpath to be used: ${newline()} $classPath ${newline()}" } - - // utContext is used in `targetMethods`, `generate`, `generateTest`, `generateReport` - withUtContext(UtContext(classLoader)) { - val classIdUnderTest = ClassId(targetClassFqn) - val targetMethods = classIdUnderTest.targetMethods() - .filterWhen(UtSettings.skipTestGenerationForSyntheticAndImplicitlyDeclaredMethods) { - !it.isSynthetic && !it.isKnownImplicitlyDeclaredMethod - } - .filterNot { it.isAbstract } - val testCaseGenerator = initializeGenerator(workingDirectory) - - if (targetMethods.isEmpty()) { - throw Exception("Nothing to process. No methods were provided") - } - - val testClassName = output?.toPath()?.toFile()?.nameWithoutExtension - ?: "${classIdUnderTest.simpleName}Test" - val testSets = generateTestSets( - testCaseGenerator, - targetMethods, - Paths.get(sourceCodeFile), - searchDirectory = workingDirectory, - chosenClassesToMockAlways = (Mocker.defaultSuperClassesToMockAlwaysNames + classesToMockAlways) - .mapTo(mutableSetOf()) { ClassId(it) } - ) - val testClassBody = generateTest(classIdUnderTest, testClassName, testSets) - - if (printToStdOut) { - logger.info { testClassBody } - } - if (sarifReport != null) { - generateReport(targetClassFqn, testSets, testClassBody) - } - saveToFile(testClassBody, output) - } - } catch (t: Throwable) { - logger.error { "An error has occurred while generating test for snippet $targetClassFqn : $t" } - throw t - } finally { - val duration = ChronoUnit.MILLIS.between(started, now()) - logger.debug { "Generating test for [$targetClassFqn] - completed in [$duration] (ms)" } - } - } - - private fun generateReport(classFqn: String, testSets: List, testClassBody: String) = try { - // reassignments for smart casts - val testsFilePath = output - val projectRootPath = projectRoot - - when { - testsFilePath == null -> { - println("The output file is required to generate a report. Please, specify \"--output\" option.") - } - projectRootPath == null -> { - println("The path to the project root is required to generate a report. Please, specify \"--project-root\" option.") - } - else -> { - val sourceFinding = - SourceFindingStrategyDefault(classFqn, sourceCodeFile, testsFilePath, projectRootPath) - val report = SarifReport(testSets, testClassBody, sourceFinding).createReport().toJson() - saveToFile(report, sarifReport) - println("The report was saved to \"$sarifReport\".") - } - } - } catch (t: Throwable) { - logger.error { "An error has occurred while generating sarif report for snippet $targetClassFqn : $t" } - throw t - } -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/RunTestsCommand.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/RunTestsCommand.kt deleted file mode 100644 index 2dbf2d5c..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/RunTestsCommand.kt +++ /dev/null @@ -1,121 +0,0 @@ -package org.utbot.cli - -import com.github.ajalt.clikt.core.CliktCommand -import com.github.ajalt.clikt.parameters.arguments.argument -import com.github.ajalt.clikt.parameters.options.default -import com.github.ajalt.clikt.parameters.options.option -import com.github.ajalt.clikt.parameters.options.required -import com.github.ajalt.clikt.parameters.types.choice -import org.utbot.cli.util.junit4RunTests -import org.utbot.cli.util.junit5RunTests -import org.utbot.cli.util.testngRunTests -import org.utbot.cli.writers.ConsoleWriter -import org.utbot.cli.writers.FileWriter -import org.utbot.cli.writers.IWriter -import org.utbot.common.PathUtil -import org.utbot.common.PathUtil.replaceSeparator -import org.utbot.common.PathUtil.toPath -import org.utbot.common.PathUtil.toURL -import org.utbot.common.toPath -import java.io.File -import java.net.URLClassLoader -import java.nio.file.Path -import java.nio.file.Paths -import java.time.LocalDateTime -import java.time.temporal.ChronoUnit -import mu.KotlinLogging - - -private val logger = KotlinLogging.logger {} - -class RunTestsCommand : CliktCommand(name = "run", help = "Runs tests for the specified class") { - private val classWithTestsName by argument( - help = "Specifies a class with tests" - ) - - private val classPath by option( - "-cp", "--classpath", - help = "Specifies the classpath for a class with tests" - ) - .required() - - private val testFramework by option("--test-framework", help = "Test framework to be used") - .choice("junit4", "junit5", "testng") - .default("junit4") - - private val output by option( - "-o", "--output", - help = "Specifies output file with specified extension for tests run information" - ) - - private val classLoader: URLClassLoader by lazy { - val urls = classPath - .split(File.pathSeparator) - .map { uri -> - uri.toPath().toURL() - } - .toTypedArray() - URLClassLoader(urls) - } - - override fun run() { - val started = now() - getWorkingDirectory(classWithTestsName) - ?: throw Exception("Cannot find the target class in the classpath") - - if (output != null) { - val output = File(output) - output.createNewFile() - if (!output.exists()) { - throw Exception("Output file $output does not exist") - } - } - - val writer: IWriter = output?.let { FileWriter(it) } ?: ConsoleWriter() - - try { - - logger.debug { "Running test for [$classWithTestsName] - started" } - val tests: Class<*> = loadClassBySpecifiedFqn(classWithTestsName) - - runTests(tests, writer) - - } catch (t: Throwable) { - logger.error { "An error has occurred while running test for $classWithTestsName : $t" } - throw t - } finally { - val duration = ChronoUnit.MILLIS.between(started, now()) - logger.debug { "Running test for [${classWithTestsName}] - completed in [$duration] (ms)" } - if (writer is FileWriter) { - writer.close() - } - } - } - - private fun runTests(classWithTests: Class<*>, writer: IWriter) { - when (testFramework) { - "junit4" -> { - junit4RunTests(classWithTests, writer) - } - "junit5" -> { - junit5RunTests(classWithTests, writer) - } - else -> { - testngRunTests(classWithTests, writer) - } - } - } - - private fun getWorkingDirectory(classFqn: String): Path? { - val classRelativePath = PathUtil.classFqnToPath(classFqn) + ".class" - val classAbsoluteURL = classLoader.getResource(classRelativePath) ?: return null - val classAbsolutePath = replaceSeparator(classAbsoluteURL.toPath().toString()) - .removeSuffix(classRelativePath) - return Paths.get(classAbsolutePath) - } - - private fun loadClassBySpecifiedFqn(classFqn: String): Class<*> = - classLoader.loadClass(classFqn) - - private fun now() = LocalDateTime.now() -} diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/util/ClassLoaderUtils.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/util/ClassLoaderUtils.kt deleted file mode 100644 index c5f948d2..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/util/ClassLoaderUtils.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.cli.util - -import java.io.File -import java.net.URL -import java.net.URLClassLoader - -private fun String.toUrl(): URL = File(this).toURI().toURL() - -fun createClassLoader(classPath: String? = "", absoluteFileNameWithClasses: String? = null): URLClassLoader { - val urlSet = mutableSetOf() - classPath?.run { - urlSet.addAll(this.split(File.pathSeparatorChar).map { it.toUrl() }.toMutableSet()) - } - absoluteFileNameWithClasses?.run { - urlSet.addAll(File(absoluteFileNameWithClasses).readLines().map { it.toUrl() }.toMutableSet()) - } - val urls = urlSet.toTypedArray() - return URLClassLoader(urls) -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/util/TestsRunners.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/util/TestsRunners.kt deleted file mode 100644 index 8748ca81..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/util/TestsRunners.kt +++ /dev/null @@ -1,85 +0,0 @@ -package org.utbot.cli.util - -import org.utbot.cli.writers.IWriter -import org.junit.platform.engine.discovery.DiscoverySelectors.selectClass -import org.junit.platform.launcher.LauncherDiscoveryRequest -import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder -import org.junit.platform.launcher.core.LauncherFactory -import org.junit.platform.launcher.listeners.SummaryGeneratingListener -import org.junit.runner.JUnitCore -import org.testng.TestListenerAdapter -import org.testng.TestNG - -fun junit4RunTests(classWithTests: Class<*>, writer: IWriter) { - val junit = JUnitCore() - val result = junit.run(classWithTests) - val testsRunInfo = "Tests run: ${result.runCount}\n" + - "Succeeded tests: ${result.runCount - result.failureCount}\n" + - "Failed tests: ${result.failureCount}\n" + - (if (result.failureCount > 0) { - "\n***FAILED TESTS INFO***\n" + - result.failures.joinToString("\n") { - "Test header: ${it.testHeader}\n" + - "Exception: ${it.exception}\n" + - "Message: ${it.message}\n" + - "Description: ${it.description}\n" - } + "\n" - } else "") + - "Ignored tests: ${result.ignoreCount}\n" + - "Run tests: ${if (result.wasSuccessful()) "SUCCEEDED\n" else "FAILED\n"}" + - "Running the entire test suite - completed in ${result.runTime} (ms)\n" - - writer.append(testsRunInfo) -} - -fun junit5RunTests(classWithTests: Class<*>, writer: IWriter) { - val listener = SummaryGeneratingListener() - val request: LauncherDiscoveryRequest = LauncherDiscoveryRequestBuilder.request() - .selectors(selectClass(classWithTests)) - .build() - val launcher = LauncherFactory.create() - launcher.registerTestExecutionListeners(listener) - launcher.execute(request) - val summary = listener.summary - - val testsRunInfo = "Tests found: ${summary.testsFoundCount}\n" + - "Started tests: ${summary.testsStartedCount}\n" + - "Succeeded tests: ${summary.testsSucceededCount}\n" + - "Failed tests: ${summary.testsFailedCount}\n" + - (if (summary.testsFailedCount > 0) { - "\n***FAILED TESTS INFO***\n" + - summary.failures.joinToString("\n") { - "Test identifier: ${it.testIdentifier}\n" + - "Exception: ${it.exception}\n" - } + "\n" - } else "") + - "Skipped tests: ${summary.testsSkippedCount}\n" + - "Aborted tests: ${summary.testsAbortedCount}\n" + - "Running the entire test suite - completed in [${summary.timeFinished - summary.timeStarted}] (ms)\n" - - writer.append(testsRunInfo) -} - -fun testngRunTests(classWithTests: Class<*>, writer: IWriter) { - val listener = TestListenerAdapter() - val testng = TestNG() - testng.setTestClasses(arrayOf(classWithTests)) - testng.addListener(listener) - testng.run() - - val testsRunInfo = "Succeeded tests: ${listener.passedTests.size}\n" + - (if (listener.failedTests.size > 0) { - "Failed tests: ${listener.failedTests.size}\n" + - - "\n***FAILED TESTS INFO***\n" + - listener.failedTests.joinToString("\n") { - "Test class: ${it.testClass}\n" + - "Test name: ${it.name}\n" + - "Method: ${it.method}\n" + - "Time (ms): [${it.endMillis - it.startMillis}]\n" - } + "\n" - } else "") + - "Skipped tests: ${listener.skippedTests.size}\n" - - writer.append(testsRunInfo) -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/writers/ConsoleWriter.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/writers/ConsoleWriter.kt deleted file mode 100644 index 469cb773..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/writers/ConsoleWriter.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.cli.writers - -class ConsoleWriter : IWriter { - override fun append(info: String) { - println(info) - } -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/writers/FileWriter.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/writers/FileWriter.kt deleted file mode 100644 index 7d1f54a9..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/writers/FileWriter.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.cli.writers - -import java.io.PrintWriter - -class FileWriter(filepath: String) : IWriter { - private val writer: PrintWriter = PrintWriter(filepath) - - override fun append(info: String) { - writer.append(info) - } - - fun close() { - writer.close() - } -} \ No newline at end of file diff --git a/utbot-cli/src/main/kotlin/org/utbot/cli/writers/IWriter.kt b/utbot-cli/src/main/kotlin/org/utbot/cli/writers/IWriter.kt deleted file mode 100644 index 204a92ad..00000000 --- a/utbot-cli/src/main/kotlin/org/utbot/cli/writers/IWriter.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.cli.writers - -interface IWriter { - fun append(info: String) -} \ No newline at end of file diff --git a/utbot-cli/src/main/resources/log4j2.xml b/utbot-cli/src/main/resources/log4j2.xml deleted file mode 100644 index 3d6ee82b..00000000 --- a/utbot-cli/src/main/resources/log4j2.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-cli/src/main/resources/version.properties b/utbot-cli/src/main/resources/version.properties deleted file mode 100644 index 956d6e33..00000000 --- a/utbot-cli/src/main/resources/version.properties +++ /dev/null @@ -1,2 +0,0 @@ -#to be populated during the build task -version=N/A \ No newline at end of file diff --git a/utbot-cli/src/test/kotlin/org/utbot/cli/GenerateTestsCommandTest.kt b/utbot-cli/src/test/kotlin/org/utbot/cli/GenerateTestsCommandTest.kt deleted file mode 100644 index 16f35f9d..00000000 --- a/utbot-cli/src/test/kotlin/org/utbot/cli/GenerateTestsCommandTest.kt +++ /dev/null @@ -1,196 +0,0 @@ -package org.utbot.cli - -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.util.GeneratedSarif -import org.utbot.framework.util.Snippet -import org.utbot.framework.util.compileClassFile -import java.io.File -import org.junit.jupiter.api.Assertions.assertFalse -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.fail - -internal class GenerateTestsCommandTest { - private val className = "MathUtils" - - private val javaSnippet = """ - public class $className { - public static int max(int a, int b) { - return a > b ? a : b; - } - } - """.trimIndent() - - private val javaSnippetError = """ - public class $className { - public static int multiply() { - // ArithmeticException - return Math.multiplyExact(100000, 100000); - } - }""".trimIndent() - - private val snippets = - listOf(Snippet(CodegenLanguage.JAVA, javaSnippet), Snippet(CodegenLanguage.KOTLIN, javaSnippet)) - - @Test - fun positiveCase_jUnit4() { - snippets.forEach { snippet -> - performChecks( - testFramework = "junit4", - staticMocksOption = "mock-statics", - snippet, - { test -> test.hasStaticImport("org.junit.Assert.assertEquals") }, - { test -> test.doesntHaveStaticImport("org.junit.jupiter.api.Assertions.assertEquals") }, - { test -> test.doesntHaveStaticImport("org.testng.Assert.assertEquals") }, - { test -> test.hasImport("org.junit.Test") }, - { test -> test.doesntHaveImport("org.junit.jupiter.api.Test") }, - { test -> test.hasLine("@Test") }, - { test -> test.doesntHaveImport("org.testng.annotations.Test") }, - ) - } - } - - @Test - fun positiveCase_jUnit5() { - snippets.forEach { snippet -> - performChecks( - testFramework = "junit5", - staticMocksOption = "mock-statics", - snippet, - { test -> test.doesntHaveStaticImport("org.junit.Assert.assertEquals") }, - { test -> test.hasStaticImport("org.junit.jupiter.api.Assertions.assertEquals") }, - { test -> test.doesntHaveStaticImport("org.testng.Assert.assertEquals") }, - { test -> test.doesntHaveImport("org.junit.Test") }, - { test -> test.hasImport("org.junit.jupiter.api.Test") }, - { test -> test.doesntHaveImport("org.testng.annotations.Test") }, - { test -> test.hasLine("@Test") }, - ) - } - } - - @Test - fun positiveCase_testng() { - snippets.forEach { snippet -> - performChecks( - testFramework = "testng", - staticMocksOption = "mock-statics", - snippet, - { test -> test.doesntHaveStaticImport("org.junit.Assert.assertEquals") }, - { test -> test.doesntHaveStaticImport("org.junit.jupiter.api.Assertions.assertEquals") }, - { test -> test.hasStaticImport("org.testng.Assert.assertEquals") }, - { test -> test.doesntHaveImport("org.junit.Test") }, - { test -> test.doesntHaveImport("org.junit.jupiter.api.Test") }, - { test -> test.hasImport("org.testng.annotations.Test") }, - { test -> test.hasLine("@Test") }, - ) - } - } - - @Test - fun positiveCase_sarif() { - snippets.forEach { snippet -> - performSarifChecks( - testFramework = "junit4", - staticMocksOption = "mock-statics", - snippet, - { report -> report.hasSchema() }, - { report -> report.hasVersion() }, - { report -> report.hasRules() }, - { report -> report.hasResults() }, - ) - } - } - - @Test - fun negativeCase_sarif() { - performSarifChecks( - testFramework = "junit4", - staticMocksOption = "mock-statics", - Snippet(CodegenLanguage.JAVA, javaSnippetError), - { report -> report.hasSchema() }, - { report -> report.hasVersion() }, - { report -> report.hasRules() }, - { report -> report.hasResults() }, - { report -> report.hasCodeFlows() }, - { report -> report.codeFlowsIsNotEmpty() }, // stackTrace is not empty - ) - } - - private fun performChecks( - testFramework: String, - staticMocksOption: String, - snippet: Snippet, - vararg matchers: (Snippet) -> Boolean - ) { - val result = snippet.copy(text = runTestGeneration(testFramework, staticMocksOption, snippet)) - assertFalse(result.text.isEmpty(), "A Non-empty test case should be generated") - matchers.forEachIndexed { index, matcher -> - if (!matcher(result)) fail { "Matcher $index failed.\r\nCode:\r\n$snippet\r\n\r\nTest:$result" } - } - } - - private fun performSarifChecks( - testFramework: String, - staticMocksOption: String, - snippet: Snippet, - vararg matchers: (GeneratedSarif) -> Boolean - ) { - val result = GeneratedSarif(runSarifGeneration(testFramework, staticMocksOption, snippet)) - assertFalse(result.text.isEmpty(), "A Non-empty sarif report should be generated") - matchers.forEachIndexed { index, matcher -> - if (!matcher(result)) fail { "Matcher $index failed.\r\nCode:\r\n$snippet\r\n\r\nSarif:$result" } - } - } - - private fun getCommands(testFramework: String, staticMocksOption: String, snippet: Snippet, withSarif: Boolean): List { - val classUnderTest = compileClassFile(className, snippet).toString() - val classPath = classUnderTest.substringBeforeLast(File.separator) - val outputFile = classUnderTest.replace(".class", "Test${snippet.codegenLanguage.extension}") - val sourceCodeFile = classUnderTest.replace(".class", CodegenLanguage.JAVA.extension) - val sarifFile = "$classPath/utbot.sarif" - - val cmd = mutableListOf( - className, - "-cp", classPath, - "-s", sourceCodeFile, - "-o", outputFile, - "--test-framework", testFramework, - "-l", snippet.codegenLanguage.toString(), - "--mock-statics", staticMocksOption - ) - if (withSarif) - cmd.addAll( - listOf( - "--project-root", classPath, - "--sarif", sarifFile - ) - ) - return cmd - } - - private fun runTestGeneration(testFramework: String, staticMocksOption: String, snippet: Snippet): String { - val command = GenerateTestsCommand() - val argumentList = getCommands(testFramework, staticMocksOption, snippet, withSarif = false) - - val outputFile = argumentList.getArgumentAfter(option = "-o") - - command.main(argumentList) - - return readOutput(outputFile) - } - - private fun runSarifGeneration(testFramework: String, staticMocksOption: String, snippet: Snippet): String { - val command = GenerateTestsCommand() - val argumentList = getCommands(testFramework, staticMocksOption, snippet, withSarif = true) - - val sarifFile = argumentList.getArgumentAfter(option = "--sarif") - - command.main(argumentList) - - return readOutput(sarifFile) - } - - private fun readOutput(path: String) = File(path).readText() - - private fun List.getArgumentAfter(option: String): String = - this[this.indexOf(option) + 1] -} \ No newline at end of file diff --git a/utbot-cli/src/test/kotlin/org/utbot/cli/UtBotCliTest.kt b/utbot-cli/src/test/kotlin/org/utbot/cli/UtBotCliTest.kt deleted file mode 100644 index ba01255f..00000000 --- a/utbot-cli/src/test/kotlin/org/utbot/cli/UtBotCliTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.cli - -import org.apache.logging.log4j.LogManager -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.EnumSource -import org.slf4j.event.Level - -internal class UtBotCliTest { - - @Test - fun testGetVersion() { - assertNotEquals("N/A", getVersion()) - } - - @ParameterizedTest - @EnumSource - fun checkVerbosityForLevel(level: Level) { - val utBotCli = UtBotCli() - utBotCli.main(listOf("--verbosity", level.name)) - assertEquals(level.name, LogManager.getRootLogger().level.name()) - } -} \ No newline at end of file diff --git a/utbot-core/build.gradle.kts b/utbot-core/build.gradle.kts index faada50c..85e44faa 100644 --- a/utbot-core/build.gradle.kts +++ b/utbot-core/build.gradle.kts @@ -10,4 +10,5 @@ dependencies { implementation(group = "net.java.dev.jna", name = "jna-platform", version = "5.5.0") testImplementation(group = "junit", name = "junit", version = junit4Version) + testImplementation(project(":utbot-framework-api")) } \ No newline at end of file diff --git a/utbot-core/src/test/kotlin/org/utbot/common/AbstractSettingsTest.kt b/utbot-core/src/test/kotlin/org/utbot/common/AbstractSettingsTest.kt index 82907716..4f957b2b 100644 --- a/utbot-core/src/test/kotlin/org/utbot/common/AbstractSettingsTest.kt +++ b/utbot-core/src/test/kotlin/org/utbot/common/AbstractSettingsTest.kt @@ -2,11 +2,12 @@ package org.utbot.common import java.io.InputStream import mu.KLogger -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.junit.jupiter.api.Assertions import org.junit.jupiter.api.Test + internal class AbstractSettingsTest { @Test fun testParsing() { @@ -41,7 +42,7 @@ internal class AbstractSettingsTest { return TestSettings() } - internal class TestSettings : AbstractSettings(KotlinLogging.logger {}, "") { + internal class TestSettings : AbstractSettings( UtLogging.logger {}, "") { val testBoolean: Boolean by getBooleanProperty(true) val testInt: Int by getIntProperty(3) val testIntRange: Int by getIntProperty(3, 1, 5) diff --git a/utbot-framework-api/build.gradle.kts b/utbot-framework-api/build.gradle.kts index f94f8a1b..fad1c3d9 100644 --- a/utbot-framework-api/build.gradle.kts +++ b/utbot-framework-api/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { api(project(":utbot-rd")) implementation(group ="com.jetbrains.rd", name = "rd-framework", version = rdVersion) implementation(group ="com.jetbrains.rd", name = "rd-core", version = rdVersion) - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { + implementation("org.soot-oss:soot:${sootVersion}") { exclude(group="com.google.guava", module="guava") } implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/TrustedLibraries.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/TrustedLibraries.kt index f0bd75cb..d87ac31c 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/TrustedLibraries.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/TrustedLibraries.kt @@ -1,10 +1,10 @@ package org.utbot.framework -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.PathUtil.toPath import java.io.IOException -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} private val defaultUserTrustedLibrariesPath: String = "${utbotHomePath}/trustedLibraries.txt" private const val userTrustedLibrariesKey: String = "utbot.settings.trusted.libraries.path" diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtLogger.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtLogger.kt new file mode 100644 index 00000000..ea56c7d0 --- /dev/null +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtLogger.kt @@ -0,0 +1,185 @@ +package org.utbot.framework + +import mu.KLogger +import org.slf4j.Logger + +class UtLogger : KLogger { + override fun debug(msg: () -> Any?) {} + + override fun debug(t: Throwable?, msg: () -> Any?) {} + + override fun debug(marker: mu.Marker?, msg: () -> Any?) {} + + override fun debug(marker: mu.Marker?, t: Throwable?, msg: () -> Any?) {} + + override fun debug(p0: String?) {} + + override fun debug(p0: String?, p1: Any?) {} + + override fun debug(p0: String?, p1: Any?, p2: Any?) {} + + override fun debug(p0: String?, vararg p1: Any?) {} + + override fun debug(p0: String?, p1: Throwable?) {} + + override fun debug(p0: org.slf4j.Marker?, p1: String?) {} + + override fun debug(p0: org.slf4j.Marker?, p1: String?, p2: Any?) {} + + override fun debug(p0: org.slf4j.Marker?, p1: String?, p2: Any?, p3: Any?) {} + + override fun debug(p0: org.slf4j.Marker?, p1: String?, vararg p2: Any?) {} + + override fun debug(p0: org.slf4j.Marker?, p1: String?, p2: Throwable?) {} + + override fun info(t: Throwable?, msg: () -> Any?) {} + + override fun info(msg: () -> Any?) {} + + override fun info(marker: mu.Marker?, msg: () -> Any?) {} + + override fun info(marker: mu.Marker?, t: Throwable?, msg: () -> Any?) {} + + override fun info(p0: String?) {} + + override fun info(p0: String?, p1: Any?) {} + + override fun info(p0: String?, p1: Any?, p2: Any?) {} + + override fun info(p0: String?, vararg p1: Any?) {} + + override fun info(p0: String?, p1: Throwable?) {} + + override fun info(p0: org.slf4j.Marker?, p1: String?) {} + + override fun info(p0: org.slf4j.Marker?, p1: String?, p2: Any?) {} + + override fun info(p0: org.slf4j.Marker?, p1: String?, p2: Any?, p3: Any?) {} + + override fun info(p0: org.slf4j.Marker?, p1: String?, vararg p2: Any?) {} + + override fun info(p0: org.slf4j.Marker?, p1: String?, p2: Throwable?) {} + + override val underlyingLogger: Logger + get() = TODO("Not yet implemented") + + override fun catching(throwable: T) {} + + override fun entry(vararg argArray: Any?) {} + + override fun error(msg: () -> Any?) {} + + override fun error(t: Throwable?, msg: () -> Any?) {} + + override fun error(marker: mu.Marker?, msg: () -> Any?) {} + + override fun error(marker: mu.Marker?, t: Throwable?, msg: () -> Any?) {} + + override fun error(p0: String?) {} + + override fun error(p0: String?, p1: Any?) {} + + override fun error(p0: String?, p1: Any?, p2: Any?) {} + + override fun error(p0: String?, vararg p1: Any?) {} + + override fun error(p0: String?, p1: Throwable?) {} + + override fun error(p0: org.slf4j.Marker?, p1: String?) {} + + override fun error(p0: org.slf4j.Marker?, p1: String?, p2: Any?) {} + + override fun error(p0: org.slf4j.Marker?, p1: String?, p2: Any?, p3: Any?) {} + + override fun error(p0: org.slf4j.Marker?, p1: String?, vararg p2: Any?) {} + + override fun error(p0: org.slf4j.Marker?, p1: String?, p2: Throwable?) {} + + override fun exit() {} + + override fun exit(result: T): T { + TODO("'exit' is yet not implemented") + } + + override fun getName() = "" + + override fun isDebugEnabled() = false + + override fun isDebugEnabled(p0: org.slf4j.Marker?) = false + + override fun isErrorEnabled() = false + + override fun isErrorEnabled(p0: org.slf4j.Marker?) = false + + override fun isInfoEnabled() = false + + override fun isInfoEnabled(p0: org.slf4j.Marker?) = false + + override fun isTraceEnabled() = false + + override fun isTraceEnabled(p0: org.slf4j.Marker?) = false + + override fun isWarnEnabled() = false + + override fun isWarnEnabled(p0: org.slf4j.Marker?) = false + + override fun throwing(throwable: T): T { + TODO("'throwing' is yet not implemented") + } + + override fun trace(msg: () -> Any?) {} + + override fun trace(t: Throwable?, msg: () -> Any?) {} + + override fun trace(marker: mu.Marker?, msg: () -> Any?) {} + + override fun trace(marker: mu.Marker?, t: Throwable?, msg: () -> Any?) {} + + override fun trace(p0: String?) {} + + override fun trace(p0: String?, p1: Any?) {} + + override fun trace(p0: String?, p1: Any?, p2: Any?) {} + + override fun trace(p0: String?, vararg p1: Any?) {} + + override fun trace(p0: String?, p1: Throwable?) {} + + override fun trace(p0: org.slf4j.Marker?, p1: String?) {} + + override fun trace(p0: org.slf4j.Marker?, p1: String?, p2: Any?) {} + + override fun trace(p0: org.slf4j.Marker?, p1: String?, p2: Any?, p3: Any?) {} + + override fun trace(p0: org.slf4j.Marker?, p1: String?, vararg p2: Any?) {} + + override fun trace(p0: org.slf4j.Marker?, p1: String?, p2: Throwable?) {} + + override fun warn(msg: () -> Any?) {} + + override fun warn(t: Throwable?, msg: () -> Any?) {} + + override fun warn(marker: mu.Marker?, msg: () -> Any?) {} + + override fun warn(marker: mu.Marker?, t: Throwable?, msg: () -> Any?) {} + + override fun warn(p0: String?) {} + + override fun warn(p0: String?, p1: Any?) {} + + override fun warn(p0: String?, vararg p1: Any?) {} + + override fun warn(p0: String?, p1: Any?, p2: Any?) {} + + override fun warn(p0: String?, p1: Throwable?) {} + + override fun warn(p0: org.slf4j.Marker?, p1: String?) {} + + override fun warn(p0: org.slf4j.Marker?, p1: String?, p2: Any?) {} + + override fun warn(p0: org.slf4j.Marker?, p1: String?, p2: Any?, p3: Any?) {} + + override fun warn(p0: org.slf4j.Marker?, p1: String?, vararg p2: Any?) {} + + override fun warn(p0: org.slf4j.Marker?, p1: String?, p2: Throwable?) {} +} \ No newline at end of file diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtLogging.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtLogging.kt new file mode 100644 index 00000000..edb2c3c4 --- /dev/null +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtLogging.kt @@ -0,0 +1,6 @@ +package org.utbot.framework + +public object UtLogging { + public final fun logger(func: () -> kotlin.Unit) : UtLogger = UtLogger() + public final fun logger(name : String) : UtLogger = UtLogger() +} \ No newline at end of file diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt index a41696da..729c4896 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/UtSettings.kt @@ -1,10 +1,10 @@ package org.utbot.framework import java.io.File -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.AbstractSettings import java.lang.reflect.Executable -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} /** * Path to the utbot home folder. @@ -255,7 +255,7 @@ object UtSettings : AbstractSettings(logger, defaultKeyForSettingsPath, defaultS /** * Instrument all classes before start */ - var warmupConcreteExecution by getBooleanProperty(false) +// var warmupConcreteExecution by getBooleanProperty(false) /** * Ignore string literals during the code analysis to make possible to analyze antlr. diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/Api.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/Api.kt index a3fa74b6..c416aafd 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/Api.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/Api.kt @@ -8,7 +8,7 @@ package org.utbot.framework.plugin.api -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.FileUtil import org.utbot.common.isDefaultValue import org.utbot.common.withToStringThreadLocalReentrancyGuard diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/LockFile.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/LockFile.kt index 3f5fc0a9..5dc1e075 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/LockFile.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/LockFile.kt @@ -6,12 +6,12 @@ import java.nio.file.StandardOpenOption import java.text.DateFormat import kotlin.io.path.deleteIfExists import kotlin.io.path.outputStream -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.framework.utbotHomePath private val lockFilePath = "$utbotHomePath/utbot.lock" private var currentLock : OutputStream? = null -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} object LockFile { @Synchronized diff --git a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/UtContext.kt b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/UtContext.kt index 9152d986..04101efb 100644 --- a/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/UtContext.kt +++ b/utbot-framework-api/src/main/kotlin/org/utbot/framework/plugin/api/util/UtContext.kt @@ -5,7 +5,7 @@ import org.utbot.common.currentThreadInfo import org.utbot.framework.plugin.api.util.UtContext.Companion.setUtContext import kotlin.coroutines.CoroutineContext import kotlinx.coroutines.ThreadContextElement -import mu.KotlinLogging +import org.utbot.framework.UtLogging val utContext: UtContext get() = UtContext.currentContext() @@ -75,7 +75,7 @@ inline fun withUtContext(context: UtContext, block: () -> T): T = setUtConte try { return@use block.invoke() } catch (e: Exception) { - KotlinLogging.logger("withUtContext").error { e } + UtLogging.logger("withUtContext").error { e } throw e } } diff --git a/utbot-framework-test/build.gradle b/utbot-framework-test/build.gradle deleted file mode 100644 index eea8967e..00000000 --- a/utbot-framework-test/build.gradle +++ /dev/null @@ -1,55 +0,0 @@ -dependencies { - api project(':utbot-framework-api') - testImplementation project(':utbot-testing') - - api project(':utbot-java-fuzzing') - api project(':utbot-instrumentation') - api project(':utbot-summary') - - implementation(project(":utbot-framework")) - testImplementation project(':utbot-sample') - testImplementation project(":utbot-framework").sourceSets.test.output - testImplementation project(":utbot-core").sourceSets.test.output - - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude group:'com.google.guava', module:'guava' - } - - implementation group: 'com.charleskorn.kaml', name: 'kaml', version: kamlVersion - implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: jacksonVersion - implementation group: 'com.github.curious-odd-man', name: 'rgxgen', version: rgxgenVersion - implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: log4j2Version - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - implementation group: 'org.apache.commons', name: 'commons-text', version: apacheCommonsTextVersion - // we need this for construction mocks from composite models - implementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - - // To use JUnit4, comment out JUnit5 and uncomment JUnit4 dependencies here. Please also check "test" section - // testImplementation group: 'junit', name: 'junit', version: '4.13.1' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.8.1' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.8.1' - - // used for testing code generation - testImplementation group: 'commons-io', name: 'commons-io', version: commonsIoVersion - testImplementation group: 'junit', name: 'junit', version: junit4Version - testImplementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - testImplementation group: 'org.antlr', name: 'antlr4', version: antlrVersion - testImplementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - testImplementation group: 'org.mockito', name: 'mockito-inline', version: mockitoInlineVersion - testImplementation group: 'com.google.guava', name: 'guava', version: guavaVersion - - testImplementation group: 'org.mockito', name: 'mockito-inline', version: mockitoInlineVersion - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version - - implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-core', version: ksmtVersion - implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-z3', version: ksmtVersion -} - -// This is required to avoid conflict between SpringBoot standard logger and the logger of our project. -// See https://stackoverflow.com/a/28735604 for more details. -test { - if (System.getProperty('DEBUG', 'false') == 'true') { - jvmArgs '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9009' - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ArrayOfComplexArrays.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ArrayOfComplexArrays.java deleted file mode 100644 index 6c393600..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ArrayOfComplexArrays.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with array of objects that are arrays of complex fields themselves. - */ -public class ArrayOfComplexArrays { - public ComplexArray[] array; -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ArrayOfPrimitiveArrays.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ArrayOfPrimitiveArrays.java deleted file mode 100644 index de7061c0..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ArrayOfPrimitiveArrays.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a two-dimensional array field. - */ -public class ArrayOfPrimitiveArrays { - public int[][] array; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/AssembleTestUtils.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/AssembleTestUtils.java deleted file mode 100644 index 5dd54b06..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/AssembleTestUtils.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A test class with fake method under test. - * - * Note: [AssembleModelGenerator] requires a test method as a parameter. - * Note: must be located in base test root. - */ -public class AssembleTestUtils { - - /** - * Fake method under test - */ - public void methodUnderTest() {} -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/AssignedArray.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/AssignedArray.java deleted file mode 100644 index 701f90f3..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/AssignedArray.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with an array with a default value. - */ -public class AssignedArray { - public int[] array = new int[10]; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexArray.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexArray.java deleted file mode 100644 index f1634add..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexArray.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.assemble; - -import org.utbot.examples.assemble.PrimitiveFields; - -/** - * A class with an array with elements represented with composite model. - */ -public class ComplexArray { - public PrimitiveFields[] array; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexConstructor.java deleted file mode 100644 index 27f68f07..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexConstructor.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class without default constructor and with complex one. - * - * Complex constructor contains statements differing from "this.a = a". - */ -public class ComplexConstructor { - private int a, b; - - public ComplexConstructor(int a, int b) { - this.a = a; - this.b = a + b; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexConstructorWithSetter.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexConstructorWithSetter.java deleted file mode 100644 index b4b83c41..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexConstructorWithSetter.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class without default constructor and with complex one, - * having a setter for field with complex assignment. - * - * Complex assignment is different from "this.a = a". - */ -public class ComplexConstructorWithSetter { - private int a, b; - - public ComplexConstructorWithSetter(int a, int b) { - this.a = a; - this.b = a + b; - } - - public void setB(int b) { this.b = b; } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexField.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexField.java deleted file mode 100644 index 9ddec037..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ComplexField.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with private field of complex type - * having default constructor and all appropriate setters. - */ -public class ComplexField { - private int i; - private PrimitiveFields s; - - public ComplexField() { - } - - public void setI(int i) { this.i = i; } - - public void setS(PrimitiveFields s) { - this.s = s; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ConstructorModifyingStatic.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ConstructorModifyingStatic.java deleted file mode 100644 index 00a567ab..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ConstructorModifyingStatic.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.assemble; - -public class ConstructorModifyingStatic { - - public int x; - public static int y; - - public ConstructorModifyingStatic(int x) { - this.x = y++; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultField.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultField.java deleted file mode 100644 index 09ef1442..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultField.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a field with default value that is not a default value of type. - */ -public class DefaultField { - private int z = 10; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldModifiedInConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldModifiedInConstructor.java deleted file mode 100644 index d11d42fc..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldModifiedInConstructor.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.assemble; - -public class DefaultFieldModifiedInConstructor { - public int z; - - @SuppressWarnings("Unused") - DefaultFieldModifiedInConstructor(int z_) { - z = z_; - z = 10; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldWithDirectAccessor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldWithDirectAccessor.java deleted file mode 100644 index 160b116d..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldWithDirectAccessor.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a field with default value that is not a default value of type. - */ -public class DefaultFieldWithDirectAccessor { - public int z = 10; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldWithSetter.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldWithSetter.java deleted file mode 100644 index d1ec15f2..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultFieldWithSetter.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a field with setter default value that is not a default value of type. - */ -public class DefaultFieldWithSetter { - private int z = 10; - - - public void setZ(int z) { - this.z = z; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultPackagePrivateField.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultPackagePrivateField.java deleted file mode 100644 index 43d9b7ad..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DefaultPackagePrivateField.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * Need to be located at the same package as [AssembleTestUtils] - * because requires a setter for package-private field. - */ -public class DefaultPackagePrivateField { - int z = 10; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccess.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccess.java deleted file mode 100644 index 1dcd564c..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccess.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with public fields allowing direct access. - */ -public class DirectAccess { - private int a; - public int b; - public PrimitiveFields s; - - public void setA(int a) { - this.a = a; - } - -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccessAndSetter.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccessAndSetter.java deleted file mode 100644 index a1a3e3bd..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccessAndSetter.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with public fields allowing direct access and having setter also. - */ -public class DirectAccessAndSetter { - public int a; - public PrimitiveFields p; - - public void setA(int a) { - this.a = a; - } - - public void setP(PrimitiveFields p) { - this.p = p; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccessFinal.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccessFinal.java deleted file mode 100644 index 64d86e77..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/DirectAccessFinal.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a FINAL field allowing direct access. - */ -public class DirectAccessFinal { - public final int[] array = {1, 2}; -} \ No newline at end of file diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritComplexConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritComplexConstructor.java deleted file mode 100644 index c3521d8e..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritComplexConstructor.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a primitive constructor that inherits a complex constructor. - */ -public class InheritComplexConstructor extends ComplexConstructor { - private int c; - private double d; - - public InheritComplexConstructor(int a, int b, int c, double d) { - super(b, a); - this.c = c; - this.d = d; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritPrimitiveConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritPrimitiveConstructor.java deleted file mode 100644 index c5fc633d..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritPrimitiveConstructor.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a primitive constructor that inherits another primitive constructor. - */ -public class InheritPrimitiveConstructor extends PrimitiveConstructor { - - private int c; - private double d; - - public InheritPrimitiveConstructor(int a, int b, int c, double d) { - super(b, a); - this.c = c; - this.d = d; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritedField.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritedField.java deleted file mode 100644 index 10a1f8a7..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/InheritedField.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class that inherits base one and has its fields thereby. - */ -public class InheritedField extends PrimitiveFields { - public int i; - protected double d; - - public void setD(double d) { - this.d = d; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ListItem.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ListItem.java deleted file mode 100644 index fadd2db2..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/ListItem.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class that simulates an item in a list. - */ -public class ListItem { - private int value; - private ListItem next; - - public ListItem() { - } - - public void setValue(int value) { - this.value = value; - } - - public void setNext(ListItem next) { - this.next = next; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/NoModifier.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/NoModifier.java deleted file mode 100644 index 1b00e089..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/NoModifier.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class without a setter or direct accessor for one of the fields. - */ -public class NoModifier { - private int a; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PackagePrivateFields.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PackagePrivateFields.java deleted file mode 100644 index 4e4e6307..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PackagePrivateFields.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with package-private fields of primitive type. - */ -public class PackagePrivateFields { - int a, b; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveArray.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveArray.java deleted file mode 100644 index a07b5aa7..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveArray.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with an array with elements of primitive type. - */ -public class PrimitiveArray { - public int[] array; -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveConstructor.java deleted file mode 100644 index 9d7c3595..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveConstructor.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class without default constructor and with primitive one. - * - * Primitive constructor contains only statements like "this.a = a". - */ -public class PrimitiveConstructor { - private int a, b; - - public PrimitiveConstructor(int a, int b) { - this.a = a; - this.b = b; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveConstructorWithDefaultField.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveConstructorWithDefaultField.java deleted file mode 100644 index b39adb25..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveConstructorWithDefaultField.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class without default constructor and with another one with default field - */ -public class PrimitiveConstructorWithDefaultField { - private int a; - private int b = 5; - - public PrimitiveConstructorWithDefaultField(int a) { - this.a = a; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveFields.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveFields.java deleted file mode 100644 index 5514ffd5..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrimitiveFields.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with private fields of primitive type - * having default constructor, setters and direct accessors for them. - */ -public class PrimitiveFields { - private int a; - protected int b; - - public PrimitiveFields() { - } - - public void setA(int a) { - this.a = a; - } - - public int getB() { - return b; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrivateConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrivateConstructor.java deleted file mode 100644 index 2e4d765c..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PrivateConstructor.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with private constructor. - */ -public class PrivateConstructor { - private int z; - - private PrivateConstructor(int z_) { - z = z_; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PseudoComplexConstructor.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PseudoComplexConstructor.java deleted file mode 100644 index 4569566b..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/PseudoComplexConstructor.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with a constructor that seems to be complex - * but actually does not modify fields in models. - */ -public class PseudoComplexConstructor { - public int a; - private int nonModelField; - - public PseudoComplexConstructor() { - nonModelField = 10; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/StaticField.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/StaticField.java deleted file mode 100644 index 1653a6d3..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/StaticField.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.examples.assemble; - -/** - * A class with primitive constructor and static field - */ -public class StaticField { - public int a; - public int b; - - public static StaticField staticField; - - public StaticField() { - } - - public StaticField(int a, int b) { - this.a = a; - this.b = b; - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/another/MethodUnderTest.java b/utbot-framework-test/src/main/java/org/utbot/examples/assemble/another/MethodUnderTest.java deleted file mode 100644 index 6848f644..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/assemble/another/MethodUnderTest.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.assemble.another; - -/** - * A test class with fake method under test. - */ -public class MethodUnderTest { - - public void methodUnderTest() { - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/KotlinWrappers.kt b/utbot-framework-test/src/main/java/org/utbot/examples/manual/KotlinWrappers.kt deleted file mode 100644 index 72c99d74..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/KotlinWrappers.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.manual - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtPrimitiveModel - -fun fields( - classId: ClassId, - vararg fields: Pair -): MutableMap { - return fields - .associate { - val fieldId = FieldId(classId, it.first) - val fieldValue = when (val value = it.second) { - is UtModel -> value - else -> UtPrimitiveModel(value) - } - fieldId to fieldValue - } - .toMutableMap() -} \ No newline at end of file diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ArrayOfComplexArraysExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ArrayOfComplexArraysExample.java deleted file mode 100644 index 12d8240f..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ArrayOfComplexArraysExample.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples; - -import org.utbot.examples.assemble.ArrayOfComplexArrays; - -public class ArrayOfComplexArraysExample { - public int getValue(ArrayOfComplexArrays a) { - return a.array[0].array[0].getB(); - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ArrayOfPrimitiveArraysExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ArrayOfPrimitiveArraysExample.java deleted file mode 100644 index 189a25de..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ArrayOfPrimitiveArraysExample.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.manual.examples; - -import org.utbot.examples.assemble.ArrayOfPrimitiveArrays; - -public class ArrayOfPrimitiveArraysExample { - int assign10(ArrayOfPrimitiveArrays a) { - a.array[0][0] = 10; - return a.array[0][0]; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/AssignedArrayExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/AssignedArrayExample.java deleted file mode 100644 index 45e142df..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/AssignedArrayExample.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples; - -import org.utbot.examples.assemble.AssignedArray; - -public class AssignedArrayExample { - public void foo(AssignedArray aa) { - aa.array[9] = 42; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ClassRefExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ClassRefExample.java deleted file mode 100644 index 0a46367e..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ClassRefExample.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples; - -public class ClassRefExample { - private final Class stringClass = String.class; - - public boolean assertInstance(Class clazz) { - return stringClass.getCanonicalName().equals(clazz.getCanonicalName()); - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ComplexArraysExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ComplexArraysExample.java deleted file mode 100644 index 38abaf1a..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ComplexArraysExample.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples; - -import org.utbot.examples.assemble.PrimitiveFields; - -public class ComplexArraysExample { - public int getValue(PrimitiveFields[] a) { - return a[0].getB(); - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/DirectAccessExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/DirectAccessExample.java deleted file mode 100644 index 7758067f..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/DirectAccessExample.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.manual.examples; - -import org.utbot.examples.assemble.DirectAccess; - -public class DirectAccessExample { - int foo(DirectAccess directAccess) { - directAccess.setA(42); - return 15; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/MultiMethodExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/MultiMethodExample.java deleted file mode 100644 index 5dcce7e5..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/MultiMethodExample.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.manual.examples; - -public class MultiMethodExample { - public void firstMethod() { - - } - - public String secondMethod() { - return "Nothing"; - } - - public int thirdMethod(String param) { - return param == null ? 0 : param.length(); - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ProvidedExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ProvidedExample.java deleted file mode 100644 index 1279102d..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/ProvidedExample.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.manual.examples; - -// The test is provided by Chinese colleges -public class ProvidedExample { - public int test0(int y, int x, String s0) { - if (x > y) { - return x + y; - } else if (x < y) { - return x - y; - } - return x; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/StringSwitchExample.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/StringSwitchExample.java deleted file mode 100644 index aab811c3..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/StringSwitchExample.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.manual.examples; - -public class StringSwitchExample { - - public int validate(String value, int number, int defaultValue) { - switch (value) { - case "one": - return number > 1 ? number : -1; - case "two": - return number > 2 ? number : -2; - case "three": - return number > 3 ? number : -3; - default: - return defaultValue; - } - } - -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/Trivial.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/Trivial.java deleted file mode 100644 index d5aa8233..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/Trivial.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.manual.examples; - -public class Trivial { - public int aMethod(int a) { - String s = "a"; - if (a > 1) { - return s.length(); - } - return s.length() + 1; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/A.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/A.java deleted file mode 100644 index e08fa733..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/A.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples.customer; - -public class A { - public B b = new B(); - - public B getB() { - return b; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/B.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/B.java deleted file mode 100644 index 29bd287e..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/B.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples.customer; - -public class B { - public C c = new C(); - - public C getC() { - return c; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/C.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/C.java deleted file mode 100644 index e2197bae..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/C.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.manual.examples.customer; - -public class C { - public Integer integer = 1; - - public Integer getInteger() { - return integer; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/Demo9.java b/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/Demo9.java deleted file mode 100644 index 1c65a2f6..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/manual/examples/customer/Demo9.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.manual.examples.customer; - -public class Demo9 { - public B b0 = new B(); - public int test(B b1) { - if (b0.c.integer == 0) { - return 1; - } else if (b1.getC().integer == 1) { - return 2; - } - return 0; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/ConstructorsAndSetters.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/ConstructorsAndSetters.java deleted file mode 100644 index be0ed1a1..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/ConstructorsAndSetters.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class with constructors, setters and methods that look like setters. - */ -public class ConstructorsAndSetters { - protected int i; - - private double d1, d2; - private boolean b1, b2; - - public void setI(int i) { - if (i < 0) { - throw new IllegalArgumentException("i"); - } - this.i = i; - } - - public void setInSetterLikeMethodWithoutArgs() { - this.d1 = 1.0; - } - - public void setInSetterLikeMethodWithMultipleArgs(double d1, double d2) { - this.d1 = d1; - this.d2 = d2; - } - - public void setWithInternalCall(int value) { - d1 = sqr(value); - } - - public void setMultipleWithInternalCall(int value) { - d1 = sqr(value); - d2 = value; - } - - public void setWithModifyingInternalCall(double value) { - sqrIntoD1(value); - d2 = value; - } - - public ConstructorsAndSetters(double d1, double d2) { - this.d1 = d1; - this.d2 = d2; - } - - public void createBoolFields(boolean b1, boolean b2) { - this.b1 = !b1; - this.b2 = !b2; - } - - private int sqr(int value) { - return value * value; - } - - private void sqrIntoD1(double value) { - d1 = value * value; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/DefaultField.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/DefaultField.java deleted file mode 100644 index b91c463e..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/DefaultField.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class with a field with default value that is not a default value of type. - */ -public class DefaultField { - int z = 10; - int x; - - public int foo() { - z++; - return z; - } - -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/InvokeInAssignment.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/InvokeInAssignment.java deleted file mode 100644 index 41a6512f..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/InvokeInAssignment.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class with fields modifying method that is invoked in assignment. - */ -public class InvokeInAssignment { - protected int x, y; - - public void fun(int number) { - Boolean isPos = isPositive(number); - if (isPos) { - x = 1; - } else { - x = 2; - } - } - - private Boolean isPositive(int number) { - y = number; - return number > 0; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/NoFields.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/NoFields.java deleted file mode 100644 index 6884c14f..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/NoFields.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class without fields. - */ -public class NoFields { - public void print() { - System.out.println("Hello!"); - printPrivately(); - } - - private void printPrivately() { - System.out.println("Hello privately!"); - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/NoMethods.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/NoMethods.java deleted file mode 100644 index 03472427..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/NoMethods.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class without methods. - */ -public class NoMethods { - protected int a; - protected double b; -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/PrimitiveModifications.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/PrimitiveModifications.java deleted file mode 100644 index a3277133..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/PrimitiveModifications.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.utbot.examples.modificators; - -import java.util.Arrays; - -/** - * A class with primitive field modification scenarios: - * - constructor - * - public method - * - private method with public ancestor - * - static and std call result - * - method with exception - */ -public class PrimitiveModifications { - protected int x, y, z, t; - - public PrimitiveModifications(int x, int y) { - this.x = x; - this.y = y; - } - - public PrimitiveModifications(int x, int y, int z) { - this(x, y); - this.z = z; - } - - public void setOne() { - z = 1; - } - - public void setSeveral() { - z = 1; - x = 1; - } - - public void setWithPrivateCall() { - x = 1; - setPrivateFromPublic(); - } - - public void setWithPrivateCallsHierarchy() { - x = 1; - setPrivateCallsPrivatesFromPublic(); - } - - public void setWithStdCall() { - int[] arr = new int[]{x, y, z, t}; - Arrays.sort(arr); - - x = arr[0]; - } - - public void setCallResult() { - int[] nums = {x, y, z, t}; - x = run(nums); - } - - public void setStaticCallResult() { - x = 1; - y = runStatic(); - } - - public void setAndThrow(int a) { - if (a < 0) { - throw new IllegalArgumentException(); - } - z = 1; - } - - private void setPrivateCallsPrivatesFromPublic() { - setPrivateFromPublic(); - setPrivateFromPrivate(); - } - - private void setPrivateFromPrivate() { - z = 1; - } - - private void setPrivateFromPublic() { - t = 1; - } - - private void setPrivately() { - t = 1; - } - - private static int runStatic() { - return 0; - } - - private int run(int[] numbers) { - return numbers[0]; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/RecursiveAndCrossCalls.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/RecursiveAndCrossCalls.java deleted file mode 100644 index dcb1318c..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/RecursiveAndCrossCalls.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class with recursive call and cross calls that modify fields. - */ -public class RecursiveAndCrossCalls { - protected int x, y, z, t; - - public void setRecursively(int a) { - if (a < 5) { - setRecursively(a + 1); - } else { - x = 1; - setPrivate(); - } - } - - public void setWithReverseCalls() { - setPrivateWithReverseCall(0); - } - - private void setPrivateWithReverseCall(int a) { - if (a < 10) { - setPrivateForReverseCall(a + 1); - } else { - t = 1; - } - } - - private void setPrivateForReverseCall(int a) { - setPrivateWithReverseCall(a); - x = 1; - setPrivate(); - } - - private void setPrivate() { - z = 1; - setPrivateFromPrivate(); - } - - private void setPrivateFromPrivate() { - y = 1; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/StronglyConnectedComponent.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/StronglyConnectedComponent.java deleted file mode 100644 index d2bab59d..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/StronglyConnectedComponent.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class with one strongly connected component in function calls. - */ -public class StronglyConnectedComponent { - protected int x0, x1, x2, x3, x4; - - public void f0() { - x0 = 1; - f1(); - } - - public void f1() { - x1 = 1; - f2(); - } - - private void f2() { - f3(); - x2 = 1; - } - - private void f3() { - f1(); - x3 = 1; - f4(); - } - - public void f4() { - x4 = 1; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/StronglyConnectedComponents.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/StronglyConnectedComponents.java deleted file mode 100644 index 8ea3882f..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/StronglyConnectedComponents.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.examples.modificators; - -/** - * A class with two strongly connected components in function calls. - * https://habr.com/ru/post/331904/ - */ -public class StronglyConnectedComponents { - protected int x0, x1, x2, x3, x4; - - public void f0() { - x0 = 1; - f1(); - } - - public void f1() { - x1 = 1; - f2(); - f3(); - } - - private void f2() { - f0(); - x2 = 1; - } - - public void f3() { - f4(); - x3 = 1; - } - - public void f4() { - x4 = 1; - f3(); - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/coupling/ClassA.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/coupling/ClassA.java deleted file mode 100644 index 48c71226..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/coupling/ClassA.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.examples.modificators.coupling; - -/** - * A class with high coupling with [ClassB]. - */ -public class ClassA { - protected int v1, v2, v3, v4, v5, v6; - - public void a1Pub(ClassB objB) { - a11Pr(1, objB); - v1 = 1; - a12Pr(objB); - } - - public void a2Pub() { - v2 = 1; - a21Pr(); - } - - private void a11Pr(int a, ClassB objB) { - if (a < 5) { - a11Pr(a + 1, objB); - } else { - v3 = 1; - System.out.println("Hello!"); - } - a12Pr(objB); - } - - private void a12Pr(ClassB objB) { - v4 = 1; - objB.b1Pub(this); - } - - private void a21Pr() { - v5 = 1; - v6 = 1; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/coupling/ClassB.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/coupling/ClassB.java deleted file mode 100644 index 985f30b6..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/coupling/ClassB.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.examples.modificators.coupling; - -/** - * A class with high coupling with [ClassA]. - */ -public class ClassB { - protected int w1, w2, w3, w4; - - public void b1Pub(ClassA objA) { - w1 = 1; - objA.v6 += 1; - b11Pr(); - b12Pr(); - - if (objA.v6 == 0) { - b1Pub(objA); - } - } - - public void b2Pub() { - w2 = 1; - } - - private void b11Pr() { - w3 = 1; - } - - private void b12Pr() { - w4 = 1; - } -} diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/BaseModifications.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/BaseModifications.java deleted file mode 100644 index c2d64448..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/BaseModifications.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.modificators.hierarchy; - -/** - * A base class to check modifications recognition in inherited class. - */ -public abstract class BaseModifications implements InterfaceModifications { - - protected int baseField; - - public BaseModifications() { - } - - public BaseModifications(int baseField) { - this.baseField = baseField; - } - - protected void setBaseField() { - baseField = 1; - } - - protected int setBaseFieldInChild() { - return 0; - } - - protected void setFieldHereAndInChild() { - baseField = 1; - } - - public abstract void setInChildAbstract(); - - @Override - public void write() { - baseField = 1; - } - - @Override - public void writeAndModify(InheritedModifications obj) { - InterfaceModifications.super.writeAndModify(obj); - baseField = 1; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/InheritedModifications.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/InheritedModifications.java deleted file mode 100644 index d80a7eba..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/InheritedModifications.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.utbot.examples.modificators.hierarchy; - -/** - * An inherited class with modifications of base and own fields, - * overridden and own modifying methods. - */ -public class InheritedModifications extends BaseModifications { - protected int x, y, t; - - public InheritedModifications(int y) { - super(y); - this.y = y; - } - - public void setBaseField() { - baseField = 4; - y = 5; - } - - public void setWithModifyingBaseCall() { - x = 8; - setBaseField(); - } - - public void setWithOverrideCall() { - setBaseFieldInChild(); - x = 12; - } - - public void setInClassAndBaseClassMethods() { - setFieldHereAndInChild(); - super.setFieldHereAndInChild(); - } - - public void setInInterfaceMethod(InterfaceModifications object) { - x = 13; - object.write(); - y = 14; - } - - public void setInStaticInterfaceMethodCall(InheritedModifications obj) { - obj.x = 15; - InterfaceModifications.writeAndModifyStatic(obj); - } - - @Override - protected int setBaseFieldInChild() { - y = 71; - baseField = super.setBaseFieldInChild(); - return 0; - } - - @Override - protected void setFieldHereAndInChild() { - y = 72; - } - - @Override - public void setInChildAbstract() { - baseField = 72; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/InterfaceModifications.java b/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/InterfaceModifications.java deleted file mode 100644 index 6aa1d384..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/modificators/hierarchy/InterfaceModifications.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.modificators.hierarchy; - -/** - * An interface to check modifications recognition in it's implementations. - */ -public interface InterfaceModifications { - void write(); - - default void writeAndModify(InheritedModifications obj) { - obj.x = 1; - } - - static void writeAndModifyStatic(InheritedModifications obj) { - obj.y = 1; - } -} - diff --git a/utbot-framework-test/src/main/java/org/utbot/examples/strings11/StringConcat.java b/utbot-framework-test/src/main/java/org/utbot/examples/strings11/StringConcat.java deleted file mode 100644 index 78552f70..00000000 --- a/utbot-framework-test/src/main/java/org/utbot/examples/strings11/StringConcat.java +++ /dev/null @@ -1,80 +0,0 @@ -package org.utbot.examples.strings11; - -import org.utbot.api.mock.UtMock; - - -public class StringConcat { - public static class Test { - public int x; - - @Override - public String toString() { - if (x == 42) { - throw new IllegalArgumentException(); - } - return "x = " + x; - } - } - - String str; - public String concatArguments(String a, String b, String c) { - return a + b + c; - } - - public int concatWithConstants(String a) { - String res = '<' + a + '>'; - - if (res.equals("")) { - return 1; - } - - if (res.equals("")) { - return 2; - } - - if (a == null) { - return 3; - } - - return 4; - } - - public String concatWithPrimitives(String a) { - return a + '#' + 42 + 53.0; - } - - public String exceptionInToString(Test t) { - return "Test: " + t + "!"; - } - - public String concatWithField(String a) { - return a + str + '#'; - } - - public int concatWithPrimitiveWrappers(Integer b, char c) { - String res = "" + b + c; - - if (res.endsWith("42")) { - return 1; - } - return 2; - } - - public int sameConcat(String a, String b) { - UtMock.assume(a != null && b != null); - - String res1 = '!' + a + '#'; - String res2 = '!' + b + '#'; - - if (res1.equals(res2)) { - return 0; - } else { - return 1; - } - } - - public String concatStrangeSymbols() { - return "\u0000" + '#' + '\u0001' + "!\u0002" + "@\u0012\t"; - } -} - diff --git a/utbot-framework-test/src/test/java/org/utbot/examples/manual/UtBotJavaApiTest.java b/utbot-framework-test/src/test/java/org/utbot/examples/manual/UtBotJavaApiTest.java deleted file mode 100644 index c11ce197..00000000 --- a/utbot-framework-test/src/test/java/org/utbot/examples/manual/UtBotJavaApiTest.java +++ /dev/null @@ -1,1422 +0,0 @@ -package org.utbot.examples.manual; - -import kotlin.Pair; -import org.jetbrains.annotations.NotNull; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.utbot.common.PathUtil; -import org.utbot.examples.assemble.DirectAccess; -import org.utbot.examples.assemble.PrimitiveFields; -import org.utbot.examples.assemble.ArrayOfComplexArrays; -import org.utbot.examples.assemble.ArrayOfPrimitiveArrays; -import org.utbot.examples.assemble.AssignedArray; -import org.utbot.examples.assemble.ComplexArray; -import org.utbot.examples.manual.examples.*; -import org.utbot.examples.manual.examples.customer.B; -import org.utbot.examples.manual.examples.customer.C; -import org.utbot.examples.manual.examples.customer.Demo9; -import org.utbot.external.api.TestMethodInfo; -import org.utbot.external.api.UnitTestBotLight; -import org.utbot.external.api.UtBotJavaApi; -import org.utbot.external.api.UtModelFactory; -import org.utbot.framework.codegen.domain.ForceStaticMocking; -import org.utbot.framework.codegen.domain.Junit4; -import org.utbot.framework.codegen.domain.MockitoStaticMocking; -import org.utbot.framework.codegen.domain.ProjectType; -import org.utbot.framework.plugin.api.*; -import org.utbot.framework.plugin.api.util.UtContext; -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider; -import org.utbot.framework.util.Snippet; -import org.utbot.framework.util.SootUtils; - -import java.io.File; -import java.lang.reflect.Method; -import java.net.URISyntaxException; -import java.net.URL; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.IdentityHashMap; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import static org.utbot.external.api.UtModelFactoryKt.classIdForType; -import static org.utbot.framework.plugin.api.MockFramework.MOCKITO; -import static org.utbot.framework.plugin.api.util.IdUtilKt.getIntArrayClassId; -import static org.utbot.framework.util.TestUtilsKt.compileClassAndGetClassPath; -import static org.utbot.framework.util.TestUtilsKt.compileClassFile; - -class PredefinedGeneratorParameters { - - static String destinationClassName = "GeneratedTest"; - - static Method getMethodByName(Class clazz, String name, Class... parameters) { - try { - return clazz.getDeclaredMethod(name, parameters); - } catch (NoSuchMethodException ignored) { - Assertions.fail(); - } - throw new RuntimeException(); - } -} - -public class UtBotJavaApiTest { - private AutoCloseable context; - private UtModelFactory modelFactory; - - @BeforeEach - public void setUp() { - context = UtContext.Companion.setUtContext(new UtContext(PrimitiveFields.class.getClassLoader())); - modelFactory = new UtModelFactory(); - } - - @AfterEach - public void tearDown() { - try { - context.close(); - modelFactory = null; - } catch (Exception e) { - Assertions.fail(); - } - } - - @Test - public void testMultiMethodClass() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(MultiMethodExample.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(MultiMethodExample.class) - ); - - EnvironmentModels initialState = new EnvironmentModels( - classUnderTestModel, - Collections.emptyList(), - Collections.emptyMap() - ); - - EnvironmentModels thirdMethodState = new EnvironmentModels( - classUnderTestModel, - Collections.singletonList(new UtPrimitiveModel("some")), - Collections.emptyMap() - ); - - - Method firstMethodUnderTest = PredefinedGeneratorParameters.getMethodByName( - MultiMethodExample.class, - "firstMethod" - ); - - Method secondMethodUnderTest = PredefinedGeneratorParameters.getMethodByName( - MultiMethodExample.class, - "secondMethod" - ); - - Method thirdMethodUnderTest = PredefinedGeneratorParameters.getMethodByName( - MultiMethodExample.class, - "thirdMethod", - String.class - ); - - TestMethodInfo firstTestMethodInfo = new TestMethodInfo( - firstMethodUnderTest, - initialState); - TestMethodInfo secondTestMethodInfo = new TestMethodInfo( - secondMethodUnderTest, - initialState); - TestMethodInfo thirdTestMethodInfo = new TestMethodInfo( - thirdMethodUnderTest, - thirdMethodState); - - List testSets = UtBotJavaApi.generateTestSets( - Arrays.asList(firstTestMethodInfo, secondTestMethodInfo, thirdTestMethodInfo), - MultiMethodExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - MultiMethodExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE, - MultiMethodExample.class.getPackage().getName() - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Arrays.asList(firstTestMethodInfo, secondTestMethodInfo, thirdTestMethodInfo), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - MultiMethodExample.class - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testCustomPackage() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(DirectAccess.class); - String dependencyClassPath = getDependencyClassPath(); - - HashMap fields = new HashMap<>(); - fields.put("stringClass", modelFactory.produceClassRefModel(String.class)); - - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(ClassRefExample.class), - fields - ); - - UtClassRefModel classRefModel = modelFactory.produceClassRefModel(Class.class); - - EnvironmentModels initialState = new EnvironmentModels( - classUnderTestModel, - Collections.singletonList(classRefModel), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - ClassRefExample.class, - "assertInstance", - Class.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - ClassRefExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ClassRefExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE, - "some.custom.name" - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ClassRefExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE, - "some.custom.name" - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testOnObjectWithAssignedArrayField() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(DirectAccess.class); - String dependencyClassPath = getDependencyClassPath(); - - ClassId classIdAssignedArray = classIdForType(AssignedArray.class); - - HashMap values = new HashMap<>(); - values.put(0, new UtPrimitiveModel(1)); - values.put(1, new UtPrimitiveModel(2)); - - UtArrayModel utArrayModel = modelFactory.produceArrayModel( - getIntArrayClassId(), - 10, - new UtPrimitiveModel(0), - values - ); - - UtCompositeModel compositeModel = modelFactory.produceCompositeModel( - classIdAssignedArray, - Collections.singletonMap("array", utArrayModel) - ); - - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(AssignedArrayExample.class) - ); - - EnvironmentModels initialState = new EnvironmentModels( - classUnderTestModel, - Collections.singletonList(compositeModel), - Collections.emptyMap() - ); - - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - AssignedArrayExample.class, - "foo", - AssignedArray.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - AssignedArrayExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - AssignedArrayExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - AssignedArrayExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testClassRef() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(DirectAccess.class); - String dependencyClassPath = getDependencyClassPath(); - - HashMap fields = new HashMap<>(); - fields.put("stringClass", modelFactory.produceClassRefModel(String.class)); - - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(ClassRefExample.class), - fields - ); - - UtClassRefModel classRefModel = modelFactory.produceClassRefModel(Class.class); - - EnvironmentModels initialState = new EnvironmentModels( - classUnderTestModel, - Collections.singletonList(classRefModel), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - ClassRefExample.class, - "assertInstance", - Class.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - ClassRefExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ClassRefExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ClassRefExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testObjectWithPublicFields() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(DirectAccess.class); - String dependencyClassPath = getDependencyClassPath(); - - ClassId testClassId = classIdForType(DirectAccess.class); - ClassId innerClassId = classIdForType(PrimitiveFields.class); - - HashMap primitiveFields = new HashMap<>(); - primitiveFields.put("a", new UtPrimitiveModel(2)); - primitiveFields.put("b", new UtPrimitiveModel(4)); - - HashMap fields = new HashMap<>(); - fields.put("a", new UtPrimitiveModel(2)); - fields.put("b", new UtPrimitiveModel(4)); - fields.put("s", - modelFactory.produceCompositeModel( - innerClassId, - primitiveFields, - Collections.emptyMap() - ) - ); - - UtCompositeModel compositeModel = modelFactory.produceCompositeModel( - testClassId, - fields, - Collections.emptyMap() - ); - - // This class does not contain any fields. Using overloads - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(DirectAccessExample.class) - ); - - EnvironmentModels initialState = new EnvironmentModels( - classUnderTestModel, - Collections.singletonList(compositeModel), - Collections.emptyMap() - ); - - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - DirectAccessExample.class, - "foo", - DirectAccess.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - DirectAccessExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - DirectAccessExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - DirectAccessExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testObjectWithPublicFieldsWithAssembleModel() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(DirectAccess.class); - String dependencyClassPath = getDependencyClassPath(); - - ClassId testClassId = classIdForType(DirectAccess.class); - ClassId innerClassId = classIdForType(PrimitiveFields.class); - - HashMap primitiveFields = new HashMap<>(); - primitiveFields.put("a", new UtPrimitiveModel(2)); - primitiveFields.put("b", new UtPrimitiveModel(4)); - - HashMap fields = new HashMap<>(); - fields.put("a", new UtPrimitiveModel(2)); - fields.put("b", new UtPrimitiveModel(4)); - fields.put("s", - modelFactory.produceCompositeModel( - innerClassId, - primitiveFields, - Collections.emptyMap() - ) - ); - - UtCompositeModel compositeModel = modelFactory.produceCompositeModel( - testClassId, - fields, - Collections.emptyMap() - ); - - // This class does not contain any fields. Using overloads - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(DirectAccessExample.class) - ); - - EnvironmentModels initialState = new EnvironmentModels( - classUnderTestModel, - Collections.singletonList(compositeModel), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - DirectAccessExample.class, - "foo", - DirectAccess.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - DirectAccessExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - DirectAccessExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - } - - - @Test - public void testOnObjectWithArrayOfPrimitiveArrays() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(ArrayOfPrimitiveArraysExample.class); - String dependencyClassPath = getDependencyClassPath(); - - ClassId cidPrimitiveArrays = getIntArrayClassId(); - ClassId cidPrimitiveArraysOuter = new ClassId("[[I", cidPrimitiveArrays); - ClassId classIdArrayOfPrimitiveArraysClass = classIdForType(ArrayOfPrimitiveArrays.class); - ClassId cidArrayOfPrimitiveArraysTest = classIdForType(ArrayOfPrimitiveArraysExample.class); - - HashMap arrayParameters = new HashMap<>(); - arrayParameters.put(0, new UtPrimitiveModel(88)); - arrayParameters.put(1, new UtPrimitiveModel(42)); - - UtArrayModel innerArrayOfPrimitiveArrayModel = modelFactory.produceArrayModel( - cidPrimitiveArrays, - 2, - new UtPrimitiveModel(0), - arrayParameters - ); - - HashMap enclosingArrayParameters = new HashMap<>(); - enclosingArrayParameters.put(0, innerArrayOfPrimitiveArrayModel); - enclosingArrayParameters.put(1, innerArrayOfPrimitiveArrayModel); - - UtArrayModel enclosingArrayOfPrimitiveArrayModel = modelFactory.produceArrayModel( - cidPrimitiveArraysOuter, - 1, - new UtNullModel(getIntArrayClassId()), - enclosingArrayParameters - ); - - UtCompositeModel cmArrayOfPrimitiveArrays = modelFactory.produceCompositeModel( - classIdArrayOfPrimitiveArraysClass, - Collections.singletonMap("array", enclosingArrayOfPrimitiveArrayModel) - ); - - UtCompositeModel testClassCompositeModel = modelFactory.produceCompositeModel( - cidArrayOfPrimitiveArraysTest - ); - - EnvironmentModels initialState = new EnvironmentModels( - testClassCompositeModel, - Collections.singletonList(cmArrayOfPrimitiveArrays), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - ArrayOfPrimitiveArraysExample.class, - "assign10", - ArrayOfPrimitiveArrays.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - ArrayOfPrimitiveArraysExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ArrayOfPrimitiveArraysExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ArrayOfPrimitiveArraysExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - /** - * The test is inspired by the API customers - */ - @Test - public void testProvided3() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(ArrayOfComplexArraysExample.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel cClassModel = modelFactory. - produceCompositeModel( - classIdForType(C.class), - Collections.singletonMap("integer", new UtPrimitiveModel(1)) - ); - - UtCompositeModel bClassModel = modelFactory - .produceCompositeModel( - classIdForType(B.class), - Collections.singletonMap("c", cClassModel) - ); - - UtCompositeModel demo9Model = modelFactory. - produceCompositeModel( - classIdForType(Demo9.class), - Collections.singletonMap("b0", bClassModel) - ); - - EnvironmentModels environmentModels = new EnvironmentModels( - demo9Model, - Collections.singletonList(bClassModel), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - Demo9.class, - "test", - B.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - environmentModels - ) - ), - Demo9.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - Demo9.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - environmentModels - ) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - Demo9.class - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testCustomAssertion() { - String classpath = getClassPath(Trivial.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel model = modelFactory. - produceCompositeModel( - classIdForType(Trivial.class) - ); - - EnvironmentModels environmentModels = new EnvironmentModels( - model, - Collections.singletonList(new UtPrimitiveModel(2)), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - Trivial.class, - "aMethod", - int.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - environmentModels - ) - ), - Trivial.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - Trivial.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResult2 = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - environmentModels - ) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - Trivial.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResult2); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - /** - * The test is inspired by the API customers - */ - @Test - public void testProvided3Reused() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(true); - - String dependencyClassPath = getDependencyClassPath(); - - // The method in the class contains only one parameter - String classSourceAsString = - "public class Demo9Recompiled {" + - " public int test(int b1) {" + - " return 0;" + - " }" + - "}"; - - String demo9RecompiledClassName = "Demo9Recompiled"; - Pair classpathToClassLoader = - compileClassAndGetClassPath(new Pair<>(demo9RecompiledClassName, classSourceAsString)); - - - String classpath = classpathToClassLoader.getFirst(); - ClassLoader classLoader = classpathToClassLoader.getSecond(); - - Class compiledClass = null; - - try { - compiledClass = classLoader.loadClass(demo9RecompiledClassName); - } catch (ClassNotFoundException e) { - Assertions.fail("Failed to load a class; Classpath: " + classpathToClassLoader.getFirst()); - } - - if (compiledClass == null) { - Assertions.fail("Failed to load the class"); - } - - UtCompositeModel demo9Model = modelFactory. - produceCompositeModel( - classIdForType(compiledClass), - Collections.emptyMap() - ); - - EnvironmentModels environmentModels = new EnvironmentModels( - demo9Model, - Collections.singletonList(new UtPrimitiveModel(3)), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - compiledClass, - "test", - int.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - environmentModels - ) - ), - compiledClass, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - compiledClass, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet); - - // The test compiles and everything goes well. - // Let's recompile the initial clas file - - // The method below has an extra parameter - classSourceAsString = - "public class Demo9Recompiled {" + - " public int test(int b1, String s) {" + - " return 0;" + - " }" + - "}"; - - Pair stringClassLoaderPair = - compileClassAndGetClassPath(new Pair<>(demo9RecompiledClassName, classSourceAsString), classpath); - - ClassLoader reloadedClassLoader = stringClassLoaderPair.getSecond(); - - Class recompiledClass = null; - - try { - recompiledClass = reloadedClassLoader.loadClass(demo9RecompiledClassName); - } catch (ClassNotFoundException e) { - Assertions.fail("Failed to load the class after recompilation; classpath: " + stringClassLoaderPair.getFirst()); - } - - if (recompiledClass == null) { - Assertions.fail("Failed to load the class after recompilation"); - } - - EnvironmentModels environmentModels2 = new EnvironmentModels( - demo9Model, - Arrays.asList(new UtPrimitiveModel(4), new UtPrimitiveModel("Some String")), - Collections.emptyMap() - ); - - Method methodUnderTest2 = PredefinedGeneratorParameters.getMethodByName( - recompiledClass, - "test", - int.class, - String.class - ); - - List testSets1 = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest2, - environmentModels - ) - ), - recompiledClass, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResultWithConcreteExecutionOnly2 = UtBotJavaApi.generate( - Collections.emptyList(), - testSets1, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - recompiledClass, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly2); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testProvided1() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(ArrayOfComplexArraysExample.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel providedTestModel = modelFactory.produceCompositeModel( - classIdForType(ProvidedExample.class), - Collections.emptyMap(), - Collections.emptyMap() - ); - - List parameters = Arrays.asList( - new UtPrimitiveModel(5), - new UtPrimitiveModel(9), - new UtPrimitiveModel("Some Text") - ); - - EnvironmentModels initialState = new EnvironmentModels( - providedTestModel, - parameters, - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - ProvidedExample.class, - "test0", - int.class, int.class, String.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState - ) - ), - ProvidedExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ProvidedExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState - ) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ProvidedExample.class - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testOnObjectWithArrayOfComplexArrays() { - - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(ArrayOfComplexArraysExample.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel cmArrayOfComplexArrays = createArrayOfComplexArraysModel(); - - UtCompositeModel testClassCompositeModel = modelFactory.produceCompositeModel( - classIdForType(ArrayOfComplexArraysExample.class) - ); - - EnvironmentModels initialState = new EnvironmentModels( - testClassCompositeModel, - Collections.singletonList(cmArrayOfComplexArrays), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - ArrayOfComplexArraysExample.class, - "getValue", - ArrayOfComplexArrays.class - ); - - List testSets = UtBotJavaApi.generateTestSets( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState - ) - ), - ArrayOfComplexArraysExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L - ); - - String generationResult = UtBotJavaApi.generate( - Collections.emptyList(), - testSets, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ArrayOfComplexArraysExample.class, - ProjectType.PureJvm, - Junit4.INSTANCE, - MOCKITO, - CodegenLanguage.JAVA, - MockitoStaticMocking.INSTANCE, - false, - ForceStaticMocking.DO_NOT_FORCE - ); - - Snippet snippet1 = new Snippet(CodegenLanguage.JAVA, generationResult); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet1); - - String generationResultWithConcreteExecutionOnly = UtBotJavaApi.generate( - Collections.singletonList( - new TestMethodInfo( - methodUnderTest, - initialState - ) - ), - Collections.emptyList(), - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - ArrayOfComplexArraysExample.class - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generationResultWithConcreteExecutionOnly); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @Test - public void testFuzzingSimple() { - SootUtils.INSTANCE.runSoot(StringSwitchExample.class, false, new JdkInfoDefaultProvider().getInfo()); - UtBotJavaApi.setStopConcreteExecutorOnExit(false); - - String classpath = getClassPath(StringSwitchExample.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel classUnderTestModel = modelFactory.produceCompositeModel( - classIdForType(StringSwitchExample.class) - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName(StringSwitchExample.class, "validate", String.class, int.class, int.class); - - IdentityHashMap models = modelFactory.produceAssembleModel( - methodUnderTest, - StringSwitchExample.class, - Collections.singletonList(classUnderTestModel) - ); - - EnvironmentModels methodState = new EnvironmentModels( - models.get(classUnderTestModel), - Arrays.asList(new UtPrimitiveModel("initial model"), new UtPrimitiveModel(-10), new UtPrimitiveModel(0)), - Collections.emptyMap() - ); - - TestMethodInfo methodInfo = new TestMethodInfo( - methodUnderTest, - methodState); - List testSets1 = UtBotJavaApi.fuzzingTestSets( - Collections.singletonList( - methodInfo - ), - StringSwitchExample.class, - classpath, - dependencyClassPath, - MockStrategyApi.OTHER_PACKAGES, - 3000L, - (type) -> { - if (int.class.equals(type) || Integer.class.equals(type)) { - return Arrays.asList(0, Integer.MIN_VALUE, Integer.MAX_VALUE); - } - return null; - } - ); - - String generate = UtBotJavaApi.generate( - Collections.singletonList(methodInfo), - testSets1, - PredefinedGeneratorParameters.destinationClassName, - classpath, - dependencyClassPath, - StringSwitchExample.class - ); - - Snippet snippet2 = new Snippet(CodegenLanguage.JAVA, generate); - compileClassFile(PredefinedGeneratorParameters.destinationClassName, snippet2); - } - - @NotNull - private String getClassPath(Class clazz) { - try { - return normalizePath(clazz.getProtectionDomain().getCodeSource().getLocation()); - } catch (URISyntaxException e) { - throw new RuntimeException(e); - } - } - - @NotNull - private String normalizePath(URL url) throws URISyntaxException { - return new File(url.toURI()).getPath(); - } - - @NotNull - private String getDependencyClassPath() { - - ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader(); - URL[] urls = PathUtil.getUrlsFromClassLoader(contextClassLoader); - - - return Arrays.stream(urls).map(url -> - { - try { - return new File(url.toURI()).toString(); - } catch (URISyntaxException e) { - Assertions.fail(e); - } - throw new RuntimeException(); - }).collect(Collectors.joining(File.pathSeparator)); - } - public UtCompositeModel createArrayOfComplexArraysModel() { - ClassId classIdOfArrayOfComplexArraysClass = classIdForType(ArrayOfComplexArrays.class); - ClassId classIdOfComplexArray = classIdForType(ComplexArray.class); - ClassId classIdOfPrimitiveFieldsClass = classIdForType(PrimitiveFields.class); - - ClassId classIdOfArrayOfPrimitiveFieldsClass = new ClassId("[L" + classIdOfPrimitiveFieldsClass.getCanonicalName() + ";", classIdOfPrimitiveFieldsClass); - - Map elementsOfComplexArrayArray = new HashMap<>(); - - Map elementsWithPrimitiveFieldsClasses = new HashMap<>(); - - elementsWithPrimitiveFieldsClasses.put(0, modelFactory.produceCompositeModel( - classIdOfPrimitiveFieldsClass, - Collections.singletonMap("a", new UtPrimitiveModel(5)), - Collections.emptyMap() - )); - - elementsWithPrimitiveFieldsClasses.put(1, modelFactory.produceCompositeModel( - classIdOfPrimitiveFieldsClass, - Collections.singletonMap("b", new UtPrimitiveModel(4)), - Collections.emptyMap() - )); - - UtArrayModel arrayOfPrimitiveFieldsModel = modelFactory.produceArrayModel( - classIdOfArrayOfPrimitiveFieldsClass, - 2, - new UtNullModel(classIdOfPrimitiveFieldsClass), - elementsWithPrimitiveFieldsClasses - ); - - UtCompositeModel complexArrayClassModel = modelFactory.produceCompositeModel( - classIdOfComplexArray, - Collections.singletonMap("array", arrayOfPrimitiveFieldsModel) - ); - - elementsOfComplexArrayArray.put(1, complexArrayClassModel); - - ClassId classIdOfArraysOfComplexArrayClass = new ClassId("[L" + classIdOfComplexArray.getCanonicalName() + ";", classIdOfComplexArray); - - UtArrayModel arrayOfComplexArrayClasses = modelFactory.produceArrayModel( - classIdOfArraysOfComplexArrayClass, - 2, - new UtNullModel(classIdOfComplexArray), - elementsOfComplexArrayArray - ); - - return modelFactory.produceCompositeModel( - classIdOfArrayOfComplexArraysClass, - Collections.singletonMap("array", arrayOfComplexArrayClasses)); - } - - @Test - public void testUnitTestBotLight() { - String classpath = getClassPath(Trivial.class); - String dependencyClassPath = getDependencyClassPath(); - - UtCompositeModel model = modelFactory. - produceCompositeModel( - classIdForType(Trivial.class) - ); - - EnvironmentModels environmentModels = new EnvironmentModels( - model, - Collections.singletonList(new UtPrimitiveModel(2)), - Collections.emptyMap() - ); - - Method methodUnderTest = PredefinedGeneratorParameters.getMethodByName( - Trivial.class, - "aMethod", - int.class - ); - - UnitTestBotLight.run( - (engine, state) -> System.err.println("Got a call:" + state.getStmt()), - new TestMethodInfo( - methodUnderTest, - environmentModels - ), - classpath, - dependencyClassPath - ); - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/bytecode/versions/SootTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/bytecode/versions/SootTest.kt deleted file mode 100644 index e988274c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/bytecode/versions/SootTest.kt +++ /dev/null @@ -1,69 +0,0 @@ -package org.utbot.bytecode.versions - -import org.junit.jupiter.api.Assertions.assertFalse -import org.junit.jupiter.api.Assertions.assertNotNull -import org.junit.jupiter.api.Assertions.assertNull -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.examples.objects.SimpleDataClass -import org.utbot.framework.util.SootUtils.runSoot -import soot.Scene - -@Suppress("UNREACHABLE_CODE") -@Disabled("TODO: https://github.com/UnitTestBot/UTBotJava/issues/891") -class SootTest { - @Test - fun `no method isBlank in JDK 8`() { - runSoot( - SimpleDataClass::class.java, - forceReload = true, - TODO("Get JDK 8") - ) - - val stringClass = Scene.v().getSootClass("java.lang.String") - assertFalse(stringClass.isPhantomClass) - - val isBlankMethod = stringClass.getMethodByNameUnsafe("isBlank") // no such method in JDK 8 - assertNull(isBlankMethod) - } - - @Test - fun `method isBlank exists in JDK 11`() { - runSoot( - SimpleDataClass::class.java, - forceReload = true, - TODO("Get JDK 11") - ) - - val stringClass = Scene.v().getSootClass("java.lang.String") - assertFalse(stringClass.isPhantomClass) - - val isBlankMethod = stringClass.getMethodByNameUnsafe("isBlank") // there is such method in JDK 11 - assertNotNull(isBlankMethod) - } - - @Test - fun `no records in JDK 11`() { - runSoot( - SimpleDataClass::class.java, - forceReload = true, - TODO("Get JDK 11") - ) - - val stringClass = Scene.v().getSootClass("java.lang.Record") // must not exist in JDK 11 - assertTrue(stringClass.isPhantomClass) - } - - @Test - fun `records exists in JDK 17`() { - runSoot( - SimpleDataClass::class.java, - forceReload = true, - TODO("Get JDK 17") - ) - - val stringClass = Scene.v().getSootClass("java.lang.Record") // must exist in JDK 17 - assertFalse(stringClass.isPhantomClass) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/engine/pc/QueryOptimizationsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/engine/pc/QueryOptimizationsTest.kt deleted file mode 100644 index 498c3ee2..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/engine/pc/QueryOptimizationsTest.kt +++ /dev/null @@ -1,642 +0,0 @@ -package org.utbot.engine.pc - -import org.utbot.engine.Add -import org.utbot.engine.And -import org.utbot.engine.Cmp -import org.utbot.engine.Cmpg -import org.utbot.engine.Cmpl -import org.utbot.engine.Div -import org.utbot.engine.Eq -import org.utbot.engine.Ge -import org.utbot.engine.Gt -import org.utbot.engine.Le -import org.utbot.engine.Lt -import org.utbot.engine.Mul -import org.utbot.engine.Ne -import org.utbot.engine.Or -import org.utbot.engine.Rem -import org.utbot.engine.Shl -import org.utbot.engine.Shr -import org.utbot.engine.Sub -import org.utbot.engine.Ushr -import org.utbot.engine.Xor -import org.utbot.engine.primitiveToSymbolic -import org.utbot.engine.toBoolValue -import org.utbot.engine.toByteValue -import org.utbot.engine.toDoubleValue -import org.utbot.engine.toFloatValue -import org.utbot.engine.toIntValue -import org.utbot.engine.toLongValue -import org.utbot.engine.toPrimitiveValue -import org.utbot.engine.toShortValue -import org.utbot.framework.UtSettings -import kotlinx.collections.immutable.persistentListOf -import org.junit.jupiter.api.AfterAll -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test - -private var expressionSimplificationValue: Boolean = UtSettings.useExpressionSimplification - -@BeforeAll -fun beforeAll() { - UtSettings.useExpressionSimplification = true -} - -@AfterAll -fun afterAll() { - UtSettings.useExpressionSimplification = expressionSimplificationValue -} - - -class QueryOptimizationsTest { - - private fun BaseQuery.check(vararg exprs: UtBoolExpression, checker: (BaseQuery) -> Unit = {}): BaseQuery = - this.with(hard = exprs.toList(), soft = emptyList(), assumptions = emptyList()).also { - checker(it) - } - - private fun BaseQuery.checkUnsat(vararg exprs: UtBoolExpression): BaseQuery = - this.check(*exprs) { unsat(it) } - - private val empty: (BaseQuery) -> Unit = { query -> - assert(query.hard.isEmpty()) { "$query isn't empty" } - } - - private val notEmpty: (BaseQuery) -> Unit = { query -> - assert(query.hard.isNotEmpty()) { "$query is empty" } - } - - private fun size(value: Int): (BaseQuery) -> Unit = { query -> - assert(query.hard.size == value) { "$query size doesn't match with $value" } - } - - private fun contains(constraint: UtBoolExpression): (BaseQuery) -> Unit = { query -> - assert(query.hard.contains(constraint)) { "$query doesn't contain $constraint" } - } - - private val unsat: (BaseQuery) -> Unit = { query -> - assert(query.status is UtSolverStatusUNSAT) { "$query isn't unsat" } - } - - private val unknown: (BaseQuery) -> Unit = { query -> - assert(query.status is UtSolverStatusUNDEFINED) { "$query status is known" } - } - - private fun `is`(vararg checkers: (BaseQuery) -> Unit): (BaseQuery) -> Unit = { query -> - checkers.forEach { it(query) } - } - - @Test - fun testConcreteEq() { - var query: BaseQuery = Query() - query = query.check(Eq(0.toPrimitiveValue(), 0)) { - `is`(empty, unknown)(it) - } - query.check(Eq(1.toPrimitiveValue(), 0)) { - `is`(contains(UtFalse), unsat)(it) - } - } - - @Test - fun testSymbolicEq() { - var query: BaseQuery = Query() - val p = mkBVConst("p", UtIntSort).toIntValue() - // p == p === true - query.check(Eq(p, p)) { - `is`(empty, unknown)(it) - } - // query = Query(p == 0) - query = query.check(Eq(p, 0)) { - `is`(notEmpty, unknown)(it) - } - // p == 0, p == 1 is unsat - query.checkUnsat(Eq(p, 1)) - // p == 0, p != 0 is unsat - query.checkUnsat(Ne(p, 0)) - // p == 0, not (p == 0) is unsat - query.checkUnsat(NotBoolExpression(Eq(p, 0))) - // p == 0, p == p === p == 0 - query.check(Eq(p, p)) { - `is`(size(1), contains(Eq(p, 0)), unknown)(it) - } - } - - @Test - fun testArbitraryExpressionEq() { - var query: BaseQuery = Query() - val a = mkBVConst("a", UtIntSort).toIntValue() - val b = mkBVConst("b", UtIntSort).toIntValue() - // query = Query(a + b == 0) - query = query.check(Eq(Add(a, b).toIntValue(), 0)) { - `is`(size(1), unknown)(it) - } - // a + b == 0, a + b == 1 is unsat - query.checkUnsat(Eq(Add(a, b).toIntValue(), 1)) - val array = mkArrayConst("a", UtIntSort, UtIntSort) - val first = array.select(mkInt(0)).toIntValue() - // query = Query(a + b == 0, select(array, 0) == 0) - query = query.check(Eq(first, 0)) { - `is`(size(2), unknown)(it) - } - // select(array, 0) == 0, select(array, 0) == 1 is unsat - query.checkUnsat(Eq(first, 1)) - } - - @Test - fun testEvalIndexOfSelect() { - var query: BaseQuery = Query() - val array = mkArrayConst("a", UtIntSort, UtIntSort) - // query = Query(select(array, 3) == 0) - query = query.check(Eq(array.select(mkInt(3)).toIntValue(), 0)) { - `is`(size(1), unknown)(it) - } - // select(array, 3) == 0, select(array, 1 + 2) == 2 is unsat - query.checkUnsat( - Eq(array.select(Add(1.toPrimitiveValue(), 2.toPrimitiveValue())).toIntValue(), 2) - ) - } - - @Test - fun testFpEq() { - var query: BaseQuery = Query() - val fp = mkFpConst("a", Double.SIZE_BITS).toDoubleValue() - // query = Query(a == 0.0) - query = query.check(Eq(fp, 0.0.toPrimitiveValue())) { - `is`(size(1), unknown)(it) - } - // a == 0.0, a == 1.0 is unsat - query.checkUnsat(Eq(fp, 1.0.toPrimitiveValue())) - // a == 0.0, a == 0.0 === a == 0.0 - query.check(Eq(0.0.toPrimitiveValue(), fp)) { - `is`(size(1), unknown)(it) - } - } - - @Test - fun testOperations() { - val query: BaseQuery = Query() - val a = 10.toPrimitiveValue() - val b = 5.toPrimitiveValue() - query.check( - // 10 + 5 == 15 - Eq(Add(a, b).toIntValue(), 15), - // 10 - 5 == 5 - Eq(Sub(a, b).toIntValue(), 5), - // 10 * 5 == 50 - Eq(Mul(a, b).toIntValue(), 50), - // 10 / 5 == 2 - Eq(Div(a, b).toIntValue(), 2), - // 5 % 10 == 5 - Eq(Rem(b, a).toIntValue(), 5), - // 10 cmp 5 == 1 - Eq(Cmp(a, b).toIntValue(), 1), - Eq(Cmpg(a, b).toIntValue(), 1), - Eq(Cmpl(a, b).toIntValue(), 1), - // 10 and 5 - Eq(And(a, b).toIntValue(), 10 and 5), - // 10 or 5 - Eq(Or(a, b).toIntValue(), 10 or 5), - // 10 xor 5 - Eq(Xor(a, b).toIntValue(), 10 xor 5), - // 10 << 5 - Eq(Shl(a, b).toIntValue(), 10 shl 5), - // -1 >> 5 == -1 - Eq(Shr((-1).toPrimitiveValue(), b).toIntValue(), -1 shr 5), - // -1 >>> 5 - Eq(Ushr((-1).toPrimitiveValue(), b).toIntValue(), -1 ushr 5), - // 10 << 37 == 10 << 5 - Eq(Shl(a, 37.toPrimitiveValue()).toIntValue(), 10 shl 37), - // -5 >> 37 == -5 >> 5 - Eq(Shr(mkByte(-5).toIntValue(), 37.toPrimitiveValue()).toIntValue(), -5 shr 37), - Eq(Ushr((-5).toPrimitiveValue(), 37.toPrimitiveValue()).toIntValue(), -5 ushr 37), - ) { - `is`(empty, unknown)(it) - } - } - - @Test - fun testUtEqExpression() { - var query: BaseQuery = Query() - // 0 == 0 === true - query.check(UtEqExpression(mkInt(0), mkInt(0))) { - `is`(empty, unknown)(it) - } - // 1 == 0 === false - query.checkUnsat(UtEqExpression(mkInt(1), mkInt(0))) - val array = mkArrayConst("a", UtIntSort, UtIntSort) - val first = array.select(mkInt(0)) - // query = Query(select(array, 0) == 0) - query = query.check(UtEqExpression(first, mkInt(0))) { - `is`(size(1), unknown)(it) - } - // select(array, 0) == 0, select(array, 0) == 1 is unsat - query.checkUnsat(UtEqExpression(first, mkInt(1))) - } - - @Test - fun testSplitAndExpression() { - val query: BaseQuery = Query() - val a = mkBoolConst("a") - val b = mkBoolConst("b") - val c = mkBoolConst("c") - // a and b and c and true === a, b, c - query.check(mkAnd(a, b, c, UtTrue)) { - `is`(size(3), contains(a), contains(b), contains(c), unknown)(it) - } - } - - @Test - fun testAndExpression() { - val query: BaseQuery = Query() - val a = mkBoolConst("a") - val b = mkBoolConst("b") - val c = mkBoolConst("c") - // a and b and false === false - query.check(mkAnd(a, b, UtFalse)) { - `is`(unsat, contains(UtFalse))(it) - } - // a and b and true and c === a and b and c - query.check(mkAnd(a, b, UtTrue, c)) { - `is`(size(3), contains(a), contains(b), contains(c), unknown)(it) - } - // true and true and true === true - query.check(mkAnd(UtTrue, UtTrue, UtTrue)) { - `is`(empty, unknown)(it) - } - // a and true === a - query.check(mkAnd(a, UtTrue)) { - `is`(size(1), contains(a), unknown)(it) - } - // a and b and (true and true) === a and b - query.check(mkAnd(a, b, (mkAnd(UtTrue, UtTrue)))) { - `is`(size(2), contains(a), contains(b), unknown)(it) - } - } - - @Test - fun testOrExpression() { - val query: BaseQuery = Query() - val a = mkBoolConst("a") - val b = mkBoolConst("b") - val c = mkBoolConst("c") - // a or b or true === a or b - query.check(mkOr(a, b, UtTrue)) { - `is`(empty, unknown)(it) - } - // a or b or false or c === a or b or c - query.check(mkOr(a, b, UtFalse, c)) { - `is`(size(1), contains(mkOr(a, b, c)), unknown)(it) - } - // false or false or false === false - query.checkUnsat(mkOr(UtFalse, UtFalse, UtFalse)) - // a or false === a - query.check(mkOr(a, UtFalse)) { - `is`(size(1), contains(a), unknown)(it) - } - // a or b or (false or false) === a or b - query.check(mkOr(a, b, mkOr(UtFalse, UtFalse))) { - `is`(size(1), contains(mkOr(a, b)))(it) - } - } - - @Test - fun testNotExpression() { - val query: BaseQuery = Query() - val a = mkBoolConst("a") - val b = mkBoolConst("b") - // not true === false - query.checkUnsat(NotBoolExpression(UtTrue)) - // not false === true - query.check(NotBoolExpression(UtFalse)) { - `is`(empty, unknown)(it) - } - // not (a and b) === (not a) or (not b) - query.check(NotBoolExpression(mkAnd(a, b))) { - `is`(size(1), contains(mkOr(NotBoolExpression(a), NotBoolExpression(b))), unknown)(it) - } - // not (a and true) === (not a) - query.check(NotBoolExpression(mkAnd(a, UtTrue))) { - `is`(size(1), contains(NotBoolExpression(a)), unknown)(it) - } - // not (a or b) === (not a) and (not b) - query.check(NotBoolExpression(mkOr(a, b))) { - `is`(size(2), contains(NotBoolExpression(a)), contains(NotBoolExpression(b)), unknown)(it) - } - // not (a or false) === not a - query.check(NotBoolExpression(mkOr(a, UtFalse))) { - `is`(size(1), contains(NotBoolExpression(a)), unknown)(it) - } - // not (a != b) === a == b - query.check(NotBoolExpression(Ne(a.toBoolValue(), b.toBoolValue()))) { - `is`(size(1), contains(Eq(a.toBoolValue(), b.toBoolValue())), unknown)(it) - } - } - - @Test - fun testUtNegExpression() { - val query: BaseQuery = Query() - val a = 50 - query.check( - // neg Byte(50) == Byte(-50) - Eq(UtNegExpression(a.toByte().toPrimitiveValue()).toByteValue(), (-a).toPrimitiveValue()), - // neg Short(50) == Short(-50) - Eq(UtNegExpression(a.toShort().toPrimitiveValue()).toShortValue(), (-a).toPrimitiveValue()), - // neg 50 == -50 - Eq(UtNegExpression(a.toPrimitiveValue()).toIntValue(), (-a).toPrimitiveValue()), - // neg Long(50) == Long(-50) - Eq(UtNegExpression(a.toLong().toPrimitiveValue()).toLongValue(), (-a).toLong().toPrimitiveValue()), - // neg Float(50) == Float(-50) - Eq( - UtNegExpression(a.toFloat().toPrimitiveValue()).toFloatValue(), - (-a).toFloat().toPrimitiveValue() - ), - // neg Double(50) == Double(-50) - Eq( - UtNegExpression(a.toDouble().toPrimitiveValue()).toDoubleValue(), - (-a).toDouble().toPrimitiveValue() - ) - ) { - `is`(empty, unknown)(it) - } - } - - @Test - fun testSelectStoreExpression() { - val query: BaseQuery = Query() - val constArray = mkArrayWithConst(UtArraySort(UtIntSort, UtIntSort), mkInt(10)) - // select(constArray(1), 10) == 10 - query.check(Eq(constArray.select(mkInt(1)).toIntValue(), 10)) { - `is`(empty, unknown)(it) - } - // select(constArray(1), 10) != 20 - query.checkUnsat(Eq(constArray.select(mkInt(1)).toIntValue(), 20)) - val a = mkBVConst("a", UtIntSort) - val array = mkArrayConst("array", UtIntSort, UtIntSort) - val multistore1 = UtArrayMultiStoreExpression( - array, - persistentListOf( - UtStore(mkInt(2), mkInt(10)), - UtStore(a, mkInt(30)), - UtStore(mkInt(0), mkInt(10)), - UtStore(mkInt(0), mkInt(20)), - UtStore(mkInt(1), mkInt(10)) - ) - ) - val multistore2 = UtArrayMultiStoreExpression( - array, - persistentListOf( - UtStore(mkInt(2), mkInt(10)), - UtStore(mkInt(0), mkInt(10)), - UtStore(mkInt(0), mkInt(20)), - UtStore(mkInt(1), mkInt(10)), - UtStore(a, mkInt(30)) - ) - ) - query.check( - // select(store(...., 1, 10), 1) == 10 - Eq(multistore1.select(mkInt(1)).toIntValue(), 10), - // select(store(store(store(..., 0, 10), 0, 20), 1, 10), 1) == 20 - Eq(multistore1.select(mkInt(0)).toIntValue(), 20), - // select(store(...., a, 30), a) == 30 - Eq(multistore2.select(a).toIntValue(), 30) - ) { - `is`(empty, unknown)(it) - } - query.check( - // select(store(...(store(store(..., 2, 10), a, 30)...), 2) == 10 can't be simplified - Eq(multistore1.select(mkInt(2)).toIntValue(), 10) - ) { - `is`(size(1), unknown)(it) - } - query.check( - // select(store(...(store(..., a, 30))...), a) == 30 can't be simplified - Eq(multistore1.select(a).toIntValue(), 30) - ) { - `is`(size(1), unknown)(it) - } - } - - @Test - fun testPartialArithmeticExpression() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val zero = 0.toPrimitiveValue() - val one = 1.toPrimitiveValue() - val minusOne = (-1).toPrimitiveValue() - query.check( - // a + 0 == a - Eq(Add(a, zero).toIntValue(), a), - // a - 0 == a - Eq(Sub(a, zero).toIntValue(), a), - // 0 + a == a - Eq(Add(zero, a).toIntValue(), a), - // 0 - a == neg a - Eq(Sub(zero, a).toIntValue(), UtNegExpression(a).toIntValue()), - // 0 * a == 0 - Eq(Mul(zero, a).toIntValue(), zero), - Eq(Mul(a, zero).toIntValue(), zero), - // a * 1 == a - Eq(Mul(a, one).toIntValue(), a), - Eq(Mul(one, a).toIntValue(), a), - // a * (-1) == neg a - Eq(Mul(a, minusOne).toIntValue(), UtNegExpression(a).toIntValue()), - Eq(Mul(minusOne, a).toIntValue(), UtNegExpression(a).toIntValue()), - ) { - `is`(empty, unknown)(it) - } - } - - @Test - fun testOpenLiteralFromInnerExpr() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val five = 5.toPrimitiveValue() - val ten = 10.toPrimitiveValue() - val fifteen = 15.toPrimitiveValue() - val fifty = 50.toPrimitiveValue() - query.check( - // ((a + 5) + 10) == a + 15 - Eq(Add(Add(a, five).toIntValue(), ten).toIntValue(), Add(a, fifteen).toIntValue()), - Eq(Add(Add(five, a).toIntValue(), ten).toIntValue(), Add(a, fifteen).toIntValue()), - Eq(Add(ten, Add(a, five).toIntValue()).toIntValue(), Add(a, fifteen).toIntValue()), - Eq(Add(ten, Add(five, a).toIntValue()).toIntValue(), Add(a, fifteen).toIntValue()), - // ((a * 5) * 10) == a * 50 - Eq(Mul(Mul(a, five).toIntValue(), ten).toIntValue(), Mul(a, fifty).toIntValue()), - Eq(Mul(Mul(five, a).toIntValue(), ten).toIntValue(), Mul(a, fifty).toIntValue()), - Eq(Mul(ten, Mul(a, five).toIntValue()).toIntValue(), Mul(a, fifty).toIntValue()), - Eq(Mul(ten, Mul(five, a).toIntValue()).toIntValue(), Mul(a, fifty).toIntValue()), - // ((a - 5) + 10) == a + 5 - Eq(Add(Sub(a, five).toIntValue(), ten).toIntValue(), Add(a, five).toIntValue()), - Eq(Add(ten, Sub(a, five).toIntValue()).toIntValue(), Add(a, five).toIntValue()), - // ((a + 5) * 10) == a * 10 + 50 - Eq(Mul(Add(a, five).toIntValue(), ten).toIntValue(), Add(Mul(a, ten).toIntValue(), fifty).toIntValue()), - Eq(Mul(Add(five, a).toIntValue(), ten).toIntValue(), Add(Mul(a, ten).toIntValue(), fifty).toIntValue()), - Eq(Mul(ten, Add(a, five).toIntValue()).toIntValue(), Add(Mul(a, ten).toIntValue(), fifty).toIntValue()), - Eq(Mul(ten, Add(five, a).toIntValue()).toIntValue(), Add(Mul(a, ten).toIntValue(), fifty).toIntValue()), - ) { - `is`(empty, unknown)(it) - } - } - - @Test - fun testEqSimplificationWithInnerExpr() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val five = 5.toPrimitiveValue() - val ten = 10.toPrimitiveValue() - val fifteen = 15.toPrimitiveValue() - // (a + 5) == 10 === a == 5 - query.check(Eq(Add(a, five).toIntValue(), ten)) { - `is`(contains(Eq(a, five)), unknown)(it) - } - // (a - 5) == 10 === a == 15 - query.check(Eq(Sub(a, five).toIntValue(), ten)) { - `is`(contains(Eq(a, fifteen)), unknown)(it) - } - // (a xor 5) == 10 === a == 5 xor 10 - query.check(Eq(Xor(a, five).toIntValue(), ten)) { - `is`(contains(Eq(a, (10 xor 5).toPrimitiveValue())), unknown)(it) - } - } - - @Test - fun testLtSimplifications() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val five = 5.toPrimitiveValue() - val ten = 10.toPrimitiveValue() - val fifteen = 15.toPrimitiveValue() - val nine = 9.toPrimitiveValue() - val four = 4.toPrimitiveValue() - // ltQuery = Query(a < 10) - val ltQuery = query.check(Lt(a, ten)) { - `is`(size(1), unknown)(it) - } - // a < 10, a < 15, a <= 10, a > 5 === a < 10, a > 5 - ltQuery.check(Lt(a, fifteen), Le(a, ten), Gt(a, five)) { - `is`(contains(Lt(a, ten)), contains(Gt(a, five)), unknown)(it) - } - // a < 10, a >= 9 === a == 9 - ltQuery.check(Ge(a, nine)) { `is`(contains(Eq(a, nine)), unknown)(it) } - // a < 10, a >= 10 is unsat - ltQuery.checkUnsat(Ge(a, ten)) - // a < 10, a > 10 is unsat - ltQuery.checkUnsat(Gt(a, ten)) - // a < 10, a == 10 is unsat - ltQuery.checkUnsat(Eq(a, ten)) - val lessLtQuery = ltQuery.check(Lt(a, five)) { `is`(size(1), unknown)(it) } - // a < 5, a >= 5 is unsat - lessLtQuery.checkUnsat(Ge(a, five)) - // a < 5, a >= 4 === a == 4 - lessLtQuery.check(Ge(a, four)) { `is`(contains(Eq(a, four)), unknown)(it) } - // a < Long.MIN_VALUE is unsat - query.checkUnsat(Lt(a, Long.MIN_VALUE.primitiveToSymbolic())) - } - - @Test - fun testLeSimplifications() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val five = 5.toPrimitiveValue() - val ten = 10.toPrimitiveValue() - val fifteen = 15.toPrimitiveValue() - val nine = 9.toPrimitiveValue() - // geQuery = Query(a <= 10) - val leQuery = query.check(Le(a, ten)) { - `is`(size(1), unknown)(it) - } - // a <= 10, a < 15, a < 10, a > 5 === a < 10, a > 5 - leQuery.check(Lt(a, fifteen), Lt(a, ten), Gt(a, five)) { - `is`(contains(Lt(a, ten)), contains(Gt(a, five)), unknown)(it) - } - // a <= 10, a > 9 === a == 10 - leQuery.check(Gt(a, nine)) { `is`(contains(Eq(a, ten)), unknown)(it) } - // a <= 10, a >= 10 === a == 10 - leQuery.check(Ge(a, ten)) { `is`(contains(Eq(a, ten)), unknown)(it) } - // a <= 10, a > 10 is unsat - leQuery.checkUnsat(Gt(a, ten)) - // a <= 10, a == 15 is unsat - leQuery.checkUnsat(Eq(a, fifteen)) - val lessLeQuery = leQuery.check(Le(a, five)) { `is`(size(1), unknown)(it) } - // a <= 5, a > 5 is unsat - lessLeQuery.checkUnsat(Gt(a, five)) - // a <= 5, a >= 5 === a == 5 - lessLeQuery.check(Ge(a, five)) { `is`(contains(Eq(a, five)), unknown)(it) } - // a <= Long.MIN_VALUE is unsat - query.check(Le(a, Long.MIN_VALUE.primitiveToSymbolic())) { `is`(size(1), unknown)(it) } - } - - @Test - fun testGtSimplifications() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val five = 5.toPrimitiveValue() - val ten = 10.toPrimitiveValue() - val fifteen = 15.toPrimitiveValue() - val eleven = 11.toPrimitiveValue() - val sixteen = 16.toPrimitiveValue() - // geQuery = Query(a > 10) - val gtQuery = query.check(Gt(a, ten)) { - `is`(size(1), unknown)(it) - } - // a > 10, a > 5, a >= 10, a < 15 === a > 10, a < 15 - gtQuery.check(Gt(a, five), Ge(a, ten), Lt(a, fifteen)) { - `is`(contains(Gt(a, ten)), contains(Lt(a, fifteen)), unknown)(it) - } - // a > 10, a <= 11 === a == 11 - gtQuery.check(Le(a, eleven)) { `is`(contains(Eq(a, eleven)), unknown)(it) } - // a > 10, a <= 10 is unsat - gtQuery.checkUnsat(Le(a, ten)) - // a > 10, a < 10 is unsat - gtQuery.checkUnsat(Lt(a, ten)) - // a > 10, a == 10 is unsat - gtQuery.checkUnsat(Eq(a, ten)) - val greaterGtQuery = gtQuery.check(Gt(a, fifteen)) { `is`(size(1), unknown)(it) } - // a > 15, a <= 15 is unsat - greaterGtQuery.checkUnsat(Le(a, fifteen)) - // a > 15, a <= 16 === a == 16 - greaterGtQuery.check(Le(a, sixteen)) { `is`(contains(Eq(a, sixteen)), unknown)(it) } - // a > Long.MAX_VALUE is unsat - query.checkUnsat(Gt(a, Long.MAX_VALUE.primitiveToSymbolic())) - } - - @Test - fun testGeSimplifications() { - val query: BaseQuery = Query() - - val a = mkBVConst("a", UtIntSort).toIntValue() - val five = 5.toPrimitiveValue() - val ten = 10.toPrimitiveValue() - val fifteen = 15.toPrimitiveValue() - val eleven = 11.toPrimitiveValue() - // geQuery = Query(a >= 10) - val geQuery = query.check(Ge(a, ten)) { - `is`(size(1), unknown)(it) - } - // a >= 10, a > 5, a > 10, a < 15 === a > 10, a < 15 - geQuery.check(Gt(a, five), Gt(a, ten), Lt(a, fifteen)) { - `is`(contains(Gt(a, ten)), contains(Lt(a, fifteen)), unknown)(it) - } - // a >= 10, a < 11 === a == 10 - geQuery.check(Lt(a, eleven)) { `is`(contains(Eq(a, ten)), unknown)(it) } - // a >= 10, a <= 10 === a == 10 - geQuery.check(Le(a, ten)) { `is`(contains(Eq(a, ten)), unknown)(it) } - // a >= 10, a < 10 is unsat - geQuery.checkUnsat(Lt(a, ten)) - // a >= 10, a == 5 is unsat - geQuery.checkUnsat(Eq(a, five)) - val greaterGeQuery = geQuery.check(Ge(a, fifteen)) { `is`(size(1), unknown)(it) } - // a >= 15, a < 15 is unsat - greaterGeQuery.checkUnsat(Lt(a, fifteen)) - // a >= 15, a <= 15 === a == 15 - greaterGeQuery.check(Le(a, fifteen)) { `is`(contains(Eq(a, fifteen)), unknown)(it) } - // a >= Long.MaxVAlue is sat - query.check(Ge(a, Long.MAX_VALUE.primitiveToSymbolic())) { `is`(size(1), unknown)(it) } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/engine/z3/ExtensionsKtTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/engine/z3/ExtensionsKtTest.kt deleted file mode 100644 index 6beffa78..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/engine/z3/ExtensionsKtTest.kt +++ /dev/null @@ -1,396 +0,0 @@ -@file:Suppress("unused") - -package org.utbot.engine.z3 - -import org.utbot.engine.pc.Z3Variable -import com.microsoft.z3.BoolExpr -import com.microsoft.z3.FPExpr -import com.microsoft.z3.Sort -import kotlin.random.Random -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.assertThrows -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.Arguments.arguments -import org.junit.jupiter.params.provider.MethodSource -import org.utbot.engine.z3.ExtensionsKtTest.Companion.toSort -import soot.BooleanType -import soot.ByteType -import soot.CharType -import soot.DoubleType -import soot.FloatType -import soot.IntType -import soot.LongType -import soot.ShortType -import soot.Type - -internal class ExtensionsKtTest { - @ParameterizedTest - @MethodSource("convertVarArgs") - fun testConvertVar(variable: Z3Variable, type: Type) { - val expr = variable.expr - when { - // this fine, we don't have such conversion, so let's check fail here - expr is FPExpr && type is BooleanType -> assertThrows { - context.convertVar( - variable, - type - ) - } - expr is BoolExpr && type !is BooleanType -> assertThrows { - context.convertVar( - variable, - type - ) - } - else -> { - val alignVar = context.convertVar(variable, type) - assertEquals(type, alignVar.type) - assertEquals(context.toSort(type), alignVar.expr.sort) - } - } - } - - @ParameterizedTest - @MethodSource("conversions") - fun testConversions(conversion: Conversion) { - with(conversion) { - for ((i, number) in numbers.withIndex()) { - testConversions(number, numbers.subList(i + 1, numbers.size)) - } - } - } - - @ParameterizedTest - @MethodSource("fromCharArgs") - fun testFromChar(from: Char, result: Number) { - testCharJavaConversion(from, result) - val variable = variable(from) - val value = context.convertVar(variable, result.toType()).expr.simplify().value() - when (result) { - is Byte -> assertEquals(result, value as Byte) { "$from to $result" } - is Short -> assertEquals(result, value as Short) { "$from to $result" } - is Int -> assertEquals(result, value as Int) { "$from to $result" } - is Long -> assertEquals(result, value as Long) { "$from to $result" } - is Float -> assertEquals(result, value as Float) { "$from to $result" } - is Double -> assertEquals(result, value as Double) { "$from to $result" } - } - } - - @ParameterizedTest - @MethodSource("toCharArgs") - fun testToChar(from: Number, result: Char) { - assertEquals(result, from.toChar()) { - "Java: $from (${ - from.toChar().prettify() - }) to $result (${result.prettify()})" - } - val variable = variable(from) - val value = context.convertVar(variable, CharType.v()).expr.simplify().value(true) as Char - assertEquals(result, value) { "$from to $result" } - } - - @ParameterizedTest - @MethodSource("fromSolverStringArgs") - fun testConvertFromSolver(from: String, to: String) { - val converted = convertSolverString(from) - assertEquals(to, converted) { "${to.codes()} != ${converted.codes()}" } - } - - private fun String.codes() = map { it.toInt() }.joinToString() - - private fun testConversions(from: Number, to: List) { - to.forEach { result -> - testJavaConversion(from, result) - val variable = variable(from) - val value = context.convertVar(variable, result.toType()).expr.simplify().value() - when (result) { - is Byte -> assertEquals(result, value as Byte) { "$from to $result" } - is Short -> assertEquals(result, value as Short) { "$from to $result" } - is Int -> assertEquals(result, value as Int) { "$from to $result" } - is Long -> assertEquals(result, value as Long) { "$from to $result" } - is Float -> assertEquals(result, value as Float) { "$from to $result" } - is Double -> assertEquals(result, value as Double) { "$from to $result" } - } - } - } - - private fun testJavaConversion(from: Number, result: Number) { - when (result) { - is Byte -> assertEquals(result, from.toByte()) { "Java: $from to $result" } - is Short -> assertEquals(result, from.toShort()) { "Java: $from to $result" } - is Int -> assertEquals(result, from.toInt()) { "Java: $from to $result" } - is Long -> assertEquals(result, from.toLong()) { "Java: $from to $result" } - is Float -> assertEquals(result, from.toFloat()) { "Java: $from to $result" } - is Double -> assertEquals(result, from.toDouble()) { "Java: $from to $result" } - } - } - - private fun testCharJavaConversion(from: Char, result: Number) { - when (result) { - is Byte -> assertEquals(result, from.toByte()) { "Java: $from to $result" } - is Short -> assertEquals(result, from.toShort()) { "Java: $from to $result" } - is Int -> assertEquals(result, from.toInt()) { "Java: $from to $result" } - is Long -> assertEquals(result, from.toLong()) { "Java: $from to $result" } - is Float -> assertEquals(result, from.toFloat()) { "Java: $from to $result" } - is Double -> assertEquals(result, from.toDouble()) { "Java: $from to $result" } - } - } - - companion object : Z3Initializer() { - @JvmStatic - fun convertVarArgs() = - series.flatMap { left -> series.map { right -> arguments(left, right.type) } } - - private val series = listOf( - Z3Variable(ByteType.v(), context.mkBV(Random.nextInt(0, 100), Byte.SIZE_BITS)), - Z3Variable(ShortType.v(), context.mkBV(Random.nextInt(0, 100), Short.SIZE_BITS)), - Z3Variable(CharType.v(), context.mkBV(Random.nextInt(50000, 60000), Char.SIZE_BITS)), - Z3Variable(IntType.v(), context.mkBV(Random.nextInt(0, 100), Int.SIZE_BITS)), - Z3Variable(LongType.v(), context.mkBV(Random.nextInt(0, 100), Long.SIZE_BITS)), - Z3Variable(FloatType.v(), context.mkFP(Random.nextFloat(), context.mkFPSort32())), - Z3Variable(DoubleType.v(), context.mkFP(Random.nextDouble(), context.mkFPSort64())), - Z3Variable(BooleanType.v(), context.mkBool(Random.nextBoolean())) - ) - - /** - * Arguments for conversion checks. - * - * How to read conversion line: from left to right each number can be converted to all following, - * so Conversion(100.toByte(), 100.toShort(), 100, 100L) means it checks: - * - byte to short, int, long - * - short to int, long - * - int to long - * - * Notes: - * - char primitive class is missing with its conversions - * - * @see - * Java Language Specification - */ - @JvmStatic - fun conversions() = listOf( - // A widening, from an integral type to another integral type, sign-extends - Conversion((-100).toByte(), (-100).toShort(), -100, -100L), - Conversion(100.toByte(), 100.toShort(), 100, 100L), - - /** - * A narrowing conversion may lose information about the overall magnitude of a numeric value - * and may also lose precision and range. - * Integral: simply discards all but the n lowest order bits - */ - Conversion(-100L, -100, (-100).toShort(), (-100).toByte()), - Conversion(0x1111222233334444L, 0x33334444, (0x4444).toShort(), (0x44).toByte()), - Conversion(4000000012L, -294967284, 10252.toShort(), 12.toByte()), - Conversion(-1L, -1, (-1).toShort(), (-1).toByte()), - - // Int to float, long to double, may lose some of the least significant bits of the value - Conversion(1234567890, 1.23456794E9f), - Conversion(-1234567890, -1.23456794E9f), - Conversion(6000372036854775807L, 6.0003720368547758E18), - Conversion(-6000372036854775807L, -6.0003720368547758E18), - - /** - * Double to float, narrowing. - * A finite value too small to be represented as a float is converted to a zero of the same sign; - * a finite value too large to be represented as a float is converted to an infinity of the same sign. - * A double NaN is converted to a float NaN. - */ - Conversion(100.0, 100.0f), - Conversion(-100.0, -100.0f), - Conversion(Double.NaN, Float.NaN), - Conversion(Double.POSITIVE_INFINITY, Float.POSITIVE_INFINITY), - Conversion(Double.MAX_VALUE, Float.POSITIVE_INFINITY), - Conversion(1E40, Float.POSITIVE_INFINITY), - Conversion(Double.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY), - Conversion(-Double.MAX_VALUE, Float.NEGATIVE_INFINITY), - Conversion(-1E40, Float.NEGATIVE_INFINITY), - Conversion(0.0, 0.0f), - Conversion(-0.0, -0.0f), - Conversion(Double.MIN_VALUE, 0.0f), - Conversion(-Double.MIN_VALUE, -0.0f), - - /** - * Float to double, widening. - * A float infinity is converted to a double infinity of the same sign. - * A float NaN is converted to a double NaN. - */ - Conversion(100.0f, 100.0), - Conversion(-100.0f, -100.0), - Conversion(Float.NaN, Double.NaN), - Conversion(Float.POSITIVE_INFINITY, Double.POSITIVE_INFINITY), - Conversion(Float.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY), - Conversion(0.0f, 0.0), - Conversion(-0.0f, -0.0), - - // float/double to long - Conversion(100.999, 100L), - Conversion(-100.999, -100L), - Conversion(0.0, 0L), - Conversion(-0.0, 0L), - Conversion(Double.MIN_VALUE, 0L), - Conversion(-Double.MIN_VALUE, 0L), - Conversion(100.999f, 100L), - Conversion(-100.999f, -100L), - Conversion(0.0f, 0L), - Conversion(-0.0f, -0L), - - // Special cases - Conversion(Float.NaN, 0L), - Conversion(Float.POSITIVE_INFINITY, Long.MAX_VALUE), - Conversion(Float.NEGATIVE_INFINITY, Long.MIN_VALUE), - Conversion(Double.NaN, 0L), - Conversion(Double.POSITIVE_INFINITY, Long.MAX_VALUE), - Conversion(Double.MAX_VALUE, Long.MAX_VALUE), - Conversion(1E40, Long.MAX_VALUE), - Conversion(Double.NEGATIVE_INFINITY, Long.MIN_VALUE), - Conversion(-Double.MAX_VALUE, Long.MIN_VALUE), - Conversion(-1E40, Long.MIN_VALUE), - - // float/double to int - Conversion(100.999, 100), - Conversion(-100.999, -100), - Conversion(0.0, 0), - Conversion(-0.0, 0), - Conversion(Double.MIN_VALUE, 0), - Conversion(-Double.MIN_VALUE, 0), - Conversion(100.999f, 100), - Conversion(-100.999f, -100), - Conversion(0.0f, 0), - Conversion(-0.0f, -0), - - // Special cases - Conversion(Float.NaN, 0), - Conversion(Float.POSITIVE_INFINITY, Int.MAX_VALUE), - Conversion(Float.NEGATIVE_INFINITY, Int.MIN_VALUE), - Conversion(Double.NaN, 0), - Conversion(Double.POSITIVE_INFINITY, Int.MAX_VALUE), - Conversion(Double.MAX_VALUE, Int.MAX_VALUE), - Conversion(1E40, Int.MAX_VALUE), - Conversion(Double.NEGATIVE_INFINITY, Int.MIN_VALUE), - Conversion(-Double.MAX_VALUE, Int.MIN_VALUE), - Conversion(-1E40, Int.MIN_VALUE), - - // float/double to byte (through int) - Conversion(100.999, 100.toByte()), - Conversion(-100.999, (-100).toByte()), - Conversion(0.0, 0.toByte()), - Conversion(-0.0, 0.toByte()), - Conversion(Double.MIN_VALUE, 0.toByte()), - Conversion(-Double.MIN_VALUE, 0.toByte()), - Conversion(100.999f, 100.toByte()), - Conversion(-100.999f, (-100).toByte()), - Conversion(0.0f, 0.toByte()), - Conversion(-0.0f, (-0).toByte()), - - // Special cases - Conversion(Float.NaN, 0.toByte()), - Conversion(Float.POSITIVE_INFINITY, (-1).toByte()), // narrowing from int to byte - Conversion(Float.NEGATIVE_INFINITY, 0.toByte()), // narrowing from int to byte - Conversion(Double.NaN, 0.toByte()), - Conversion(Double.POSITIVE_INFINITY, (-1).toByte()), // narrowing from int to byte - Conversion(Double.MAX_VALUE, (-1).toByte()), // narrowing from int to byte - Conversion(1E40, (-1).toByte()), // narrowing from int to byte - Conversion(Double.NEGATIVE_INFINITY, 0.toByte()), // narrowing from int to byte - Conversion(-Double.MAX_VALUE, 0.toByte()), // narrowing from int to byte - Conversion(-1E40, 0.toByte()), // narrowing from int to byte - ) - - @JvmStatic - fun fromCharArgs() = listOf( - arguments('\u9999', (-103).toByte()), - arguments('\u9999', (-26215).toShort()), - arguments('\u9999', 39321), - arguments('\u9999', 39321L), - arguments('\u9999', 39321.0f), - arguments('\u9999', 39321.0), - ) - - @JvmStatic - fun toCharArgs() = listOf( - arguments((-103).toByte(), '\uFF99'), - arguments(103.toByte(), '\u0067'), - arguments((-26215).toShort(), '\u9999'), - arguments(26215.toShort(), '\u6667'), - arguments(1234567890, '\u02D2'), - arguments(-1234567890, '\uFD2E'), - arguments(6000372036854775807L, '\u7FFF'), - arguments(-6000372036854775807L, '\u8001'), - - // float/double to char (through int) - arguments(-39321.0, '\u6667'), - arguments(100.999, '\u0064'), - arguments(-100.999, '\uFF9C'), - arguments(0.0, '\u0000'), - arguments(-0.0, '\u0000'), - arguments(Double.MIN_VALUE, '\u0000'), - arguments(-Double.MIN_VALUE, '\u0000'), - arguments(-39321.0f, '\u6667'), - arguments(100.999f, '\u0064'), - arguments(-100.999f, '\uFF9C'), - arguments(0.0f, '\u0000'), - arguments(-0.0f, '\u0000'), - - // Special cases - arguments(Float.NaN, '\u0000'), - arguments(Float.POSITIVE_INFINITY, '\uFFFF'), // narrowing from int to char - arguments(Float.NEGATIVE_INFINITY, '\u0000'), // narrowing from int to char - arguments(Double.NaN, '\u0000'), - arguments(Double.POSITIVE_INFINITY, '\uFFFF'), // narrowing from int to char - arguments(Double.MAX_VALUE, '\uFFFF'), // narrowing from int to char - arguments(1E40, '\uFFFF'), // narrowing from int to char - arguments(Double.NEGATIVE_INFINITY, '\u0000'), // narrowing from int to char - arguments(-Double.MAX_VALUE, '\u0000'), // narrowing from int to char - arguments(-1E40, '\u0000'), // narrowing from int to char - ) - - @JvmStatic - fun fromSolverStringArgs() = listOf( - arguments("", ""), - arguments("\\a", "\u0007"), - arguments("\\b", "\b"), - arguments("\\f", "\u000C"), - arguments("\\n", "\n"), - arguments("\\r", "\r"), - arguments("\\t", "\t"), - arguments("\\v", "\u000B"), - - arguments("\\x00", "\u0000"), - arguments("\\xAB", "\u00AB"), - arguments("AaBbCc (){}[]<>,.!@#$%^&*-=_+/?`~\\\\", "AaBbCc (){}[]<>,.!@#$%^&*-=_+/?`~\\"), - ) - - private fun variable(from: Any): Z3Variable = when (from) { - is Number -> Z3Variable(from.toType(), context.makeConst(from, from.toSort())) - is Char -> Z3Variable(CharType.v(), context.mkBV(from.toInt(), Char.SIZE_BITS)) - else -> error("Unknown constant: ${from::class}") - } - - private fun Any.toSort(): Sort = when (this) { - is Byte -> context.mkBitVecSort(Byte.SIZE_BITS) - is Short -> context.mkBitVecSort(Short.SIZE_BITS) - is Char -> context.mkBitVecSort(Char.SIZE_BITS) - is Int -> context.mkBitVecSort(Int.SIZE_BITS) - is Long -> context.mkBitVecSort(Long.SIZE_BITS) - is Float -> context.mkFPSort32() - is Double -> context.mkFPSort64() - else -> error("Unknown type $this") - } - - private fun Any.toType(): Type = when (this) { - is Byte -> ByteType.v() - is Short -> ShortType.v() - is Char -> CharType.v() - is Int -> IntType.v() - is Long -> LongType.v() - is Float -> FloatType.v() - is Double -> DoubleType.v() - else -> error("Unknown type $this") - } - } -} - -private fun Char.prettify(): String = "%04X".format(this.toInt()).let { "'\\u$it'" } - -data class Conversion(val numbers: List) { - constructor(vararg numbers: Number) : this(numbers.toList()) -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/engine/z3/OperatorsKtTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/engine/z3/OperatorsKtTest.kt deleted file mode 100644 index 0325e4c8..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/engine/z3/OperatorsKtTest.kt +++ /dev/null @@ -1,76 +0,0 @@ -@file:Suppress("unused") - -package org.utbot.engine.z3 - -import org.utbot.engine.pc.Z3Variable -import com.microsoft.z3.BitVecSort -import com.microsoft.z3.BoolExpr -import com.microsoft.z3.FPExpr -import kotlin.random.Random -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.assertThrows -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.Arguments.arguments -import org.junit.jupiter.params.provider.MethodSource -import soot.BooleanType -import soot.ByteType -import soot.CharType -import soot.DoubleType -import soot.FloatType -import soot.IntType -import soot.LongType -import soot.ShortType - -internal class OperatorsKtTest { - @ParameterizedTest - @MethodSource("alignVarsArgs") - fun testAlignVars(left: Z3Variable, right: Z3Variable) { - if (left.expr is BoolExpr && right.expr is FPExpr || left.expr is FPExpr && right.expr is BoolExpr) { - // this fine, we don't have such conversion, so let's check fail here - assertThrows { context.alignVars(left, right) } - } else { - val (aleft, aright) = context.alignVars(left, right) - // Binary numeric promotion - byte, short and char converted to int before operation - if (left.expr.sort is BitVecSort && aleft.sort is BitVecSort) { - assertTrue((aleft.sort as BitVecSort).size >= Int.SIZE_BITS) - } - if (right.expr.sort is BitVecSort && aright.sort is BitVecSort) { - assertTrue((aright.sort as BitVecSort).size >= Int.SIZE_BITS) - } - assertEquals(aleft.sort, aright.sort) - } - } - - @ParameterizedTest - @MethodSource("alignVarArgs") - fun testAlignVar(variable: Z3Variable) { - val aligned = context.alignVar(variable) - // Unary numeric promotion - byte, short and char converted to int before operation - if (variable.expr.sort is BitVecSort && (variable.expr.sort as BitVecSort).size < Int.SIZE_BITS) { - assertTrue((aligned.expr.sort as BitVecSort).size == Int.SIZE_BITS) - } else { - assertEquals(variable, aligned) - } - } - - companion object : Z3Initializer() { - @JvmStatic - fun alignVarsArgs() = - series.flatMap { left -> series.map { right -> arguments(left, right) } } - - @JvmStatic - fun alignVarArgs() = series - - private val series = listOf( - Z3Variable(ByteType.v(), context.mkBV(Random.nextInt(0, 100), Byte.SIZE_BITS)), - Z3Variable(ShortType.v(), context.mkBV(Random.nextInt(0, 100), Short.SIZE_BITS)), - Z3Variable(CharType.v(), context.mkBV(Random.nextInt(50000, 60000), Char.SIZE_BITS)), - Z3Variable(IntType.v(), context.mkBV(Random.nextInt(0, 100), Int.SIZE_BITS)), - Z3Variable(LongType.v(), context.mkBV(Random.nextInt(0, 100), Long.SIZE_BITS)), - Z3Variable(FloatType.v(), context.mkFP(Random.nextFloat(), context.mkFPSort32())), - Z3Variable(DoubleType.v(), context.mkFP(Random.nextDouble(), context.mkFPSort64())), - Z3Variable(BooleanType.v(), context.mkBool(Random.nextBoolean())) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/BinarySearchTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/BinarySearchTest.kt deleted file mode 100644 index b2a0a82c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/BinarySearchTest.kt +++ /dev/null @@ -1,47 +0,0 @@ -package org.utbot.examples.algorithms - -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -class BinarySearchTest : UtValueTestCaseChecker(testClass = BinarySearch::class,) { - @Test - fun testLeftBinarySearch() { - checkWithException( - BinarySearch::leftBinSearch, - ignoreExecutionsNumber, - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a.size >= 2 && a[0] > a[1] && r.isException() }, - { a, _, r -> a.isEmpty() && r.getOrNull() == -1 }, - { a, key, r -> a.isNotEmpty() && key >= a[(a.size - 1) / 2] && key !in a && r.getOrNull() == -1 }, - { a, key, r -> a.isNotEmpty() && key in a && r.getOrNull() == a.indexOfFirst { it == key } + 1 } - ) - } - - @Test - fun testRightBinarySearch() { - checkWithException( - BinarySearch::rightBinSearch, - ignoreExecutionsNumber, - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a.isEmpty() && r.getOrNull() == -1 }, - { a, _, r -> a.size >= 2 && a[0] > a[1] && r.isException() }, - { a, key, r -> a.isNotEmpty() && key !in a && r.getOrNull() == -1 }, - { a, key, r -> a.isNotEmpty() && key in a && r.getOrNull() == a.indexOfLast { it == key } + 1 } - ) - } - - @Test - fun testDefaultBinarySearch() { - checkWithException( - BinarySearch::defaultBinarySearch, - ignoreExecutionsNumber, - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a.isEmpty() && r.getOrNull() == -1 }, - { a, _, r -> a.size >= 2 && a[0] > a[1] && r.isException() }, - { a, key, r -> a.isNotEmpty() && key < a.first() && r.getOrNull() == a.binarySearch(key) }, - { a, key, r -> a.isNotEmpty() && key == a.first() && r.getOrNull() == a.binarySearch(key) }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/CorrectBracketSequencesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/CorrectBracketSequencesTest.kt deleted file mode 100644 index 9e00ce7f..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/CorrectBracketSequencesTest.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.utbot.examples.algorithms - -import org.junit.jupiter.api.Test -import org.utbot.examples.algorithms.CorrectBracketSequences.isBracket -import org.utbot.examples.algorithms.CorrectBracketSequences.isOpen -import org.utbot.testcheckers.eq -import org.utbot.testing.* - -internal class CorrectBracketSequencesTest : UtValueTestCaseChecker( - testClass = CorrectBracketSequences::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testIsOpen() { - checkStaticMethod( - CorrectBracketSequences::isOpen, - eq(4), - { c, r -> c == '(' && r == true }, - { c, r -> c == '{' && r == true }, - { c, r -> c == '[' && r == true }, - { c, r -> c !in "({[".toList() && r == false } - ) - } - - @Test - fun testIsBracket() { - checkStaticMethod( - CorrectBracketSequences::isBracket, - eq(7), - { c, r -> c == '(' && r == true }, - { c, r -> c == '{' && r == true }, - { c, r -> c == '[' && r == true }, - { c, r -> c == ')' && r == true }, - { c, r -> c == '}' && r == true }, - { c, r -> c == ']' && r == true }, - { c, r -> c !in "(){}[]".toList() && r == false } - ) - } - - @Test - fun testIsTheSameType() { - checkStaticMethod( - CorrectBracketSequences::isTheSameType, - ignoreExecutionsNumber, - { a, b, r -> a == '(' && b == ')' && r == true }, - { a, b, r -> a == '{' && b == '}' && r == true }, - { a, b, r -> a == '[' && b == ']' && r == true }, - { a, b, r -> a == '(' && b != ')' && r == false }, - { a, b, r -> a == '{' && b != '}' && r == false }, - { a, b, r -> a == '[' && b != ']' && r == false }, - { a, b, r -> (a != '(' || b != ')') && (a != '{' || b != '}') && (a != '[' || b != ']') && r == false } - ) - } - - @Test - fun testIsCbs() { - val method = CorrectBracketSequences::isCbs - checkStaticMethodWithException( - method, - ignoreExecutionsNumber, - { chars, r -> chars == null && r.isException() }, - { chars, r -> chars != null && chars.isEmpty() && r.getOrNull() == true }, - { chars, r -> chars.any { it == null } && r.isException() }, - { chars, r -> !isBracket(chars.first()) && r.getOrNull() == false }, - { chars, r -> !isOpen(chars.first()) && r.getOrNull() == false }, - { chars, _ -> isOpen(chars.first()) }, - { chars, r -> chars.all { isOpen(it) } && r.getOrNull() == false }, - { chars, _ -> - val charsWithoutFirstOpenBrackets = chars.dropWhile { isOpen(it) } - val firstNotOpenBracketChar = charsWithoutFirstOpenBrackets.first() - - isBracket(firstNotOpenBracketChar) && !isOpen(firstNotOpenBracketChar) - }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/GraphTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/GraphTest.kt deleted file mode 100644 index bf669b9c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/GraphTest.kt +++ /dev/null @@ -1,53 +0,0 @@ -package org.utbot.examples.algorithms - -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -internal class GraphTest : UtValueTestCaseChecker(testClass = GraphExample::class) { - @Test - @Tag("slow") - fun testRunFindCycle() { - checkWithException( - GraphExample::runFindCycle, - ignoreExecutionsNumber, - { e, r -> e == null && r.isException() }, - { e, r -> e != null && e.contains(null) && r.isException() }, - { e, r -> e != null && e.any { it.first < 0 || it.first >= 10 } && r.isException() }, - { e, r -> e != null && e.any { it.second < 0 || it.second >= 10 } && r.isException() }, - { e, r -> e != null && e.all { it != null } && r.isSuccess } - ) - } - - @Test - fun testDijkstra() { - // The graph is fixed, there should be exactly one execution path, so no matchers are necessary - check( - GraphExample::runDijkstra, - eq(1) - ) - } - - /** - * TODO: fix Dijkstra algorithm. - */ - @Test - fun testRunDijkstraWithParameter() { - checkWithException( - GraphExample::runDijkstraWithParameter, - ignoreExecutionsNumber, - { g, r -> g == null && r.isException() }, - { g, r -> g.isEmpty() && r.isException() }, - { g, r -> g.size == 1 && r.getOrNull()?.size == 1 && r.getOrNull()?.first() == 0 }, - { g, r -> g.size > 1 && g[1] == null && r.isException() }, - { g, r -> g.isNotEmpty() && g.size != g.first().size && r.isException() }, - { g, r -> - val concreteResult = GraphExample().runDijkstraWithParameter(g) - g.isNotEmpty() && r.getOrNull().contentEquals(concreteResult) - } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/SortTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/SortTest.kt deleted file mode 100644 index 174b63e7..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/algorithms/SortTest.kt +++ /dev/null @@ -1,122 +0,0 @@ -package org.utbot.examples.algorithms - -import org.utbot.framework.plugin.api.MockStrategyApi -import org.junit.jupiter.api.Test -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testing.* - -// TODO Kotlin mocks generics https://github.com/UnitTestBot/UTBotJava/issues/88 -internal class SortTest : UtValueTestCaseChecker( - testClass = Sort::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testQuickSort() { - check( - Sort::quickSort, - ignoreExecutionsNumber, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } - - @Test - fun testSwap() { - checkWithException( - Sort::swap, - ge(4), - { a, _, _, r -> a == null && r.isException() }, - { a, i, _, r -> a != null && (i < 0 || i >= a.size) && r.isException() }, - { a, i, j, r -> a != null && i in a.indices && (j < 0 || j >= a.size) && r.isException() }, - { a, i, j, _ -> a != null && i in a.indices && j in a.indices } - ) - } - - @Test - fun testArrayCopy() { - check( - Sort::arrayCopy, - eq(1), - { r -> r contentEquals intArrayOf(1, 2, 3) } - ) - } - - @Test - fun testMergeSort() { - check( - Sort::mergeSort, - eq(4), - { a, r -> a == null && r == null }, - { a, r -> a != null && r != null && a.size < 2 }, - { a, r -> - require(a is IntArray && r is IntArray) - - val sortedConstraint = a.size >= 2 && a.sorted() == r.toList() - - val maxInLeftHalf = a.slice(0 until a.size / 2).maxOrNull()!! - val maxInRightHalf = a.slice(a.size / 2 until a.size).maxOrNull()!! - - sortedConstraint && maxInLeftHalf >= maxInRightHalf - }, - { a, r -> - require(a is IntArray && r is IntArray) - - val sortedConstraint = a.size >= 2 && a.sorted() == r.toList() - - val maxInLeftHalf = a.slice(0 until a.size / 2).maxOrNull()!! - val maxInRightHalf = a.slice(a.size / 2 until a.size).maxOrNull()!! - - sortedConstraint && maxInLeftHalf < maxInRightHalf - }, - ) - } - - @Test - fun testMerge() { - checkWithException( - Sort::merge, - eq(6), - { lhs, _, r -> lhs == null && r.isException() }, - { lhs, rhs, r -> lhs != null && lhs.isEmpty() && r.getOrNull() contentEquals rhs }, - { lhs, rhs, _ -> lhs != null && lhs.isNotEmpty() && rhs == null }, - { lhs, rhs, r -> - val lhsCondition = lhs != null && lhs.isNotEmpty() - val rhsCondition = rhs != null && rhs.isEmpty() - val connection = r.getOrNull() contentEquals lhs - - lhsCondition && rhsCondition && connection - }, - { lhs, rhs, r -> - val lhsCondition = lhs != null && lhs.isNotEmpty() - val rhsCondition = rhs != null && rhs.isNotEmpty() - val connection = lhs.last() < rhs.last() && r.getOrNull()?.toList() == (lhs + rhs).sorted() - - lhsCondition && rhsCondition && connection - }, - { lhs, rhs, r -> - val lhsCondition = lhs != null && lhs.isNotEmpty() - val rhsCondition = rhs != null && rhs.isNotEmpty() - val connection = lhs.last() >= rhs.last() && r.getOrNull()?.toList() == (lhs + rhs).sorted() - - lhsCondition && rhsCondition && connection - } - ) - } - - @Test - fun testDefaultSort() { - checkWithException( - Sort::defaultSort, - eq(3), - { a, r -> a == null && r.isException() }, - { a, r -> a != null && a.size < 4 && r.isException() }, - { a, r -> - val resultArray = intArrayOf(-100, 0, 100, 200) - a != null && r.getOrNull()!!.size >= 4 && r.getOrNull() contentEquals resultArray - } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/NotNullAnnotationTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/NotNullAnnotationTest.kt deleted file mode 100644 index 6bb162ad..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/NotNullAnnotationTest.kt +++ /dev/null @@ -1,103 +0,0 @@ -package org.utbot.examples.annotations - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.AtLeast -import org.utbot.testing.UtValueTestCaseChecker - -internal class NotNullAnnotationTest : UtValueTestCaseChecker(testClass = NotNullAnnotation::class) { - @Test - fun testDoesNotThrowNPE() { - check( - NotNullAnnotation::doesNotThrowNPE, - eq(1), - { value, r -> value == r } - ) - } - - @Test - fun testThrowsNPE() { - check( - NotNullAnnotation::throwsNPE, - eq(2), - { value, _ -> value == null }, - { value, r -> value == r } - ) - } - - @Test - fun testSeveralParameters() { - check( - NotNullAnnotation::severalParameters, - eq(2), - { _, second, _, _ -> second == null }, - { first, second, third, result -> first + second + third == result } - ) - } - - @Test - fun testUseNotNullableValue() { - check( - NotNullAnnotation::useNotNullableValue, - eq(1), - { value, r -> value == r } - ) - } - - @Test - @Disabled("Annotations for local variables are not supported yet") - fun testNotNullableVariable() { - check( - NotNullAnnotation::notNullableVariable, - eq(1), - { first, second, third, r -> first + second + third == r } - ) - } - - @Test - fun testNotNullField() { - check( - NotNullAnnotation::notNullField, - eq(1), - { value, result -> value.boxedInt == result } - ) - } - - @Test - fun testNotNullStaticField() { - checkStatics( - NotNullAnnotation::notNullStaticField, - eq(1), - { statics, result -> result == statics.values.single().value }, - coverage = AtLeast(66) - ) - } - - @Test - fun testJavaxValidationNotNull() { - check( - NotNullAnnotation::javaxValidationNotNull, - eq(1), - { value, r -> value == r } - ) - } - - @Test - fun testFindBugsNotNull() { - check( - NotNullAnnotation::findBugsNotNull, - eq(1), - { value, r -> value == r } - ) - } - - @Test - fun testJavaxNotNull() { - check( - NotNullAnnotation::javaxNotNull, - eq(1), - { value, r -> value == r } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/EnumWithAnnotationsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/EnumWithAnnotationsTest.kt deleted file mode 100644 index b4c8097e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/EnumWithAnnotationsTest.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.annotations.lombok - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -/** - * Tests for Lombok annotations - * - * We do not calculate coverage here as Lombok always make it pure - * (see, i.e. https://stackoverflow.com/questions/44584487/improve-lombok-data-code-coverage) - * and Lombok code is considered to be already tested itself. - */ -internal class EnumWithAnnotationsTest : UtValueTestCaseChecker(testClass = EnumWithAnnotations::class) { - @Test - fun testGetterWithAnnotations() { - check( - EnumWithAnnotations::getConstant, - eq(1), - { r -> r == "Constant_1" }, - coverage = DoNotCalculate, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/EnumWithoutAnnotationsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/EnumWithoutAnnotationsTest.kt deleted file mode 100644 index c9977326..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/EnumWithoutAnnotationsTest.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.annotations.lombok - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class EnumWithoutAnnotationsTest : UtValueTestCaseChecker(testClass = EnumWithoutAnnotations::class) { - @Test - fun testGetterWithoutAnnotations() { - check( - EnumWithoutAnnotations::getConstant, - eq(1), - { r -> r == "Constant_1" }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/NotNullAnnotationsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/NotNullAnnotationsTest.kt deleted file mode 100644 index 1d3e95b3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/annotations/lombok/NotNullAnnotationsTest.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.annotations.lombok - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -/** - * Tests for Lombok NonNull annotation - * - * We do not calculate coverage here as Lombok always make it pure - * (see, i.e. https://stackoverflow.com/questions/44584487/improve-lombok-data-code-coverage) - * and Lombok code is considered to be already tested itself. - */ -internal class NotNullAnnotationsTest : UtValueTestCaseChecker(testClass = NotNullAnnotations::class) { - @Test - fun testNonNullAnnotations() { - check( - NotNullAnnotations::lombokNonNull, - eq(1), - { value, r -> value == r }, - coverage = DoNotCalculate, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayOfArraysTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayOfArraysTest.kt deleted file mode 100644 index 4aa433b0..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayOfArraysTest.kt +++ /dev/null @@ -1,283 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Disabled -import org.utbot.examples.casts.ColoredPoint -import org.utbot.examples.casts.Point -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.ignoreExecutionsNumber - -@Suppress("NestedLambdaShadowedImplicitParameter") -internal class ArrayOfArraysTest : UtValueTestCaseChecker(testClass = ArrayOfArrays::class) { - @Test - fun testDefaultValues() { - check( - ArrayOfArrays::defaultValues, - eq(1), - { r -> r != null && r.single() == null }, - coverage = atLeast(50) - ) - } - - @Test - fun testExample() { - check( - ArrayOfArrays::sizesWithoutTouchingTheElements, - eq(1), - { r -> r != null && r.size == 10 && r.all { it.size == 3 && it.all { it == 0 } } }, - ) - } - - @Test - fun testDefaultValuesWithoutLastDimension() { - check( - ArrayOfArrays::defaultValuesWithoutLastDimension, - eq(1), - { r -> r != null && r.all { it.size == 4 && it.all { it.size == 4 && it.all { it == null } } } }, - coverage = atLeast(50) - ) - } - - @Test - fun testCreateNewMultiDimensionalArray() { - withoutMinimization { // TODO: JIRA:1506 - check( - ArrayOfArrays::createNewMultiDimensionalArray, - eq(4), - { i, j, _ -> i < 0 || j < 0 }, - { i, j, r -> i == 0 && j >= 0 && r != null && r.size == 2 && r.all { it.isEmpty() } }, - { i, j, r -> - val indicesConstraint = i > 0 && j == 0 - val arrayPropertiesConstraint = r != null && r.size == 2 - val arrayContentConstraint = r?.all { it.size == i && it.all { it.isEmpty() } } ?: false - - indicesConstraint && arrayPropertiesConstraint && arrayContentConstraint - }, - { i, j, r -> - val indicesConstraint = i > 0 && j > 0 - val arrayPropertiesConstraint = r != null && r.size == 2 - val arrayContentConstraint = - r?.all { - it.size == i && it.all { - it.size == j && it.all { - it.size == 3 && it.all { it == 0 } - } - } - } - - indicesConstraint && arrayPropertiesConstraint && (arrayContentConstraint ?: false) - } - ) - } - } - - @Test - fun testDefaultValuesWithoutTwoDimensions() { - check( - ArrayOfArrays::defaultValuesWithoutTwoDimensions, - eq(2), - { i, r -> i < 2 && r == null }, - { i, r -> i >= 2 && r != null && r.all { it.size == i && it.all { it == null } } }, - coverage = atLeast(75) - ) - } - - @Test - fun testDefaultValuesNewMultiArray() { - check( - ArrayOfArrays::defaultValuesNewMultiArray, - eq(1), - { r -> r != null && r.single().single().single() == 0 }, - coverage = atLeast(50) - ) - } - - @Test - fun testSimpleExample() { - check( - ArrayOfArrays::simpleExample, - eq(7), - { m, r -> m.size >= 3 && m[1] === m[2] && r == null }, - { m, r -> m.size >= 3 && m[1] !== m[2] && m[0] === m[2] && r == null }, - { m, _ -> m.size >= 3 && m[1].size < 2 }, - { m, _ -> m.size >= 3 && m[1][1] == 1 && m[2].size < 3 }, - { m, r -> m.size >= 3 && m[1][1] == 1 && m[2].size >= 3 && r != null && r[2][2] == 2 }, - { m, _ -> m.size >= 3 && m[1][1] != 1 && m[2].size < 3 }, - { m, r -> m.size >= 3 && m[1][1] != 1 && m[2].size >= 3 && r != null && r[2][2] == -2 }, - coverage = DoNotCalculate // because of assumes - ) - } - - @Test - fun testSimpleExampleMutation() { - checkParamsMutations( - ArrayOfArrays::simpleExample, - eq(7), - { matrixBefore, matrixAfter -> matrixBefore[1][1] == 1 && matrixAfter[2][2] == 2 }, - { matrixBefore, matrixAfter -> matrixBefore[1][1] != 1 && matrixAfter[2][2] == -2 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIsIdentityMatrix() { - withoutMinimization { - check( - ArrayOfArrays::isIdentityMatrix, - eq(9), - { m, _ -> m == null }, - { m, _ -> m.size < 3 }, - { m, _ -> m.size >= 3 && m.any { it == null } }, - { m, r -> m.size >= 3 && m.any { it.size != m.size } && r == false }, - { m, r -> m.size >= 3 && m.size == m[0].size && m[0][0] != 1 && r == false }, - { m, r -> m.size >= 3 && m.size == m[0].size && m[0][0] == 1 && m[0][1] != 0 && r == false }, - { m, r -> m.size >= 3 && m.size == m[0].size && m[0][0] == 1 && m[0][1] == 0 && m[0][2] != 0 && r == false }, - { m, r -> - val sizeConstraints = m.size >= 3 && m.size == m[0].size - val valueConstraint = m[0][0] == 1 && m[0].drop(1).all { it == 0 } - val resultCondition = (m[1] == null && r == null) || (m[1]?.size != m.size && r == false) - - sizeConstraints && valueConstraint && resultCondition - }, - { m, r -> - val sizeConstraint = m.size >= 3 && m.size == m.first().size - val contentConstraint = - m.indices.all { i -> - m.indices.all { j -> - (i == j && m[i][j] == 1) || (i != j && m[i][j] == 0) - } - } - - sizeConstraint && contentConstraint && r == true - }, - ) - } - } - - @Test - fun testCreateNewThreeDimensionalArray() { - check( - ArrayOfArrays::createNewThreeDimensionalArray, - eq(2), - { length, _, r -> length != 2 && r != null && r.isEmpty() }, - { length, constValue, r -> - val sizeConstraint = length == 2 && r != null && r.size == length - val contentConstraint = - r!!.all { - it.size == length && it.all { - it.size == length && it.all { it == constValue + 1 } - } - } - - sizeConstraint && contentConstraint - } - ) - } - - @Test - fun testReallyMultiDimensionalArray() { - check( - ArrayOfArrays::reallyMultiDimensionalArray, - eq(8), - { a, _ -> a == null }, - { a, _ -> a.size < 2 }, - { a, _ -> a.size >= 2 && a[1] == null }, - { a, _ -> a.size >= 2 && a[1].size < 3 }, - { a, _ -> a.size >= 2 && a[1].size >= 3 && a[1][2] == null }, - { a, _ -> a.size >= 2 && a[1].size >= 3 && a[1][2].size < 4 }, - { a, r -> - val sizeConstraint = a.size >= 2 && a[1].size >= 3 && a[1][2].size >= 4 - val valueConstraint = a[1][2][3] == 12345 && r != null && r[1][2][3] == -12345 - - sizeConstraint && valueConstraint - }, - { a, r -> - val sizeConstraint = a.size >= 2 && a[1].size >= 3 && a[1][2].size >= 4 - val valueConstraint = a[1][2][3] != 12345 && r != null && r[1][2][3] == 12345 - - sizeConstraint && valueConstraint - }, - ) - } - - @Test - fun testReallyMultiDimensionalArrayMutation() { - checkParamsMutations( - ArrayOfArrays::reallyMultiDimensionalArray, - ignoreExecutionsNumber, - { arrayBefore, arrayAfter -> arrayBefore[1][2][3] != 12345 && arrayAfter[1][2][3] == 12345 }, - { arrayBefore, arrayAfter -> arrayBefore[1][2][3] == 12345 && arrayAfter[1][2][3] == -12345 }, - ) - } - - @Test - fun testMultiDimensionalObjectsArray() { - check( - ArrayOfArrays::multiDimensionalObjectsArray, - eq(4), - { a, _ -> a == null }, - { a, _ -> a.isEmpty() }, - { a, _ -> a.size == 1 }, - { a, r -> - require(r != null && r[0] != null && r[1] != null) - - val propertiesConstraint = a.size > 1 - val zeroElementConstraints = r[0] is Array<*> && r[0].isArrayOf() && r[0].size == 2 - val firstElementConstraints = r[1] is Array<*> && r[1].isArrayOf() && r[1].size == 1 - - propertiesConstraint && zeroElementConstraints && firstElementConstraints - }, - ) - } - - @Test - fun testMultiDimensionalObjectsArrayMutation() { - checkParamsMutations( - ArrayOfArrays::multiDimensionalObjectsArray, - ignoreExecutionsNumber, - { _, arrayAfter -> - arrayAfter[0] is Array<*> && arrayAfter[0].isArrayOf() && arrayAfter[0].size == 2 - }, - { _, arrayAfter -> - arrayAfter[1] is Array<*> && arrayAfter[1].isArrayOf() && arrayAfter[1].size == 1 - }, - ) - } - - @Test - fun testFillMultiArrayWithArray() { - check( - ArrayOfArrays::fillMultiArrayWithArray, - eq(3), - { v, _ -> v == null }, - { v, r -> v.size < 2 && r != null && r.isEmpty() }, - { v, r -> v.size >= 2 && r != null && r.all { a -> a.toList() == v.mapIndexed { i, elem -> elem + i } } } - ) - } - - @Test - fun testFillMultiArrayWithArrayMutation() { - checkParamsMutations( - ArrayOfArrays::fillMultiArrayWithArray, - ignoreExecutionsNumber, - { valueBefore, valueAfter -> valueAfter.withIndex().all { it.value == valueBefore[it.index] + it.index } } - ) - } - - @Test - @Disabled("https://github.com/UnitTestBot/UTBotJava/issues/1267") - fun testArrayWithItselfAnAsElement() { - check( - ArrayOfArrays::arrayWithItselfAnAsElement, - eq(2), - { a, r -> a !== a[0] && r == null }, - { a, r -> a === a[0] && a.contentDeepEquals(r) }, - coverage = atLeast(percents = 94) - // because of the assumption - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayOfObjectsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayOfObjectsTest.kt deleted file mode 100644 index 1b1c3a28..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayOfObjectsTest.kt +++ /dev/null @@ -1,108 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testing.* - -// TODO failed Kotlin compilation SAT-1332 -internal class ArrayOfObjectsTest : UtValueTestCaseChecker( - testClass = ArrayOfObjects::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testDefaultValues() { - check( - ArrayOfObjects::defaultValues, - eq(1), - { r -> r != null && r.single() == null }, - coverage = atLeast(50) - ) - } - - @Test - fun testCreateArray() { - check( - ArrayOfObjects::createArray, - eq(2), - { _, _, length, _ -> length < 3 }, - { x, y, length, r -> - require(r != null) - - val sizeConstraint = length >= 3 && r.size == length - val contentConstraint = r.mapIndexed { i, elem -> elem.x == x + i && elem.y == y + i }.all { it } - - sizeConstraint && contentConstraint - } - ) - } - - @Test - fun testCopyArray() { - checkWithException( - ArrayOfObjects::copyArray, - ge(4), - { a, r -> a == null && r.isException() }, - { a, r -> a.size < 3 && r.isException() }, - { a, r -> a.size >= 3 && null in a && r.isException() }, - { a, r -> a.size >= 3 && r.getOrThrow().all { it.x == -1 && it.y == 1 } }, - ) - } - - @Test - fun testCopyArrayMutation() { - checkParamsMutations( - ArrayOfObjects::copyArray, - ignoreExecutionsNumber, - { _, arrayAfter -> arrayAfter.all { it.x == -1 && it.y == 1 } } - ) - } - - @Test - fun testArrayWithSucc() { - check( - ArrayOfObjects::arrayWithSucc, - eq(3), - { length, _ -> length < 0 }, - { length, r -> length < 2 && r != null && r.size == length && r.all { it == null } }, - { length, r -> - require(r != null) - - val sizeConstraint = length >= 2 && r.size == length - val zeroElementConstraint = r[0] is ObjectWithPrimitivesClass && r[0].x == 2 && r[0].y == 4 - val firstElementConstraint = r[1] is ObjectWithPrimitivesClassSucc && r[1].x == 3 - - sizeConstraint && zeroElementConstraint && firstElementConstraint - }, - ) - } - - @Test - fun testObjectArray() { - check( - ArrayOfObjects::objectArray, - eq(5), - { a, _, _ -> a == null }, - { a, _, r -> a != null && a.size != 2 && r == -1 }, - { a, o, _ -> a != null && a.size == 2 && o == null }, - { a, p, r -> a != null && a.size == 2 && p != null && p.x + 5 > 20 && r == 1 }, - { a, o, r -> a != null && a.size == 2 && o != null && o.x + 5 <= 20 && r == 0 }, - ) - } - - @Test - fun testArrayOfArrays() { - withEnabledTestingCodeGeneration(testCodeGeneration = false) { - check( - ArrayOfObjects::arrayOfArrays, - between(4..5), // might be two ClassCastExceptions - { a, _ -> a.any { it == null } }, - { a, _ -> a.any { it != null && it !is IntArray } }, - { a, r -> (a.all { it != null && it is IntArray && it.isEmpty() } || a.isEmpty()) && r == 0 }, - { a, r -> a.all { it is IntArray } && r == a.sumBy { (it as IntArray).sum() } }, - coverage = DoNotCalculate - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayStoreExceptionExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayStoreExceptionExamplesTest.kt deleted file mode 100644 index 63c14376..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArrayStoreExceptionExamplesTest.kt +++ /dev/null @@ -1,209 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.AtLeast -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -class ArrayStoreExceptionExamplesTest : UtValueTestCaseChecker( - testClass = ArrayStoreExceptionExamples::class, - // Type inference errors in generated Kotlin code - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testCorrectAssignmentSamePrimitiveType() { - checkWithException( - ArrayStoreExceptionExamples::correctAssignmentSamePrimitiveType, - eq(3), - { data, result -> result.isSuccess && result.getOrNull() == data?.isNotEmpty() } - ) - } - - @Test - fun testCorrectAssignmentIntToIntegerArray() { - checkWithException( - ArrayStoreExceptionExamples::correctAssignmentIntToIntegerArray, - eq(3), - { data, result -> result.isSuccess && result.getOrNull() == data?.isNotEmpty() } - ) - } - - @Test - fun testCorrectAssignmentSubtype() { - checkWithException( - ArrayStoreExceptionExamples::correctAssignmentSubtype, - eq(3), - { data, result -> result.isSuccess && result.getOrNull() == data?.isNotEmpty() } - ) - } - - @Test - fun testCorrectAssignmentToObjectArray() { - checkWithException( - ArrayStoreExceptionExamples::correctAssignmentToObjectArray, - eq(3), - { data, result -> result.isSuccess && result.getOrNull() == data?.isNotEmpty() } - ) - } - - @Test - fun testWrongAssignmentUnrelatedType() { - checkWithException( - ArrayStoreExceptionExamples::wrongAssignmentUnrelatedType, - eq(3), - { data, result -> data == null && result.isSuccess }, - { data, result -> data.isEmpty() && result.isSuccess }, - { data, result -> data.isNotEmpty() && result.isException() }, - coverage = AtLeast(91) // TODO: investigate - ) - } - - @Test - fun testCheckGenericAssignmentWithCorrectCast() { - checkWithException( - ArrayStoreExceptionExamples::checkGenericAssignmentWithCorrectCast, - eq(1), - { result -> result.isSuccess } - ) - } - - @Test - fun testCheckGenericAssignmentWithWrongCast() { - checkWithException( - ArrayStoreExceptionExamples::checkGenericAssignmentWithWrongCast, - eq(1), - { result -> result.isException() }, - coverage = AtLeast(87) // TODO: investigate - ) - } - - @Test - fun testCheckGenericAssignmentWithExtendsSubtype() { - checkWithException( - ArrayStoreExceptionExamples::checkGenericAssignmentWithExtendsSubtype, - eq(1), - { result -> result.isSuccess } - ) - } - - @Test - fun testCheckGenericAssignmentWithExtendsUnrelated() { - checkWithException( - ArrayStoreExceptionExamples::checkGenericAssignmentWithExtendsUnrelated, - eq(1), - { result -> result.isException() }, - coverage = AtLeast(87) // TODO: investigate - ) - } - - @Test - fun testCheckObjectAssignment() { - checkWithException( - ArrayStoreExceptionExamples::checkObjectAssignment, - eq(1), - { result -> result.isSuccess } - ) - } - - // Should this be allowed at all? - @Test - fun testCheckWrongAssignmentOfItself() { - checkWithException( - ArrayStoreExceptionExamples::checkWrongAssignmentOfItself, - eq(1), - { result -> result.isException() }, - coverage = AtLeast(87) - ) - } - - @Test - fun testCheckGoodAssignmentOfItself() { - checkWithException( - ArrayStoreExceptionExamples::checkGoodAssignmentOfItself, - eq(1), - { result -> result.isSuccess } - ) - } - - @Test - fun testCheckAssignmentToObjectArray() { - checkWithException( - ArrayStoreExceptionExamples::checkAssignmentToObjectArray, - eq(1), - { result -> result.isSuccess } - ) - } - - @Test - fun testArrayCopyForIncompatiblePrimitiveTypes() { - checkWithException( - ArrayStoreExceptionExamples::arrayCopyForIncompatiblePrimitiveTypes, - eq(3), - { data, result -> data == null && result.isSuccess && result.getOrNull() == null }, - { data, result -> data != null && data.isEmpty() && result.isSuccess && result.getOrNull()?.size == 0 }, - { data, result -> data != null && data.isNotEmpty() && result.isException() } - ) - } - - @Test - fun testFill2DPrimitiveArray() { - checkWithException( - ArrayStoreExceptionExamples::fill2DPrimitiveArray, - eq(1), - { result -> result.isSuccess } - ) - } - - @Test - fun testFillObjectArrayWithList() { - check( - ArrayStoreExceptionExamples::fillObjectArrayWithList, - eq(2), - { list, result -> list != null && result != null && result[0] != null }, - { list, result -> list == null && result == null } - ) - } - - @Test - fun testFillWithTreeSet() { - check( - ArrayStoreExceptionExamples::fillWithTreeSet, - eq(2), - { treeSet, result -> treeSet != null && result != null && result[0] != null }, - { treeSet, result -> treeSet == null && result == null } - ) - } - - @Test - fun testFillSomeInterfaceArrayWithSomeInterface() { - check( - ArrayStoreExceptionExamples::fillSomeInterfaceArrayWithSomeInterface, - eq(2), - { impl, result -> impl == null && result == null }, - { impl, result -> impl != null && result != null && result[0] != null } - ) - } - - @Test - @Disabled("TODO: Not null path is not found, need to investigate") - fun testFillObjectArrayWithSomeInterface() { - check( - ArrayStoreExceptionExamples::fillObjectArrayWithSomeInterface, - eq(2), - { impl, result -> impl == null && result == null }, - { impl, result -> impl != null && result != null && result[0] != null } - ) - } - - @Test - fun testFillWithSomeImplementation() { - check( - ArrayStoreExceptionExamples::fillWithSomeImplementation, - eq(2), - { impl, result -> impl == null && result == null }, - { impl, result -> impl != null && result != null && result[0] != null } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArraysOverwriteValueTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArraysOverwriteValueTest.kt deleted file mode 100644 index 72c74725..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/ArraysOverwriteValueTest.kt +++ /dev/null @@ -1,148 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -// TODO failed Kotlin compilation SAT-1332 -class ArraysOverwriteValueTest : UtValueTestCaseChecker( - testClass = ArraysOverwriteValue::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testByteArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::byteArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.toByte() }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] != 0.toByte() && r == 2.toByte() }, - { before, after, r -> - val precondition = before != null && before.isNotEmpty() && before[0] == 0.toByte() - val postcondition = after[0] == 1.toByte() && r == 3.toByte() - - precondition && postcondition - }, - ) - } - - @Test - fun testShortArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::shortArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.toByte() }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] != 0.toShort() && r == 2.toByte() }, - { before, after, r -> - val precondition = before != null && before.isNotEmpty() && before[0] == 0.toShort() - val postcondition = after[0] == 1.toShort() && r == 3.toByte() - - precondition && postcondition - }, - ) - } - - @Test - fun testCharArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::charArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.toChar() }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] != 0.toChar() && r == 2.toChar() }, - { before, after, r -> - val precondition = before != null && before.isNotEmpty() && before[0] == 0.toChar() - val postcondition = after[0] == 1.toChar() && r == 3.toChar() - - precondition && postcondition - }, - ) - } - - @Test - fun testIntArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::intArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.toByte() }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] != 0 && r == 2.toByte() }, - { before, after, r -> - before != null && before.isNotEmpty() && before[0] == 0 && after[0] == 1 && r == 3.toByte() - }, - ) - } - - @Test - fun testLongArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::longArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.toLong() }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] != 0.toLong() && r == 2.toLong() }, - { before, after, r -> - val precondition = before != null && before.isNotEmpty() && before[0] == 0.toLong() - val postcondition = after[0] == 1.toLong() && r == 3.toLong() - - precondition && postcondition - }, - ) - } - - @Test - fun testFloatArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::floatArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.0f }, - { before, _, r -> before != null && before.isNotEmpty() && !before[0].isNaN() && r == 2.0f }, - { before, after, r -> - before != null && before.isNotEmpty() && before[0].isNaN() && after[0] == 1.0f && r == 3.0f - }, - ) - } - - @Test - fun testDoubleArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::doubleArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1.00 }, - { before, _, r -> before != null && before.isNotEmpty() && !before[0].isNaN() && r == 2.0 }, - { before, after, r -> - before != null && before.isNotEmpty() && before[0].isNaN() && after[0] == 1.toDouble() && r == 3.0 - }, - ) - } - - @Test - fun testBooleanArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::booleanArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1 }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] && r == 2 }, - { before, after, r -> before != null && before.isNotEmpty() && !before[0] && after[0] && r == 3 }, - ) - } - - @Test - fun testObjectArray() { - checkParamsMutationsAndResult( - ArraysOverwriteValue::objectArray, - eq(4), - { before, _, _ -> before == null }, - { before, _, r -> before != null && before.isEmpty() && r == 1 }, - { before, _, r -> before != null && before.isNotEmpty() && before[0] == null && r == 2 }, - { before, after, r -> - before != null && before.isNotEmpty() && before[0] != null && after[0] == null && r == 3 - }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/CopyOfExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/CopyOfExampleTest.kt deleted file mode 100644 index 16f691b3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/CopyOfExampleTest.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Test -import org.utbot.testing.AtLeast -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -class CopyOfExampleTest : UtValueTestCaseChecker(testClass = CopyOfExample::class) { - @Test - fun testCopyOf() { - checkWithException( - CopyOfExample::copyOfExample, - ignoreExecutionsNumber, - { _, l, r -> l < 0 && r.isException() }, - { arr, l, r -> arr.copyOf(l).contentEquals(r.getOrThrow()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testCopyOfRange() { - checkWithException( - CopyOfExample::copyOfRangeExample, - ignoreExecutionsNumber, - { _, from, _, r -> from < 0 && r.isException() }, - { arr, from, _, r -> from > arr.size && r.isException() }, - { _, from, to, r -> from > to && r.isException() }, - { arr, from, to, r -> arr.copyOfRange(from, to).contentEquals(r.getOrThrow()) }, - coverage = AtLeast(82) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/FinalStaticFieldArrayTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/FinalStaticFieldArrayTest.kt deleted file mode 100644 index 55b0d37e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/FinalStaticFieldArrayTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -internal class FinalStaticFieldArrayTest : UtValueTestCaseChecker(testClass = FinalStaticFieldArray::class) { - - @Test - fun testFactorial() { - checkStaticMethod( - FinalStaticFieldArray::factorial, - ignoreExecutionsNumber, - { n, r -> - (n as Int) >= 0 && n < FinalStaticFieldArray.MAX_FACTORIAL && r == FinalStaticFieldArray.factorial(n) - }, - { n, _ -> (n as Int) < 0 }, - { n, r -> (n as Int) > FinalStaticFieldArray.MAX_FACTORIAL && r == FinalStaticFieldArray.factorial(n) }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/IntArrayBasicsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/IntArrayBasicsTest.kt deleted file mode 100644 index 9c7cffb1..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/IntArrayBasicsTest.kt +++ /dev/null @@ -1,227 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -internal class IntArrayBasicsTest : UtValueTestCaseChecker( - testClass = IntArrayBasics::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testIntArrayWithAssumeOrExecuteConcretely() { - check( - IntArrayBasics::intArrayWithAssumeOrExecuteConcretely, - eq(4), - { x, n, r -> x > 0 && n < 20 && r?.size == 2 }, - { x, n, r -> x > 0 && n >= 20 && r?.size == 4 }, - { x, n, r -> x <= 0 && n < 20 && r?.size == 10 }, - { x, n, r -> x <= 0 && n >= 20 && r?.size == 20 }, - ) - } - - @Test - fun testInitArray() { - checkWithException( - IntArrayBasics::initAnArray, - eq(4), - { n, r -> n < 0 && r.isException() }, - { n, r -> n == 0 && r.isException() }, - { n, r -> n == 1 && r.isException() }, - { n, r -> - val resultArray = IntArray(n) { if (it == n - 1 || it == n - 2) it else 0 } - n > 1 && r.getOrNull() contentEquals resultArray - } - ) - } - - @Test - fun testIsValid() { - checkWithException( - IntArrayBasics::isValid, - ignoreExecutionsNumber, - { a, _, r -> a == null && r.isException() }, - { a, n, r -> a != null && (n < 0 || n >= a.size) && r.isException() }, - { a, n, r -> a != null && n in a.indices && a[n] == 9 && n == 5 && r.getOrNull() == true }, - { a, n, r -> a != null && n in a.indices && !(a[n] == 9 && n == 5) && r.getOrNull() == false }, - { a, n, r -> a != null && n in a.indices && a[n] > 9 && n == 5 && r.getOrNull() == true }, - { a, n, r -> a != null && n in a.indices && !(a[n] > 9 && n == 5) && r.getOrNull() == false }, - ) - } - - @Test - fun testGetValue() { - checkWithException( - IntArrayBasics::getValue, - ge(4), - { a, _, r -> a == null && r.isException() }, - { a, n, r -> a != null && a.size > 6 && (n < 0 || n >= a.size) && r.isException() }, - { a, n, r -> a != null && a.size > 6 && n < a.size && r.getOrNull() == a[n] }, - { a, _, r -> a != null && a.size <= 6 && r.getOrNull() == -1 } - ) - } - - @Test - fun testSetValue() { - checkWithException( - IntArrayBasics::setValue, - eq(5), - { _, x, r -> x <= 0 && r.getOrNull() == 0 }, - { a, x, r -> x > 0 && a == null && r.isException() }, - { a, x, r -> x > 0 && a != null && a.isEmpty() && r.getOrNull() == 0 }, - { a, x, r -> x in 1..2 && a != null && a.isNotEmpty() && r.getOrNull() == 1 }, - { a, x, r -> x > 2 && a != null && a.isNotEmpty() && r.getOrNull() == 2 } - ) - } - - @Test - fun testCheckFour() { - checkWithException( - IntArrayBasics::checkFour, - eq(7), - { a, r -> a == null && r.isException() }, - { a, r -> a != null && a.size < 4 && r.getOrNull() == -1 }, - { a, r -> a != null && a.size >= 4 && a[0] != 1 && r.getOrNull() == 0 }, - { a, r -> a != null && a.size >= 4 && a[0] == 1 && a[1] != 2 && r.getOrNull() == 0 }, - { a, r -> a != null && a.size >= 4 && a[0] == 1 && a[1] == 2 && a[2] != 3 && r.getOrNull() == 0 }, - { a, r -> a != null && a.size >= 4 && a[0] == 1 && a[1] == 2 && a[2] == 3 && a[3] != 4 && r.getOrNull() == 0 }, - { a, r -> - require(a != null) - - val precondition = a.size >= 4 && a[0] == 1 && a[1] == 2 && a[2] == 3 && a[3] == 4 - val postcondition = r.getOrNull() == IntArrayBasics().checkFour(a) - - precondition && postcondition - } - ) - } - - @Test - fun testNullability() { - check( - IntArrayBasics::nullability, - eq(3), - { a, r -> a == null && r == 1 }, - { a, r -> a != null && a.size > 1 && r == 2 }, - { a, r -> a != null && a.size in 0..1 && r == 3 }, - ) - } - - @Test - fun testEquality() { - check( - IntArrayBasics::equality, - eq(4), - { a, _, r -> a == null && r == 1 }, - { a, b, r -> a != null && b == null && r == 1 }, - { a, b, r -> a != null && b != null && a.size == b.size && r == 2 }, - { a, b, r -> a != null && b != null && a.size != b.size && r == 3 }, - ) - } - - @Test - fun testOverwrite() { - checkWithException( - IntArrayBasics::overwrite, - eq(5), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 1 && r.getOrNull() == 0 }, - { a, b, r -> a != null && a.size == 1 && a[0] > 0 && b < 0 && r.getOrNull() == 1 }, - { a, b, r -> a != null && a.size == 1 && a[0] > 0 && b >= 0 && r.getOrNull() == 2 }, - { a, _, r -> a != null && a.size == 1 && a[0] <= 0 && r.getOrNull() == 3 }, - ) - } - - @Test - fun testMergeArrays() { - check( - IntArrayBasics::mergeArrays, - ignoreExecutionsNumber, - { fst, _, _ -> fst == null }, - { fst, snd, _ -> fst != null && snd == null }, - { fst, snd, r -> fst != null && snd != null && fst.size < 2 && r == null }, - { fst, snd, r -> fst != null && snd != null && fst.size >= 2 && snd.size < 2 && r == null }, - { fst, snd, r -> - require(fst != null && snd != null && r != null) - - val sizeConstraint = fst.size >= 2 && snd.size >= 2 && r.size == fst.size + snd.size - val maxConstraint = fst.maxOrNull()!! < snd.maxOrNull()!! - val contentConstraint = r contentEquals (IntArrayBasics().mergeArrays(fst, snd)) - - sizeConstraint && maxConstraint && contentConstraint - }, - { fst, snd, r -> - require(fst != null && snd != null && r != null) - - val sizeConstraint = fst.size >= 2 && snd.size >= 2 && r.size == fst.size + snd.size - val maxConstraint = fst.maxOrNull()!! >= snd.maxOrNull()!! - val contentConstraint = r contentEquals (IntArrayBasics().mergeArrays(fst, snd)) - - sizeConstraint && maxConstraint && contentConstraint - } - ) - } - - @Test - fun testNewArrayInTheMiddle() { - check( - IntArrayBasics::newArrayInTheMiddle, - eq(5), - { a, _ -> a == null }, - { a, _ -> a != null && a.isEmpty() }, - { a, _ -> a != null && a.size < 2 }, - { a, _ -> a != null && a.size < 3 }, - { a, r -> a != null && a.size >= 3 && r != null && r[0] == 1 && r[1] == 2 && r[2] == 3 } - ) - } - - @Test - fun testNewArrayInTheMiddleMutation() { - checkParamsMutations( - IntArrayBasics::newArrayInTheMiddle, - ignoreExecutionsNumber, - { _, arrayAfter -> arrayAfter[0] == 1 && arrayAfter[1] == 2 && arrayAfter[2] == 3 } - ) - } - - @Test - fun testReversed() { - check( - IntArrayBasics::reversed, - eq(5), - { a, _ -> a == null }, - { a, _ -> a != null && a.size != 3 }, - { a, r -> a != null && a.size == 3 && a[0] <= a[1] && r == null }, - { a, r -> a != null && a.size == 3 && a[0] > a[1] && a[1] <= a[2] && r == null }, - { a, r -> a != null && a.size == 3 && a[0] > a[1] && a[1] > a[2] && r contentEquals a.reversedArray() }, - ) - } - - @Test - fun testUpdateCloned() { - check( - IntArrayBasics::updateCloned, - eq(3), - { a, _ -> a == null }, - { a, _ -> a.size != 3 }, - { a, r -> a.size == 3 && r != null && r.toList() == a.map { it * 2 } }, - ) - } - - @Test - @Disabled("Java 11 transition -- Sergei is looking into it") - fun testArraysEqualsExample() { - check( - IntArrayBasics::arrayEqualsExample, - eq(2), - { a, r -> a.size == 3 && a contentEquals intArrayOf(1, 2, 3) && r == 1 }, - { a, r -> !(a contentEquals intArrayOf(1, 2, 3)) && r == 2 } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/PrimitiveArraysTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/PrimitiveArraysTest.kt deleted file mode 100644 index 3fdb4661..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/arrays/PrimitiveArraysTest.kt +++ /dev/null @@ -1,181 +0,0 @@ -package org.utbot.examples.arrays - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -internal class PrimitiveArraysTest : UtValueTestCaseChecker( - testClass = PrimitiveArrays::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testDefaultIntValues() { - check( - PrimitiveArrays::defaultIntValues, - eq(1), - { r -> r != null && r.all { it == 0 } }, - coverage = atLeast(50) - ) - } - - @Test - fun testDefaultDoubleValues() { - check( - PrimitiveArrays::defaultDoubleValues, - eq(1), - { r -> r != null && r.all { it == 0.0 } }, - coverage = atLeast(50) - ) - } - - @Test - fun testDefaultBooleanValues() { - check( - PrimitiveArrays::defaultBooleanValues, - eq(1), - { r -> r != null && r.none { it } }, - coverage = atLeast(50) - ) - } - - @Test - fun testByteArray() { - checkWithException( - PrimitiveArrays::byteArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 <= 20 && r.getOrNull() == 0.toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20 && r.getOrNull() == 1.toByte() } - ) - } - - @Test - fun testShortArray() { - checkWithException( - PrimitiveArrays::shortArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 <= 20 && r.getOrNull() == 0.toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20 && r.getOrNull() == 1.toByte() } - ) - } - - @Test - fun testCharArray() { - checkWithException( - PrimitiveArrays::charArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 <= 20.toChar() && r.getOrNull() == 0.toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20.toChar() && r.getOrNull() == 1.toByte() } - ) - } - - @Test - fun testIntArray() { - checkWithException( - PrimitiveArrays::intArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 <= 20 && r.getOrNull() == 0.toByte() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20 && r.getOrNull() == 1.toByte() } - ) - } - - @Test - fun testLongArray() { - checkWithException( - PrimitiveArrays::longArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toLong() }, - { a, x, r -> a != null && a.size == 2 && x + 5 <= 20 && r.getOrNull() == 0.toLong() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20 && r.getOrNull() == 1.toLong() } - ) - } - - @Suppress("SimplifyNegatedBinaryExpression") - @Test - fun testFloatArray() { - checkWithException( - PrimitiveArrays::floatArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toFloat() }, - { a, x, r -> a != null && a.size == 2 && !(x + 5 > 20) && r.getOrNull() == 0.toFloat() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20 && r.getOrNull() == 1.toFloat() } - ) - } - - @Suppress("SimplifyNegatedBinaryExpression") - @Test - fun testDoubleArray() { - checkWithException( - PrimitiveArrays::doubleArray, - eq(4), - { a, _, r -> a == null && r.isException() }, - { a, _, r -> a != null && a.size != 2 && r.getOrNull() == (-1).toDouble() }, - { a, x, r -> a != null && a.size == 2 && !(x + 5 > 20) && r.getOrNull() == 0.toDouble() }, - { a, x, r -> a != null && a.size == 2 && x + 5 > 20 && r.getOrNull() == 1.toDouble() } - ) - } - - @Test - fun testBooleanArray() { - checkWithException( - PrimitiveArrays::booleanArray, - eq(4), - { a, _, _, r -> a == null && r.isException() }, - { a, _, _, r -> a != null && a.size != 2 && r.getOrNull() == -1 }, - { a, x, y, r -> a != null && a.size == 2 && !(x xor y) && r.getOrNull() == 0 }, - { a, x, y, r -> a != null && a.size == 2 && (x xor y) && r.getOrNull() == 1 } - ) - } - - @Test - fun testByteSizeAndIndex() { - check( - PrimitiveArrays::byteSizeAndIndex, - eq(5), - { a, _, r -> a == null && r == (-1).toByte() }, - { a, x, r -> a != null && a.size <= x.toInt() && r == (-1).toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() < 1 && r == (-1).toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() > 0 && x + 5 <= 7 && r == 0.toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() > 0 && x + 5 > 7 && r == 1.toByte() } - ) - } - - @Test - fun testShortSizeAndIndex() { - check( - PrimitiveArrays::shortSizeAndIndex, - eq(5), - { a, _, r -> a == null && r == (-1).toByte() }, - { a, x, r -> a != null && a.size <= x.toInt() && r == (-1).toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() < 1 && r == (-1).toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() > 0 && x + 5 <= 7 && r == 0.toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() > 0 && x + 5 > 7 && r == 1.toByte() } - ) - } - - @Test - fun testCharSizeAndIndex() { - check( - PrimitiveArrays::charSizeAndIndex, - eq(5), - { a, _, r -> a == null && r == (-1).toByte() }, - { a, x, r -> a != null && a.size <= x.toInt() && r == (-1).toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() < 1 && r == (-1).toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() > 0 && x + 5 <= 7.toChar() && r == 0.toByte() }, - { a, x, r -> a != null && a.size > x.toInt() && x.toInt() > 0 && x + 5 > 7.toChar() && r == 1.toByte() } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/ArrayCastExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/ArrayCastExampleTest.kt deleted file mode 100644 index 6356b765..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/ArrayCastExampleTest.kt +++ /dev/null @@ -1,170 +0,0 @@ -package org.utbot.examples.casts - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// TODO failed Kotlin compilation (generics) SAT-1332 -//TODO: SAT-1487 calculate coverage for all methods of this test class -internal class ArrayCastExampleTest : UtValueTestCaseChecker( - testClass = ArrayCastExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testCastToAncestor() { - check( - ArrayCastExample::castToAncestor, - eq(2), - { a, r -> a == null && r != null && r is Array }, - { a, r -> a != null && r != null && r.isArrayOf() } - ) - } - - @Test - fun testClassCastException() { - check( - ArrayCastExample::classCastException, - eq(3), - { a, r -> a == null && r != null && r.isEmpty() }, - { a, _ -> !a.isArrayOf() }, - { a, r -> a.isArrayOf() && r != null && r.isArrayOf() }, - ) - } - - @Test - fun testNullCast() { - check( - ArrayCastExample::nullCast, - eq(2), - { a, r -> a != null && r == null }, - { a, r -> a == null && r == null } - ) - } - - @Test - fun testNullArray() { - check( - ArrayCastExample::nullArray, - eq(1), - { r -> r == null } - ) - } - - @Test - fun testSuccessfulExampleFromJLS() { - check( - ArrayCastExample::successfulExampleFromJLS, - eq(1), - { r -> - require(r != null) - - val sizeConstraint = r.size == 4 - val typeConstraint = r[0] is ColoredPoint && r[1] is ColoredPoint - val zeroElementConstraint = r[0].x == 2 && r[0].y == 2 && r[0].color == 12 - val firstElementConstraint = r[1].x == 4 && r[1].y == 5 && r[1].color == 24 - - sizeConstraint && typeConstraint && zeroElementConstraint && firstElementConstraint - } - ) - } - - @Test - fun testCastAfterStore() { - check( - ArrayCastExample::castAfterStore, - eq(5), - { a, _ -> a == null }, - { a, _ -> a.isEmpty() }, - { a, _ -> a.isNotEmpty() && !a.isArrayOf() }, - { a, _ -> a.isArrayOf() && a.size == 1 }, - { a, r -> - require(r != null) - - val sizeConstraint = a.size >= 2 - val typeConstraint = a.isArrayOf() && r.isArrayOf() - val zeroElementConstraint = r[0].color == 12 && r[0].x == 1 && r[0].y == 2 - val firstElementConstraint = r[1].color == 14 && r[1].x == 2 && r[1].y == 3 - - sizeConstraint && typeConstraint && zeroElementConstraint && firstElementConstraint - } - ) - } - - @Test - fun testCastFromObject() { - check( - ArrayCastExample::castFromObject, - eq(3), - { a, _ -> a !is Array<*> || !a.isArrayOf() }, - { a, r -> a == null && r != null && r.isArrayOf() && r.isEmpty() }, - { a, r -> a is Array<*> && a.isArrayOf() && r != null && r.isArrayOf() }, - ) - } - - @Test - fun testCastFromObjectToPrimitivesArray() { - check( - ArrayCastExample::castFromObjectToPrimitivesArray, - eq(2), - { array, r -> array is IntArray && array.size > 0 && r is IntArray && array contentEquals r }, - { array, r -> array != null && array !is IntArray && r !is IntArray }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCastsChainFromObject() { - check( - ArrayCastExample::castsChainFromObject, - eq(8), - { a, r -> a == null && r == null }, - { a, _ -> a !is Array<*> || !a.isArrayOf() }, - { a, r -> a is Array<*> && a.isArrayOf() && a.isEmpty() && r == null }, - { a, _ -> a is Array<*> && a.isArrayOf() && a.isNotEmpty() && a[0] == null }, - { a, _ -> a is Array<*> && a.isArrayOf() && !a.isArrayOf() && (a[0] as Point).x == 1 }, - { a, _ -> a is Array<*> && a.isArrayOf() && !a.isArrayOf() && (a[0] as Point).x != 1 }, - { a, r -> a is Array<*> && a.isArrayOf() && (a[0] as Point).x == 1 && r != null && r[0].x == 10 }, - { a, r -> a is Array<*> && a.isArrayOf() && (a[0] as Point).x != 1 && r != null && r[0].x == 5 }, - ) - } - - @Test - fun testCastFromCollections() { - check( - ArrayCastExample::castFromCollections, - eq(3), - { c, r -> c == null && r == null }, - { c, r -> c != null && c is List<*> && r is List<*> }, - { c, _ -> c is Collection<*> && c !is List<*> }, - coverage = DoNotCalculate, - ) - } - - @Test - fun testCastFromIterable() { - check( - ArrayCastExample::castFromIterable, - eq(3), - { i, r -> i == null && r == null }, - { i, r -> i is List<*> && r is List<*> }, - { i, _ -> i is Iterable<*> && i !is List<*> }, - coverage = DoNotCalculate, - ) - } - - @Test - @Disabled("Fix Traverser.findInvocationTargets to exclude non-exported classes / provide good classes") - fun testCastFromIterableToCollection() { - check( - ArrayCastExample::castFromIterableToCollection, - eq(3), - { i, r -> i == null && r == null }, - { i, r -> i is Collection<*> && r is Collection<*> }, - { i, _ -> i is Iterable<*> && i !is Collection<*> }, - coverage = DoNotCalculate, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/CastClassTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/CastClassTest.kt deleted file mode 100644 index 0c65e947..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/CastClassTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.casts - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class CastClassTest : UtValueTestCaseChecker( - testClass = CastClass::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testThisTypeChoice() { - check( - CastClass::castToInheritor, - eq(0), - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/CastExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/CastExampleTest.kt deleted file mode 100644 index 43728dc5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/CastExampleTest.kt +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.examples.casts - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -internal class CastExampleTest : UtValueTestCaseChecker( - testClass = CastExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testSimpleCast() { - check( - CastExample::simpleCast, - eq(3), - { o, _ -> o != null && o !is CastClassFirstSucc }, - { o, r -> o != null && r is CastClassFirstSucc }, - { o, r -> o == null && r == null }, - ) - } - - @Test - fun testClassCastException() { - checkWithException( - CastExample::castClassException, - eq(3), - { o, r -> o == null && r.isException() }, - { o, r -> o != null && o !is CastClassFirstSucc && r.isException() }, - { o, r -> o != null && o is CastClassFirstSucc && r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCastUp() { - check( - CastExample::castUp, - eq(1) - ) - } - - @Test - fun testCastNullToDifferentTypes() { - check( - CastExample::castNullToDifferentTypes, - eq(1) - ) - } - - @Test - fun testFromObjectToPrimitive() { - check( - CastExample::fromObjectToPrimitive, - eq(3), - { obj, _ -> obj == null }, - { obj, _ -> obj != null && obj !is Int }, - { obj, r -> obj != null && obj is Int && r == obj } - ) - } - - @Test - fun testCastFromObjectToInterface() { - check( - CastExample::castFromObjectToInterface, - eq(2), - { obj, _ -> obj != null && obj !is Colorable }, - { obj, r -> obj != null && obj is Colorable && r == obj }, - coverage = DoNotCalculate - ) - } - - @Test - fun testComplicatedCast() { - withEnabledTestingCodeGeneration(testCodeGeneration = false) { // error: package sun.text is not visible - check( - CastExample::complicatedCast, - eq(2), - { i, a, _ -> i == 0 && a != null && a[i] != null && a[i] !is CastClassFirstSucc }, - { i, a, r -> i == 0 && a != null && a[i] != null && a[i] is CastClassFirstSucc && r is CastClassFirstSucc }, - coverage = DoNotCalculate - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/GenericCastExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/GenericCastExampleTest.kt deleted file mode 100644 index 1f866637..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/GenericCastExampleTest.kt +++ /dev/null @@ -1,76 +0,0 @@ -package org.utbot.examples.casts - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between - -// TODO failed Kotlin compilation SAT-1332 -internal class GenericCastExampleTest : UtValueTestCaseChecker( - testClass = GenericCastExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testCompareTwoNumbers() { - check( - GenericCastExample::compareTwoNumbers, - eq(5), - { a, _, _ -> a == null }, - { _, b, _ -> b == null }, - { _, b, _ -> b.comparableGenericField == null }, - { a, b, r -> a >= b.comparableGenericField && r == 1 }, - { a, b, r -> a < b.comparableGenericField && r == -1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetGenericFieldValue() { - check( - GenericCastExample::getGenericFieldValue, - eq(3), - { g, _ -> g == null }, - { g, _ -> g.genericField == null }, - { g, r -> g?.genericField != null && r == g.genericField }, - ) - } - - @Test - fun testCompareGenericField() { - check( - GenericCastExample::compareGenericField, - between(4..5), - { g, _, _ -> g == null }, - { g, v, _ -> g != null && v == null }, - { g, v, r -> v != null && v != g.comparableGenericField && r == -1 }, - { g, v, r -> g.comparableGenericField is Int && v != null && v == g.comparableGenericField && r == 1 }, - coverage = DoNotCalculate // TODO because of kryo exception: Buffer underflow. - ) - } - - @Test - fun testCreateNewGenericObject() { - check( - GenericCastExample::createNewGenericObject, - eq(1), - { r -> r is Int && r == 10 }, - ) - } - - @Test - fun testSumFromArrayOfGenerics() { - check( - GenericCastExample::sumFromArrayOfGenerics, - eq(7), - { g, _ -> g == null }, - { g, _ -> g.genericArray == null }, - { g, _ -> g.genericArray.isEmpty() }, - { g, _ -> g.genericArray.size == 1 }, - { g, _ -> g.genericArray[0] == null }, - { g, _ -> g.genericArray[0] != null && g.genericArray[1] == null }, - { g, r -> g.genericArray[0] != null && g.genericArray[1] != null && r == g.genericArray[0] + g.genericArray[1] }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/InstanceOfExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/InstanceOfExampleTest.kt deleted file mode 100644 index cf9cadef..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/casts/InstanceOfExampleTest.kt +++ /dev/null @@ -1,405 +0,0 @@ -package org.utbot.examples.casts - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -// TODO failed Kotlin compilation SAT-1332 -internal class InstanceOfExampleTest : UtValueTestCaseChecker( - testClass = InstanceOfExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testSimpleInstanceOf() { - check( - InstanceOfExample::simpleInstanceOf, - eq(2), - { o, r -> o is CastClassFirstSucc && r is CastClassFirstSucc }, - { o, r -> o !is CastClassFirstSucc && r == null }, - ) - } - - @Test - fun testNullPointerCheck() { - check( - InstanceOfExample::nullPointerCheck, - eq(3), - { o, _ -> o == null }, - { o, r -> o is CastClassFirstSucc && r == o.z }, - { o, r -> o !is CastClassFirstSucc && o != null && r == o.x }, - ) - } - - @Test - fun testVirtualCall() { - check( - InstanceOfExample::virtualCall, - eq(2), - { o, r -> o is CastClassFirstSucc && r == o.foo() }, - { o, r -> o !is CastClassFirstSucc && r == -1 }, - ) - } - - @Test - fun testVirtualFunctionCallWithCast() { - check( - InstanceOfExample::virtualFunctionCallWithCast, - eq(3), - { o, r -> o !is CastClassFirstSucc && r == -1 }, - { o, _ -> o is CastClass && o !is CastClassFirstSucc }, - { o, r -> o is CastClassFirstSucc && r == o.z }, - ) - } - - @Test - fun testVirtualCallWithoutOneInheritor() { - check( - InstanceOfExample::virtualCallWithoutOneInheritor, - eq(4), - { o, r -> o !is CastClassFirstSucc && o is CastClass && r == o.foo() }, - { o, r -> o is CastClassSecondSucc && r == o.foo() }, - { o, _ -> o == null }, - { o, r -> o is CastClassFirstSucc && r == o.foo() }, - ) - } - - @Test - fun testVirtualCallWithoutOneInheritorInverse() { - check( - InstanceOfExample::virtualCallWithoutOneInheritorInverse, - eq(4), - { o, r -> o !is CastClassFirstSucc && o is CastClass && r == o.foo() }, - { o, r -> o is CastClassSecondSucc && r == o.foo() }, - { o, _ -> o == null }, - { o, r -> o is CastClassFirstSucc && r == o.foo() }, - ) - } - - @Test - fun testWithoutOneInheritorOnArray() { - check( - InstanceOfExample::withoutOneInheritorOnArray, - eq(2), - { o, r -> o.isInstanceOfArray() && r == 0 }, - { o, r -> !o.isInstanceOfArray() && r == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testWithoutOneInheritorOnArrayInverse() { - check( - InstanceOfExample::withoutOneInheritorOnArrayInverse, - eq(2), - { o, r -> !o.isInstanceOfArray() && r == 0 }, - { o, r -> o.isInstanceOfArray() && r == 1 }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testInstanceOfAsPartOfInternalExpressions() { - check( - InstanceOfExample::instanceOfAsPartOfInternalExpressions, - branches = ignoreExecutionsNumber, - { o, r -> - val o0isFirst = o[0].isInstanceOfArray() - val o1isSecond = o[1].isInstanceOfArray() - val and = o0isFirst && o1isSecond - and && r == 1 - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - val or = o0isSecond || o1isFirst - or && r == 2 - }, - { o, r -> - val o0isFirst = o[0].isInstanceOfArray() - val o1isSecond = o[1].isInstanceOfArray() - - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - - val and = o0isFirst && o1isSecond - val or = o0isSecond || o1isFirst - - !and && !or && r == 3 - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testInstanceOfAsPartOfInternalExpressionsCastClass() { - check( - InstanceOfExample::instanceOfAsPartOfInternalExpressionsCastClass, - branches = ignoreExecutionsNumber, - { o, r -> - val o0isFirst = o[0].isInstanceOfArray() - val o1isSecond = o[1].isInstanceOfArray() - val and = o0isFirst && o1isSecond - !and && r == 1 - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - val or = o0isSecond || o1isFirst - !or && r == 2 - }, - { o, r -> - val o0isFirst = o[0].isInstanceOfArray() - val o1isSecond = o[1].isInstanceOfArray() - - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - - val and = o0isFirst && o1isSecond - val or = o0isSecond || o1isFirst - - and && or && r == 3 - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testInstanceOfAsPartOfInternalExpressionsXor() { - check( - InstanceOfExample::instanceOfAsPartOfInternalExpressionsXor, - eq(4), - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 1 && !o0isSecond && o1isFirst - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 2 && o0isSecond && !o1isFirst - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 3 && o0isSecond && o1isFirst - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 4 && !o0isSecond && !o1isFirst - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testInstanceOfAsPartOfInternalExpressionsXorInverse() { - check( - InstanceOfExample::instanceOfAsPartOfInternalExpressionsXorInverse, - eq(4), - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 1 && o0isSecond && o1isFirst - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 2 && !o0isSecond && !o1isFirst - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 3 && o0isSecond && !o1isFirst - }, - { o, r -> - val o0isSecond = o[0].isInstanceOfArray() - val o1isFirst = o[1].isInstanceOfArray() - r == 4 && !o0isSecond && o1isFirst - }, - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("TODO: Can't deal with complicated expressions") - fun testInstanceOfAsPartOfInternalExpressionsIntValue() { - check( - InstanceOfExample::instanceOfAsPartOfInternalExpressionsIntValue, - branches = ignoreExecutionsNumber, - { o, r -> - val t1 = o.isInstanceOfArray() - val t2 = !o.isInstanceOfArray() - val t3 = r == 1 - t1 && t2 && t3 - }, - { o, r -> o.isInstanceOfArray() && r == 2 }, - { o, r -> !o.isInstanceOfArray() && r == 3 }, - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("TODO: Zero branches") - fun testInstanceOfAsInternalExpressionsMap() { - check( - InstanceOfExample::instanceOfAsInternalExpressionsMap, - ge(3), - coverage = DoNotCalculate - ) - } - - - @Test - fun testSymbolicInstanceOf() { - check( - InstanceOfExample::symbolicInstanceOf, - eq(6), - { _, i, r -> i < 1 && r == null }, - { _, i, r -> i > 3 && r == null }, - { o, _, _ -> o == null }, - { o, i, _ -> o != null && i > o.lastIndex }, - { o, i, r -> o != null && o[i] is CastClassFirstSucc && r is CastClassFirstSucc }, - { o, i, r -> o != null && o[i] !is CastClassFirstSucc && r is CastClassSecondSucc }, - ) - } - - @Test - //TODO: fails without concrete execution - fun testComplicatedInstanceOf() { - check( - InstanceOfExample::complicatedInstanceOf, - eq(8), - { _, index, _, result -> index < 0 && result == null }, - { _, index, _, result -> index > 2 && result == null }, - { objects, index, _, result -> index in 0..2 && objects == null && result == null }, - { objects, index, _, result -> index in 0..2 && objects != null && objects.size < index + 2 && result == null }, - { objects, index, objectExample, result -> - require(objects != null && result != null && objectExample is CastClassFirstSucc) - - val sizeConstraint = index in 0..2 && objects.size >= index + 2 - val resultConstraint = result[index].x == objectExample.z - - sizeConstraint && resultConstraint - }, - { objects, index, objectExample, _ -> - index in 0..2 && objects != null && objects.size >= index + 2 && objectExample == null - }, - { objects, index, objectExample, result -> - require(objects != null && result != null && result[index] is CastClassSecondSucc) - - val sizeConstraint = index in 0..2 && objects.size >= index + 2 - val typeConstraint = objectExample !is CastClassFirstSucc && result[index] is CastClassSecondSucc - val resultConstraint = result[index].x == result[index].foo() - - sizeConstraint && typeConstraint && resultConstraint - }, - { objects, index, objectExample, result -> - require(objects != null && result != null) - - val sizeConstraint = index in 0..2 && objects.size >= index + 2 - val objectExampleConstraint = objectExample !is CastClassFirstSucc - val resultTypeConstraint = result[index] !is CastClassFirstSucc && result[index] !is CastClassSecondSucc - val typeConstraint = objectExampleConstraint && resultTypeConstraint - val resultConstraint = result[index].x == result[index].foo() - - sizeConstraint && typeConstraint && resultConstraint - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testInstanceOfFromArray() { - check( - InstanceOfExample::instanceOfFromArray, - eq(5), - { a, _ -> a == null }, - { a, r -> a.size != 3 && r == null }, - { a, r -> a.size == 3 && a[0] is CastClassFirstSucc && r != null && r[0] is CastClassFirstSucc }, - { a, r -> a.size == 3 && a[0] is CastClassSecondSucc && r != null && r[0] == null }, - { a, r -> a.size == 3 && a[0] !is CastClassFirstSucc && a[0] !is CastClassSecondSucc && r != null }, - ) - } - - @Test - fun testInstanceOfFromArrayWithReadingAnotherElement() { - check( - InstanceOfExample::instanceOfFromArrayWithReadingAnotherElement, - eq(4), - { a, _ -> a == null }, - { a, r -> a != null && a.size < 2 && r == null }, - { a, r -> a != null && a.size >= 2 && a[0] is CastClassFirstSucc && r is CastClassFirstSucc }, - { a, r -> a != null && a.size >= 2 && a[0] !is CastClassFirstSucc && r == null }, - ) - } - - @Test - fun testInstanceOfFromArrayWithReadingSameElement() { - check( - InstanceOfExample::instanceOfFromArrayWithReadingSameElement, - eq(4), - { a, _ -> a == null }, - { a, r -> a != null && a.size < 2 && r == null }, - { a, r -> a != null && a.size >= 2 && a[0] is CastClassFirstSucc && r is CastClassFirstSucc }, - { a, r -> a != null && a.size >= 2 && a[0] !is CastClassFirstSucc && r == null }, - ) - } - - @Test - fun testIsNull() { - check( - InstanceOfExample::isNull, - eq(2), - { a, r -> a is Array<*> && a.isArrayOf() && r == 1 }, - { a, r -> a == null && r == 2 }, - ) - } - - @Test - fun testArrayInstanceOfArray() { - check( - InstanceOfExample::arrayInstanceOfArray, - eq(4), - { a, r -> a == null && r == null }, - { a, r -> a is Array<*> && a.isArrayOf() && r is Array<*> && r.isArrayOf() }, - { a, r -> a is Array<*> && a.isArrayOf() && r is Array<*> && r.isArrayOf() }, - { a, r -> - a is Array<*> && a.isArrayOf() && !a.isArrayOf() && - !a.isArrayOf() && r is Array<*> && a contentDeepEquals r - }, - ) - } - - @Test - fun testObjectInstanceOfArray() { - check( - InstanceOfExample::objectInstanceOfArray, - eq(3), - { a, r -> a is IntArray && r is IntArray && a contentEquals r }, - { a, r -> a is BooleanArray && r is BooleanArray && a contentEquals r }, - { a, r -> (a == null && r == null) || (!(a is IntArray || a is BooleanArray) && a.equals(r)) }, - ) - } - - @Test - fun testInstanceOfObjectArray() { - check( - InstanceOfExample::instanceOfObjectArray, - eq(3), - { a, r -> a == null && r == null }, - { a, r -> a is Array<*> && a.isArrayOf>() && r is Array<*> && r contentDeepEquals a }, - { a, r -> a is Array<*> && !a.isArrayOf>() && r!!::class == a::class }, - ) - } - - - private inline fun Any?.isInstanceOfArray() = - (this as? Array<*>)?.run { T::class.java.isAssignableFrom(this::class.java.componentType) } == true -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/ClassWithStaticAndInnerClassesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/ClassWithStaticAndInnerClassesTest.kt deleted file mode 100644 index ab50b27e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/ClassWithStaticAndInnerClassesTest.kt +++ /dev/null @@ -1,127 +0,0 @@ -package org.utbot.examples.codegen - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("INACCESSIBLE_TYPE") -internal class ClassWithStaticAndInnerClassesTest : UtValueTestCaseChecker( - testClass = ClassWithStaticAndInnerClasses::class, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testUsePrivateStaticClassWithPrivateField() { - check( - ClassWithStaticAndInnerClasses::usePrivateStaticClassWithPrivateField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePrivateStaticClassWithPublicField() { - check( - ClassWithStaticAndInnerClasses::usePrivateStaticClassWithPublicField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePublicStaticClassWithPrivateField() { - check( - ClassWithStaticAndInnerClasses::usePublicStaticClassWithPrivateField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePublicStaticClassWithPublicField() { - check( - ClassWithStaticAndInnerClasses::usePublicStaticClassWithPublicField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePrivateInnerClassWithPrivateField() { - check( - ClassWithStaticAndInnerClasses::usePrivateInnerClassWithPrivateField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePrivateInnerClassWithPublicField() { - check( - ClassWithStaticAndInnerClasses::usePrivateInnerClassWithPublicField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePublicInnerClassWithPrivateField() { - check( - ClassWithStaticAndInnerClasses::usePublicInnerClassWithPrivateField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePublicInnerClassWithPublicField() { - check( - ClassWithStaticAndInnerClasses::usePublicInnerClassWithPublicField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePackagePrivateFinalStaticClassWithPackagePrivateField() { - check( - ClassWithStaticAndInnerClasses::usePackagePrivateFinalStaticClassWithPackagePrivateField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testUsePackagePrivateFinalInnerClassWithPackagePrivateField() { - check( - ClassWithStaticAndInnerClasses::usePackagePrivateFinalInnerClassWithPackagePrivateField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testGetValueFromPublicFieldWithPrivateType() { - check( - ClassWithStaticAndInnerClasses::getValueFromPublicFieldWithPrivateType, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testPublicStaticClassWithPrivateField_DeepNestedStatic_g() { - checkAllCombinations( - ClassWithStaticAndInnerClasses.PublicStaticClassWithPrivateField.DeepNestedStatic::g, - generateWithNested = true - ) - } - - @Test - fun testPublicStaticClassWithPrivateField_DeepNested_h() { - checkAllCombinations( - ClassWithStaticAndInnerClasses.PublicStaticClassWithPrivateField.DeepNested::h, - generateWithNested = true - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/CodegenExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/CodegenExampleTest.kt deleted file mode 100644 index bd07565c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/CodegenExampleTest.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.examples.codegen - -import org.utbot.examples.mock.MockRandomExamples -import kotlin.reflect.full.functions -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.UtValueTestCaseChecker - -internal class CodegenExampleTest : UtValueTestCaseChecker(testClass = CodegenExample::class) { - @Test - fun firstExampleTest() { - withoutConcrete { - checkAllCombinations( - CodegenExample::firstExample, - ) - } - } - - @Test - fun innerClassTest() { - val innerClass = CodegenExample::class.nestedClasses.single { it.simpleName == "InnerClass" } - val fooMethod = innerClass.functions.single { it.name == "foo" } - - checkAllCombinations(fooMethod) - } - - @Test - @Disabled("TODO static initializers JIRA:1483") - fun staticClassTest() { - val staticClass = CodegenExample::class.nestedClasses.single { it.simpleName == "StaticClass" } - val barMethod = staticClass.functions.single { it.name == "bar" } - - checkAllCombinations(barMethod) - } - - @Test - fun randomAsLocalVariableTest() { - checkAllCombinations( - MockRandomExamples::randomAsLocalVariable, - ) - } - - @Test - fun randomAsFieldTest() { - checkAllCombinations( - MockRandomExamples::randomAsField, - ) - } - - @Test - fun randomAsParameterTest() { - checkAllCombinations( - MockRandomExamples::randomAsParameter, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/FileWithTopLevelFunctionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/FileWithTopLevelFunctionsTest.kt deleted file mode 100644 index 6af41eb6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/FileWithTopLevelFunctionsTest.kt +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.examples.codegen - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import kotlin.reflect.KFunction3 - -@Suppress("UNCHECKED_CAST") -internal class FileWithTopLevelFunctionsTest : UtValueTestCaseChecker(testClass = FileWithTopLevelFunctionsReflectHelper.clazz.kotlin) { - @Test - fun topLevelSumTest() { - check( - ::topLevelSum, - eq(1), - ) - } - - @Test - fun extensionOnBasicTypeTest() { - check( - Int::extensionOnBasicType, - eq(1), - ) - } - - @Test - fun extensionOnCustomClassTest() { - check( - // NB: cast is important here because we need to treat receiver as an argument to be able to check its content in matchers - CustomClass::extensionOnCustomClass as KFunction3<*, CustomClass, CustomClass, Boolean>, - eq(2), - { receiver, argument, result -> receiver === argument && result == true }, - { receiver, argument, result -> receiver !== argument && result == false }, - additionalDependencies = dependenciesForClassExtensions - ) - } - - companion object { - // Compilation of extension methods for ref objects produces call to - // `kotlin.jvm.internal.Intrinsics::checkNotNullParameter`, so we need to add it to dependencies - val dependenciesForClassExtensions = arrayOf>(kotlin.jvm.internal.Intrinsics::class.java) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/JavaAssertTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/JavaAssertTest.kt deleted file mode 100644 index 2133cf2e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/JavaAssertTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.codegen - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -class JavaAssertTest : UtValueTestCaseChecker( - testClass = JavaAssert::class, - testCodeGeneration = false -) { - @Test - fun testAssertPositive() { - checkWithException( - JavaAssert::assertPositive, - eq(2), - { value, result -> value > 0 && result.isSuccess && result.getOrNull() == value }, - { value, result -> value <= 0 && result.isException() } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/VoidStaticMethodsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/VoidStaticMethodsTest.kt deleted file mode 100644 index 42af7ff9..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/VoidStaticMethodsTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.codegen - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -class VoidStaticMethodsTest : UtValueTestCaseChecker( - testClass = VoidStaticMethodsTestingClass::class) { - @Test - fun testInvokeChangeStaticFieldMethod() { - check( - VoidStaticMethodsTestingClass::invokeChangeStaticFieldMethod, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testInvokeThrowExceptionMethod() { - check( - VoidStaticMethodsTestingClass::invokeThrowExceptionMethod, - eq(3), - coverage = DoNotCalculate - ) - } - - @Test - fun testInvokeAnotherThrowExceptionMethod() { - check( - VoidStaticMethodsTestingClass::invokeAnotherThrowExceptionMethod, - eq(2), - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/ClassWithCrossReferenceRelationshipTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/ClassWithCrossReferenceRelationshipTest.kt deleted file mode 100644 index e87b3e4c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/ClassWithCrossReferenceRelationshipTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.codegen.deepequals - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -class ClassWithCrossReferenceRelationshipTest : UtValueTestCaseChecker( - testClass = ClassWithCrossReferenceRelationship::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testClassWithCrossReferenceRelationship() { - check( - ClassWithCrossReferenceRelationship::returnFirstClass, - eq(2), - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/ClassWithNullableFieldTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/ClassWithNullableFieldTest.kt deleted file mode 100644 index 0026204d..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/ClassWithNullableFieldTest.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.codegen.deepequals - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -class ClassWithNullableFieldTest : UtValueTestCaseChecker( - testClass = ClassWithNullableField::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testClassWithNullableFieldInCompound() { - check( - ClassWithNullableField::returnCompoundWithNullableField, - eq(2), - coverage = DoNotCalculate - ) - } - - @Test - fun testClassWithNullableFieldInGreatCompound() { - check( - ClassWithNullableField::returnGreatCompoundWithNullableField, - eq(3), - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/DeepEqualsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/DeepEqualsTest.kt deleted file mode 100644 index af462403..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/deepequals/DeepEqualsTest.kt +++ /dev/null @@ -1,162 +0,0 @@ -package org.utbot.examples.codegen.deepequals - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// TODO failed Kotlin compilation (generics) SAT-1332 -class DeepEqualsTest : UtValueTestCaseChecker( - testClass = DeepEqualsTestingClass::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturnList() { - check( - DeepEqualsTestingClass::returnList, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testReturnSet() { - check( - DeepEqualsTestingClass::returnSet, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testReturnMap() { - check( - DeepEqualsTestingClass::returnMap, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testReturnArray() { - check( - DeepEqualsTestingClass::returnArray, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("We do not support 2d generics containers right now") - fun testReturn2DList() { - check( - DeepEqualsTestingClass::return2DList, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("We do not support 2d generics containers right now") - fun testReturn2DSet() { - check( - DeepEqualsTestingClass::return2DSet, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("We do not support 2d generics containers right now") - fun testReturn2DMap() { - check( - DeepEqualsTestingClass::return2DMap, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("We do not support 2d generics containers right now") - fun testIntegers2DList() { - check( - DeepEqualsTestingClass::returnIntegers2DList, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testReturn2DArray() { - check( - DeepEqualsTestingClass::return2DArray, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testReturnCommonClass() { - check( - DeepEqualsTestingClass::returnCommonClass, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testTriangle() { - check( - DeepEqualsTestingClass::returnTriangle, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testQuadrilateral() { - check( - DeepEqualsTestingClass::returnQuadrilateralFromNode, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testIntMultiArray() { - check( - DeepEqualsTestingClass::fillIntMultiArrayWithConstValue, - eq(3), - coverage = DoNotCalculate - ) - } - - @Test - fun testDoubleMultiArray() { - check( - DeepEqualsTestingClass::fillDoubleMultiArrayWithConstValue, - eq(3), - coverage = DoNotCalculate - ) - } - - @Test - fun testIntegerWrapperMultiArray() { - check( - DeepEqualsTestingClass::fillIntegerWrapperMultiArrayWithConstValue, - eq(3), - coverage = DoNotCalculate - ) - } - - @Test - fun testDoubleWrapperMultiArray() { - check( - DeepEqualsTestingClass::fillDoubleWrapperMultiArrayWithConstValue, - eq(3), - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/modifiers/ClassWithPrivateMutableFieldOfPrivateTypeTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/modifiers/ClassWithPrivateMutableFieldOfPrivateTypeTest.kt deleted file mode 100644 index 1a5ce264..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/codegen/modifiers/ClassWithPrivateMutableFieldOfPrivateTypeTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.codegen.modifiers - -import org.junit.jupiter.api.Test -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.jField -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -// TODO failed Kotlin tests execution with non-nullable expected field -class ClassWithPrivateMutableFieldOfPrivateTypeTest : UtValueTestCaseChecker( - testClass = ClassWithPrivateMutableFieldOfPrivateType::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testChangePrivateMutableFieldWithPrivateType() { - checkAllMutationsWithThis( - ClassWithPrivateMutableFieldOfPrivateType::changePrivateMutableFieldWithPrivateType, - eq(1), - { thisBefore, _, thisAfter, _, r -> - val privateMutableField = FieldId( - ClassWithPrivateMutableFieldOfPrivateType::class.id, - "privateMutableField" - ).jField - - val (privateFieldBeforeValue, privateFieldAfterValue) = privateMutableField.withAccessibility { - privateMutableField.get(thisBefore) to privateMutableField.get(thisAfter) - } - - privateFieldBeforeValue == null && privateFieldAfterValue != null && r == 0 - } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/CustomerExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/CustomerExamplesTest.kt deleted file mode 100644 index 4d114a5e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/CustomerExamplesTest.kt +++ /dev/null @@ -1,75 +0,0 @@ -package org.utbot.examples.collections - -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtConcreteValue -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -internal class CustomerExamplesTest: UtValueTestCaseChecker( - testClass = CustomerExamples::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testSimpleExample() { - checkStatics( - CustomerExamples::simpleExample, - eq(2), - { key, statics, r -> - val hashMap = statics.extractSingleStaticMap() - key !in hashMap && r == 2 - }, - { key, statics, r -> - val hashMap = statics.extractSingleStaticMap() - key in hashMap && r == 1 - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testStaticMap() { - checkStaticsWithThis( - CustomerExamples::staticMap, - ignoreExecutionsNumber, - { _, a, _, _, _, _ -> a == null }, - { t, _, _, _, _, _ -> t.c == null }, - { _, a, _, _, _, _ -> a.b == null }, - { t, a, _, _, _, r -> a.foo() > 1 && t.c.x < 3 && r == 1 }, - { t, a, key, _, statics, r -> - val hashMap = statics.extractSingleStaticMap() - - val firstConditionNegation = !(a.foo() > 1 && t.c.x < 3) - val secondCondition = a.b.bar() < 3 && key in hashMap - - firstConditionNegation && secondCondition && r == 2 - }, - { t, a, key, x, statics, r -> - val hashMap = statics.extractSingleStaticMap() - - val firstConditionNegation = !(a.foo() > 1 && t.c.x < 3) - val secondConditionNegation = !(a.b.bar() < 3 && key in hashMap) - val thirdCondition = t.c.x > 5 && t.foo(x) < 10 - - firstConditionNegation && secondConditionNegation && thirdCondition && r == 3 - }, - { t, a, key, x, statics, r -> - val hashMap = statics.extractSingleStaticMap() - - val firstConditionNegation = !(a.foo() > 1 && t.c.x < 3) - val secondConditionNegation = !(a.b.bar() < 3 && key in hashMap) - val thirdConditionNegation = !(t.c.x > 5 && t.foo(x) < 10) - - firstConditionNegation && secondConditionNegation && thirdConditionNegation && r == 4 - }, - // TODO JIRA:1588 - coverage = DoNotCalculate - ) - } - - private fun Map>.extractSingleStaticMap() = - values.singleOrNull()?.value as? HashMap<*, *> ?: emptyMap() -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/GenericListsExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/GenericListsExampleTest.kt deleted file mode 100644 index 809b2a42..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/GenericListsExampleTest.kt +++ /dev/null @@ -1,158 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// TODO disabled tests should be fixes with SAT-1441 -internal class GenericListsExampleTest : UtValueTestCaseChecker( - testClass = GenericListsExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - @Disabled("Doesn't find branches without NPE") - fun testListOfListsOfT() { - check( - GenericListsExample::listOfListsOfT, - eq(-1) - ) - } - - @Test - @Disabled("Problems with memory") - fun testListOfComparable() { - check( - GenericListsExample::listOfComparable, - eq(1), - { v, r -> v != null && v.size > 1 && v[0] != null && v.all { it is Comparable<*> || it == null } && v == r }, - coverage = DoNotCalculate - ) - } - - @Test - fun testListOfT() { - check( - GenericListsExample::listOfT, - eq(1), - { v, r -> v != null && v.size >= 2 && v[0] != null && v == r }, - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("Wrong number of matchers") - fun testListOfTArray() { - check( - GenericListsExample::listOfTArray, - eq(1) - ) - } - - @Test - @Disabled("JIRA:1446") - fun testListOfExtendsTArray() { - check( - GenericListsExample::listOfExtendsTArray, - eq(-1) - ) - } - - @Test - @Disabled("java.lang.ClassCastException: java.util.ArraysParallelSortHelpers\$FJShort\$Merger cannot be cast to [I") - fun testListOfPrimitiveArrayInheritors() { - check( - GenericListsExample::listOfPrimitiveArrayInheritors, - eq(-1) - ) - } - - @Test - @Disabled("JIRA:1620") - fun createWildcard() { - check( - GenericListsExample<*>::wildcard, - eq(4), - { v, r -> v == null && r?.isEmpty() == true }, - { v, r -> v != null && v.size == 1 && v[0] != null && v == r && v.all { it is Number || it == null } }, - { v, r -> v != null && (v.size != 1 || v[0] == null) && v == r && v.all { it is Number || it == null } }, - coverage = DoNotCalculate - ) - } - - @Suppress("NestedLambdaShadowedImplicitParameter") - @Test - @Disabled("unexpected empty nested list") - fun createListOfLists() { - check( - GenericListsExample<*>::listOfLists, - eq(1), - { v, r -> - val valueCondition = v != null && v[0] != null && v[0].isNotEmpty() - val typeCondition = v.all { (it is List<*> && it.all { it is Int || it == null }) || it == null } - - valueCondition && typeCondition && v == r - }, - coverage = DoNotCalculate - ) - } - - @Test - fun createWildcardWithOnlyQuestionMark() { - check( - GenericListsExample<*>::wildcardWithOnlyQuestionMark, - eq(3), - { v, r -> v == null && r?.isEmpty() == true }, - { v, r -> v.size == 1 && v == r }, - { v, r -> v.size != 1 && v == r }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testGenericWithArrayOfPrimitives() { - check( - GenericListsExample<*>::genericWithArrayOfPrimitives, - eq(1), - { v, _ -> - val valueCondition = v != null && v.size >= 2 && v[0] != null && v[0].isNotEmpty() && v[0][0] != 0L - val typeCondition = v.all { it is LongArray || it == null } - - valueCondition && typeCondition - }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testGenericWithObject() { - check( - GenericListsExample<*>::genericWithObject, - eq(1), - { v, r -> v != null && v.size >= 2 && v[0] != null && v[0] is Long && v == r }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testGenericWithArrayOfArrays() { - check( - GenericListsExample<*>::genericWithArrayOfArrays, - eq(1), - { v, _ -> - val valueCondition = v != null && v.size >= 2 && v[0] != null && v[0].isNotEmpty() && v[0][0] != null - val typeCondition = v.all { - (it is Array<*> && it.isArrayOf>() && it.all { it.isArrayOf() || it == null}) || it == null - } - - valueCondition && typeCondition - }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/LinkedListsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/LinkedListsTest.kt deleted file mode 100644 index 645e69c6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/LinkedListsTest.kt +++ /dev/null @@ -1,260 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -// TODO failed Kotlin compilation (generics) SAT-1332 -internal class LinkedListsTest : UtValueTestCaseChecker( - testClass = LinkedLists::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - - @Test - fun testSet() { - check( - LinkedLists::set, - eq(3), - { l, _ -> l == null }, - { l, _ -> l.size <= 2 }, - { l, r -> l.size > 2 && r == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testOffer() { - check( - LinkedLists::offer, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && l.size <= 1 && r == l }, - { l, r -> l != null && l.size > 1 && r == l + 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testOfferLast() { - check( - LinkedLists::offerLast, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && l.size <= 1 && r == l }, - { l, r -> l != null && l.size > 1 && r == l + 1 }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testAddLast() { - check( - LinkedLists::addLast, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && l.size <= 1 && r == l }, - { l, r -> l != null && l.size > 1 && (r == l + 1) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPush() { - check( - LinkedLists::push, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && l.size <= 1 && r == l }, - { l, r -> l != null && l.size > 1 && r == listOf(1) + l }, - coverage = DoNotCalculate - ) - } - - @Test - fun testOfferFirst() { - check( - LinkedLists::offerFirst, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && l.size <= 1 && r == l }, - { l, r -> l != null && l.size > 1 && r == listOf(1) + l }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAddFirst() { - check( - LinkedLists::addFirst, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && l.size <= 1 && r == l }, - { l, r -> l != null && l.size > 1 && r!!.size == l.size + 1 && r[0] == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPeek() { - checkWithException( - LinkedLists::peek, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && (l.isEmpty() || l.first() == null) && r.isException() }, - { l, r -> l != null && l.isNotEmpty() && r.getOrNull() == l[0] }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPeekFirst() { - checkWithException( - LinkedLists::peekFirst, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && (l.isEmpty() || l.first() == null) && r.isException() }, - { l, r -> l != null && l.isNotEmpty() && r.getOrNull() == l[0] }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPeekLast() { - checkWithException( - LinkedLists::peekLast, - eq(3), - { l, _ -> l == null }, - { l, r -> l != null && (l.isEmpty() || l.last() == null) && r.isException() }, - { l, r -> l != null && l.isNotEmpty() && r.getOrNull() == l.last() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testElement() { - checkWithException( - LinkedLists::element, - eq(4), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.isNotEmpty() && l[0] == null && r.isException() }, - { l, r -> l != null && l.isNotEmpty() && l[0] != null && r.getOrNull() == l[0] }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetFirst() { - checkWithException( - LinkedLists::getFirst, - eq(4), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, _ -> l != null && l.isNotEmpty() && l[0] == null }, - { l, r -> l != null && l.isNotEmpty() && r.getOrNull() == l[0] }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetLast() { - checkWithException( - LinkedLists::getLast, - eq(4), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, _ -> l != null && l.isNotEmpty() && l.last() == null }, - { l, r -> l != null && l.isNotEmpty() && r.getOrNull() == l.last() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPoll() { - checkWithException( - LinkedLists::poll, - eq(5), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.size == 1 && r.getOrNull() == l }, - { l, _ -> l != null && l.size > 1 && l.first() == null }, - { l, r -> l != null && l.size > 1 && r.getOrNull() == l.subList(1, l.size) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPollFirst() { - checkWithException( - LinkedLists::pollFirst, - eq(5), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.size == 1 && r.getOrNull() == l }, - { l, _ -> l != null && l.size > 1 && l.first() == null }, - { l, r -> l != null && l.size > 1 && r.getOrNull() == l.subList(1, l.size) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testPollLast() { - checkWithException( - LinkedLists::pollLast, - eq(5), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.size == 1 && r.getOrNull() == l }, - { l, _ -> l != null && l.size > 1 && l.last() == null }, - { l, r -> l != null && l.size > 1 && r.getOrNull() == l.subList(0, l.size - 1) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRemove() { - checkWithException( - LinkedLists::removeFirst, - eq(5), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.size == 1 && r.getOrNull() == l }, - { l, _ -> l != null && l.size > 1 && l.first() == null }, - { l, r -> l != null && l.size > 1 && r.getOrNull() == l.subList(1, l.size) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRemoveFirst() { - checkWithException( - LinkedLists::removeFirst, - eq(5), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.size == 1 && r.getOrNull() == l }, - { l, _ -> l != null && l.size > 1 && l.first() == null }, - { l, r -> l != null && l.size > 1 && r.getOrNull() == l.subList(1, l.size) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRemoveLast() { - checkWithException( - LinkedLists::removeLast, - eq(5), - { l, _ -> l == null }, - { l, r -> l != null && l.isEmpty() && r.isException() }, - { l, r -> l != null && l.size == 1 && r.getOrNull() == l }, - { l, _ -> l != null && l.size > 1 && l.last() == null }, - { l, r -> l != null && l.size > 1 && r.getOrNull() == l.subList(0, l.size - 1) }, - coverage = DoNotCalculate - ) - } - -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListAlgorithmsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListAlgorithmsTest.kt deleted file mode 100644 index a9b83353..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListAlgorithmsTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -// TODO failed Kotlin compilation SAT-1332 -class ListAlgorithmsTest : UtValueTestCaseChecker( - testClass = ListAlgorithms::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - - @Test - fun testMergeLists() { - check( - ListAlgorithms::mergeListsInplace, - eq(4), - { a, b, r -> b.subList(0, b.size - 1).any { a.last() < it } && r != null && r == r.sorted() }, - { a, b, r -> (a.subList(0, a.size - 1).any { b.last() <= it } || a.any { ai -> b.any { ai < it } }) && r != null && r == r.sorted() }, - { a, b, r -> a[0] < b[0] && r != null && r == r.sorted() }, - { a, b, r -> a[0] >= b[0] && r != null && r == r.sorted() }, - coverage = atLeast(94) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListIteratorsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListIteratorsTest.kt deleted file mode 100644 index f27688be..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListIteratorsTest.kt +++ /dev/null @@ -1,134 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import kotlin.math.min -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -// TODO failed Kotlin compilation (generics) SAT-1332 -internal class ListIteratorsTest : UtValueTestCaseChecker( - testClass = ListIterators::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturnIterator() { - withoutConcrete { // We need to check that a real class is returned but not `Ut` one - check( - ListIterators::returnIterator, - ignoreExecutionsNumber, - { l, r -> l.isEmpty() && r!!.asSequence().toList().isEmpty() }, - { l, r -> l.isNotEmpty() && r!!.asSequence().toList() == l }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testReturnListIterator() { - withoutConcrete { // We need to check that a real class is returned but not `Ut` one - check( - ListIterators::returnListIterator, - ignoreExecutionsNumber, - { l, r -> l.isEmpty() && r!!.asSequence().toList().isEmpty() }, - { l, r -> l.isNotEmpty() && r!!.asSequence().toList() == l }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testIterate() { - check( - ListIterators::iterate, - eq(3), - { l, _ -> l == null }, - { l, result -> l.isEmpty() && result == l }, - { l, result -> l.isNotEmpty() && result == l }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIterateReversed() { - check( - ListIterators::iterateReversed, - eq(3), - { l, _ -> l == null }, - { l, result -> l.isEmpty() && result == l }, - { l, result -> l.isNotEmpty() && result == l.reversed() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIterateForEach() { - check( - ListIterators::iterateForEach, - eq(4), - { l, _ -> l == null }, - { l, result -> l.isEmpty() && result == 0 }, - { l, _ -> l.isNotEmpty() && l.any { it == null } }, - { l, result -> l.isNotEmpty() && result == l.sum() }, - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("Java 11 transition") - fun testAddElements() { - check( - ListIterators::addElements, - eq(5), - { l, _, _ -> l == null }, - { l, _, result -> l != null && l.isEmpty() && result == l }, - { l, arr, _ -> l != null && l.size > 0 && arr == null }, - { l, arr, _ -> l != null && arr != null && l.isNotEmpty() && arr.isEmpty() }, - { l, arr, _ -> l != null && arr != null && l.size > arr.size }, - coverage = DoNotCalculate - ) - } - - @Test - fun testSetElements() { - check( - ListIterators::setElements, - eq(5), - { l, _, _ -> l == null }, - { l, _, result -> l != null && l.isEmpty() && result == l }, - { l, arr, _ -> l != null && arr != null && l.size > arr.size }, - { l, arr, _ -> l != null && l.size > 0 && arr == null }, - { l, arr, result -> l != null && arr != null && l.size <= arr.size && result == arr.asList().take(l.size) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRemoveElements() { - check( - ListIterators::removeElements, - ignoreExecutionsNumber, // the exact number of the executions depends on the decisions made by PathSelector - // so we can have either six results or seven, depending on the [pathSelectorType] - // from UtSettings - { l, _, _ -> l == null }, - { l, i, _ -> l != null && i <= 0 }, - { l, i, _ -> l != null && l.isEmpty() && i > 0 }, - { l, i, _ -> l != null && i > 0 && l.subList(0, min(i, l.size)).any { it !is Int } }, - { l, i, _ -> l != null && i > 0 && l.subList(0, min(i, l.size)).any { it == null } }, - { l, i, _ -> l != null && l.isNotEmpty() && i > 0 }, - { l, i, result -> - require(l != null) - - val precondition = l.isNotEmpty() && i > 0 && l.subList(0, i).all { it is Int } - val postcondition = result == (l.subList(0, i - 1) + l.subList(min(l.size, i), l.size)) - - precondition && postcondition - }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListWrapperReturnsVoidTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListWrapperReturnsVoidTest.kt deleted file mode 100644 index 462131d1..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListWrapperReturnsVoidTest.kt +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.utbot.framework.plugin.api.CodegenLanguage -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.CodeGeneration -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -// TODO failed Kotlin compilation ($ in function names, generics) SAT-1220 SAT-1332 -@Disabled("Java 11 transition") -internal class ListWrapperReturnsVoidTest : UtValueTestCaseChecker( - testClass = ListWrapperReturnsVoidExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testRunForEach() { - checkWithException( - ListWrapperReturnsVoidExample::runForEach, - eq(4), - { l, r -> l == null && r.isException() }, - { l, r -> l.isEmpty() && r.getOrThrow() == 0 }, - { l, r -> l.isNotEmpty() && l.all { it != null } && r.getOrThrow() == 0 }, - { l, r -> l.isNotEmpty() && l.any { it == null } && r.getOrThrow() > 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testSumPositiveForEach() { - checkWithException( - ListWrapperReturnsVoidExample::sumPositiveForEach, - eq(5), - { l, r -> l == null && r.isException() }, - { l, r -> l.isEmpty() && r.getOrThrow() == 0 }, - { l, r -> l.isNotEmpty() && l.any { it == null } && r.isException() }, - { l, r -> l.isNotEmpty() && l.any { it <= 0 } && r.getOrThrow() == l.filter { it > 0 }.sum() }, - { l, r -> l.isNotEmpty() && l.any { it > 0 } && r.getOrThrow() == l.filter { it > 0 }.sum() } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart1Test.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart1Test.kt deleted file mode 100644 index 3562d5f5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart1Test.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -// TODO failed Kotlin compilation SAT-1332 -@Disabled -internal class ListsPart1Test : UtValueTestCaseChecker( - testClass = Lists::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testIterableContains() { - check( - Lists::iterableContains, - ignoreExecutionsNumber, - { iterable, _ -> iterable == null }, - { iterable, r -> 1 in iterable && r == true }, - { iterable, r -> 1 !in iterable && r == false }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart2Test.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart2Test.kt deleted file mode 100644 index d3281609..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart2Test.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -// TODO failed Kotlin compilation SAT-1332 -@Disabled -internal class ListsPart2Test : UtValueTestCaseChecker( - testClass = Lists::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testCollectionContains() { - check( - Lists::collectionContains, - ignoreExecutionsNumber, - { collection, _ -> collection == null }, - { collection, r -> 1 in collection && r == true }, - { collection, r -> 1 !in collection && r == false }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart3Test.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart3Test.kt deleted file mode 100644 index d0b6d1f1..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/ListsPart3Test.kt +++ /dev/null @@ -1,263 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -internal class ListsPart3Test : UtValueTestCaseChecker( - testClass = Lists::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun createTest() { - check( - Lists::create, - eq(3), - { a, _ -> a == null }, - { a, r -> a != null && a.isEmpty() && r!!.isEmpty() }, - { a, r -> a != null && a.isNotEmpty() && r != null && r.isNotEmpty() && a.toList() == r.also { println(r) } }, - coverage = DoNotCalculate - ) - } - - @Test - fun testBigListFromParameters() { - check( - Lists::bigListFromParameters, - eq(1), - { list, r -> list.size == r && list.size == 11 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetNonEmptyCollection() { - check( - Lists::getNonEmptyCollection, - eq(3), - { collection, _ -> collection == null }, - { collection, r -> collection.isEmpty() && r == null }, - { collection, r -> collection.isNotEmpty() && collection == r }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetFromAnotherListToArray() { - check( - Lists::getFromAnotherListToArray, - eq(4), - { l, _ -> l == null }, - { l, _ -> l.isEmpty() }, - { l, r -> l[0] == null && r == null }, - { l, r -> l[0] != null && r is Array<*> && r.isArrayOf() && r.size == 1 && r[0] == l[0] }, - coverage = DoNotCalculate - ) - } - - @Test - fun addElementsTest() { - check( - Lists::addElements, - eq(5), - { list, _, _ -> list == null }, - { list, a, _ -> list != null && list.size >= 2 && a == null }, - { list, _, r -> list.size < 2 && r == list }, - { list, a, r -> list.size >= 2 && a.size < 2 && r == list }, - { list, a, r -> - require(r != null) - - val sizeConstraint = list.size >= 2 && a.size >= 2 && r.size == list.size + a.size - val content = r.mapIndexed { i, it -> if (i < r.size) it == r[i] else it == a[i - r.size] }.all { it } - - sizeConstraint && content - }, - coverage = DoNotCalculate - ) - } - - @Test - fun removeElementsTest() { - checkWithException( - Lists::removeElements, - between(7..8), - { list, _, _, r -> list == null && r.isException() }, - { list, i, _, r -> list != null && i < 0 && r.isException() }, - { list, i, _, r -> list != null && i >= 0 && list.size > i && list[i] == null && r.isException() }, - { list, i, j, r -> - require(list != null && list[i] != null) - - val listConstraints = i >= 0 && list.size > i && (list.size <= j + 1 || j < 0) - val resultConstraint = r.isException() - - listConstraints && resultConstraint - }, - { list, i, j, r -> - require(list != null && list[i] != null) - - val k = j + if (i <= j) 1 else 0 - val indicesConstraint = i >= 0 && list.size > i && j >= 0 && list.size > j + 1 - val contentConstraint = list[i] != null && list[k] == null - val resultConstraint = r.isException() - - indicesConstraint && contentConstraint && resultConstraint - }, - { list, i, j, r -> - require(list != null) - - val k = j + if (i <= j) 1 else 0 - - val precondition = i >= 0 && list.size > i && j >= 0 && list.size > j + 1 && list[i] < list[k] - val postcondition = r.getOrNull() == list[i] - - precondition && postcondition - }, - { list, i, j, r -> - require(list != null) - - val k = j + if (i <= j) 1 else 0 - - val precondition = i >= 0 && list.size > i && j >= 0 && list.size > j + 1 && list[i] >= list[k] - val postcondition = r.getOrNull() == list[k] - - precondition && postcondition - }, - coverage = DoNotCalculate - ) - } - - @Test - fun createArrayWithDifferentTypeTest() { - check( - Lists::createWithDifferentType, - eq(2), - { x, r -> x % 2 != 0 && r is java.util.LinkedList && r == List(4) { it } }, - { x, r -> x % 2 == 0 && r is java.util.ArrayList && r == List(4) { it } }, - coverage = DoNotCalculate - ) - } - - @Test - fun getElementsTest() { - check( - Lists::getElements, - eq(4), - { x, _ -> x == null }, - { x, r -> x != null && x.isEmpty() && r!!.isEmpty() }, - { x, _ -> x != null && x.isNotEmpty() && x.any { it == null } }, - { x, r -> x != null && x.isNotEmpty() && x.all { it is Int } && r!!.toList() == x }, - coverage = DoNotCalculate - ) - } - - @Test - fun setElementsTest() { - check( - Lists::setElements, - eq(3), - { x, _ -> x == null }, - { x, r -> x != null && x.isEmpty() && r!!.isEmpty() }, - { x, r -> x != null && x.isNotEmpty() && r!!.containsAll(x.toList()) && r.size == x.size }, - coverage = DoNotCalculate - ) - } - - @Test - fun testClear() { - check( - Lists::clear, - eq(3), - { list, _ -> list == null }, - { list, r -> list.size >= 2 && r == emptyList() }, - { list, r -> list.size < 2 && r == emptyList() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAddAll() { - check( - Lists::addAll, - eq(3), - { list, _, _ -> list == null }, - { list, i, r -> - list != null && list.isEmpty() && r != null && r.size == 1 && r[0] == i - }, - { list, i, r -> - list != null && list.isNotEmpty() && r != null && r.size == 1 + list.size && r == listOf(i) + list - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAddAllInIndex() { - check( - Lists::addAllByIndex, - eq(4), - { list, i, _ -> list == null && i >= 0 }, - { list, i, _ -> list == null && i < 0 }, - { list, i, r -> list != null && i >= list.size && r == list }, - { list, i, r -> - list != null && i in 0..list.lastIndex && r == list.toMutableList().apply { addAll(i, listOf(0, 1)) } - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAsListExample() { - withEnabledTestingCodeGeneration(testCodeGeneration = false) { // TODO Assemble model for java.util.ArrayList is returned, but actual type is java.util.Arrays.ArrayList https://github.com/UnitTestBot/UTBotJava/issues/398 - withoutConcrete { // TODO Concrete fail matchers with "Cannot show class" error - check( - Lists::asListExample, - eq(2), - { arr, r -> arr.isEmpty() && r!!.isEmpty() }, - { arr, r -> arr.isNotEmpty() && arr.contentEquals(r!!.toTypedArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - } - - @Test - @Disabled("TODO: add choosing proper type in list wrapper") - fun testRemoveFromList() { - checkWithException( - Lists::removeFromList, - ge(4), - { list, _, r -> list == null && r.isException() }, - { list, _, r -> list != null && list.isEmpty() && r.isException() }, - { list, i, r -> - require(list != null && list.lastOrNull() != null) - - list.isNotEmpty() && (i < 0 || i >= list.size) && r.isException() - }, - { list, i, r -> - require(list != null && list.lastOrNull() != null) - - val changedList = list.toMutableList().apply { - set(i, last()) - removeLast() - } - - val precondition = list.isNotEmpty() && i >= 0 && i < list.size - val postcondition = changedList == r.getOrNull() - - precondition && postcondition - }, - // TODO: add branches with conditions (list is LinkedList) and (list !is ArrayList && list !is LinkedList) - coverage = DoNotCalculate - ) - } - -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapEntrySetTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapEntrySetTest.kt deleted file mode 100644 index 476309de..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapEntrySetTest.kt +++ /dev/null @@ -1,173 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -class MapEntrySetTest : UtValueTestCaseChecker( - testClass = MapEntrySet::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - @Disabled("JIRA:1443") - fun testRemoveFromEntrySet() { - checkWithException( - MapEntrySet::removeFromEntrySet, - between(3..7), - { map, _, _, result -> map == null && result.isException() }, - { map, i, j, result -> map.entries.none { it.key == i && it.value == j } && result.getOrNull() == map }, - { map, i, j, result -> - val resultMap = result.getOrNull()!! - val mapContainsIJ = map.entries.any { it.key == i && it.value == j } - val mapContainsAllEntriesFromResult = map.entries.containsAll(resultMap.entries) - val resultDoesntContainIJ = - resultMap.entries.size == map.entries.size - 1 && resultMap.entries.none { it.key == i && it.value == j } - mapContainsIJ && mapContainsAllEntriesFromResult && resultDoesntContainIJ - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAddToEntrySet() { - checkWithException( - MapEntrySet::addToEntrySet, - between(2..4), - { map, result -> map == null && result.isException() }, - { map, result -> map != null && result.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetFromEntrySet() { - check( - MapEntrySet::getFromEntrySet, - between(3..7), - { map, _, _, _ -> map == null }, - { map, i, j, result -> map.none { it.key == i && it.value == j } && result == 1 }, - { map, i, j, result -> map.any { it.key == i && it.value == j } && result == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorHasNext() { - check( - MapEntrySet::iteratorHasNext, - between(3..4), - { map, _ -> map == null }, - { map, result -> map.entries.isEmpty() && result == 0 }, - { map, result -> map.entries.isNotEmpty() && result == map.entries.size }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorNext() { - checkWithException( - MapEntrySet::iteratorNext, - between(3..5), - { map, result -> map == null && result.isException() }, - { map, result -> map.entries.isEmpty() && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, result -> - val resultEntry = result.getOrNull()!! - val (entryKey, entryValue) = map.entries.first() - val (resultKey, resultValue) = resultEntry - map.entries.isNotEmpty() && entryKey == resultKey && entryValue == resultValue - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorRemove() { - checkWithException( - MapEntrySet::iteratorRemove, - between(3..4), - { map, result -> map == null && result.isException() }, - { map, result -> map.entries.isEmpty() && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, result -> - val resultMap = result.getOrNull()!! - val mapContainsAllEntriesInResult = map.entries.containsAll(resultMap.entries) - val resultDoesntContainFirstEntry = - resultMap.entries.size == map.entries.size - 1 && map.entries.first() !in resultMap.entries - map.entries.isNotEmpty() && mapContainsAllEntriesInResult && resultDoesntContainFirstEntry - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorRemoveOnIndex() { - checkWithException( - MapEntrySet::iteratorRemoveOnIndex, - ge(5), - { _, i, result -> i == 0 && result.isSuccess && result.getOrNull() == null }, - { map, _, result -> map == null && result.isException() }, - { map, i, result -> map != null && i < 0 && result.isException() }, - { map, i, result -> i > map.entries.size && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, i, result -> - val resultMap = result.getOrNull()!! - val iInIndexRange = i in 0..map.entries.size - val mapContainsAllEntriesInResult = map.entries.containsAll(resultMap.entries) - val resultDoesntContainIthEntry = map.entries.toList()[i - 1] !in resultMap.entries - iInIndexRange && mapContainsAllEntriesInResult && resultDoesntContainIthEntry - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIterateForEach() { - check( - MapEntrySet::iterateForEach, - between(3..5), - { map, _ -> map == null }, - { map, _ -> null in map.values }, - { map, result -> result!![0] == map.keys.sum() && result[1] == map.values.sum() }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testIterateWithIterator() { - withPushingStateFromPathSelectorForConcrete { - checkWithException( - MapEntrySet::iterateWithIterator, - ignoreExecutionsNumber, - { map, result -> map == null && result.isException() }, - { map, result -> map.isEmpty() && result.getOrThrow().contentEquals(intArrayOf(0, 0)) }, - { map, result -> map.size % 2 == 1 && result.isException() }, - { map, result -> - val evenEntryHasNullKey = map.keys.indexOf(null) % 2 == 0 - evenEntryHasNullKey && result.isException() - }, - { map, result -> - val twoElementsOrMore = map.size > 1 - val oddEntryHasNullKey = map.values.indexOf(null) % 2 == 1 - twoElementsOrMore && oddEntryHasNullKey && result.isException() - }, - { map, result -> - val mapIsNotEmptyAndSizeIsEven = map != null && map.isNotEmpty() && map.size % 2 == 0 - val arrayResult = result.getOrThrow() - val evenKeysSum = map.keys.withIndex().filter { it.index % 2 == 0 }.sumBy { it.value } - val oddValuesSum = map.values.withIndex().filter { it.index % 2 == 0 }.sumBy { it.value } - mapIsNotEmptyAndSizeIsEven && arrayResult[0] == evenKeysSum && arrayResult[1] == oddValuesSum - }, - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapKeySetTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapKeySetTest.kt deleted file mode 100644 index 2ade7dea..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapKeySetTest.kt +++ /dev/null @@ -1,163 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.AtLeast -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -class MapKeySetTest : UtValueTestCaseChecker( - testClass = MapKeySet::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testRemoveFromKeySet() { - withoutMinimization { // TODO: JIRA:1506 - checkWithException( - MapKeySet::removeFromKeySet, - ignoreExecutionsNumber, - { map, _, result -> map == null && result.isException() }, - { map, i, result -> i !in map.keys && result.getOrNull() == map }, // one of these will be minimized - { map, i, result -> // one of these will be minimized - val resultMap = result.getOrNull()!! - val mapKeysContainsI = i in map.keys - val mapContainsAllKeysInResult = map.keys.containsAll(resultMap.keys) - val resultDoesntContainI = resultMap.keys.size == map.keys.size - 1 && i !in resultMap.keys - mapKeysContainsI && mapContainsAllKeysInResult && resultDoesntContainI - }, - ) - } - } - - @Test - fun testAddToKeySet() { - checkWithException( - MapKeySet::addToKeySet, - between(2..4), - { map, result -> map == null && result.isException() }, - { map, result -> map != null && result.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetFromKeySet() { - withoutMinimization { // TODO: JIRA:1506 - check( - MapKeySet::getFromKeySet, - ignoreExecutionsNumber, // branches with null keys may appear - { map, _, _ -> map == null }, - { map, i, result -> i !in map && result == 1 }, // one of these will be minimized - { map, i, result -> i in map && result == 1 }, // one of these will be minimized - coverage = AtLeast(90) // 18/20 instructions - ) - } - } - - @Test - fun testIteratorHasNext() { - check( - MapKeySet::iteratorHasNext, - between(3..4), - { map, _ -> map == null }, - { map, result -> map.keys.isEmpty() && result == 0 }, - { map, result -> map.keys.isNotEmpty() && result == map.keys.size }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorNext() { - withPushingStateFromPathSelectorForConcrete { - checkWithException( - MapKeySet::iteratorNext, - between(3..4), - { map, result -> map == null && result.isException() }, - { map, result -> map.keys.isEmpty() && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, result -> map.keys.isNotEmpty() && result.getOrNull() == map.keys.first() }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testIteratorRemove() { - checkWithException( - MapKeySet::iteratorRemove, - between(3..4), - { map, result -> map == null && result.isException() }, - { map, result -> map.keys.isEmpty() && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, result -> - val resultMap = result.getOrNull()!! - val mapContainsAllKeysInResult = map.keys.isNotEmpty() && map.keys.containsAll(resultMap.keys) - val resultDoesntContainFirstKey = resultMap.keys.size == map.keys.size - 1 && map.keys.first() !in resultMap.keys - mapContainsAllKeysInResult && resultDoesntContainFirstKey - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorRemoveOnIndex() { - checkWithException( - MapKeySet::iteratorRemoveOnIndex, - ge(5), - { _, i, result -> i == 0 && result.isSuccess && result.getOrNull() == null }, - { map, _, result -> map == null && result.isException() }, - { map, i, result -> map != null && i < 0 && result.isException() }, - { map, i, result -> i > map.keys.size && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, i, result -> - val resultMap = result.getOrNull()!! - val iInIndexRange = i in 0..map.keys.size - val mapContainsAllKeysInResult = map.keys.containsAll(resultMap.keys) - val resultDoesntContainIthKey = map.keys.toList()[i - 1] !in resultMap.keys - iInIndexRange && mapContainsAllKeysInResult && resultDoesntContainIthKey - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIterateForEach() { - check( - MapKeySet::iterateForEach, - ignoreExecutionsNumber, - { map, _ -> map == null }, - { map, _ -> map != null && null in map.keys }, - { map, result -> map != null && result == map.keys.sum() }, - ) - } - - @Test - fun testIterateWithIterator() { - check( - MapKeySet::iterateWithIterator, - ignoreExecutionsNumber, - { map, _ -> map == null }, - { map, _ -> map != null && null in map.keys }, - { map, result -> map != null && result == map.keys.sum() }, - ) - } - - @Test - fun testNullKey() { - check( - MapKeySet::nullKey, - eq(3), - { map, _ -> map == null }, - { map, result -> map != null && null in map.keys && map[null] == result }, - { map, _ -> map != null && null !in map.keys } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapValuesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapValuesTest.kt deleted file mode 100644 index 41787b2a..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapValuesTest.kt +++ /dev/null @@ -1,181 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.AtLeast -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -class MapValuesTest : UtValueTestCaseChecker( - testClass = MapValues::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testRemoveFromValues() { - withoutMinimization { // TODO: JIRA:1506 - checkWithException( - MapValues::removeFromValues, - ignoreExecutionsNumber, - { map, _, result -> map == null && result.isException() }, - { map, i, result -> i !in map.values && result.getOrNull() == map }, - { map, i, result -> - val resultMap = result.getOrNull()!! - - val iInMapValues = i in map.values - val iWasDeletedFromValues = - resultMap.values.filter { it == i }.size == map.values.filter { it == i }.size - 1 - - val firstKeyAssociatedWithI = map.keys.first { map[it] == i } - val firstKeyAssociatedWIthIWasDeleted = firstKeyAssociatedWithI !in resultMap.keys - - val getCountExceptI: Collection.() -> Map = - { this.filter { it != i }.filterNotNull().groupingBy { it }.eachCount() } - val mapContainsAllValuesFromResult = - map.values.getCountExceptI() == resultMap.values.getCountExceptI() - - iInMapValues && iWasDeletedFromValues && firstKeyAssociatedWIthIWasDeleted && mapContainsAllValuesFromResult - }, - ) - } - } - - @Test - fun testAddToValues() { - checkWithException( - MapValues::addToValues, - between(2..4), - { map, result -> map == null && result.isException() }, - { map, result -> map != null && result.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetFromValues() { - withoutMinimization { - check( - MapValues::getFromValues, - ignoreExecutionsNumber, - { map, _, _ -> map == null }, - { map, i, result -> i !in map.values && result == 1 }, - { map, i, result -> i in map.values && result == 1 }, - coverage = AtLeast(90) // unreachable else branch in MUT - ) - } - } - - @Test - fun testIteratorHasNext() { - check( - MapValues::iteratorHasNext, - between(3..4), - { map, _ -> map == null }, - { map, result -> map.values.isEmpty() && result == 0 }, - { map, result -> map.values.isNotEmpty() && result == map.values.size }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorNext() { - checkWithException( - MapValues::iteratorNext, - between(3..4), - { map, result -> map == null && result.isException() }, - // We might lose this branch depending on the order of the exploration since - // we do not register wrappers, and, therefore, do not try to cover all of their branches - // { map, result -> map != null && map.values.isEmpty() && result.isException() }, - { map, result -> map != null && map.values.first() == null && result.isException() }, - // as map is LinkedHashmap by default this matcher would be correct - { map, result -> map != null && map.values.isNotEmpty() && result.getOrNull() == map.values.first() }, - ) - } - - @Test - fun testIteratorRemove() { - checkWithException( - MapValues::iteratorRemove, - between(3..4), - { map, result -> map == null && result.isException() }, - { map, result -> map.values.isEmpty() && result.isException() }, - // test should work as long as default class for map is LinkedHashMap - { map, result -> - val resultMap = result.getOrNull()!! - val firstValue = map.values.first() - - val getCountsExceptFirstValue: Collection.() -> Map = - { this.filter { it != firstValue }.filterNotNull().groupingBy { it }.eachCount() } - val mapContainsAllValuesFromResult = - map.values.getCountsExceptFirstValue() == resultMap.values.getCountsExceptFirstValue() - - val firstValueWasDeleted = - resultMap.values.filter { it == firstValue }.size == map.values.filter { it == firstValue }.size - 1 - - val keyAssociatedWithFirstValueWasDeleted = - map.keys.first { map[it] == firstValue } !in resultMap.keys - - mapContainsAllValuesFromResult && firstValueWasDeleted && keyAssociatedWithFirstValueWasDeleted - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorRemoveOnIndex() { - checkWithException( - MapValues::iteratorRemoveOnIndex, - ge(5), - { _, i, result -> i == 0 && result.isSuccess && result.getOrNull() == null }, - { map, _, result -> map == null && result.isException() }, - { map, i, result -> map != null && i < 0 && result.isException() }, - { map, i, result -> i > map.values.size && result.isException() }, - { map, i, result -> - val iInIndexRange = i in 1..map.size - val ithValue = map.values.toList()[i - 1] - val resultMap = result.getOrNull()!! - - val getCountsExceptIthValue: Collection.() -> Map = - { this.filter { it != ithValue }.filterNotNull().groupingBy { it }.eachCount() } - val mapContainsAllValuesFromResult = - map.values.getCountsExceptIthValue() == resultMap.values.getCountsExceptIthValue() - val ithValueWasDeleted = - resultMap.values.filter { it == ithValue }.size == map.values.filter { it == ithValue }.size - 1 - val keyAssociatedWIthIthValueWasDeleted = - map.keys.filter { map[it] == ithValue }.any { it !in resultMap.keys } - - iInIndexRange && mapContainsAllValuesFromResult && ithValueWasDeleted && keyAssociatedWIthIthValueWasDeleted - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIterateForEach() { - check( - MapValues::iterateForEach, - between(3..5), - { map, _ -> map == null }, - { map, _ -> null in map.values }, - { map, result -> map != null && result == map.values.sum() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIterateWithIterator() { - check( - MapValues::iterateWithIterator, - between(3..5), - { map, _ -> map == null }, - { map, _ -> null in map.values }, - { map, result -> map != null && result == map.values.sum() }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapsPart1Test.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapsPart1Test.kt deleted file mode 100644 index 3ad15b9b..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapsPart1Test.kt +++ /dev/null @@ -1,383 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Tag -import org.utbot.framework.plugin.api.MockStrategyApi -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.AtLeast -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber - -// TODO failed Kotlin compilation ($ in names, generics) SAT-1220 SAT-1332 -internal class MapsPart1Test : UtValueTestCaseChecker( - testClass = Maps::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testPutElementIfAbsent() { - withoutMinimization { // TODO: JIRA:1506 - check( - Maps::putElementIfAbsent, - ignoreExecutionsNumber, - { map, _, _, _ -> map == null }, - { map, key, _, result -> map != null && key in map && result == map }, - { map, key, value, result -> - val valueWasPut = result!![key] == value && result.size == map.size + 1 - val otherValuesWerentTouched = result.entries.containsAll(map.entries) - key !in map && valueWasPut && otherValuesWerentTouched - }, - coverage = AtLeast(90) // unreachable else branch in MUT - ) - } - } - - @Test - fun testReplaceEntry() { - check( - Maps::replaceEntry, - between(3..6), - { map, _, _, _ -> map == null }, - { map, key, _, result -> key !in map && result == map }, - { map, key, value, result -> - val valueWasReplaced = result!![key] == value - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - key in map && valueWasReplaced && otherValuesWerentTouched - }, - coverage = DoNotCalculate - ) - } - - @Test - fun createTest() { - check( - Maps::create, - eq(5), - { keys, _, _ -> keys == null }, - { keys, _, result -> keys.isEmpty() && result!!.isEmpty() }, - { keys, values, result -> keys.isNotEmpty() && values == null }, - { keys, values, result -> keys.isNotEmpty() && values.size < keys.size }, - { keys, values, result -> - keys.isNotEmpty() && values.size >= keys.size && - result!!.size == keys.size && keys.indices.all { result[keys[it]] == values[it] } - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testToString() { - check( - Maps::mapToString, - eq(1), - { a, b, c, r -> r == Maps().mapToString(a, b, c) } - ) - } - - @Test - fun testMapPutAndGet() { - withoutConcrete { - check( - Maps::mapPutAndGet, - eq(1), - { r -> r == 3 } - ) - } - } - - @Test - fun testPutInMapFromParameters() { - withoutConcrete { - check( - Maps::putInMapFromParameters, - ignoreExecutionsNumber, - { values, _ -> values == null }, - { values, r -> 1 in values.keys && r == 3 }, - { values, r -> 1 !in values.keys && r == 3 }, - ) - } - } - - // This test doesn't check anything specific, but the code from MUT - // caused errors with NPE as results while debugging `testPutInMapFromParameters`. - @Test - fun testContainsKeyAndPuts() { - withoutConcrete { - check( - Maps::containsKeyAndPuts, - ignoreExecutionsNumber, - { values, _ -> values == null }, - { values, r -> 1 !in values.keys && r == 3 }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testFindAllChars() { - check( - Maps::countChars, - eq(3), - { s, _ -> s == null }, - { s, result -> s == "" && result!!.isEmpty() }, - { s, result -> s != "" && result == s.groupingBy { it }.eachCount() }, - coverage = DoNotCalculate - ) - } - - @Test - fun putElementsTest() { - check( - Maps::putElements, - ge(5), - { map, _, _ -> map == null }, - { map, array, _ -> map != null && map.isNotEmpty() && array == null }, - { map, _, result -> map.isEmpty() && result == map }, - { map, array, result -> map.isNotEmpty() && array.isEmpty() && result == map }, - { map, array, result -> - map.size >= 1 && array.isNotEmpty() - && result == map.toMutableMap().apply { putAll(array.map { it to it }) } - }, - coverage = DoNotCalculate - ) - } - - @Test - fun removeEntries() { - check( - Maps::removeElements, - ge(6), - { map, _, _, _ -> map == null }, - { map, i, j, res -> map != null && (i !in map || map[i] == null) && (j !in map || map[j] == null) && res == -1 }, - { map, i, j, res -> map != null && map.isNotEmpty() && i !in map && j in map && res == 4 }, - { map, i, j, res -> map != null && map.isNotEmpty() && i in map && (j !in map || j == i) && res == 3 }, - { map, i, j, res -> map != null && map.size >= 2 && i in map && j in map && i > j && res == 2 }, - { map, i, j, res -> map != null && map.size >= 2 && i in map && j in map && i < j && res == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun createWithDifferentTypeTest() { - check( - Maps::createWithDifferentType, - eq(2), - { seed, result -> seed % 2 != 0 && result is java.util.LinkedHashMap }, - { seed, result -> seed % 2 == 0 && result !is java.util.LinkedHashMap && result is java.util.HashMap }, - coverage = DoNotCalculate - ) - } - - @Test - fun removeCustomObjectTest() { - check( - Maps::removeCustomObject, - ge(3), - { map, _, _ -> map == null }, - { map, i, result -> (map.isEmpty() || CustomClass(i) !in map) && result == null }, - { map, i, result -> map.isNotEmpty() && CustomClass(i) in map && result == map[CustomClass(i)] }, - coverage = DoNotCalculate - ) - } - - @Test - @Tag("slow") // it takes about 20 minutes to execute this test - fun testMapOperator() { - withPushingStateFromPathSelectorForConcrete { - check( - Maps::mapOperator, - ignoreExecutionsNumber - ) - } - } - - @Test - fun testComputeValue() { - check( - Maps::computeValue, - between(3..5), - { map, _, _ -> map == null }, - { map, key, result -> - val valueWasUpdated = result!![key] == key + 1 - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - map[key] == null && valueWasUpdated && otherValuesWerentTouched - }, - { map, key, result -> - val valueWasUpdated = result!![key] == map[key]!! + 1 - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - map[key] != null && valueWasUpdated && otherValuesWerentTouched - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testComputeValueWithMocks() { - check( - Maps::computeValue, - between(3..5), - { map, _, _ -> map == null }, - { map, key, result -> - val valueWasUpdated = result!![key] == key + 1 - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - map[key] == null && valueWasUpdated && otherValuesWerentTouched - }, - { map, key, result -> - val valueWasUpdated = result!![key] == map[key]!! + 1 - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - map[key] != null && valueWasUpdated && otherValuesWerentTouched - }, - mockStrategy = MockStrategyApi.OTHER_PACKAGES, // checks that we do not generate mocks for lambda classes - coverage = DoNotCalculate - ) - } - - @Test - fun testComputeValueIfAbsent() { - check( - Maps::computeValueIfAbsent, - between(3..5), - { map, _, _ -> map == null }, - { map, key, result -> map[key] != null && result == map }, - { map, key, result -> - val valueWasUpdated = result!![key] == key + 1 - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - map[key] == null && valueWasUpdated && otherValuesWerentTouched - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testComputeValueIfPresent() { - check( - Maps::computeValueIfPresent, - between(3..5), - { map, _, _ -> map == null }, - { map, key, result -> map[key] == null && result == map }, - { map, key, result -> - val valueWasUpdated = result!![key] == map[key]!! + 1 - val otherValuesWerentTouched = result.entries.all { it.key == key || it in map.entries } - map[key] != null && valueWasUpdated && otherValuesWerentTouched - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testClearEntries() { - check( - Maps::clearEntries, - between(3..4), - { map, _ -> map == null }, - { map, result -> map.isEmpty() && result == 0 }, - { map, result -> map.isNotEmpty() && result == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testContainsKey() { - check( - Maps::containsKey, - between(3..5), - { map, _, _ -> map == null }, - { map, key, result -> key !in map && result == 0 }, - { map, key, result -> key in map && result == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testContainsValue() { - check( - Maps::containsValue, - between(3..6), - { map, _, _ -> map == null }, - { map, value, result -> value !in map.values && result == 0 }, - { map, value, result -> value in map.values && result == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetOrDefaultElement() { - check( - Maps::getOrDefaultElement, - between(4..6), - { map, _, _ -> map == null }, - { map, i, result -> i !in map && result == 1 }, - { map, i, result -> i in map && map[i] == null && result == 0 }, - { map, i, result -> i in map && map[i] != null && result == map[i] }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRemoveKeyWithValue() { - check( - Maps::removeKeyWithValue, - ge(6), - { map, _, _, _ -> map == null }, - { map, key, value, result -> key !in map && value !in map.values && result == 0 }, - { map, key, value, result -> key in map && value !in map.values && result == -1 }, - { map, key, value, result -> key !in map && value in map.values && result == -2 }, - { map, key, value, result -> key in map && map[key] == value && result == 3 }, - { map, key, value, result -> key in map && value in map.values && map[key] != value && result == -3 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testReplaceAllEntries() { - check( - Maps::replaceAllEntries, - between(5..6), - { map, _ -> map == null }, - { map, result -> map.isEmpty() && result == null }, - { map, _ -> map.isNotEmpty() && map.containsValue(null) }, - { map, result -> - val precondition = map.isNotEmpty() && !map.containsValue(null) - val firstBranchInLambdaExists = map.entries.any { it.key > it.value } - val valuesWereReplaced = - result == map.mapValues { if (it.key > it.value) it.value + 1 else it.value - 1 } - precondition && firstBranchInLambdaExists && valuesWereReplaced - }, - { map, result -> - val precondition = map.isNotEmpty() && !map.containsValue(null) - val secondBranchInLambdaExists = map.entries.any { it.key <= it.value } - val valuesWereReplaced = - result == map.mapValues { if (it.key > it.value) it.value + 1 else it.value - 1 } - precondition && secondBranchInLambdaExists && valuesWereReplaced - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateMapWithString() { - withoutConcrete { - check( - Maps::createMapWithString, - eq(1), - { r -> r!!.isEmpty() } - ) - } - } - @Test - fun testCreateMapWithEnum() { - withoutConcrete { - check( - Maps::createMapWithEnum, - eq(1), - { r -> r != null && r.size == 2 && r[Maps.WorkDays.Monday] == 112 && r[Maps.WorkDays.Friday] == 567 } - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapsPart2Test.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapsPart2Test.kt deleted file mode 100644 index 3e62c790..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/MapsPart2Test.kt +++ /dev/null @@ -1,87 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -// TODO failed Kotlin compilation ($ in names, generics) SAT-1220 SAT-1332 -internal class MapsPart2Test : UtValueTestCaseChecker( - testClass = Maps::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReplaceEntryWithValue() { - withPushingStateFromPathSelectorForConcrete { - check( - Maps::replaceEntryWithValue, - ge(6), - { map, _, _, _ -> map == null }, - { map, key, value, result -> key !in map && value !in map.values && result == 0 }, - { map, key, value, result -> key in map && value !in map.values && result == -1 }, - { map, key, value, result -> key !in map && value in map.values && result == -2 }, - { map, key, value, result -> key in map && map[key] == value && result == 3 }, - { map, key, value, result -> key in map && value in map.values && map[key] != value && result == -3 }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testMerge() { - withoutMinimization { // TODO: JIRA:1506 - checkWithException( - Maps::merge, - ge(5), - { map, _, _, result -> map == null && result.isException() }, - { map, _, value, result -> map != null && value == null && result.isException() }, - { map, key, value, result -> - val resultMap = result.getOrNull()!! - val entryWasPut = resultMap.entries.all { it.key == key && it.value == value || it in map.entries } - key !in map && value != null && entryWasPut - }, - { map, key, value, result -> - val resultMap = result.getOrNull()!! - val valueInMapIsNull = key in map && map[key] == null - val valueWasReplaced = resultMap[key] == value - val otherValuesWerentTouched = resultMap.entries.all { it.key == key || it in map.entries } - value != null && valueInMapIsNull && valueWasReplaced && otherValuesWerentTouched - }, - { map, key, value, result -> - val resultMap = result.getOrNull()!! - val valueInMapIsNotNull = map[key] != null - val valueWasMerged = resultMap[key] == map[key]!! + value - val otherValuesWerentTouched = resultMap.entries.all { it.key == key || it in map.entries } - value != null && valueInMapIsNotNull && valueWasMerged && otherValuesWerentTouched - }, - coverage = DoNotCalculate - ) - } - } - - @Disabled("Flaky https://github.com/UnitTestBot/UTBotJava/issues/1695") - fun testPutAllEntries() { - withPushingStateFromPathSelectorForConcrete { - check( - Maps::putAllEntries, - ge(5), - { map, _, _ -> map == null }, - { map, other, _ -> map != null && other == null }, - { map, other, result -> map != null && other != null && map.keys.containsAll(other.keys) && result == 0 }, - { map, other, result -> map != null && other != null && other.keys.all { it !in map.keys } && result == 1 }, - { map, other, result -> - val notNull = map != null && other != null - val mapContainsAtLeastOneKeyOfOther = other.keys.any { it in map.keys } - val mapDoesNotContainAllKeysOfOther = !map.keys.containsAll(other.keys) - notNull && mapContainsAtLeastOneKeyOfOther && mapDoesNotContainAllKeysOfOther && result == 2 - }, - coverage = DoNotCalculate - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/OptionalsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/OptionalsTest.kt deleted file mode 100644 index 3b9f1139..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/OptionalsTest.kt +++ /dev/null @@ -1,490 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import java.util.* - -class OptionalsTest : UtValueTestCaseChecker( - Optionals::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - - - @Test - fun testCreate() { - checkWithException( - Optionals::create, - eq(2), - { value, result -> value == null && result.isException() }, - { value, result -> value != null && result.getOrNull()!!.get() == value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateInt() { - check( - Optionals::createInt, - eq(1), - { value, result -> result!!.asInt == value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateLong() { - check( - Optionals::createLong, - eq(1), - { value, result -> result!!.asLong == value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateDouble() { - check( - Optionals::createDouble, - eq(1), - { value, result -> result!!.asDouble == value || result.asDouble.isNaN() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateNullable() { - checkStatics( - Optionals::createNullable, - eq(2), - { value, _, result -> value == null && result === Optional.empty() }, - { value, _, result -> value != null && result!!.get() == value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateEmpty() { - checkStatics( - Optionals::createEmpty, - eq(1), - { _, result -> result === Optional.empty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateIntEmpty() { - checkStatics( - Optionals::createIntEmpty, - eq(1), - { _, result -> result === OptionalInt.empty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateLongEmpty() { - checkStatics( - Optionals::createLongEmpty, - eq(1), - { _, result -> result === OptionalLong.empty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateDoubleEmpty() { - checkStatics( - Optionals::createDoubleEmpty, - eq(1), - { _, result -> result === OptionalDouble.empty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetValue() { - checkStatics( - Optionals::getValue, - eq(3), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional != null && optional === Optional.empty() && result == null }, - { optional, _, result -> optional != null && result == optional.get() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetIntValue() { - checkStatics( - Optionals::getIntValue, - eq(3), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional != null && optional === OptionalInt.empty() && result == null }, - { optional, _, result -> optional != null && result == optional.asInt }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetLongValue() { - checkStatics( - Optionals::getLongValue, - eq(3), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional != null && optional === OptionalLong.empty() && result == null }, - { optional, _, result -> optional != null && result == optional.asLong }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetDoubleValue() { - checkStatics( - Optionals::getDoubleValue, - eq(3), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional != null && optional === OptionalDouble.empty() && result == null }, - { optional, _, result -> optional != null && result == optional.asDouble }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetWithIsPresent() { - checkStatics( - Optionals::getWithIsPresent, - eq(3), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result == null }, - { optional, _, result -> optional.get() == result }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCountIfPresent() { - checkStatics( - Optionals::countIfPresent, - eq(3), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result == 0 }, - { optional, _, result -> optional.get() == result }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCountIntIfPresent() { - checkStatics( - Optionals::countIntIfPresent, - ignoreExecutionsNumber, - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === OptionalInt.empty() && result == 0 }, - { optional, _, result -> optional.asInt == result }, - ) - } - - @Test - fun testCountLongIfPresent() { - checkStatics( - Optionals::countLongIfPresent, - ignoreExecutionsNumber, - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === OptionalLong.empty() && result == 0L }, - { optional, _, result -> optional.asLong == result }, - ) - } - - @Test - fun testCountDoubleIfPresent() { - checkStatics( - Optionals::countDoubleIfPresent, - ignoreExecutionsNumber, - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === OptionalDouble.empty() && result == 0.0 }, - { optional, _, result -> optional.asDouble == result }, - ) - } - - @Test - fun testFilterLessThanZero() { - checkStatics( - Optionals::filterLessThanZero, - eq(4), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result === optional }, - { optional, _, result -> optional.get() >= 0 && result == optional }, - { optional, _, result -> optional.get() < 0 && result === Optional.empty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAbsNotNull() { - checkStatics( - Optionals::absNotNull, - eq(4), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result === optional }, - { optional, _, result -> optional.get() < 0 && result!!.get() == -optional.get() }, - { optional, _, result -> optional.get() >= 0 && result == optional }, - coverage = DoNotCalculate - ) - } - - @Test - fun testMapLessThanZeroToNull() { - checkStatics( - Optionals::mapLessThanZeroToNull, - eq(4), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result === optional }, - { optional, _, result -> optional.get() < 0 && result === Optional.empty() }, - { optional, _, result -> optional.get() >= 0 && result == optional }, - coverage = DoNotCalculate - ) - } - - @Test - fun testFlatAbsNotNull() { - checkStatics( - Optionals::flatAbsNotNull, - eq(4), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result === optional }, - { optional, _, result -> optional.get() < 0 && result!!.get() == -optional.get() }, - { optional, _, result -> optional.get() >= 0 && result == optional }, - coverage = DoNotCalculate - ) - } - - @Test - fun testFlatMapWithNull() { - checkStatics( - Optionals::flatMapWithNull, - eq(5), - { optional, _, _ -> optional == null }, - { optional, _, result -> optional === Optional.empty() && result === optional }, - { optional, _, result -> optional.get() < 0 && result === Optional.empty() }, - { optional, _, result -> optional.get() > 0 && result == optional }, - { optional, _, result -> optional.get() == 0 && result == null }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftOrElseRight() { - checkStatics( - Optionals::leftOrElseRight, - eq(3), - { left, _, _, _ -> left == null }, - { left, right, _, result -> left === Optional.empty() && result == right }, - { left, _, _, result -> left.isPresent && result == left.get() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftIntOrElseRight() { - checkStatics( - Optionals::leftIntOrElseRight, - eq(3), - { left, _, _, _ -> left == null }, - { left, right, _, result -> left === OptionalInt.empty() && result == right }, - { left, _, _, result -> left.isPresent && result == left.asInt }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testLeftLongOrElseRight() { - checkStatics( - Optionals::leftLongOrElseRight, - eq(3), - { left, _, _, _ -> left == null }, - { left, right, _, result -> left === OptionalLong.empty() && result == right }, - { left, _, _, result -> left.isPresent && result == left.asLong }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testLeftDoubleOrElseRight() { - checkStatics( - Optionals::leftDoubleOrElseRight, - eq(3), - { left, _, _, _ -> left == null }, - { left, right, _, result -> left === OptionalDouble.empty() && (result == right || result!!.isNaN() && right.isNaN()) }, - { left, _, _, result -> left.isPresent && (result == left.asDouble || result!!.isNaN() && left.asDouble.isNaN()) }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testLeftOrElseGetOne() { - checkStatics( - Optionals::leftOrElseGetOne, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === Optional.empty() && result == 1 }, - { left, _, result -> left.isPresent && result == left.get() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftIntOrElseGetOne() { - checkStatics( - Optionals::leftIntOrElseGetOne, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === OptionalInt.empty() && result == 1 }, - { left, _, result -> left.isPresent && result == left.asInt }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftLongOrElseGetOne() { - checkStatics( - Optionals::leftLongOrElseGetOne, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === OptionalLong.empty() && result == 1L }, - { left, _, result -> left.isPresent && result == left.asLong }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftDoubleOrElseGetOne() { - checkStatics( - Optionals::leftDoubleOrElseGetOne, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === OptionalDouble.empty() && result == 1.0 }, - { left, _, result -> left.isPresent && result == left.asDouble }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftOrElseThrow() { - checkStatics( - Optionals::leftOrElseThrow, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === Optional.empty() && result == null }, - { left, _, result -> left.isPresent && result == left.get() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftIntOrElseThrow() { - checkStatics( - Optionals::leftIntOrElseThrow, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === OptionalInt.empty() && result == null }, - { left, _, result -> left.isPresent && result == left.asInt }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftLongOrElseThrow() { - checkStatics( - Optionals::leftLongOrElseThrow, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === OptionalLong.empty() && result == null }, - { left, _, result -> left.isPresent && result == left.asLong }, - coverage = DoNotCalculate - ) - } - - @Test - fun testLeftDoubleOrElseThrow() { - checkStatics( - Optionals::leftDoubleOrElseThrow, - eq(3), - { left, _, _ -> left == null }, - { left, _, result -> left === OptionalDouble.empty() && result == null }, - { left, _, result -> left.isPresent && result == left.asDouble }, - coverage = DoNotCalculate - ) - } - - @Test - fun testEqualOptionals() { - check( - Optionals::equalOptionals, - between(4..7), - { left, _, result -> left == null && result == null }, - { left, right, result -> left != null && left != right && !result!! }, - { left, right, result -> left != null && left === right && !left.isPresent && !right.isPresent && result!! }, - { left, right, result -> left != null && left == right && left.isPresent && right.isPresent && result!! }, - coverage = DoNotCalculate - ) - } - - @Test - fun testEqualOptionalsInt() { - check( - Optionals::equalOptionalsInt, - between(4..8), - { left, _, result -> left == null && result == null }, - { left, right, result -> left != null && left != right && !result!! }, - { left, right, result -> left != null && left === right && !left.isPresent && !right.isPresent && result!! }, - { left, right, result -> left != null && left == right && left.isPresent && right.isPresent && result!! }, - coverage = DoNotCalculate - ) - } - - @Test - fun testEqualOptionalsLong() { - check( - Optionals::equalOptionalsLong, - between(4..8), - { left, _, result -> left == null && result == null }, - { left, right, result -> left != null && left != right && !result!! }, - { left, right, result -> left != null && left === right && !left.isPresent && !right.isPresent && result!! }, - { left, right, result -> left != null && left == right && left.isPresent && right.isPresent && result!! }, - coverage = DoNotCalculate - ) - } - - @Test - fun testEqualOptionalsDouble() { - check( - Optionals::equalOptionalsDouble, - between(4..8), - { left, _, result -> left == null && result == null }, - { left, right, result -> left != null && left != right && !result!! }, - { left, right, result -> left != null && left === right && !left.isPresent && !right.isPresent && result!! }, - { left, right, result -> left != null && left == right && left.isPresent && right.isPresent && result!! }, - coverage = DoNotCalculate - ) - } - - @Test - fun testOptionalOfPositive() { - check( - Optionals::optionalOfPositive, - eq(2), - { value, result -> value > 0 && result != null && result.isPresent && result.get() == value }, - { value, result -> value <= 0 && result != null && !result.isPresent } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/QueueUsagesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/QueueUsagesTest.kt deleted file mode 100644 index 69a38564..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/QueueUsagesTest.kt +++ /dev/null @@ -1,121 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -class QueueUsagesTest : UtValueTestCaseChecker( - testClass = QueueUsages::class, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testCreateArrayDeque() { - checkWithException( - QueueUsages::createArrayDeque, - eq(3), - { init, next, r -> init == null && next == null && r.isException() }, - { init, next, r -> init != null && next == null && r.isException() }, - { init, next, r -> init != null && next != null && r.getOrNull() == 2 }, - ) - } - - @Test - fun testCreateLinkedList() { - checkWithException( - QueueUsages::createLinkedList, - eq(1), - { _, _, r -> r.getOrNull()!! == 2 }, - ) - } - - @Test - fun testCreateLinkedBlockingDeque() { - checkWithException( - QueueUsages::createLinkedBlockingDeque, - eq(3), - { init, next, r -> init == null && next == null && r.isException() }, - { init, next, r -> init != null && next == null && r.isException() }, - { init, next, r -> init != null && next != null && r.getOrNull() == 2 }, - ) - } - - @Test - fun testContainsQueue() { - checkWithException( - QueueUsages::containsQueue, - eq(3), - { q, _, r -> q == null && r.isException() }, - { q, x, r -> x in q && r.getOrNull() == 1 }, - { q, x, r -> x !in q && r.getOrNull() == 0 }, - ) - } - - @Test - fun testAddQueue() { - checkWithException( - QueueUsages::addQueue, - eq(3), - { q, _, r -> q == null && r.isException() }, - { q, x, r -> q != null && x in r.getOrNull()!! }, - { q, x, r -> q != null && x == null && r.isException() }, ) - } - - @Test - fun testAddAllQueue() { - checkWithException( - QueueUsages::addAllQueue, - eq(3), - { q, _, r -> q == null && r.isException() }, - { q, x, r -> q != null && x in r.getOrNull()!! }, // we can cover this line with x == null or x != null - { q, x, r -> q != null && x == null && r.isException() }, - ) - } - - @Test - fun testCastQueueToDeque() { - check( - QueueUsages::castQueueToDeque, - eq(2), - { q, r -> q !is java.util.Deque<*> && r == null }, - { q, r -> q is java.util.Deque<*> && r is java.util.Deque<*> }, - ) - } - - @Test - fun testCheckSubtypesOfQueue() { - check( - QueueUsages::checkSubtypesOfQueue, - eq(4), - { q, r -> q == null && r == 0 }, - { q, r -> q is java.util.LinkedList<*> && r == 1 }, - { q, r -> q is java.util.ArrayDeque<*> && r == 2 }, - { q, r -> q !is java.util.LinkedList<*> && q !is java.util.ArrayDeque && r == 3 } - ) - } - - @Test - @Disabled("TODO: Related to https://github.com/UnitTestBot/UTBotJava/issues/820") - fun testCheckSubtypesOfQueueWithUsage() { - check( - QueueUsages::checkSubtypesOfQueueWithUsage, - eq(4), - { q, r -> q == null && r == 0 }, - { q, r -> q is java.util.LinkedList<*> && r == 1 }, - { q, r -> q is java.util.ArrayDeque<*> && r == 2 }, - { q, r -> q !is java.util.LinkedList<*> && q !is java.util.ArrayDeque && r == 3 } // this is uncovered - ) - } - - @Test - fun testAddConcurrentLinkedQueue() { - checkWithException( - QueueUsages::addConcurrentLinkedQueue, - eq(3), - { q, _, r -> q == null && r.isException() }, - { q, x, r -> q != null && x != null && x in r.getOrNull()!! }, - { q, x, r -> q != null && x == null && r.isException() }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/SetIteratorsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/SetIteratorsTest.kt deleted file mode 100644 index e5d19160..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/SetIteratorsTest.kt +++ /dev/null @@ -1,113 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// TODO failed Kotlin compilation SAT-1332 -class SetIteratorsTest : UtValueTestCaseChecker( - testClass = SetIterators::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturnIterator() { - withoutConcrete { // We need to check that a real class is returned but not `Ut` one - check( - SetIterators::returnIterator, - ignoreExecutionsNumber, - { s, r -> s.isEmpty() && r!!.asSequence().toSet().isEmpty() }, - { s, r -> s.isNotEmpty() && r!!.asSequence().toSet() == s }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testIteratorHasNext() { - check( - SetIterators::iteratorHasNext, - between(3..4), - { set, _ -> set == null }, - { set, result -> set.isEmpty() && result == 0 }, - { set, result -> set.isNotEmpty() && result == set.size }, - ) - } - - @Test - fun testIteratorNext() { - checkWithException( - SetIterators::iteratorNext, - between(3..4), - { set, result -> set == null && result.isException() }, - { set, result -> set != null && set.isEmpty() && result.isException() }, - // test should work as long as default class for set is LinkedHashSet - { set, result -> set != null && set.isNotEmpty() && result.getOrNull() == set.first() }, - ) - } - - @Test - fun testIteratorRemove() { - checkWithException( - SetIterators::iteratorRemove, - between(3..4), - { set, result -> set == null && result.isException() }, - { set, result -> set.isEmpty() && result.isException() }, - // test should work as long as default class for set is LinkedHashSet - { set, result -> - val firstElement = set.first() - val resultSet = result.getOrNull()!! - val resultDoesntContainFirstElement = resultSet.size == set.size - 1 && firstElement !in resultSet - set.isNotEmpty() && set.containsAll(resultSet) && resultDoesntContainFirstElement - }, - ) - } - - @Test - fun testIteratorRemoveOnIndex() { - checkWithException( - SetIterators::iteratorRemoveOnIndex, - ge(5), - { _, i, result -> i == 0 && result.isSuccess && result.getOrNull() == null }, - { set, _, result -> set == null && result.isException() }, - { set, i, result -> set != null && i < 0 && result.isException() }, - { set, i, result -> i > set.size && result.isException() }, - // test should work as long as default class for set is LinkedHashSet - { set, i, result -> - val ithElement = set.toList()[i - 1] - val resultSet = result.getOrNull()!! - val iInIndexRange = i in 0..set.size - val resultDoesntContainIthElement = resultSet.size == set.size - 1 && ithElement !in resultSet - iInIndexRange && set.containsAll(resultSet) && resultDoesntContainIthElement - }, - ) - } - - @Test - fun testIterateForEach() { - check( - SetIterators::iterateForEach, - ignoreExecutionsNumber, - { set, _ -> set == null }, - { set, _ -> set != null && null in set }, - { set, result -> set != null && result == set.sum() }, - ) - } - - - @Test - fun testIterateWithIterator() { - check( - SetIterators::iterateWithIterator, - ignoreExecutionsNumber, - { set, _ -> set == null }, - { set, _ -> set != null && null in set }, - { set, result -> set != null && result == set.sum() }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/SetsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/SetsTest.kt deleted file mode 100644 index 3f65f267..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/collections/SetsTest.kt +++ /dev/null @@ -1,240 +0,0 @@ -package org.utbot.examples.collections - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.AtLeast -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber - -// TODO failed Kotlin compilation SAT-1332 -internal class SetsTest : UtValueTestCaseChecker( - testClass = Sets::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun createTest() { - check( - Sets::create, - eq(3), - { a, _ -> a == null }, - { a, r -> a != null && a.isEmpty() && r!!.isEmpty() }, - { a, r -> a != null && a.isNotEmpty() && r != null && r.isNotEmpty() && r.containsAll(a.toList()) }, - ) - } - - @Test - fun testSetContainsInteger() { - check( - Sets::setContainsInteger, - ignoreExecutionsNumber, - { set, _, _, _ -> set == null }, - { set, a, _, r -> 1 + a in set && r != null && 1 + a !in r && set.remove(1 + a) && r == set }, - { set, a, _, r -> 1 + a !in set && set.isEmpty() && r == null }, - { set, a, b, r -> 1 + a !in set && set.isNotEmpty() && r != null && r == set && 4 + a + b !in r }, - ) - } - - @Test - @Disabled("Does not find positive branches JIRA:1529") - fun testSetContains() { - check( - Sets::setContains, - eq(-1), - ) - } - - @Test - fun testSimpleContains() { - check( - Sets::simpleContains, - ignoreExecutionsNumber, - { set, _ -> set == null }, - { set, r -> set != null && "aaa" in set && r == true }, - { set, r -> set != null && "aaa" !in set && r == false } - ) - } - - @Test - @Disabled("Same problem from testSetContains JIRA:1529") - fun testMoreComplicatedContains() { - check( - Sets::moreComplicatedContains, - eq(-1), // TODO how many branches do we have? - ) - } - - - @Test - fun testFindAllChars() { - check( - Sets::findAllChars, - eq(3), - { s, _ -> s == null }, - { s, result -> s == "" && result!!.isEmpty() }, - { s, result -> s != "" && result == s.toCollection(mutableSetOf()) }, - ) - } - - @Test - fun testRemoveSpace() { - val resultFun = { set: Set -> listOf(' ', '\t', '\r', '\n').intersect(set).size } - check( - Sets::removeSpace, - ge(3), - { set, _ -> set == null }, - { set, res -> ' ' in set && resultFun(set) == res }, - { set, res -> '\t' in set && resultFun(set) == res }, - { set, res -> '\n' in set && resultFun(set) == res }, - { set, res -> '\r' in set && resultFun(set) == res }, - { set, res -> ' ' !in set && resultFun(set) == res }, - { set, res -> '\t' !in set && resultFun(set) == res }, - { set, res -> '\n' !in set && resultFun(set) == res }, - { set, res -> '\r' !in set && resultFun(set) == res }, - ) - } - - @Test - fun addElementsTest() { - check( - Sets::addElements, - ge(5), - { set, _, _ -> set == null }, - { set, a, _ -> set != null && set.isNotEmpty() && a == null }, - { set, _, r -> set.isEmpty() && r == set }, - { set, a, r -> set.isNotEmpty() && a.isEmpty() && r == set }, - { set, a, r -> - set.size >= 1 && a.isNotEmpty() && r == set.toMutableSet().apply { addAll(a.toTypedArray()) } - }, - ) - } - - @Test - fun removeElementsTest() { - check( - Sets::removeElements, - between(6..8), - { set, _, _, _ -> set == null }, - { set, i, j, res -> set != null && i !in set && j !in set && res == -1 }, - { set, i, j, res -> set != null && set.size >= 1 && i !in set && j in set && res == 4 }, - { set, i, j, res -> set != null && set.size >= 1 && i in set && (j !in set || j == i) && res == 3 }, - { set, i, j, res -> set != null && set.size >= 2 && i in set && j in set && i > j && res == 2 }, - { set, i, j, res -> set != null && set.size >= 2 && i in set && j in set && i < j && res == 1 }, - coverage = AtLeast(94) // unreachable branch - ) - } - - @Test - fun createWithDifferentTypeTest() { - check( - Sets::createWithDifferentType, - eq(2), - { seed, r -> seed % 2 != 0 && r is java.util.LinkedHashSet }, - { seed, r -> seed % 2 == 0 && r !is java.util.LinkedHashSet && r is java.util.HashSet }, - ) - } - - @Test - fun removeCustomObjectTest() { - withoutMinimization { // TODO: JIRA:1506 - check( - Sets::removeCustomObject, - ge(4), - { set, _, _ -> set == null }, - { set, _, result -> set.isEmpty() && result == 0 }, - { set, i, result -> set.isNotEmpty() && CustomClass(i) !in set && result == 0 }, - { set, i, result -> set.isNotEmpty() && CustomClass(i) in set && result == 1 }, - ) - } - } - - @Test - fun testAddAllElements() { - withPushingStateFromPathSelectorForConcrete { - check( - Sets::addAllElements, - ignoreExecutionsNumber, - { set, _, _ -> set == null }, - { set, other, _ -> set != null && other == null }, - { set, other, result -> set.containsAll(other) && result == 0 }, - { set, other, result -> !set.containsAll(other) && result == 1 }, - // TODO: Cannot find branch with result == 2 - { set, other, result -> !set.containsAll(other) && other.any { it in set } && result == 2 }, - ) - } - } - - @Test - fun testRemoveAllElements() { - withPushingStateFromPathSelectorForConcrete { - check( - Sets::removeAllElements, - ignoreExecutionsNumber, - { set, _, _ -> set == null }, - { set, other, _ -> set != null && other == null }, - { set, other, result -> other.all { it !in set } && result == 0 }, - { set, other, result -> set.containsAll(other) && result == 1 }, - //TODO: JIRA:1666 -- Engine ignores branches in Wrappers sometimes - // TODO: cannot find branch with result == 2 - // { set, other, result -> !set.containsAll(other) && other.any { it in set } && result == 2 }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testRetainAllElements() { - check( - Sets::retainAllElements, - ge(4), - { set, _, _ -> set == null }, - { set, other, _ -> set != null && other == null }, - { set, other, result -> other.containsAll(set) && result == 1 }, - { set, other, result -> set.any { it !in other } && result == 0 }, - ) - } - - @Test - fun testContainsAllElements() { - check( - Sets::containsAllElements, - ge(5), - { set, _, _ -> set == null }, - { set, other, _ -> set != null && other == null }, - { set, other, result -> set.isEmpty() || other.isEmpty() && result == -1 }, - { set, other, result -> set.isNotEmpty() && other.isNotEmpty() && set.containsAll(other) && result == 1 }, - { set, other, result -> set.isNotEmpty() && other.isNotEmpty() && !set.containsAll(other) && result == 0 }, - ) - } - - - @Test - fun testClearElements() { - check( - Sets::clearElements, - eq(3), - { set, _ -> set == null }, - { set, result -> set.isEmpty() && result == 0 }, - { set, result -> set.isNotEmpty() && result == 1 }, - coverage = AtLeast(85) // unreachable final return - ) - } - - - @Test - fun testContainsElement() { - check( - Sets::containsElement, - between(3..5), - { set, _, _ -> set == null }, - { set, i, result -> i !in set && result == 0 }, - { set, i, result -> i in set && result == 1 }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/ConditionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/ConditionsTest.kt deleted file mode 100644 index 91eac95e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/ConditionsTest.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.examples.controlflow - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -internal class ConditionsTest : UtValueTestCaseChecker(testClass = Conditions::class) { - @Test - fun testSimpleCondition() { - check( - Conditions::simpleCondition, - eq(2), - { condition, r -> !condition && r == 0 }, - { condition, r -> condition && r == 1 } - ) - } - - @Test - fun testIfLastStatement() { - checkWithException( - Conditions::emptyBranches, - ignoreExecutionsNumber, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/CycleDependedConditionTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/CycleDependedConditionTest.kt deleted file mode 100644 index 23f64d33..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/CycleDependedConditionTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.examples.controlflow - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class CycleDependedConditionTest : UtValueTestCaseChecker(testClass = CycleDependedCondition::class) { - @Test - fun testCycleDependedOneCondition() { - check( - CycleDependedCondition::oneCondition, - eq(3), - { x, r -> x <= 0 && r == 0 }, - { x, r -> x in 1..2 && r == 0 }, - { x, r -> x > 2 && r == 1 } - ) - } - - @Test - fun testCycleDependedTwoCondition() { - check( - CycleDependedCondition::twoCondition, - eq(4), - { x, r -> x <= 0 && r == 0 }, - { x, r -> x in 1..3 && r == 0 }, - { x, r -> x == 4 && r == 1 }, - { x, r -> x >= 5 && r == 0 } - ) - } - - - @Test - fun testCycleDependedThreeCondition() { - check( - CycleDependedCondition::threeCondition, - eq(4), - { x, r -> x <= 0 && r == 0 }, - { x, r -> x in 1..5 && r == 0 }, - { x, r -> x == 6 || x > 8 && r == 1 }, - { x, r -> x == 7 && r == 0 } - ) - } - - - @Test - fun testCycleDependedOneConditionHigherNumber() { - check( - CycleDependedCondition::oneConditionHigherNumber, - eq(3), - { x, r -> x <= 0 && r == 0 }, - { x, r -> x in 1..100 && r == 0 }, - { x, r -> x > 100 && r == 1 && r == 1 } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/CyclesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/CyclesTest.kt deleted file mode 100644 index ab293e1e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/CyclesTest.kt +++ /dev/null @@ -1,106 +0,0 @@ -package org.utbot.examples.controlflow - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -internal class CyclesTest : UtValueTestCaseChecker(testClass = Cycles::class) { - @Test - fun testForCycle() { - check( - Cycles::forCycle, - eq(3), - { x, r -> x <= 0 && r == -1 }, - { x, r -> x in 1..5 && r == -1 }, - { x, r -> x > 5 && r == 1 } - ) - } - - @Test - fun testForCycleFour() { - check( - Cycles::forCycleFour, - eq(3), - { x, r -> x <= 0 && r == -1 }, - { x, r -> x in 1..4 && r == -1 }, - { x, r -> x > 4 && r == 1 } - ) - } - - @Test - fun testForCycleJayHorn() { - check( - Cycles::forCycleFromJayHorn, - eq(2), - { x, r -> x <= 0 && r == 0 }, - { x, r -> x > 0 && r == 2 * x } - ) - } - - @Test - fun testFiniteCycle() { - check( - Cycles::finiteCycle, - eq(2), - { x, r -> x % 519 == 0 && (r as Int) % 519 == 0 }, - { x, r -> x % 519 != 0 && (r as Int) % 519 == 0 } - ) - } - - @Test - fun testWhileCycle() { - check( - Cycles::whileCycle, - eq(2), - { x, r -> x <= 0 && r == 0 }, - { x, r -> x > 0 && r == (0 until x).sum() } - ) - } - - @Test - fun testCallInnerWhile() { - check( - Cycles::callInnerWhile, - between(1..2), - { x, r -> x >= 42 && r == Cycles().callInnerWhile(x) } - ) - } - - @Test - fun testInnerLoop() { - check( - Cycles::innerLoop, - ignoreExecutionsNumber, - { x, r -> x in 1..3 && r == 0 }, - { x, r -> x == 4 && r == 1 }, - { x, r -> x >= 5 && r == 0 } - ) - } - - @Test - fun testDivideByZeroCheckWithCycles() { - checkWithException( - Cycles::divideByZeroCheckWithCycles, - eq(3), - { n, _, r -> n < 5 && r.isException() }, - { n, x, r -> n >= 5 && x == 0 && r.isException() }, - { n, x, r -> n >= 5 && x != 0 && r.getOrNull() == Cycles().divideByZeroCheckWithCycles(n, x) } - ) - } - - @Test - fun moveToExceptionTest() { - checkWithException( - Cycles::moveToException, - eq(3), - { x, r -> x < 400 && r.isException() }, - { x, r -> x > 400 && r.isException() }, - { x, r -> x == 400 && r.isException() }, - coverage = atLeast(85) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/SwitchTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/SwitchTest.kt deleted file mode 100644 index 0163d095..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/controlflow/SwitchTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.examples.controlflow - -import java.math.RoundingMode.CEILING -import java.math.RoundingMode.DOWN -import java.math.RoundingMode.HALF_DOWN -import java.math.RoundingMode.HALF_EVEN -import java.math.RoundingMode.HALF_UP -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.UtValueTestCaseChecker - -internal class SwitchTest : UtValueTestCaseChecker(testClass = Switch::class) { - @Test - fun testSimpleSwitch() { - check( - Switch::simpleSwitch, - ge(4), - { x, r -> x == 10 && r == 10 }, - { x, r -> (x == 11 || x == 12) && r == 12 }, // fall-through has it's own branch - { x, r -> x == 13 && r == 13 }, - { x, r -> x !in 10..13 && r == -1 }, // one for default is enough - ) - } - - @Test - fun testLookupSwitch() { - check( - Switch::lookupSwitch, - ge(4), - { x, r -> x == 0 && r == 0 }, - { x, r -> (x == 10 || x == 20) && r == 20 }, // fall-through has it's own branch - { x, r -> x == 30 && r == 30 }, - { x, r -> x !in setOf(0, 10, 20, 30) && r == -1 } // one for default is enough - ) - } - - @Test - fun testEnumSwitch() { - withoutMinimization { // TODO: JIRA:1506 - check( - Switch::enumSwitch, - eq(7), - { m, r -> m == null && r == null }, // NPE - { m, r -> m == HALF_DOWN && r == 1 }, // We will minimize two of these branches - { m, r -> m == HALF_EVEN && r == 1 }, // We will minimize two of these branches - { m, r -> m == HALF_UP && r == 1 }, // We will minimize two of these branches - { m, r -> m == DOWN && r == 2 }, - { m, r -> m == CEILING && r == 3 }, - { m, r -> m !in setOf(HALF_DOWN, HALF_EVEN, HALF_UP, DOWN, CEILING) && r == -1 }, - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/enums/ClassWithEnumTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/enums/ClassWithEnumTest.kt deleted file mode 100644 index 7b9de124..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/enums/ClassWithEnumTest.kt +++ /dev/null @@ -1,207 +0,0 @@ -package org.utbot.examples.enums - -import org.junit.jupiter.api.Disabled -import org.utbot.examples.enums.ClassWithEnum.StatusEnum.ERROR -import org.utbot.examples.enums.ClassWithEnum.StatusEnum.READY -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.util.id -import org.junit.jupiter.api.Test -import org.utbot.examples.enums.ClassWithEnum.StatusEnum -import org.utbot.framework.plugin.api.util.jField -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -class ClassWithEnumTest : UtValueTestCaseChecker(testClass = ClassWithEnum::class) { - @Test - fun testOrdinal() { - withoutConcrete { - checkAllCombinations(ClassWithEnum::useOrdinal) - } - } - - @Test - fun testGetter() { - check( - ClassWithEnum::useGetter, - eq(2), - { s, r -> s == null && r == -1 }, - { s, r -> s != null && r == 0 }, - ) - } - - @Test - fun testDifficultIfBranch() { - check( - ClassWithEnum::useEnumInDifficultIf, - ignoreExecutionsNumber, - { s, r -> s.equals("TRYIF", ignoreCase = true) && r == 1 }, - { s, r -> !s.equals("TRYIF", ignoreCase = true) && r == 2 }, - ) - } - - @Test - fun testNullParameter() { - check( - ClassWithEnum::nullEnumAsParameter, - between(2..3), - { e, _ -> e == null }, - { e, r -> e == READY && r == 0 || e == ERROR && r == -1 }, - ) - } - - @Test - fun testNullField() { - checkWithException( - ClassWithEnum::nullField, - eq(3), - { e, r -> e == null && r.isException() }, - { e, r -> e == ERROR && r.isException() }, - { e, r -> e == READY && r.getOrNull()!! == 3 && READY.s.length == 3 }, - ) - } - - @Suppress("KotlinConstantConditions") - @Test - fun testChangeEnum() { - checkWithException( - ClassWithEnum::changeEnum, - eq(2), - { e, r -> e == READY && r.getOrNull()!! == ERROR.ordinal }, - { e, r -> (e == ERROR || e == null) && r.getOrNull()!! == READY.ordinal }, - ) - } - - @Test - fun testChangeMutableField() { - // TODO testing code generation for this method is disabled because we need to restore original field state - // should be enabled after solving https://github.com/UnitTestBot/UTBotJava/issues/80 - withEnabledTestingCodeGeneration(testCodeGeneration = false) { - checkWithException( - ClassWithEnum::changeMutableField, - eq(2), - { e, r -> e == READY && r.getOrNull()!! == 2 }, - { e, r -> (e == null || e == ERROR) && r.getOrNull()!! == -2 }, - ) - } - } - - @Test - @Disabled("https://github.com/UnitTestBot/UTBotJava/issues/1745") - fun testCheckName() { - check( - ClassWithEnum::checkName, - eq(3), - { s, _ -> s == null }, - { s, r -> s == READY.name && r == ERROR.name }, - { s, r -> s != READY.name && r == READY.name }, - ) - } - - @Test - fun testChangingStaticWithEnumInit() { - checkThisAndStaticsAfter( - ClassWithEnum::changingStaticWithEnumInit, - eq(1), - { t, staticsAfter, r -> - // We cannot check `x` since it is not a meaningful value since - // it is accessed only in a static initializer. - - // For some reasons x is inaccessible - // val x = FieldId(t.javaClass.id, "x").jField.get(t) as Int - - val y = staticsAfter[FieldId(ClassWithEnum.ClassWithStaticField::class.id, "y")]!!.value as Int - - val areStaticsCorrect = /*x == 1 &&*/ y == 11 - areStaticsCorrect && r == true - } - ) - } - - @Test - fun testVirtualFunction() { - check( - ClassWithEnum::virtualFunction, - eq(3), - { parameter, _ -> parameter == null }, - { parameter, r -> r == 1 && parameter == ERROR }, - { parameter, r -> r == 0 && parameter == READY }, - ) - } - - @Test - fun testEnumValues() { - checkStaticMethod( - StatusEnum::values, - eq(1), - { r -> r.contentEquals(arrayOf(READY, ERROR)) }, - ) - } - - @Test - fun testFromCode() { - checkStaticMethod( - StatusEnum::fromCode, - eq(3), - { code, r -> code == 10 && r == READY }, - { code, r -> code == -10 && r == ERROR }, - { code, r -> code !in setOf(10, -10) && r == null }, // IllegalArgumentException - ) - } - - @Test - fun testFromIsReady() { - checkStaticMethod( - StatusEnum::fromIsReady, - eq(2), - { isFirst, r -> isFirst && r == READY }, - { isFirst, r -> !isFirst && r == ERROR }, - ) - } - - @Test - fun testPublicGetCodeMethod() { - checkWithThis( - StatusEnum::publicGetCode, - between(1..2), - { enumInstance, r -> enumInstance == READY && r == 10 || enumInstance == ERROR && r == -10 }, - ) - } - - @Test - fun testImplementingInterfaceEnumInDifficultBranch() { - withPushingStateFromPathSelectorForConcrete { - check( - ClassWithEnum::implementingInterfaceEnumInDifficultBranch, - ignoreExecutionsNumber, - { s, r -> s.equals("SUCCESS", ignoreCase = true) && r == 0 }, - { s, r -> !s.equals("SUCCESS", ignoreCase = true) && r == 2 }, - ) - } - } - - @Test - fun testAffectSystemStaticAndUseInitEnumFromIt() { - check( - ClassWithEnum::affectSystemStaticAndInitEnumFromItAndReturnField, - eq(1), - { r -> r == true }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAffectSystemStaticAndInitEnumFromItAndGetItFromEnumFun() { - check( - ClassWithEnum::affectSystemStaticAndInitEnumFromItAndGetItFromEnumFun, - eq(1), - { r -> r == true }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/enums/ComplexEnumExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/enums/ComplexEnumExamplesTest.kt deleted file mode 100644 index 1a3a258d..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/enums/ComplexEnumExamplesTest.kt +++ /dev/null @@ -1,102 +0,0 @@ -package org.utbot.examples.enums - -import org.junit.jupiter.api.Test -import org.utbot.examples.enums.ComplexEnumExamples.Color -import org.utbot.examples.enums.ComplexEnumExamples.Color.BLUE -import org.utbot.examples.enums.ComplexEnumExamples.Color.GREEN -import org.utbot.examples.enums.ComplexEnumExamples.Color.RED -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -class ComplexEnumExamplesTest : UtValueTestCaseChecker( - testClass = ComplexEnumExamples::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testEnumToEnumMapCountValues() { - check( - ComplexEnumExamples::enumToEnumMapCountValues, - ignoreExecutionsNumber, - { m, r -> m.isEmpty() && r == 0 }, - { m, r -> m.isNotEmpty() && !m.values.contains(RED) && r == 0 }, - { m, r -> m.isNotEmpty() && m.values.contains(RED) && m.values.count { it == RED } == r } - ) - } - - @Test - fun testEnumToEnumMapCountKeys() { - check( - ComplexEnumExamples::enumToEnumMapCountKeys, - ignoreExecutionsNumber, - { m, r -> m.isEmpty() && r == 0 }, - { m, r -> m.isNotEmpty() && !m.keys.contains(GREEN) && !m.keys.contains(BLUE) && r == 0 }, - { m, r -> m.isNotEmpty() && m.keys.intersect(setOf(BLUE, GREEN)).isNotEmpty() && m.keys.count { it == BLUE || it == GREEN } == r } - ) - } - - @Test - fun testEnumToEnumMapCountMatches() { - check( - ComplexEnumExamples::enumToEnumMapCountMatches, - ignoreExecutionsNumber, - { m, r -> m.isEmpty() && r == 0 }, - { m, r -> m.entries.count { it.key == it.value } == r } - ) - } - - @Test - fun testCountEqualColors() { - check( - ComplexEnumExamples::countEqualColors, - ignoreExecutionsNumber, - { a, b, c, r -> a == b && a == c && r == 3 }, - { a, b, c, r -> setOf(a, b, c).size == 2 && r == 2 }, - { a, b, c, r -> a != b && b != c && a != c && r == 1 } - ) - } - - @Test - fun testCountNullColors() { - check( - ComplexEnumExamples::countNullColors, - eq(3), - { a, b, r -> a == null && b == null && r == 2 }, - { a, b, r -> (a == null) != (b == null) && r == 1 }, - { a, b, r -> a != null && b != null && r == 0 }, - ) - } - - @Test - fun testFindState() { - check( - ComplexEnumExamples::findState, - ignoreExecutionsNumber, - { c, r -> c in setOf(0, 127, 255) && r != null && r.code == c } - ) - } - - @Test - fun testCountValuesInArray() { - fun Color.isCorrectlyCounted(inputs: Array, counts: Map): Boolean = - inputs.count { it == this } == (counts[this] ?: 0) - - check( - ComplexEnumExamples::countValuesInArray, - ignoreExecutionsNumber, - { cs, r -> cs.isEmpty() && r != null && r.isEmpty() }, - { cs, r -> cs.toList().isEmpty() && r != null && r.isEmpty() }, - { cs, r -> cs.toList().isNotEmpty() && r != null && Color.values().all { it.isCorrectlyCounted(cs, r) } } - ) - } - - @Test - fun testCountRedInArray() { - check( - ComplexEnumExamples::countRedInArray, - eq(3), - { colors, result -> colors.count { it == RED } == result } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/ExceptionClusteringChecker.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/ExceptionClusteringChecker.kt deleted file mode 100644 index 4e675057..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/ExceptionClusteringChecker.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.examples.exceptions - -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.framework.plugin.api.UtExplicitlyThrownException -import org.utbot.framework.plugin.api.UtImplicitlyThrownException -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtTimeoutException -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.ge -import org.utbot.testing.UtModelTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.primitiveValue - -internal class ExceptionClusteringChecker : - UtModelTestCaseChecker(testClass = ExceptionClusteringExamples::class) { - /** - * Difference is in throwing unchecked exceptions - for method under test is [UtExpectedCheckedThrow]. - */ - @Test - fun testDifferentExceptions() { - check( - ExceptionClusteringExamples::differentExceptions, - ignoreExecutionsNumber, - { i, r -> i.int() == 0 && r is UtImplicitlyThrownException && r.exception is ArithmeticException }, - { i, r -> i.int() == 1 && r is UtExplicitlyThrownException && r.exception is MyCheckedException }, - { i, r -> i.int() == 2 && r is UtExplicitlyThrownException && r.exception is IllegalArgumentException }, - { i, r -> i.int() !in 0..2 && r is UtExecutionSuccess && r.model.int() == 2 * i.int() }, - ) - } - - /** - * Difference is in throwing unchecked exceptions - for nested call it is [UtUnexpectedUncheckedThrow]. - */ - @Test - fun testDifferentExceptionsInNestedCall() { - check( - ExceptionClusteringExamples::differentExceptionsInNestedCall, - ignoreExecutionsNumber, - { i, r -> i.int() == 0 && r is UtImplicitlyThrownException && r.exception is ArithmeticException }, - { i, r -> i.int() == 1 && r is UtExplicitlyThrownException && r.exception is MyCheckedException }, - { i, r -> i.int() == 2 && r is UtExplicitlyThrownException && r.exception is IllegalArgumentException }, - { i, r -> i.int() !in 0..2 && r is UtExecutionSuccess && r.model.int() == 2 * i.int() }, - ) - } - - @Test - fun testSleepingMoreThanDefaultTimeout() { - check( - ExceptionClusteringExamples::sleepingMoreThanDefaultTimeout, - ge(1), - { _, r -> r is UtTimeoutException }, // we will minimize one of these: i <= 0 or i > 0 - ) - } -} - -private fun UtModel.int(): Int = this.primitiveValue() - diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/ExceptionExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/ExceptionExamplesTest.kt deleted file mode 100644 index efef1f59..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/ExceptionExamplesTest.kt +++ /dev/null @@ -1,136 +0,0 @@ -package org.utbot.examples.exceptions - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -internal class ExceptionExamplesTest : UtValueTestCaseChecker( - testClass = ExceptionExamples::class, - testCodeGeneration = true, - // TODO: Kotlin code generation fails because we construct lists with generics - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testInitAnArray() { - check( - ExceptionExamples::initAnArray, - ignoreExecutionsNumber, - { n, r -> n < 0 && r == -2 }, - { n, r -> n == 0 || n == 1 && r == -3 }, - { n, r -> n > 1 && r == 2 * n + 3 }, - coverage = atLeast(80) - ) - } - - @Test - fun testNestedExceptions() { - check( - ExceptionExamples::nestedExceptions, - eq(3), - { i, r -> i < 0 && r == -100 }, - { i, r -> i > 0 && r == 100 }, - { i, r -> i == 0 && r == 0 }, - ) - } - - @Test - fun testDoNotCatchNested() { - checkWithException( - ExceptionExamples::doNotCatchNested, - eq(3), - { i, r -> i < 0 && r.isException() }, - { i, r -> i > 0 && r.isException() }, - { i, r -> i == 0 && r.getOrThrow() == 0 }, - ) - } - - @Test - fun testFinallyThrowing() { - checkWithException( - ExceptionExamples::finallyThrowing, - eq(2), - { i, r -> i <= 0 && r.isException() }, - { i, r -> i > 0 && r.isException() }, - ) - } - - @Test - fun testFinallyChanging() { - check( - ExceptionExamples::finallyChanging, - eq(2), - { i, r -> i * 2 <= 0 && r == i * 2 + 10 }, - { i, r -> i * 2 > 0 && r == i * 2 + 110 }, - coverage = atLeast(80) // differs from JaCoCo - ) - } - - @Test - fun testThrowException() { - checkWithException( - ExceptionExamples::throwException, - eq(2), - { i, r -> i <= 0 && r.getOrNull() == 101 }, - { i, r -> i > 0 && r.isException() }, - coverage = atLeast(66) // because of unexpected exception thrown - ) - } - - @Test - fun testCreateException() { - check( - ExceptionExamples::createException, - eq(1), - { r -> r is java.lang.IllegalArgumentException }, - ) - } - - /** - * Used for path generation check in [org.utbot.engine.Traverser.fullPath] - */ - @Test - fun testCatchDeepNestedThrow() { - checkWithException( - ExceptionExamples::catchDeepNestedThrow, - eq(2), - { i, r -> i < 0 && r.isException() }, - { i, r -> i >= 0 && r.getOrThrow() == i }, - coverage = atLeast(66) // because of unexpected exception thrown - ) - } - - /** - * Covers [#656](https://github.com/UnitTestBot/UTBotJava/issues/656). - */ - @Test - fun testCatchExceptionAfterOtherPossibleException() { - withoutConcrete { - checkWithException( - ExceptionExamples::catchExceptionAfterOtherPossibleException, - eq(3), - { i, r -> i == -1 && r.isException() }, - { i, r -> i == 0 && r.getOrThrow() == 2 }, - { i, r -> r.getOrThrow() == 1 }, - coverage = atLeast(100) - ) - } - } - - /** - * Used for path generation check in [org.utbot.engine.Traverser.fullPath] - */ - @Test - fun testDontCatchDeepNestedThrow() { - checkWithException( - ExceptionExamples::dontCatchDeepNestedThrow, - eq(2), - { i, r -> i < 0 && r.isException() }, - { i, r -> i >= 0 && r.getOrThrow() == i }, - coverage = atLeast(66) // because of unexpected exception thrown - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/JvmCrashExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/JvmCrashExamplesTest.kt deleted file mode 100644 index 6a9449d4..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/exceptions/JvmCrashExamplesTest.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.exceptions - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutSandbox -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class JvmCrashExamplesTest : UtValueTestCaseChecker(testClass = JvmCrashExamples::class) { - @Test - @Disabled("JIRA:1527") - fun testExit() { - check( - JvmCrashExamples::exit, - eq(2) - ) - } - - @Test - fun testCrash() { - withoutSandbox { - check( - JvmCrashExamples::crash, - eq(1), // we expect only one execution after minimization - // It seems that we can't calculate coverage when the child JVM has crashed - coverage = DoNotCalculate - ) - } - } - - @Test - fun testCrashPrivileged() { - check( - JvmCrashExamples::crashPrivileged, - eq(1), // we expect only one execution after minimization - // It seems that we can't calculate coverage when the child JVM has crashed - coverage = DoNotCalculate - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/InvokeExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/InvokeExampleTest.kt deleted file mode 100644 index 5abc14bd..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/InvokeExampleTest.kt +++ /dev/null @@ -1,216 +0,0 @@ -package org.utbot.examples.invokes - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -internal class InvokeExampleTest : UtValueTestCaseChecker(testClass = InvokeExample::class) { - @Test - fun testSimpleFormula() { - check( - InvokeExample::simpleFormula, - eq(3), - { fst, _, _ -> fst < 100 }, - { _, snd, _ -> snd < 100 }, - { fst, snd, r -> fst >= 100 && snd >= 100 && r == (fst + 5) * (snd / 2) }, - ) - } - - @Test - fun testChangeObjectValueByMethod() { - check( - InvokeExample::changeObjectValueByMethod, - eq(2), - { o, _ -> o == null }, - { o, r -> o != null && r?.value == 4 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testParticularValue() { - check( - InvokeExample::particularValue, - eq(3), - { o, _ -> o == null }, - { o, _ -> o != null && o.value < 0 }, - { o, r -> o != null && o.value >= 0 && r?.value == 12 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateObjectFromValue() { - check( - InvokeExample::createObjectFromValue, - eq(2), - { value, r -> value == 0 && r?.value == 1 }, - { value, r -> value != 0 && r?.value == value } - ) - } - - @Test - fun testGetNullOrValue() { - check( - InvokeExample::getNullOrValue, - eq(3), - { o, _ -> o == null }, - { o, r -> o != null && o.value < 100 && r == null }, - { o, r -> o != null && o.value >= 100 && r?.value == 5 }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testConstraintsFromOutside() { - check( - InvokeExample::constraintsFromOutside, - eq(3), - { value, r -> value >= 0 && r == value }, - { value, r -> value == Int.MIN_VALUE && r == 0 }, - { value, r -> value < 0 && value != Int.MIN_VALUE && r == -value }, - coverage = DoNotCalculate - ) - } - - - @Test - fun testConstraintsFromInside() { - check( - InvokeExample::constraintsFromInside, - eq(3), - { value, r -> value >= 0 && r == 1 }, - { value, r -> value == Int.MIN_VALUE && r == 1 }, - { value, r -> value < 0 && value != Int.MIN_VALUE && r == 1 }, - ) - } - - @Test - fun testAlwaysNPE() { - checkWithException( - InvokeExample::alwaysNPE, - eq(4), - { o, r -> o == null && r.isException() }, - { o, r -> o != null && o.value == 0 && r.isException() }, - { o, r -> o != null && o.value < 0 && r.isException() }, - { o, r -> o != null && o.value > 0 && r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testExceptionInNestedMethod() { - checkWithException( - InvokeExample::exceptionInNestedMethod, - eq(3), - { o, _, r -> o == null && r.isException() }, - { o, value, r -> o != null && value < 0 && r.isException() }, - { o, value, r -> o != null && value >= 0 && value == (r.getOrNull() as InvokeClass).value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testFewNestedExceptions() { - checkWithException( - InvokeExample::fewNestedException, - eq(5), - { o, _, r -> o == null && r.isException() }, - { o, value, r -> o != null && value < 10 && r.isException() }, - { o, value, r -> o != null && value in 10..99 && r.isException() }, - { o, value, r -> o != null && value in 100..9999 && r.isException() }, - { o, value, r -> o != null && value >= 10000 && value == (r.getOrNull() as InvokeClass).value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testDivBy() { - checkWithException( - InvokeExample::divBy, - eq(4), - { o, _, r -> o == null && r.isException() }, - { o, _, r -> o != null && o.value < 1000 && r.isException() }, - { o, den, r -> o != null && o.value >= 1000 && den == 0 && r.isException() }, - { o, den, r -> o != null && o.value >= 1000 && den != 0 && r.getOrNull() == o.value / den }, - coverage = DoNotCalculate - ) - } - - @Test - fun testUpdateValue() { - check( - InvokeExample::updateValue, - eq(4), - { o, _, _ -> o == null }, - { o, _, r -> o != null && o.value > 0 && r != null && r.value > 0 }, - { o, value, r -> o != null && o.value <= 0 && value > 0 && r?.value == value }, - { o, value, _ -> o != null && o.value <= 0 && value <= 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testNullAsParameter() { - check( - InvokeExample::nullAsParameter, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testChangeArrayWithAssignFromMethod() { - check( - InvokeExample::changeArrayWithAssignFromMethod, - eq(3), - { a, _ -> a == null }, - { a, r -> a != null && a.isEmpty() && r != null && r.isEmpty() }, - { a, r -> - require(a != null && r != null) - a.isNotEmpty() && r.size == a.size && a.map { it + 5 } == r.toList() && !a.contentEquals(r) - } - ) - } - - @Test - fun testChangeArrayByMethod() { - check( - InvokeExample::changeArrayByMethod, - ignoreExecutionsNumber, - { a, _ -> a == null }, - { a, r -> a != null && a.isNotEmpty() && r != null && r.size == a.size && a.map { it + 5 } == r.toList() } - ) - } - - @Test - fun testArrayCopyExample() { - check( - InvokeExample::arrayCopyExample, - eq(5), - { a, _ -> a == null }, - { a, _ -> a != null && a.size < 3 }, - { a, r -> a != null && a.size >= 3 && a[0] <= a[1] && r == null }, - { a, r -> a != null && a.size >= 3 && a[0] > a[1] && a[1] <= a[2] && r == null }, - { a, r -> a != null && a.size >= 3 && a[0] > a[1] && a[1] > a[2] && r.contentEquals(a) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testUpdateValues() { - check( - InvokeExample::updateValues, - eq(4), - { fst, _, _ -> fst == null }, - { fst, snd, _ -> fst != null && snd == null }, - { fst, snd, r -> fst != null && snd != null && fst !== snd && r == 1 }, - { fst, snd, _ -> fst != null && snd != null && fst === snd }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/NativeExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/NativeExampleTest.kt deleted file mode 100644 index f437801c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/NativeExampleTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.examples.invokes - -import kotlin.math.ln -import kotlin.math.sqrt -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.ignoreExecutionsNumber - -internal class NativeExampleTest : UtValueTestCaseChecker(testClass = NativeExample::class) { - @Test - fun testPartialEx() { - check( - NativeExample::partialExecution, - ge(1), - coverage = atLeast(50) - ) - } - - @Test - fun testUnreachableNativeCall() { - check( - NativeExample::unreachableNativeCall, - eq(2), - { d, r -> !d.isNaN() && r == 1 }, - { d, r -> d.isNaN() && r == 2 }, - coverage = atLeast(50) - ) - } - - @Test - @Tag("slow") - fun testSubstitution() { - check( - NativeExample::substitution, - ignoreExecutionsNumber, - { x, r -> x > 4 && r == 1 }, - { x, r -> sqrt(x) <= 2 && r == 0 } - ) - } - - @Test - fun testUnreachableBranch() { - check( - NativeExample::unreachableBranch, - ge(2), - { x, r -> x.isNaN() && r == 1 }, - { x, r -> (!ln(x).isNaN() || x < 0) && r == 2 }, - coverage = atLeast(66) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/SimpleInterfaceExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/SimpleInterfaceExampleTest.kt deleted file mode 100644 index 98e19a19..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/SimpleInterfaceExampleTest.kt +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.examples.invokes - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class SimpleInterfaceExampleTest : UtValueTestCaseChecker( - testClass = SimpleInterfaceExample::class -) { - @Test - fun testOverrideMethod() { - check( - SimpleInterfaceExample::overrideMethod, - eq(3), - { o, _, _ -> o == null }, - { o, v, r -> o is SimpleInterfaceImpl && r == v + 2 }, - { o, v, r -> o is Realization && r == v + 5 } - ) - } - - @Test - fun testDefaultMethod() { - check( - SimpleInterfaceExample::defaultMethod, - eq(2), - { o, _, _ -> o == null }, - { o, v, r -> o != null && r == v - 5 } - ) - } - - @Test - fun testInvokeMethodFromImplementor() { - check( - SimpleInterfaceExample::invokeMethodFromImplementor, - eq(2), - { o, _ -> o == null }, - { o, r -> o != null && r == 10 }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/StaticInvokeExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/StaticInvokeExampleTest.kt deleted file mode 100644 index 5c75b0f0..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/StaticInvokeExampleTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.invokes - -import kotlin.math.max -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between - -internal class StaticInvokeExampleTest : UtValueTestCaseChecker(testClass = StaticInvokeExample::class) { - // TODO: inline local variables when types inference bug in Kotlin fixed - @Test - fun testMaxForThree() { - val method = StaticInvokeExample::maxForThree - checkStaticMethod( - method, - between(2..3), // two executions can cover all branches - { x, y, _, _ -> x > y }, - { x, y, _, _ -> x <= y }, - { x, y, z, _ -> max(x, y.toInt()) > z }, - { x, y, z, _ -> max(x, y.toInt()) <= z }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/VirtualInvokeExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/VirtualInvokeExampleTest.kt deleted file mode 100644 index 57536896..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/invokes/VirtualInvokeExampleTest.kt +++ /dev/null @@ -1,148 +0,0 @@ -@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN") - -package org.utbot.examples.invokes - -import java.lang.Boolean -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -internal class VirtualInvokeExampleTest : UtValueTestCaseChecker(testClass = VirtualInvokeExample::class) { - @Test - fun testSimpleVirtualInvoke() { - checkWithException( - VirtualInvokeExample::simpleVirtualInvoke, - eq(3), - { v, r -> v < 0 && r.getOrNull() == -2 }, - { v, r -> v == 0 && r.isException() }, - { v, r -> v > 0 && r.getOrNull() == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testVirtualNative() { - check( - VirtualInvokeExample::virtualNative, - eq(1), - { r -> r == Boolean::class.java.modifiers } - ) - } - - @Test - fun testGetSigners() { - check( - VirtualInvokeExample::virtualNativeArray, - eq(1), - ) - } - - @Test - fun testObjectFromOutside() { - checkWithException( - VirtualInvokeExample::objectFromOutside, - eq(7), - { o, _, r -> o == null && r.isException() }, - { o, v, r -> o != null && o is VirtualInvokeClassSucc && v < 0 && r.getOrNull() == -1 }, - { o, v, r -> o != null && o is VirtualInvokeClassSucc && v == 0 && r.getOrNull() == 0 }, - { o, v, r -> o != null && o is VirtualInvokeClassSucc && v > 0 && r.getOrNull() == 1 }, - { o, v, r -> o != null && o !is VirtualInvokeClassSucc && v < 0 && r.getOrNull() == 2 }, - { o, v, r -> o != null && o !is VirtualInvokeClassSucc && v == 0 && r.isException() }, - { o, v, r -> o != null && o !is VirtualInvokeClassSucc && v > 0 && r.getOrNull() == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testDoubleCall() { - check( - VirtualInvokeExample::doubleCall, - eq(2), - { obj, _ -> obj == null }, - { obj, r -> obj != null && obj.returnX(obj) == r }, - coverage = DoNotCalculate - ) - } - - @Test - fun testYetAnotherObjectFromOutside() { - checkWithException( - VirtualInvokeExample::yetAnotherObjectFromOutside, - eq(3), - { o, r -> o == null && r.isException() }, - { o, r -> o != null && o !is VirtualInvokeClassSucc && r.getOrNull() == 1 }, - { o, r -> o != null && o is VirtualInvokeClassSucc && r.getOrNull() == 2 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testTwoObjects() { - checkWithException( - VirtualInvokeExample::twoObjects, - eq(3), - { o, r -> o == null && r.isException() }, - { o, r -> o != null && o is VirtualInvokeClassSucc && r.getOrNull() == 1 }, - { o, r -> o != null && o !is VirtualInvokeClassSucc && r.getOrNull() == 2 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testNestedVirtualInvoke() { - checkWithException( - VirtualInvokeExample::nestedVirtualInvoke, - eq(3), - { o, r -> o == null && r.isException() }, - { o, r -> o != null && o !is VirtualInvokeClassSucc && r.getOrNull() == 1 }, - { o, r -> o != null && o is VirtualInvokeClassSucc && r.getOrNull() == 2 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAbstractClassInstanceFromOutsideWithoutOverrideMethods() { - check( - VirtualInvokeExample::abstractClassInstanceFromOutsideWithoutOverrideMethods, - eq(2), - { o, _ -> o == null }, - { o, r -> o is VirtualInvokeAbstractClassSucc && r == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAbstractClassInstanceFromOutside() { - check( - VirtualInvokeExample::abstractClassInstanceFromOutside, - eq(2), - { o, _ -> o == null }, - { o, r -> o is VirtualInvokeAbstractClassSucc && r == 2 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testNullValueInReturnValue() { - check( - VirtualInvokeExample::nullValueInReturnValue, - eq(3), - { o, _ -> o == null }, - { o, _ -> o is VirtualInvokeClassSucc }, - { o, r -> o is VirtualInvokeClass && r == 10L }, - coverage = DoNotCalculate - ) - } - - @Test - fun testQuasiImplementationInvoke() { - check( - VirtualInvokeExample::quasiImplementationInvoke, - eq(1), - { result -> result == 0 }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/CustomPredicateExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/CustomPredicateExampleTest.kt deleted file mode 100644 index 39c88329..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/CustomPredicateExampleTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -package org.utbot.examples.lambda - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testing.CodeGeneration -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -class CustomPredicateExampleTest : UtValueTestCaseChecker( - testClass = CustomPredicateExample::class, - // TODO: https://github.com/UnitTestBot/UTBotJava/issues/88 (generics in Kotlin) - // At the moment, when we create an instance of a functional interface via lambda (through reflection), - // we need to do a type cast (e.g. `obj as Predicate`), but since generics are not supported yet, - // we use a raw type (e.g. `Predicate`) instead (which is not allowed in Kotlin). - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testNoCapturedValuesPredicateCheck() { - checkWithException( - CustomPredicateExample::noCapturedValuesPredicateCheck, - eq(3), - { predicate, x, r -> !predicate.test(x) && r.getOrNull() == false }, - { predicate, x, r -> predicate.test(x) && r.getOrNull() == true }, - { predicate, _, r -> predicate == null && r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCapturedLocalVariablePredicateCheck() { - checkWithException( - CustomPredicateExample::capturedLocalVariablePredicateCheck, - eq(3), - { predicate, x, r -> !predicate.test(x) && r.getOrNull() == false }, - { predicate, x, r -> predicate.test(x) && r.getOrNull() == true }, - { predicate, _, r -> predicate == null && r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCapturedParameterPredicateCheck() { - checkWithException( - CustomPredicateExample::capturedParameterPredicateCheck, - eq(3), - { predicate, x, r -> !predicate.test(x) && r.getOrNull() == false }, - { predicate, x, r -> predicate.test(x) && r.getOrNull() == true }, - { predicate, _, r -> predicate == null && r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCapturedStaticFieldPredicateCheck() { - checkWithException( - CustomPredicateExample::capturedStaticFieldPredicateCheck, - eq(3), - { predicate, x, r -> !predicate.test(x) && r.getOrNull() == false }, - { predicate, x, r -> predicate.test(x) && r.getOrNull() == true }, - { predicate, _, r -> predicate == null && r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCapturedNonStaticFieldPredicateCheck() { - checkWithException( - CustomPredicateExample::capturedNonStaticFieldPredicateCheck, - eq(3), - { predicate, x, r -> !predicate.test(x) && r.getOrNull() == false }, - { predicate, x, r -> predicate.test(x) && r.getOrNull() == true }, - { predicate, _, r -> predicate == null && r.isException() }, - coverage = DoNotCalculate - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/PredicateNotExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/PredicateNotExampleTest.kt deleted file mode 100644 index 739cff59..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/PredicateNotExampleTest.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.examples.lambda - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -class PredicateNotExampleTest : UtValueTestCaseChecker(testClass = PredicateNotExample::class) { - @Test - @Disabled("TODO flaky 0 executions at GitHub runners https://github.com/UnitTestBot/UTBotJava/issues/999") - fun testPredicateNotExample() { - check( - PredicateNotExample::predicateNotExample, - eq(2), - { a, r -> a == 5 && r == false }, - { a, r -> a != 5 && r == true }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/SimpleLambdaExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/SimpleLambdaExamplesTest.kt deleted file mode 100644 index 25161963..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/SimpleLambdaExamplesTest.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.examples.lambda - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -// TODO failed Kotlin compilation (generics) SAT-1332 -class SimpleLambdaExamplesTest : UtValueTestCaseChecker( - testClass = SimpleLambdaExamples::class, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testBiFunctionLambdaExample() { - checkWithException( - SimpleLambdaExamples::biFunctionLambdaExample, - eq(2), - { _, b, r -> b == 0 && r.isException() }, - { a, b, r -> b != 0 && r.getOrThrow() == a / b }, - ) - } - - @Test - fun testChoosePredicate() { - check( - SimpleLambdaExamples::choosePredicate, - eq(2), - { b, r -> b && !r!!.test(null) && r.test(0) }, - { b, r -> !b && r!!.test(null) && !r.test(0) }, - coverage = DoNotCalculate // coverage could not be calculated since method result is lambda - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/ThrowingWithLambdaExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/ThrowingWithLambdaExampleTest.kt deleted file mode 100644 index fb338e5e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/lambda/ThrowingWithLambdaExampleTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.lambda - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -class ThrowingWithLambdaExampleTest : UtValueTestCaseChecker(testClass = ThrowingWithLambdaExample::class) { - @Test - fun testAnyExample() { - check( - ThrowingWithLambdaExample::anyExample, - eq(4), - { l, _, _ -> l == null }, - { l, _, r -> l.isEmpty() && r == false }, - { l, _, r -> l.isNotEmpty() && 42 in l && r == true }, - { l, _, r -> l.isNotEmpty() && 42 !in l && r == false }, - coverage = DoNotCalculate // TODO failed coverage calculation - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/make/symbolic/ClassWithComplicatedMethodsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/make/symbolic/ClassWithComplicatedMethodsTest.kt deleted file mode 100644 index e2c81d69..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/make/symbolic/ClassWithComplicatedMethodsTest.kt +++ /dev/null @@ -1,101 +0,0 @@ -package org.utbot.examples.make.symbolic - -import org.utbot.framework.plugin.api.MockStrategyApi -import kotlin.math.abs -import kotlin.math.sqrt -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.Compilation -import org.utbot.testing.Configuration -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// This class is substituted with ComplicatedMethodsSubstitutionsStorage -// but we cannot do in code generation. -// For this reason code generation executions are disabled -internal class ClassWithComplicatedMethodsTest : UtValueTestCaseChecker( - testClass = ClassWithComplicatedMethods::class, - testCodeGeneration = true, - configurations = listOf( - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.KOTLIN, ParametrizedTestSource.DO_NOT_PARAMETRIZE, Compilation), - ), -) { - @Test - @Disabled("[SAT-1419]") - fun testApplyMethodWithSideEffectAndReturn() { - checkMocksAndInstrumentation( - ClassWithComplicatedMethods::applyMethodWithSideEffectAndReturn, - eq(2), - { x, mocks, instr, r -> - x > 0 && mocks.isEmpty() && instr.isEmpty() && sqrt(x.toDouble()) == x.toDouble() && r!!.a == 2821 - }, - { x, mocks, instr, r -> - x > 0 && mocks.isEmpty() && instr.isEmpty() && sqrt(x.toDouble()) != x.toDouble() && r!!.a == 10 - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateWithOriginalConstructor() { - checkMocksAndInstrumentation( - ClassWithComplicatedMethods::createWithOriginalConstructor, - eq(1), - { a, b, mocks, instr, r -> a > 10 && b > 10 && r!!.a == a + b && mocks.isEmpty() && instr.isEmpty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateWithSubstitutedConstructor() { - withoutConcrete { // TODO: concrete execution can't handle this - checkMocksAndInstrumentation( - ClassWithComplicatedMethods::createWithSubstitutedConstructor, - eq(1), - { a, b, mocks, instr, r -> a < 0 && b < 0 && r!!.a == (a + b).toInt() && mocks.isEmpty() && instr.isEmpty() }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testSqrt2() { - checkMocksAndInstrumentation( - ClassWithComplicatedMethods::sqrt2, - eq(1), - { mocks, instr, r -> abs(r!! - sqrt(2.0)) < eps && mocks.isEmpty() && instr.isEmpty() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testReturnSubstitutedMethod() { - withoutConcrete { // TODO: concrete execution can't handle this - checkMocksAndInstrumentation( - ClassWithComplicatedMethods::returnSubstitutedMethod, - eq(1), - { x, mocks, instr, r -> x > 100 && mocks.isEmpty() && instr.isEmpty() && r != null && r.a == x }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testAssumesWithMocks() { - checkMocksAndInstrumentation( - ClassWithComplicatedMethods::assumesWithMocks, - eq(1), - { x, mocks, instr, r -> x in 6..7 && r == 1 && mocks.isEmpty() && instr.isEmpty() }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_CLASSES - ) - } - - private val eps = 1e-8 -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/BitOperatorsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/BitOperatorsTest.kt deleted file mode 100644 index a40a390f..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/BitOperatorsTest.kt +++ /dev/null @@ -1,177 +0,0 @@ -package org.utbot.examples.math - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -internal class BitOperatorsTest : UtValueTestCaseChecker(testClass = BitOperators::class) { - @Test - fun testComplement() { - check( - BitOperators::complement, - eq(2), - { x, r -> x == -2 && r == true }, - { x, r -> x != -2 && r == false } - ) - } - - @Test - fun testXor() { - check( - BitOperators::xor, - eq(2), - { x, y, r -> x == y && r == true }, - { x, y, r -> x != y && r == false } - ) - } - - @Test - fun testOr() { - check( - BitOperators::or, - eq(2), - { x, r -> x < 16 && (x and 0xfffffff8.toInt()) == 8 && r == true }, - { x, r -> x >= 16 || (x and 0xfffffff8.toInt()) != 8 && r == false } - ) - } - - @Test - @ExperimentalStdlibApi - fun testAnd() { - check( - BitOperators::and, - eq(2), - { x, r -> x.countOneBits() <= 1 && r == true }, - { x, r -> x.countOneBits() > 1 && r == false } - ) - } - - @Test - fun testBooleanNot() { - check( - BitOperators::booleanNot, - eq(3), - { a, b, r -> a && b && r == 100 }, - { a, b, r -> a && !b && r == 200 }, - { a, b, r -> !a && !b && r == 200 }, - coverage = atLeast(91) - ) - } - - @Test - fun testBooleanXor() { - check( - BitOperators::booleanXor, - eq(1) - ) - } - - @Test - fun testBooleanOr() { - check( - BitOperators::booleanOr, - eq(1) - ) - } - - @Test - fun testBooleanAnd() { - check( - BitOperators::booleanAnd, - eq(1) - ) - } - - @Test - fun testBooleanXorCompare() { - check( - BitOperators::booleanXorCompare, - eq(2), - { a, b, r -> a != b && r == 1 }, - { a, b, r -> a == b && r == 0 } - ) - } - - @Test - fun testShl() { - check( - BitOperators::shl, - eq(2), - { x, r -> x == 1 && r == true }, - { x, r -> x != 1 && r == false } - ) - } - - @Test - fun testShlLong() { - check( - BitOperators::shlLong, - eq(2), - { x, r -> x == 1L && r == true }, - { x, r -> x != 1L && r == false } - ) - } - - @Test - fun testShlWithBigLongShift() { - check( - BitOperators::shlWithBigLongShift, - eq(3), - { shift, r -> shift < 40 && r == 1 }, - { shift, r -> shift >= 40 && shift and 0b11111 == 4L && r == 2 }, - { shift, r -> shift >= 40 && shift and 0b11111 != 4L && r == 3 }, - ) - } - - @Test - fun testShr() { - check( - BitOperators::shr, - eq(2), - { x, r -> x shr 1 == 1 && r == true }, - { x, r -> x shr 1 != 1 && r == false } - ) - } - - @Test - fun testShrLong() { - check( - BitOperators::shrLong, - eq(2), - { x, r -> x shr 1 == 1L && r == true }, - { x, r -> x shr 1 != 1L && r == false } - ) - } - - @Test - fun testUshr() { - check( - BitOperators::ushr, - eq(2), - { x, r -> x ushr 1 == 1 && r == true }, - { x, r -> x ushr 1 != 1 && r == false } - ) - } - - @Test - fun testUshrLong() { - check( - BitOperators::ushrLong, - eq(2), - { x, r -> x ushr 1 == 1L && r == true }, - { x, r -> x ushr 1 != 1L && r == false } - ) - } - - @Test - fun testSign() { - check( - BitOperators::sign, - eq(3), - { x, r -> x > 0 && r == 1 }, - { x, r -> x == 0 && r == 0 }, - { x, r -> x < 0 && r == -1 } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/DivRemExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/DivRemExamplesTest.kt deleted file mode 100644 index acd9124d..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/DivRemExamplesTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -package org.utbot.examples.math - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -internal class DivRemExamplesTest : UtValueTestCaseChecker(testClass = DivRemExamples::class) { - @Test - fun testDiv() { - checkWithException( - DivRemExamples::div, - eq(2), - { _, y, r -> y == 0 && r.isException() }, - { x, y, r -> y != 0 && r.getOrNull() == x / y } - ) - } - - @Test - fun testRem() { - checkWithException( - DivRemExamples::rem, - eq(2), - { _, y, r -> y == 0 && r.isException() }, - { x, y, r -> y != 0 && r.getOrNull() == x % y } - ) - } - - @Test - fun testRemPositiveConditional() { - checkWithException( - DivRemExamples::remPositiveConditional, - eq(3), - { d, r -> d == 0 && r.isException() }, - { d, r -> d != 0 && 11 % d == 2 && r.getOrNull() == true }, - { d, r -> d != 0 && 11 % d != 2 && r.getOrNull() == false } - ) - } - - @Test - fun testRemNegativeConditional() { - checkWithException( - DivRemExamples::remNegativeConditional, - eq(3), - { d, r -> d == 0 && r.isException() }, - { d, r -> d != 0 && -11 % d == -2 && r.getOrNull() == true }, - { d, r -> d != 0 && -11 % d != -2 && r.getOrNull() == false } - ) - } - - @Test - fun testRemWithConditions() { - checkWithException( - DivRemExamples::remWithConditions, - eq(4), - { d, r -> d < 0 && r.getOrNull() == false }, - { d, r -> d == 0 && r.isException() }, - { d, r -> d > 0 && -11 % d == -2 && r.getOrNull() == true }, - { d, r -> d > 0 && -11 % d != -2 && r.getOrNull() == false } - ) - } - - @Test - fun testRemDoubles() { - check( - DivRemExamples::remDoubles, - eq(1) - ) - } - - @Test - fun testRemDoubleInt() { - check( - DivRemExamples::remDoubleInt, - eq(1) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/DoubleFunctionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/DoubleFunctionsTest.kt deleted file mode 100644 index a69f6565..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/DoubleFunctionsTest.kt +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.examples.math - -import kotlin.math.abs -import kotlin.math.hypot -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -@Suppress("SimplifyNegatedBinaryExpression") -internal class DoubleFunctionsTest : UtValueTestCaseChecker(testClass = DoubleFunctions::class) { - @Test - @Tag("slow") - fun testHypo() { - check( - DoubleFunctions::hypo, - eq(1), - { a, b, r -> a > 1 && a < 10 && b > 1 && b < 10 && abs(r!! - hypot(a, b)) < 1e-5 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testMax() { - check( - DoubleFunctions::max, - eq(2), - { a, b, r -> a > b && r == a }, - { a, b, r -> !(a > b) && (r == b || r!!.isNaN()) } - ) - } - - @Test - @Tag("slow") - fun testCircleSquare() { - checkWithException( - DoubleFunctions::circleSquare, - eq(5), - { radius, r -> radius < 0 && r.isException() }, - { radius, r -> radius > 10000 && r.isException() }, - { radius, r -> radius.isNaN() && r.isException() }, - { radius, r -> Math.PI * radius * radius <= 777.85 && r.getOrNull() == 0.0 }, - { radius, r -> Math.PI * radius * radius > 777.85 && abs(777.85 - r.getOrNull()!!) >= 1e-5 } - ) - } - - @Test - @Tag("slow") - fun testNumberOfRootsInSquareFunction() { - check( - DoubleFunctions::numberOfRootsInSquareFunction, - eq(3), // sometimes solver substitutes a = nan || b = nan || c = nan || some combination of 0 and inf - { a, b, c, r -> !(b * b - 4 * a * c >= 0) && r == 0 }, - { a, b, c, r -> b * b - 4 * a * c == 0.0 && r == 1 }, - { a, b, c, r -> b * b - 4 * a * c > 0 && r == 2 }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/OverflowAsErrorTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/OverflowAsErrorTest.kt deleted file mode 100644 index 4120937c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/math/OverflowAsErrorTest.kt +++ /dev/null @@ -1,313 +0,0 @@ -package org.utbot.examples.math - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.OverflowDetectionError -import org.utbot.examples.algorithms.Sort -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withSolverTimeoutInMillis -import org.utbot.testcheckers.withTreatingOverflowAsError -import org.utbot.testing.* -import kotlin.math.floor -import kotlin.math.sqrt - -internal class OverflowAsErrorTest : UtValueTestCaseChecker( - testClass = OverflowExamples::class, - testCodeGeneration = true, - // Don't launch tests, because ArithmeticException will be expected, but it is not supposed to be actually thrown. - // ArithmeticException acts as a sign of Overflow. - listOf( - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.KOTLIN, ParametrizedTestSource.DO_NOT_PARAMETRIZE, Compilation), - ) -) { - @Test - fun testIntOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::intOverflow, - eq(5), - { x, _, r -> - val overflowOccurred = kotlin.runCatching { - Math.multiplyExact(x, x) - }.isFailure - overflowOccurred && r.isException() - }, // through overflow - { x, _, r -> - val twoMul = Math.multiplyExact(x, x) - val overflowOccurred = kotlin.runCatching { - Math.multiplyExact(twoMul, x) - }.isFailure - overflowOccurred && r.isException() - }, // through overflow (2nd '*') - { x, _, r -> x * x * x >= 0 && x >= 0 && r.getOrNull() == 0 }, - { x, y, r -> x * x * x > 0 && x > 0 && y == 10 && r.getOrNull() == 1 }, - { x, y, r -> x * x * x > 0 && x > 0 && y != 10 && r.getOrNull() == 0 }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testByteAddOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::byteAddOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x + y).toByte() >= 0 && x < 0 && y < 0) - val posOverflow = ((x + y).toByte() <= 0 && x > 0 && y > 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testByteWithIntOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::byteWithIntOverflow, - eq(2), - { x, y, r -> - runCatching { - Math.addExact(x.toInt(), y) - }.isFailure && r.isException() - }, - { x, y, r -> Math.addExact(x.toInt(), y).toByte() == r.getOrThrow() } - ) - } - } - - @Test - fun testByteSubOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::byteSubOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x - y).toByte() >= 0 && x < 0 && y > 0) - val posOverflow = ((x - y).toByte() <= 0 && x > 0 && y < 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testByteMulOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::byteMulOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { _, _, r -> r.isException() }, // through overflow - ) - } - } - - @Test - fun testShortAddOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::shortAddOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x + y).toShort() >= 0 && x < 0 && y < 0) - val posOverflow = ((x + y).toShort() <= 0 && x > 0 && y > 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testShortSubOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::shortSubOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x - y).toShort() >= 0 && x < 0 && y > 0) - val posOverflow = ((x - y).toShort() <= 0 && x > 0 && y < 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testShortMulOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::shortMulOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { _, _, r -> r.isException() }, // through overflow - ) - } - } - - @Test - fun testIntAddOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::intAddOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x + y) >= 0 && x < 0 && y < 0) - val posOverflow = ((x + y) <= 0 && x > 0 && y > 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testIntSubOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::intSubOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x - y) >= 0 && x < 0 && y > 0) - val posOverflow = ((x - y) <= 0 && x > 0 && y < 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testIntMulOverflow() { - // This test has solver timeout. - // Reason: softConstraints, containing limits for Int values, hang solver. - // With solver timeout softConstraints are dropped and hard constraints are SAT for overflow. - withSolverTimeoutInMillis(timeoutInMillis = 1000) { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::intMulOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { _, _, r -> r.isException() }, // through overflow - ) - } - } - } - - @Test - fun testLongAddOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::longAddOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x + y) >= 0 && x < 0 && y < 0) - val posOverflow = ((x + y) <= 0 && x > 0 && y > 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - fun testLongSubOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::longSubOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { x, y, r -> - val negOverflow = ((x - y) >= 0 && x < 0 && y > 0) - val posOverflow = ((x - y) <= 0 && x > 0 && y < 0) - (negOverflow || posOverflow) && r.isException() - }, // through overflow - ) - } - } - - @Test - @Disabled("Flaky branch count mismatch (1 instead of 2)") - fun testLongMulOverflow() { - // This test has solver timeout. - // Reason: softConstraints, containing limits for Int values, hang solver. - // With solver timeout softConstraints are dropped and hard constraints are SAT for overflow. - withSolverTimeoutInMillis(timeoutInMillis = 2000) { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::longMulOverflow, - eq(2), - { _, _, r -> !r.isException() }, - { _, _, r -> r.isException() }, // through overflow - ) - } - } - } - - @Test - fun testIncOverflow() { - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::incOverflow, - eq(2), - { _, r -> !r.isException() }, - { _, r -> r.isException() }, // through overflow - ) - } - } - - @Test - fun testIntCubeOverflow() { - val sqrtIntMax = floor(sqrt(Int.MAX_VALUE.toDouble())).toInt() - withTreatingOverflowAsError { - checkWithException( - OverflowExamples::intCubeOverflow, - eq(3), - { _, r -> !r.isException() }, - // Can't use abs(x) below, because abs(Int.MIN_VALUE) == Int.MIN_VALUE. - // (Int.MAX_VALUE shr 16) is the border of square overflow and cube overflow. - // Int.MAX_VALUE.toDouble().pow(1/3.toDouble()) - { x, r -> (x > -sqrtIntMax && x < sqrtIntMax) && r.isException() }, // through overflow - { x, r -> (x <= -sqrtIntMax || x >= sqrtIntMax) && r.isException() }, // through overflow - ) - } - } - - // Generated Kotlin code does not compile, so disabled for now - @Test - @Disabled - fun testQuickSort() { - withTreatingOverflowAsError { - checkWithException( - Sort::quickSort, - ignoreExecutionsNumber, - { _, _, _, r -> !r.isException() }, - { _, _, _, r -> r.isException() }, // through overflow - ) - } - } - - @Test - fun testIntOverflowWithoutError() { - check( - OverflowExamples::intOverflow, - eq(6), - { x, _, r -> x * x * x <= 0 && x <= 0 && r == 0 }, - { x, _, r -> x * x * x > 0 && x <= 0 && r == 0 }, // through overflow - { x, y, r -> x * x * x > 0 && x > 0 && y != 10 && r == 0 }, - { x, y, r -> x * x * x > 0 && x > 0 && y == 10 && r == 1 }, - { x, y, r -> x * x * x <= 0 && x > 0 && y != 20 && r == 0 }, // through overflow - { x, y, r -> x * x * x <= 0 && x > 0 && y == 20 && r == 2 } // through overflow - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/LoggerExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/LoggerExampleTest.kt deleted file mode 100644 index c60e7404..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/LoggerExampleTest.kt +++ /dev/null @@ -1,53 +0,0 @@ -package org.utbot.examples.mixed - -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.framework.plugin.api.UtInstrumentation -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtStaticMethodInstrumentation -import org.utbot.framework.plugin.api.isNull -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class LoggerExampleTest : UtValueTestCaseChecker( - testClass = LoggerExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testExample() { - checkMocksAndInstrumentation( - LoggerExample::example, - eq(2), - { _, instrumentation, _ -> theOnlyStaticMockValue(instrumentation).isNull() }, - { mocks, instrumentation, r -> mocks.size == 3 && instrumentation.size == 1 && r == 15 }, - additionalDependencies = arrayOf(org.slf4j.Logger::class.java), - coverage = DoNotCalculate - ) - } - - @Test - fun testLoggerUsage() { - checkMocksAndInstrumentation( - LoggerExample::loggerUsage, - eq(3), - { _, instrumentation, _ -> theOnlyStaticMockValue(instrumentation).isNull() }, - { mocks, instrumentation, r -> - (mocks.single().values.single() as UtConcreteValue<*>).value == false && instrumentation.size == 1 && r == 2 - }, - { mocks, instrumentation, r -> - (mocks.single().values.single() as UtConcreteValue<*>).value == true && instrumentation.size == 1 && r == 1 - }, - additionalDependencies = arrayOf(org.slf4j.Logger::class.java), - coverage = DoNotCalculate - ) - } - - private fun theOnlyStaticMockValue(instrumentation: List): UtModel = - instrumentation - .filterIsInstance() - .single() - .values - .single() -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/MonitorUsageTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/MonitorUsageTest.kt deleted file mode 100644 index 09974c3c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/MonitorUsageTest.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.ignoreExecutionsNumber - -internal class MonitorUsageTest : UtValueTestCaseChecker(testClass = MonitorUsage::class) { - @Test - fun testSimpleMonitor() { - check( - MonitorUsage::simpleMonitor, - ignoreExecutionsNumber, - { x, r -> x <= 0 && r == 0 }, - { x, r -> x > 0 && x <= Int.MAX_VALUE - 1 && r == 1 }, - coverage = atLeast(81) // differs from JaCoCo - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/OverloadTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/OverloadTest.kt deleted file mode 100644 index b6012d8d..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/OverloadTest.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class OverloadTest : UtValueTestCaseChecker(testClass = Overload::class) { - @Test - fun testSignOneParam() { - check( - Overload::sign, - eq(3), - { x, r -> x < 0 && r == -1 }, - { x, r -> x == 0 && r == 0 }, - { x, r -> x > 0 && r == 1 } - ) - } - - @Test - fun testSignTwoParams() { - check( - Overload::sign, - eq(3), - { x, y, r -> x + y < 0 && r == -1 }, - { x, y, r -> x + y == 0 && r == 0 }, - { x, y, r -> x + y > 0 && r == 1 } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/PrivateConstructorExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/PrivateConstructorExampleTest.kt deleted file mode 100644 index bcf8230e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/PrivateConstructorExampleTest.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class PrivateConstructorExampleTest : UtValueTestCaseChecker( - testClass = PrivateConstructorExample::class, -) { - - /** - * Two branches need to be covered: - * 1. argument must be <= a - b, - * 2. argument must be > a - b - * - * a and b are fields of the class under test - */ - @Test - fun testLimitedSub() { - checkWithThis( - PrivateConstructorExample::limitedSub, - eq(2), - { caller, limit, r -> caller.a - caller.b >= limit && r == caller.a - caller.b }, - { caller, limit, r -> caller.a - caller.b < limit && r == limit }, - coverage = DoNotCalculate // TODO: Method coverage with `this` parameter isn't supported - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SerializableExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SerializableExampleTest.kt deleted file mode 100644 index 1897093f..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SerializableExampleTest.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class SerializableExampleTest : UtValueTestCaseChecker(testClass = SerializableExample::class) { - - @Test - fun testExample() { - check( - SerializableExample::example, - eq(1), - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SimpleNoConditionTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SimpleNoConditionTest.kt deleted file mode 100644 index 8bddaa3e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SimpleNoConditionTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class SimpleNoConditionTest : UtValueTestCaseChecker(testClass = SimpleNoCondition::class) { - - @Test - fun testNoConditionAdd() { - check( - SimpleNoCondition::basicAdd, - eq(1) - ) - } - - @Test - fun testNoConditionPow() { - check( - SimpleNoCondition::basicXorInt, - eq(1) - ) - } - - @Test - fun testNoConditionPowBoolean() { - check( - SimpleNoCondition::basicXorBoolean, - eq(1) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SimplifierTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SimplifierTest.kt deleted file mode 100644 index 0c6b13aa..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/SimplifierTest.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class SimplifierTest: UtValueTestCaseChecker(testClass = Simplifier::class) { - @Test - fun testSimplifyAdditionWithZero() { - check( - Simplifier::simplifyAdditionWithZero, - eq(1), - { fst, r -> r != null && r.x == fst.shortValue.toInt() }, - coverage = DoNotCalculate // because of assumes - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/StaticInitializerExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/StaticInitializerExampleTest.kt deleted file mode 100644 index fd31bb20..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/StaticInitializerExampleTest.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.examples.StaticInitializerExample -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -@Disabled("Unknown build failure") -internal class StaticInitializerExampleTest : UtValueTestCaseChecker(testClass = StaticInitializerExample::class) { - @Test - fun testPositive() { - check( - StaticInitializerExample::positive, - eq(2), - { i, r -> i > 0 && r == true }, - { i, r -> i <= 0 && r == false }, - ) - } - - @Test - fun testNegative() { - check( - StaticInitializerExample::negative, - eq(2), - { i, r -> i < 0 && r == true }, - { i, r -> i >= 0 && r == false }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/StaticMethodExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/StaticMethodExamplesTest.kt deleted file mode 100644 index 7e715629..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mixed/StaticMethodExamplesTest.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.mixed - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class StaticMethodExamplesTest : UtValueTestCaseChecker(testClass = StaticMethodExamples::class) { - // TODO: inline local variables when types inference bug in Kotlin fixed - @Test - fun testComplement() { - val method = StaticMethodExamples::complement - checkStaticMethod( - method, - eq(2), - { x, r -> x == -2 && r == true }, - { x, r -> x != -2 && r == false } - ) - } - - @Test - fun testMax2() { - val method = StaticMethodExamples::max2 - checkStaticMethod( - method, - eq(2), - { x, y, r -> x > y && r == x }, - { x, y, r -> x <= y && r == y.toInt() } - ) - } - - @Test - fun testSum() { - val method = StaticMethodExamples::sum - checkStaticMethod( - method, - eq(3), - { x, y, z, r -> x + y + z < -20 && r == (x + y + z).toLong() * 2 }, - { x, y, z, r -> x + y + z > 20 && r == (x + y + z).toLong() * 2 }, - { x, y, z, r -> x + y + z in -20..20 && r == (x + y + z).toLong() } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/ArgumentsMockTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/ArgumentsMockTest.kt deleted file mode 100644 index 00c1bcfd..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/ArgumentsMockTest.kt +++ /dev/null @@ -1,363 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.examples.mock.provider.Provider -import org.utbot.examples.mock.service.impl.ExampleClass -import org.utbot.examples.mock.service.impl.ServiceWithArguments -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.isParameter -import org.utbot.testing.mocksMethod -import org.utbot.testing.value - -internal class ArgumentsMockTest : UtValueTestCaseChecker(testClass = ServiceWithArguments::class) { - @Test - fun testMockForArguments_callMultipleMethods() { - checkMocksAndInstrumentation( - ServiceWithArguments::callMultipleMethods, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - val firstMockConstraint = mocks[0].mocksMethod(Provider::provideInteger) - val secondMockConstraint = mocks[1].mocksMethod(Provider::provideLong) - val valueConstraint = mocks[0].value() < mocks[1].value() - val mockedValues = mocks.all { it.isParameter(1) } - - firstMockConstraint && secondMockConstraint && valueConstraint && mockedValues && r == 1 - }, - { _, mocks, _, r -> - val firstMockConstraint = mocks[0].mocksMethod(Provider::provideInteger) - val secondMockConstraint = mocks[1].mocksMethod(Provider::provideLong) - val valueConstraint = mocks[0].value() >= mocks[1].value() - val mockedValue = mocks.all { it.isParameter(1) } - - firstMockConstraint && secondMockConstraint && valueConstraint && mockedValue && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_IntArgument() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnIntArgument, - eq(3), - { provider, _, _, _, _ -> provider == null }, - { _, _, mocks, _, r -> - val singleMock = mocks.single() - - val mocksMethod = singleMock.mocksMethod(Provider::provideGiven) - val valueConstraint = singleMock.value(0) < singleMock.value(1) - val paramConstraint = singleMock.isParameter(1) - - mocksMethod && valueConstraint && paramConstraint && r == 1 - }, - { _, _, mocks, _, r -> - val singleMock = mocks.single() - - val mocksMethod = singleMock.mocksMethod(Provider::provideGiven) - val valueConstraint = singleMock.value(0) >= singleMock.value(1) - val paramConstraint = singleMock.isParameter(1) - - mocksMethod && valueConstraint && paramConstraint && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_BooleanPrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnBoolean, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideBoolean) && value() && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideBoolean) && !value() && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_inconsistentBoolean() { - checkMocksAndInstrumentation( - ServiceWithArguments::inconsistentBoolean, - eq(4), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideBoolean) && !value() && isParameter(1) && r == 0 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideBoolean) && value(0) && value(1) && isParameter(1) && r == 0 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideBoolean) && value(0) && !value(1) && isParameter(1) && r == 1 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - - @Test - fun testMockForArguments_CharacterPrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnCharacter, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideCharacter) && value() > 'a' && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideCharacter) && value() <= 'a' && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_BytePrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnByte, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideByte) && value() > 5 && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideByte) && value() <= 5 && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_ShortPrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnShort, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideShort) && value() > 5 && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideShort) && value() <= 5 && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_IntPrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnInteger, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideInteger) && value() > 5 && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideInteger) && value() <= 5 && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_LongPrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnLong, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideLong) && value() > 5 && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideLong) && value() <= 5 && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Suppress("SimplifyNegatedBinaryExpression") - @Test - fun testMockForArguments_FloatPrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnFloat, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideFloat) && value() > 1f && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideFloat) && !(value() > 1f) && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Suppress("SimplifyNegatedBinaryExpression") - @Test - fun testMockForArguments_DoublePrimitive() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnDouble, - eq(3), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideDouble) && value() > 1.0 && isParameter(1) && r == 1 - } - }, - { _, mocks, _, r -> - mocks.single().run { - mocksMethod(Provider::provideDouble) && !(value() > 1.0) && isParameter(1) && r == 0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_returnObject() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnObject, - eq(4), - { provider, _, _, _ -> provider == null }, - { _, mocks, _, _ -> - mocks.single().run { - mocksMethod(Provider::provideObject) && value() == null && isParameter(1) - } - }, - { _, mocks, _, r -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideObject) && value().field == 0 && isParameter(1) - } - - mockConstraint && r == 1 - }, - { _, mocks, _, r -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideObject) && value().field != 0 && isParameter(1) - } - - mockConstraint && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_overloadedMethods() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnOverloadedMethods, - eq(3), - { provider, _, _, _, r -> provider == null && r == null }, - { _, _, mocks, _, r -> - val zeroMockConstraint = mocks[0].run { - val mockFunc: Provider.() -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.(Int) -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) && isParameter(1) - } - val firstMockConstraint = mocks[1].run { - val mockFunc: Provider.(Int) -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.() -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) && isParameter(1) - } - - zeroMockConstraint && firstMockConstraint && mocks[0].value() < mocks[1].value() && r == 1 - }, - - { _, _, mocks, _, r -> - val zeroMockConstraint = mocks[0].run { - val mockFunc: Provider.() -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.(Int) -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) && isParameter(1) - } - val firstMockConstraint = mocks[1].run { - val mockFunc: Provider.(Int) -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.() -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) && isParameter(1) - } - - zeroMockConstraint && firstMockConstraint && mocks[0].value() >= mocks[1].value() && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForArguments_objectArguments() { - checkMocksAndInstrumentation( - ServiceWithArguments::calculateBasedOnObjectArgument, - between(3..4), - { provider, _, mocks, _, r -> provider == null && mocks.isEmpty() && r == null }, // NPE - { _, obj, _, _, _ -> obj != null }, - { _, _, mocks, _, r -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideGivenObject) && value() < 1 && isParameter(1) - } - mockConstraint && r == 1 - }, - { _, _, mocks, _, r -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideGivenObject) && value() >= 1 && isParameter(1) - } - mockConstraint && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/CommonMocksExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/CommonMocksExampleTest.kt deleted file mode 100644 index ae2609d7..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/CommonMocksExampleTest.kt +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.MockStrategyApi -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -internal class CommonMocksExampleTest: UtValueTestCaseChecker(testClass = CommonMocksExample::class) { - - //TODO: coverage values here require further investigation by experts - - @Test - fun testMockInterfaceWithoutImplementorsWithNoMocksStrategy() { - checkMocks( - CommonMocksExample::mockInterfaceWithoutImplementors, - eq(1), - { v, mocks, _ -> v == null && mocks.isEmpty() }, - mockStrategy = MockStrategyApi.NO_MOCKS, - coverage = atLeast(75), - ) - } - - @Test - fun testMockInterfaceWithoutImplementorsWithMockingStrategy() { - checkMocks( - CommonMocksExample::mockInterfaceWithoutImplementors, - eq(2), - { v, mocks, _ -> v == null && mocks.isEmpty() }, - { _, mocks, _ -> mocks.singleOrNull() != null }, - mockStrategy = MockStrategyApi.OTHER_CLASSES, - coverage = atLeast(75), - ) - } - - // TODO JIRA:1449 - @Test - fun testDoNotMockEquals() { - checkMocks( - CommonMocksExample::doNotMockEquals, - eq(2), - { fst, _, mocks, _ -> fst == null && mocks.isEmpty() }, - { _, _, mocks, _ -> mocks.isEmpty() }, // should be changed to not null fst when 1449 will be finished - mockStrategy = MockStrategyApi.OTHER_PACKAGES, - coverage = atLeast(75) - ) - } - - // TODO JIRA:1449 - @Test - fun testNextValue() { - checkMocks( - CommonMocksExample::nextValue, - eq(4), - // node == null -> NPE - // node.next == null -> NPE - // node == node.next - // node.next.value == node.value + 1 - mockStrategy = MockStrategyApi.OTHER_CLASSES, - coverage = atLeast(13) - ) - } - - @Test - fun testClinitMockExample() { - check( - CommonMocksExample::clinitMockExample, - eq(1), - { r -> r == -420 }, - mockStrategy = MockStrategyApi.OTHER_CLASSES, - coverage = atLeast(70), - ) - } - - @Test - fun testMocksForNullOfDifferentTypes() { - check( - CommonMocksExample::mocksForNullOfDifferentTypes, - eq(1), - mockStrategy = MockStrategyApi.OTHER_PACKAGES, - coverage = atLeast(75) - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/FieldMockTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/FieldMockTest.kt deleted file mode 100644 index ff94de21..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/FieldMockTest.kt +++ /dev/null @@ -1,291 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.examples.mock.provider.Provider -import org.utbot.examples.mock.service.impl.ExampleClass -import org.utbot.examples.mock.service.impl.ServiceWithField -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.mocksMethod -import org.utbot.testing.value - -internal class FieldMockTest : UtValueTestCaseChecker( - testClass = ServiceWithField::class, -) { - @Test - fun testMockForField_callMultipleMethods() { - checkMocksAndInstrumentation( - ServiceWithField::callMultipleMethods, - eq(3), - { _, _, r -> r == null }, - { mocks, _, r -> - val zeroMock = mocks[0].mocksMethod(Provider::provideInteger) - val firstMock = mocks[1].mocksMethod(Provider::provideLong) - val valueConstraint = mocks[0].value() < mocks[1].value() - - zeroMock && firstMock && valueConstraint && r == 1 - }, - { mocks, _, r -> - val zeroMock = mocks[0].mocksMethod(Provider::provideInteger) - val firstMock = mocks[1].mocksMethod(Provider::provideLong) - val valueConstraint = mocks[0].value() >= mocks[1].value() - - zeroMock && firstMock && valueConstraint && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_IntArgument() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnIntArgument, - eq(3), - { _, _, _, r -> r == null }, - { _, mocks, _, _ -> - mocks.single().run { - mocksMethod(Provider::provideGiven) && value(0) < value(1) - } - }, - { _, mocks, _, _ -> - mocks.single().run { - mocksMethod(Provider::provideGiven) && value(0) >= value(1) - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_BooleanPrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnBoolean, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && value() } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && !value() } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_inconsistentBoolean() { - checkMocksAndInstrumentation( - ServiceWithField::inconsistentBoolean, - eq(4), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && !value() } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && value(0) && value(1) } }, - { mocks, _, _ -> - mocks.single().run { mocksMethod(Provider::provideBoolean) && value(0) && !value(1) } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - - @Test - fun testMockForField_CharacterPrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnCharacter, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideCharacter) && value() > 'a' } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideCharacter) && value() <= 'a' } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_BytePrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnByte, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideByte) && value() > 5 } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideByte) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_ShortPrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnShort, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideShort) && value() > 5 } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideShort) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_IntPrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnInteger, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideInteger) && value() > 5 } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideInteger) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_LongPrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnLong, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideLong) && value() > 5 } }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideLong) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_FloatPrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnFloat, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideFloat) && value() > 1f } }, - { mocks, _, _ -> - mocks.single().run { - mocksMethod(Provider::provideFloat) && value().isNaN() || value() <= 1f - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_DoublePrimitive() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnDouble, - eq(3), - { _, _, r -> r == null }, - { mocks, _, _ -> mocks.single().run { mocksMethod(Provider::provideDouble) && value() > 1.0 } }, - { mocks, _, _ -> - mocks.single().run { - mocksMethod(Provider::provideDouble) && value().isNaN() || value() <= 1.0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_returnObject() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnObject, - eq(4), - { _, _, r -> r == null }, - { mocks, _, _ -> - mocks.single().run { - mocksMethod(Provider::provideObject) && value() == null - } - }, - { mocks, _, result -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideObject) && value().field == 0 - } - - mockConstraint && result == 1 - }, - { mocks, _, result -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideObject) && - value().field != 0 - } - - mockConstraint && result == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_overloadedMethods() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnOverloadedMethods, - eq(3), - { _, _, _, r -> r == null }, - { _, mocks, _, result -> - val zeroMockConstraint = mocks[0].run { - val mockFunc: Provider.() -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.(Int) -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val firstMockConstraint = mocks[1].run { - val mockFunc: Provider.(Int) -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.() -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val valueConstraint = mocks[0].value() < mocks[1].value() - - zeroMockConstraint && firstMockConstraint && valueConstraint && result == 1 - }, - { _, mocks, _, result -> - val zeroMockConstraint = mocks[0].run { - val mockFunc: Provider.() -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.(Int) -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val firstMockConstraint = mocks[1].run { - val mockFunc: Provider.(Int) -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.() -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val valueConstraint = mocks[0].value() >= mocks[1].value() - - zeroMockConstraint && firstMockConstraint && valueConstraint && result == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForField_objectArguments() { - checkMocksAndInstrumentation( - ServiceWithField::calculateBasedOnObjectArgument, - between(3..4), - { _, _, _, r -> r == null }, - { obj, _, _, _ -> obj == null }, - { obj, _, _, _ -> obj != null }, - { _, mocks, _, r -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideGivenObject) && value() < 1 - } - mockConstraint && r == 1 - }, - { _, mocks, _, r -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideGivenObject) && value() >= 1 - } - - mockConstraint && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/InnerMockWithFieldChecker.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/InnerMockWithFieldChecker.kt deleted file mode 100644 index 30a746e0..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/InnerMockWithFieldChecker.kt +++ /dev/null @@ -1,52 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.isMockModel -import org.utbot.framework.plugin.api.isNotNull -import org.utbot.framework.plugin.api.isNull -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtModelTestCaseChecker -import org.utbot.testing.getOrThrow -import org.utbot.testing.primitiveValue - -internal class InnerMockWithFieldChecker : UtModelTestCaseChecker(testClass = InnerMockWithFieldExample::class) { - @Test - fun testCheckAndUpdate() { - checkStatic( - InnerMockWithFieldExample::checkAndUpdate, - eq(4), - { example, r -> example.isNull() && r.isException() }, - { example, r -> example.isNotNull() && example.stamp.isNull() && r.isException() }, - { example, r -> - val result = r.getOrThrow() - val isMockModels = example.stamp.isMockModel() && result.isMockModel() - val stampConstraint = example.stamp.initial > example.stamp.version - val postcondition = result.initial == example.stamp.initial && result.version == result.initial - - isMockModels && stampConstraint && postcondition - }, - { example, r -> - val result = r.getOrThrow() - val stamp = example.stamp - - val isMockModels = stamp.isMockModel() && result.isMockModel() - val stampConstraint = stamp.initial <= stamp.version - val postcondition = result.initial == stamp.initial && result.version == stamp.version + 1 - - isMockModels && stampConstraint && postcondition - }, - mockStrategy = OTHER_PACKAGES - ) - } - - private val UtModel.stamp: UtModel - get() = findField("stamp") - - private val UtModel.initial: Int - get() = findField("initial").primitiveValue() - - private val UtModel.version: Int - get() = findField("version").primitiveValue() -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockFinalClassTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockFinalClassTest.kt deleted file mode 100644 index 8f0f2ad1..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockFinalClassTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.examples.mock.others.FinalClass -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_CLASSES -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.ge -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.singleMock -import org.utbot.testing.value - -internal class MockFinalClassTest : UtValueTestCaseChecker( - testClass = MockFinalClassExample::class, -) { - @Test - fun testFinalClass() { - checkMocks( - MockFinalClassExample::useFinalClass, - ge(2), - { mocks, r -> - val intProvider = mocks.singleMock("intProvider", FinalClass::provideInt) - intProvider.value(0) == 1 && r == 1 - }, - { mocks, r -> - val intProvider = mocks.singleMock("intProvider", FinalClass::provideInt) - intProvider.value(0) != 1 && r == 2 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_CLASSES - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockRandomTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockRandomTest.kt deleted file mode 100644 index 5d7bba68..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockRandomTest.kt +++ /dev/null @@ -1,149 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtNewInstanceInstrumentation -import java.util.Random -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isParameter -import org.utbot.testing.mockValues -import org.utbot.testing.mocksMethod -import org.utbot.testing.singleMock -import org.utbot.testing.value - -// TODO Kotlin mocks generics https://github.com/UnitTestBot/UTBotJava/issues/88 -internal class MockRandomTest : UtValueTestCaseChecker( - testClass = MockRandomExamples::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testRandomAsParameter() { - val method: Random.() -> Int = Random::nextInt - checkMocks( - MockRandomExamples::randomAsParameter, - eq(3), - { random, _, _, r -> random == null && r == null }, // NPE - { random, threshold, mocks, r -> - val mock = mocks.single() - assert(mock.isParameter(1) && mock.mocksMethod(method)) - val nextInt = mock.value() - - random == null && nextInt > threshold && r == threshold + 1 - }, - { random, threshold, mocks, r -> - val mock = mocks.single() - assert(mock.isParameter(1) && mock.mocksMethod(method)) - val nextInt = mock.value() - - random == null && nextInt <= threshold && r == nextInt - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRandomAsField() { - val method: Random.() -> Int = Random::nextInt - checkMocks( - MockRandomExamples::randomAsField, - eq(3), - { _, _, r -> r == null }, // NPE - { threshold, mocks, r -> - val mock = mocks.singleMock("random", method) - val nextInt = mock.value() - - nextInt > threshold && r == threshold + 1 - }, - { threshold, mocks, r -> - val mock = mocks.singleMock("random", method) - val nextInt = mock.value() - - nextInt <= threshold && r == nextInt - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRandomAsLocalVariable() { - checkMocksAndInstrumentation( - MockRandomExamples::randomAsLocalVariable, - eq(2), - { _, instrumentation, r -> - val mockInstances = instrumentation - .filterIsInstance() - .single { it.classId.name == "java.util.Random" } - .instances - //TODO: support any UtModel here after SAT-1135 is completed - .filterIsInstance() - - assert(mockInstances.size == 2) - - val firstMockValues = mockInstances[0].mockValues("nextInt") - val secondMockValues = mockInstances[1].mockValues("nextInt") - - val sizes = firstMockValues.size == 2 && secondMockValues.size == 2 - val valueConstraint = firstMockValues[0] + firstMockValues[1] + secondMockValues[0] > 1000 - val resultConstraint = r == secondMockValues[1] - - sizes && valueConstraint && resultConstraint - }, - { _, instrumentation, r -> - val mockInstances = instrumentation - .filterIsInstance() - .single { it.classId.name == "java.util.Random" } - .instances - .filterIsInstance() - - assert(mockInstances.size == 3) - - val firstMockValues = mockInstances[0].mockValues("nextInt") - val secondMockValues = mockInstances[1].mockValues("nextInt") - val thirdMockValues = mockInstances[2].mockValues("nextInt") - - val sizes = firstMockValues.size == 2 && secondMockValues.size == 1 && thirdMockValues.size == 1 - val valueConstraint = firstMockValues[0] + firstMockValues[1] + secondMockValues[0] <= 1000 - val resultConstraint = r == thirdMockValues[0] - - sizes && valueConstraint && resultConstraint - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testUseSecureRandom() { - checkMocksAndInstrumentation( - MockRandomExamples::useSecureRandom, - eq(2), - { _, instrumentation, r -> - val mock = instrumentation - .filterIsInstance() - .single { it.classId.name == "java.security.SecureRandom" } - .instances - .filterIsInstance() - .single() - - val values = mock.mockValues("nextInt") - - values.size == 1 && values[0] > 1000 && r == 1 - }, - { _, instrumentation, r -> - val mock = instrumentation - .filterIsInstance() - .single { it.classId.name == "java.security.SecureRandom" } - .instances - .filterIsInstance() - .single() - - val values = mock.mockValues("nextInt") - - values.size == 2 && values[0] <= 1000 && r == values[1] - }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockReturnObjectExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockReturnObjectExampleTest.kt deleted file mode 100644 index 51cd5f27..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockReturnObjectExampleTest.kt +++ /dev/null @@ -1,74 +0,0 @@ -package org.utbot.examples.mock - -import org.junit.jupiter.api.Disabled -import org.utbot.examples.mock.others.Generator -import org.utbot.examples.mock.others.Locator -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.mockValue -import org.utbot.testing.singleMock -import org.utbot.testing.singleMockOrNull -import org.utbot.testing.value - -internal class MockReturnObjectExampleTest : UtValueTestCaseChecker(testClass = MockReturnObjectExample::class) { - @Test - @Disabled("Java 11 transition") - fun testMockReturnObject() { - checkMocks( - MockReturnObjectExample::calculate, - eq(6), // 4 NPE - // NPE, privateLocator is null - { _, mocks, r -> - val privateLocator = mocks.singleMockOrNull("privateLocator", Locator::locate) - privateLocator == null && r == null - }, - // NPE, privateLocator.locate() returns null - { _, mocks, r -> - val generator = mocks.singleMock("privateLocator", Locator::locate).value() - generator == null && r == null - }, - // NPE, publicLocator is null - { _, mocks, r -> - val publicLocator = mocks.singleMockOrNull("publicLocator", Locator::locate) - publicLocator == null && r == null - }, - // NPE, publicLocator.locate() returns null - { _, mocks, r -> - val generator = mocks.singleMock("publicLocator", Locator::locate).value() - generator == null && r == null - }, - { threshold, mocks, r -> - val mockId1 = mocks.singleMock("privateLocator", Locator::locate).mockValue().id - val mockId2 = mocks.singleMock("publicLocator", Locator::locate).mockValue().id - - val mock1 = mocks.singleMock(mockId1, Generator::generateInt) - val mock2 = mocks.singleMock(mockId2, Generator::generateInt) - - val (index1, index2) = if (mock1.values.size > 1) 0 to 1 else 0 to 0 - val value1 = mock1.value(index1) - val value2 = mock2.value(index2) - - - threshold < value1 + value2 && r == threshold - }, - { threshold, mocks, r -> - val mockId1 = mocks.singleMock("privateLocator", Locator::locate).mockValue().id - val mockId2 = mocks.singleMock("publicLocator", Locator::locate).mockValue().id - - val mock1 = mocks.singleMock(mockId1, Generator::generateInt) - val mock2 = mocks.singleMock(mockId2, Generator::generateInt) - - val (index1, index2) = if (mock1.values.size > 1) 0 to 1 else 0 to 0 - val value1 = mock1.value(index1) - val value2 = mock2.value(index2) - - threshold >= value1 + value2 && r == value1 + value2 + 1 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockStaticFieldExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockStaticFieldExampleTest.kt deleted file mode 100644 index a08efc91..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockStaticFieldExampleTest.kt +++ /dev/null @@ -1,119 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.examples.mock.others.Generator -import org.utbot.framework.plugin.api.FieldMockTarget -import org.utbot.framework.plugin.api.MockInfo -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import kotlin.reflect.KClass -import org.junit.jupiter.api.Test -import org.utbot.examples.mock.others.ClassWithStaticField -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtNewInstanceInstrumentation -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.singleMock -import org.utbot.testing.singleMockOrNull -import org.utbot.testing.value - -internal class MockStaticFieldExampleTest : UtValueTestCaseChecker( - testClass = MockStaticFieldExample::class, - testCodeGeneration = true, - // disabled due to https://github.com/UnitTestBot/UTBotJava/issues/88 - configurations = ignoreKotlinCompilationConfigurations, -) { - - @Test - fun testMockStaticField() { - withoutConcrete { // TODO JIRA:1420 - checkMocks( - MockStaticFieldExample::calculate, - eq(4), // 2 NPE - // NPE, privateGenerator is null - { _, mocks, r -> - val privateGenerator = mocks.singleMockOrNull("privateGenerator", Generator::generateInt) - privateGenerator == null && r == null - }, - // NPE, publicGenerator is null - { _, mocks, r -> - val publicGenerator = mocks.singleMockOrNull("publicGenerator", Generator::generateInt) - publicGenerator == null && r == null - }, - { threshold, mocks, r -> - val mock1 = mocks.singleMock("privateGenerator", Generator::generateInt) - val mock2 = mocks.singleMock("publicGenerator", Generator::generateInt) - - val (index1, index2) = if (mock1.values.size > 1) 0 to 1 else 0 to 0 - - val value1 = mock1.value(index1) - val value2 = mock2.value(index2) - - val firstMockConstraint = mock1.mocksStaticField(MockStaticFieldExample::class) - val secondMockConstraint = mock2.mocksStaticField(MockStaticFieldExample::class) - val resultConstraint = threshold < value1 + value2 && r == threshold - - firstMockConstraint && secondMockConstraint && resultConstraint - }, - { threshold, mocks, r -> - val mock1 = mocks.singleMock("privateGenerator", Generator::generateInt) - val mock2 = mocks.singleMock("publicGenerator", Generator::generateInt) - - val (index1, index2) = if (mock1.values.size > 1) 0 to 1 else 0 to 0 - - val value1 = mock1.value(index1) - val value2 = mock2.value(index2) - - val firstMockConstraint = mock1.mocksStaticField(MockStaticFieldExample::class) - val secondMockConstraint = mock2.mocksStaticField(MockStaticFieldExample::class) - val resultConstraint = threshold >= value1 + value2 && r == value1 + value2 + 1 - - firstMockConstraint && secondMockConstraint && resultConstraint - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - } - - @Test - fun testCheckMocksInLeftAndRightAssignPartFinalField() { - checkMocks( - MockStaticFieldExample::checkMocksInLeftAndRightAssignPartFinalField, - eq(1), - { mocks, _ -> - val mock = mocks.singleMock("staticFinalField", ClassWithStaticField::foo) - - mock.mocksStaticField(MockStaticFieldExample::class) - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testCheckMocksInLeftAndRightAssignPart() { - checkMocksAndInstrumentation( - MockStaticFieldExample::checkMocksInLeftAndRightAssignPart, - eq(2), - { _, statics, _ -> - val instrumentation = statics.single() as UtNewInstanceInstrumentation - val model = instrumentation.instances.last() as UtCompositeModel - - model.fields.isEmpty() // NPE - }, - { mocks, _, _ -> - val mock = mocks.singleMock("staticField", ClassWithStaticField::foo) - - mock.mocksStaticField(MockStaticFieldExample::class) - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - private fun MockInfo.mocksStaticField(kClass: KClass<*>) = when (val mock = mock) { - is FieldMockTarget -> mock.ownerClassName == kClass.qualifiedName && mock.owner == null - else -> false - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockStaticMethodExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockStaticMethodExampleTest.kt deleted file mode 100644 index 15156649..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockStaticMethodExampleTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.util.singleModel -import org.utbot.framework.util.singleStaticMethod -import org.utbot.framework.util.singleValue -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.util.id -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// TODO Kotlin mocks generics https://github.com/UnitTestBot/UTBotJava/issues/88 -internal class MockStaticMethodExampleTest : UtValueTestCaseChecker( - testClass = MockStaticMethodExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testUseStaticMethod() { - checkMocksAndInstrumentation( - MockStaticMethodExample::useStaticMethod, - eq(2), - { _, instrumentation, r -> - val mockValue = instrumentation - .singleStaticMethod("nextRandomInt") - .singleModel() - .singleValue() as Int - - mockValue > 50 && r == 100 - }, - { _, instrumentation, r -> - val mockValue = instrumentation - .singleStaticMethod("nextRandomInt") - .singleModel() - .singleValue() as Int - - mockValue <= 50 && r == 0 - }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } - - @Test - fun testMockStaticMethodFromAlwaysMockClass() { - checkMocksAndInstrumentation( - MockStaticMethodExample::mockStaticMethodFromAlwaysMockClass, - eq(1), - coverage = DoNotCalculate, - additionalMockAlwaysClasses = setOf(System::class.id) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockWithFieldChecker.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockWithFieldChecker.kt deleted file mode 100644 index 397981d5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockWithFieldChecker.kt +++ /dev/null @@ -1,47 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.isMockModel -import org.utbot.framework.plugin.api.isNull -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtModelTestCaseChecker -import org.utbot.testing.getOrThrow -import org.utbot.testing.primitiveValue - -internal class MockWithFieldChecker : UtModelTestCaseChecker(testClass = MockWithFieldExample::class) { - @Test - fun testCheckAndUpdate() { - check( - MockWithFieldExample::checkAndUpdate, - eq(3), - { stamp, r -> stamp.isNull() && r.isException() }, - { stamp, r -> - val result = r.getOrThrow() - - val mockModels = stamp.isMockModel() && result.isMockModel() - val stampValues = stamp.initial > stamp.version - val resultConstraint = result.initial == stamp.initial && result.version == result.initial - - mockModels && stampValues && resultConstraint - }, - { stamp, r -> - val result = r.getOrThrow() - - val mockModels = stamp.isMockModel() && result.isMockModel() - val stampValues = stamp.initial <= stamp.version - val resultConstraint = result.initial == stamp.initial && result.version == stamp.version + 1 - - mockModels && stampValues && resultConstraint - }, - mockStrategy = OTHER_PACKAGES - ) - } - - private val UtModel.initial: Int - get() = findField("initial").primitiveValue() - - private val UtModel.version: Int - get() = findField("version").primitiveValue() -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockWithSideEffectExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockWithSideEffectExampleTest.kt deleted file mode 100644 index bb313905..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/MockWithSideEffectExampleTest.kt +++ /dev/null @@ -1,69 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.MockStrategyApi -import org.junit.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -internal class MockWithSideEffectExampleTest : UtValueTestCaseChecker(testClass = MockWithSideEffectExample::class) { - @Test - fun testSideEffect() { - checkWithException( - MockWithSideEffectExample::checkSideEffect, - eq(3), - { _, r -> r.isException() }, - { _, r -> r.getOrNull() == false }, - { _, r -> r.getOrNull() == true }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } - - @Test - fun testSideEffectWithoutMocks() { - checkWithException( - MockWithSideEffectExample::checkSideEffect, - eq(2), - { _, r -> r.isException() }, - { _, r -> r.getOrNull() == true }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.NO_MOCKS - ) - } - - @Test - fun testSideEffectElimination() { - checkWithException( - MockWithSideEffectExample::checkSideEffectElimination, - eq(1), - { _, r -> r.getOrNull() == true }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } - - @Test - fun testStaticMethodSideEffectElimination() { - checkWithException( - MockWithSideEffectExample::checkStaticMethodSideEffectElimination, - eq(1), - { _, r -> r.getOrNull() == true }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } - - @Test - fun testStaticMethodSideEffectEliminationWithoutMocks() { - checkWithException( - MockWithSideEffectExample::checkStaticMethodSideEffectElimination, - eq(1), - { _, r -> r.getOrNull() == false }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.NO_MOCKS - ) - } - -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/StaticFieldMockTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/StaticFieldMockTest.kt deleted file mode 100644 index e963a1e6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/StaticFieldMockTest.kt +++ /dev/null @@ -1,278 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.examples.mock.provider.Provider -import org.utbot.examples.mock.service.impl.ExampleClass -import org.utbot.examples.mock.service.impl.ServiceWithStaticField -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.mocksMethod -import org.utbot.testing.value -internal class StaticFieldMockTest : UtValueTestCaseChecker(testClass = ServiceWithStaticField::class) { - - @Test - fun testMockForStaticField_callMultipleMethods() { - checkMocks( - ServiceWithStaticField::callMultipleMethods, - eq(3), - { _, r -> r == null }, - { mocks, _ -> - val firstMockConstraint = mocks[0].mocksMethod(Provider::provideInteger) - val secondMockConstraint = mocks[1].mocksMethod(Provider::provideLong) - val resultConstraint = mocks[0].value() < mocks[1].value() - - firstMockConstraint && secondMockConstraint && resultConstraint - }, - { mocks, _ -> - val firstMockConstraint = mocks[0].mocksMethod(Provider::provideInteger) - val secondMockConstraint = mocks[1].mocksMethod(Provider::provideLong) - val resultConstraint = mocks[0].value() >= mocks[1].value() - - firstMockConstraint && secondMockConstraint && resultConstraint - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_IntArgument() { - checkMocks( - ServiceWithStaticField::calculateBasedOnIntArgument, - eq(3), - { _, _, r -> r == null }, - { _, mocks, _ -> - mocks.single().run { - mocksMethod(Provider::provideGiven) && value(0) < value(1) - } - }, - { _, mocks, _ -> - mocks.single().run { - mocksMethod(Provider::provideGiven) && value(0) >= value(1) - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_BooleanPrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnBoolean, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && value() } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && !value() } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_inconsistentBoolean() { - checkMocks( - ServiceWithStaticField::inconsistentBoolean, - eq(4), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && !value() } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideBoolean) && value(0) && value(1) } }, - { mocks, _ -> - mocks.single().run { mocksMethod(Provider::provideBoolean) && value(0) && !value(1) } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - - @Test - fun testMockForStaticField_CharacterPrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnCharacter, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideCharacter) && value() > 'a' } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideCharacter) && value() <= 'a' } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_BytePrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnByte, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideByte) && value() > 5 } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideByte) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_ShortPrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnShort, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideShort) && value() > 5 } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideShort) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_IntPrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnInteger, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideInteger) && value() > 5 } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideInteger) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_LongPrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnLong, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideLong) && value() > 5 } }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideLong) && value() <= 5 } }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_FloatPrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnFloat, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideFloat) && value() > 1f } }, - { mocks, _ -> - mocks.single().run { - mocksMethod(Provider::provideFloat) && value().isNaN() || value() <= 1f - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_DoublePrimitive() { - checkMocks( - ServiceWithStaticField::calculateBasedOnDouble, - eq(3), - { _, r -> r == null }, - { mocks, _ -> mocks.single().run { mocksMethod(Provider::provideDouble) && value() > 1.0 } }, - { mocks, _ -> - mocks.single().run { - mocksMethod(Provider::provideDouble) && value().isNaN() || value() <= 1.0 - } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_returnObject() { - checkMocks( - ServiceWithStaticField::calculateBasedOnObject, - eq(4), - { _, r -> r == null }, - { mocks, _ -> - mocks.single().run { - mocksMethod(Provider::provideObject) && value() == null - } - }, - { mocks, result -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideObject) && value().field == 0 - } - mockConstraint && result == 1 - }, - { mocks, result -> - val mockConstraint = mocks.single().run { - mocksMethod(Provider::provideObject) && value().field != 0 - } - mockConstraint && result == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_overloadedMethods() { - checkMocks( - ServiceWithStaticField::calculateBasedOnOverloadedMethods, - eq(3), - { _, _, r -> r == null }, - { _, mocks, result -> - val zeroMockConstraint = mocks[0].run { - val mockFunc: Provider.() -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.(Int) -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val firstMockConstraint = mocks[1].run { - val mockFunc: Provider.(Int) -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.() -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val valueConstraint = mocks[0].value() < mocks[1].value() - - zeroMockConstraint && firstMockConstraint && valueConstraint && result == 1 - }, - - { _, mocks, result -> - val zeroMockConstraint = mocks[0].run { - val mockFunc: Provider.() -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.(Int) -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val firstMockConstraint = mocks[1].run { - val mockFunc: Provider.(Int) -> Int = Provider::provideOverloaded - val overloadedFunc: Provider.() -> Int = Provider::provideOverloaded - mocksMethod(mockFunc) && !mocksMethod(overloadedFunc) - } - val valueConstraint = mocks[0].value() >= mocks[1].value() - - zeroMockConstraint && firstMockConstraint && valueConstraint && result == 0 - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } - - @Test - fun testMockForStaticField_objectArguments() { - checkMocks( - ServiceWithStaticField::calculateBasedOnObjectArgument, - eq(4), - { _, _, r -> r == null }, - { obj, _, _ -> obj == null }, - { obj, _, _ -> obj != null }, - { _, mocks, _ -> - mocks.single().run { mocksMethod(Provider::provideGivenObject) && value() < 1 } - }, - { _, mocks, _ -> - mocks.single().run { mocksMethod(Provider::provideGivenObject) && value() >= 1 } - }, - coverage = DoNotCalculate, - mockStrategy = OTHER_PACKAGES - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/UseNetworkTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/UseNetworkTest.kt deleted file mode 100644 index 772990f2..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/UseNetworkTest.kt +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.examples.mock - -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtConcreteValue -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -internal class UseNetworkTest : UtValueTestCaseChecker(testClass = UseNetwork::class) { - @Test - fun testReadBytes() { - val method = UseNetwork::readBytes - checkStaticMethodWithException( - method, - eq(5), - { _, network, r -> network == null && r.isException() }, - { _, _, r -> r.getOrNull() == 0 }, - { pkg, _, r -> pkg == null && r.isException() }, - { pkg, _, r -> pkg.isEmpty() && r.isException() }, - { pkg, _, r -> pkg.isNotEmpty() && (r.isException() || r.getOrNull()!! > 0) }, - mockStrategy = MockStrategyApi.OTHER_PACKAGES, - coverage = DoNotCalculate - ) - } - - @Test - fun testReadBytesWithMocks() { - val method = UseNetwork::readBytes - checkMocksInStaticMethod( - method, - eq(5), - { packet, _, _, _ -> packet == null }, - { _, network, _, _ -> network == null }, - { _, _, mocks, r -> (mocks.single().values.single() as UtConcreteValue<*>).value == -1 && r == 0 }, - { packet, _, mocks, _ -> - require(packet != null) - - val mockConstraint = (mocks.single().values.single() as UtConcreteValue<*>).value != -1 - val sizeConstraint = packet.isEmpty() - - mockConstraint && sizeConstraint - }, - { packet, _, mocks, r -> - require(packet != null) - - val values = mocks.single().values.map { (it as UtConcreteValue<*>).value } - val mockConstraint = values.dropLast(1).all { it != -1 } && values.last() == -1 - val sizeConstraint = packet.size >= values.lastIndex - - mockConstraint && sizeConstraint && r == values.lastIndex - - }, - mockStrategy = MockStrategyApi.OTHER_PACKAGES, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/aliasing/AliasingInParamsExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/aliasing/AliasingInParamsExampleTest.kt deleted file mode 100644 index 6efcdf30..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/aliasing/AliasingInParamsExampleTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.mock.aliasing - -import org.utbot.framework.plugin.api.MockStrategyApi -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class AliasingInParamsExampleTest : UtValueTestCaseChecker(testClass = AliasingInParamsExample::class) { - @Test - fun testExamplePackageBased() { - check( - AliasingInParamsExample::example, - eq(1), - { fst, snd, x, r -> fst != snd && x == r }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } - - @Test - fun testExample() { - check( - AliasingInParamsExample::example, - eq(2), - { fst, snd, x, r -> fst == snd && x == r }, - { fst, snd, x, r -> fst != snd && x == r }, - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.NO_MOCKS - ) - } - -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/fields/ClassUsingClassWithRandomFieldTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/fields/ClassUsingClassWithRandomFieldTest.kt deleted file mode 100644 index bca47545..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/fields/ClassUsingClassWithRandomFieldTest.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.examples.mock.fields - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtNewInstanceInstrumentation -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.id -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -class ClassUsingClassWithRandomFieldTest : UtValueTestCaseChecker( - testClass = ClassUsingClassWithRandomField::class, - testCodeGeneration = true, - // because of mocks - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testUseClassWithRandomField() { - checkMocksAndInstrumentation( - ClassUsingClassWithRandomField::useClassWithRandomField, - eq(1), - { mocks, instrumentation, r -> - val noMocks = mocks.isEmpty() - - val constructorMock = instrumentation.single() as UtNewInstanceInstrumentation - val classIdEquality = constructorMock.classId == java.util.Random::class.id - val callSiteIdEquality = constructorMock.callSites.single() == ClassWithRandomField::class.id - val instance = constructorMock.instances.single() as UtCompositeModel - val methodMock = instance.mocks.entries.single() - val methodNameEquality = methodMock.key.name == "nextInt" - val mockValueResult = r == (methodMock.value.single() as UtPrimitiveModel).value as Int - - noMocks && classIdEquality && callSiteIdEquality && instance.isMock && methodNameEquality && mockValueResult - } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/model/FieldMockChecker.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/model/FieldMockChecker.kt deleted file mode 100644 index 07fb1ae3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/model/FieldMockChecker.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.examples.mock.model - -import org.utbot.examples.mock.provider.impl.ProviderImpl -import org.utbot.examples.mock.service.impl.ServiceWithField -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_PACKAGES -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.isNotNull -import org.utbot.framework.plugin.api.isNull -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtModelTestCaseChecker -import org.utbot.testing.primitiveValue - -internal class FieldMockChecker : UtModelTestCaseChecker(testClass = ServiceWithField::class) { - @Test - fun testMockForField_IntPrimitive() { - checkStatic( - ServiceWithField::staticCalculateBasedOnInteger, - eq(4), - { service, r -> service.isNull() && r.isException() }, - { service, r -> service.provider.isNull() && r.isException() }, - { service, r -> - service.provider.isNotNull() && - service.provider.mocksMethod(ProviderImpl::provideInteger)!!.single() - .primitiveValue() > 5 && r.primitiveValue() == 1 - }, - { service, r -> - service.provider.isNotNull() && - service.provider.mocksMethod(ProviderImpl::provideInteger)!!.single() - .primitiveValue() <= 5 && r.primitiveValue() == 0 - }, - mockStrategy = OTHER_PACKAGES - ) - } - - private val UtModel.provider: UtModel - get() = this.findField("provider") -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/model/UseNetworkModelBasedTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/model/UseNetworkModelBasedTest.kt deleted file mode 100644 index b405533f..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/mock/model/UseNetworkModelBasedTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.mock.model - -import org.utbot.examples.mock.UseNetwork -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtVoidModel -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtModelTestCaseChecker - -internal class UseNetworkModelBasedTest : UtModelTestCaseChecker(testClass = UseNetwork::class) { - @Test - fun testMockVoidMethod() { - check( - UseNetwork::mockVoidMethod, - eq(1), - { network, _ -> - require(network is UtCompositeModel) - - val mock = network.mocks.values.single().single() - - mock is UtVoidModel - }, - mockStrategy = MockStrategyApi.OTHER_PACKAGES - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/models/CompositeModelMinimizationChecker.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/models/CompositeModelMinimizationChecker.kt deleted file mode 100644 index 3a3d205b..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/models/CompositeModelMinimizationChecker.kt +++ /dev/null @@ -1,73 +0,0 @@ -package org.utbot.examples.models - -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtReferenceModel -import org.junit.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtModelTestCaseChecker - -internal class CompositeModelMinimizationChecker : UtModelTestCaseChecker( - testClass = CompositeModelMinimizationExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - private fun UtModel.getFieldsOrNull(): Map? = when(this) { - is UtAssembleModel -> origin?.fields - is UtCompositeModel -> fields - else -> null - } - - private fun UtModel.hasInitializedFields(): Boolean = getFieldsOrNull()?.isNotEmpty() == true - private fun UtModel.isNotInitialized(): Boolean = getFieldsOrNull()?.isEmpty() == true - - @Test - fun singleNotNullArgumentInitializationRequiredTest() { - check( - CompositeModelMinimizationExample::singleNotNullArgumentInitializationRequired, - eq(2), - { o, _ -> o.hasInitializedFields() } - ) - } - - @Test - fun sameArgumentsInitializationRequiredTest() { - check( - CompositeModelMinimizationExample::sameArgumentsInitializationRequired, - eq(3), - { a, b, _ -> - a as UtReferenceModel - b as UtReferenceModel - a.id == b.id && a.hasInitializedFields() && b.hasInitializedFields() - } - ) - } - - @Test - fun distinctNotNullArgumentsSecondInitializationNotExpected() { - check( - CompositeModelMinimizationExample::distinctNotNullArgumentsSecondInitializationNotExpected, - eq(2), - { a, b, _ -> - a as UtReferenceModel - b as UtReferenceModel - a.hasInitializedFields() && b.isNotInitialized() - } - ) - } - - @Test - fun distinctNotNullArgumentsInitializationRequired() { - check( - CompositeModelMinimizationExample::distinctNotNullArgumentsInitializationRequired, - eq(2), - { a, b, _ -> - a as UtReferenceModel - b as UtReferenceModel - a.hasInitializedFields() && b.hasInitializedFields() - } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/models/ModelsIdEqualityChecker.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/models/ModelsIdEqualityChecker.kt deleted file mode 100644 index f528a9a6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/models/ModelsIdEqualityChecker.kt +++ /dev/null @@ -1,140 +0,0 @@ -package org.utbot.examples.models - -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtDirectSetFieldModel -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.framework.plugin.api.UtReferenceModel -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtModelTestCaseChecker - -// TODO failed Kotlin compilation SAT-1332 -internal class ModelsIdEqualityChecker : UtModelTestCaseChecker( - testClass = ModelsIdEqualityExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testObjectItself() { - check( - ModelsIdEqualityExample::objectItself, - eq(1), - { o, r -> (o as UtReferenceModel).id == ((r as UtExecutionSuccess).model as UtReferenceModel).id } - ) - } - - @Test - fun testRefField() { - check( - ModelsIdEqualityExample::refField, - eq(1), - { o, r -> - val resultId = ((r as UtExecutionSuccess).model as UtReferenceModel).id - val fieldId = (o as UtAssembleModel).findFieldId() - fieldId == resultId - } - ) - } - - @Test - fun testArrayField() { - check( - ModelsIdEqualityExample::arrayField, - eq(1), - { o, r -> - val resultId = ((r as UtExecutionSuccess).model as UtReferenceModel).id - val fieldId = (o as UtAssembleModel).findFieldId() - fieldId == resultId - } - ) - } - - @Test - fun testArrayItself() { - check( - ModelsIdEqualityExample::arrayItself, - eq(1), - { o, r -> (o as? UtReferenceModel)?.id == ((r as UtExecutionSuccess).model as? UtReferenceModel)?.id } - ) - } - - @Test - fun testSubArray() { - check( - ModelsIdEqualityExample::subArray, - eq(1), - { array, r -> - val resultId = ((r as UtExecutionSuccess).model as UtReferenceModel).id - val arrayId = (array as UtArrayModel).findElementId(0) - resultId == arrayId - } - ) - } - - @Test - fun testSubRefArray() { - check( - ModelsIdEqualityExample::subRefArray, - eq(1), - { array, r -> - val resultId = ((r as UtExecutionSuccess).model as UtReferenceModel).id - val arrayId = (array as UtArrayModel).findElementId(0) - resultId == arrayId - } - ) - } - - @Test - fun testWrapperExample() { - check( - ModelsIdEqualityExample::wrapperExample, - eq(1), - { o, r -> (o as? UtReferenceModel)?.id == ((r as UtExecutionSuccess).model as? UtReferenceModel)?.id } - ) - } - - @Test - fun testObjectFromArray() { - check( - ModelsIdEqualityExample::objectFromArray, - eq(1), - { array, r -> - val resultId = ((r as UtExecutionSuccess).model as UtReferenceModel).id - val objectId = (array as UtArrayModel).findElementId(0) - resultId == objectId - } - ) - } - - @Test - fun testObjectAndStatic() { - checkStaticsAfter( - ModelsIdEqualityExample::staticSetter, - eq(1), - { obj, statics, r -> - val resultId = ((r as UtExecutionSuccess).model as UtReferenceModel).id - val objectId = (obj as UtReferenceModel).id - val staticId = (statics.values.single() as UtReferenceModel).id - resultId == objectId && resultId == staticId - } - ) - - } - - private fun UtReferenceModel.findFieldId(): Int? { - this as UtAssembleModel - val fieldModel = this.modificationsChain - .filterIsInstance() - .single() - .fieldModel - return (fieldModel as UtReferenceModel).id - } - - private fun UtArrayModel.findElementId(index: Int) = - if (index in stores.keys) { - (stores[index] as UtReferenceModel).id - } else { - (constModel as UtReferenceModel).id - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/natives/NativeExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/natives/NativeExamplesTest.kt deleted file mode 100644 index 1873e212..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/natives/NativeExamplesTest.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.examples.natives - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withSolverTimeoutInMillis -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// TODO Kotlin mocks generics https://github.com/UnitTestBot/UTBotJava/issues/88 -internal class NativeExamplesTest : UtValueTestCaseChecker( - testClass = NativeExamples::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - - @Test - fun testFindAndPrintSum() { - // TODO related to the https://github.com/UnitTestBot/UTBotJava/issues/131 - withSolverTimeoutInMillis(5000) { - check( - NativeExamples::findAndPrintSum, - ge(1), - coverage = DoNotCalculate, - ) - } - } - - @Test - fun testFindSumWithMathRandom() { - check( - NativeExamples::findSumWithMathRandom, - eq(1), - coverage = DoNotCalculate, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/AbstractAnonymousClassTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/AbstractAnonymousClassTest.kt deleted file mode 100644 index c0f73043..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/AbstractAnonymousClassTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -class AbstractAnonymousClassTest : UtValueTestCaseChecker(testClass = AbstractAnonymousClass::class) { - @Test - fun testNonOverriddenMethod() { - check( - AbstractAnonymousClass::methodWithoutOverrides, - eq(1) - ) - } - - @Test - fun testOverriddenMethod() { - // check we have error during execution - assertThrows { - check( - AbstractAnonymousClass::methodWithOverride, - eq(0) - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/AnonymousClassesExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/AnonymousClassesExampleTest.kt deleted file mode 100644 index c3e7ed1e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/AnonymousClassesExampleTest.kt +++ /dev/null @@ -1,56 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.testcheckers.eq -import org.utbot.testing.Full -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -class AnonymousClassesExampleTest : UtValueTestCaseChecker( - testClass = AnonymousClassesExample::class, -) { - @Test - fun testAnonymousClassAsParam() { - checkWithException( - AnonymousClassesExample::anonymousClassAsParam, - eq(3), - { abstractAnonymousClass, r -> abstractAnonymousClass == null && r.isException() }, - { abstractAnonymousClass, r -> abstractAnonymousClass != null && r.getOrNull() == 0 }, - { abstractAnonymousClass, r -> abstractAnonymousClass != null && abstractAnonymousClass::class.java.isAnonymousClass && r.getOrNull() == 42 }, - coverage = Full - ) - } - - @Test - fun testNonFinalAnonymousStatic() { - checkStaticsAndException( - AnonymousClassesExample::nonFinalAnonymousStatic, - eq(3), - { statics, r -> statics.values.single().value == null && r.isException() }, - { _, r -> r.getOrNull() == 0 }, - { _, r -> r.getOrNull() == 42 }, - coverage = Full - ) - } - - @Test - fun testAnonymousClassAsStatic() { - check( - AnonymousClassesExample::anonymousClassAsStatic, - eq(1), - { r -> r == 42 }, - coverage = Full - ) - } - - @Test - fun testAnonymousClassAsResult() { - check( - AnonymousClassesExample::anonymousClassAsResult, - eq(1), - { abstractAnonymousClass -> abstractAnonymousClass != null && abstractAnonymousClass::class.java.isAnonymousClass }, - coverage = Full - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassForTestClinitSectionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassForTestClinitSectionsTest.kt deleted file mode 100644 index 2121db3a..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassForTestClinitSectionsTest.kt +++ /dev/null @@ -1,68 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withProcessingAllClinitSectionsConcretely -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testcheckers.withProcessingClinitSections -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -internal class ClassForTestClinitSectionsTest : UtValueTestCaseChecker(testClass = ClassForTestClinitSections::class) { - @Test - fun testClinitWithoutClinitAnalysis() { - withoutConcrete { - withProcessingClinitSections(value = false) { - check( - ClassForTestClinitSections::resultDependingOnStaticSection, - eq(2), - { r -> r == -1 }, - { r -> r == 1 } - ) - } - } - } - - @Test - fun testClinitWithClinitAnalysis() { - withoutConcrete { - check( - ClassForTestClinitSections::resultDependingOnStaticSection, - eq(2), - { r -> r == -1 }, - { r -> r == 1 } - ) - } - } - - @Test - fun testProcessConcretelyWithoutClinitAnalysis() { - withoutConcrete { - withProcessingClinitSections(value = false) { - withProcessingAllClinitSectionsConcretely(value = true) { - check( - ClassForTestClinitSections::resultDependingOnStaticSection, - eq(2), - { r -> r == -1 }, - { r -> r == 1 } - ) - } - } - } - } - - @Test - fun testProcessClinitConcretely() { - withoutConcrete { - withProcessingAllClinitSectionsConcretely(value = true) { - check( - ClassForTestClinitSections::resultDependingOnStaticSection, - eq(1), - { r -> r == -1 }, - coverage = atLeast(71) - ) - } - } - } -} - diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassRefTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassRefTest.kt deleted file mode 100644 index 955d05e6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassRefTest.kt +++ /dev/null @@ -1,135 +0,0 @@ -@file:Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN") - -package org.utbot.examples.objects - -import java.lang.Boolean -import kotlin.Array -import kotlin.Suppress -import kotlin.arrayOf -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -internal class ClassRefTest : UtValueTestCaseChecker( - testClass = ClassRef::class, - testCodeGeneration = true, - // TODO: SAT-1457 Restore Kotlin codegen for a group of tests with type casts - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testTakeBooleanClassRef() { - check( - ClassRef::takeBooleanClassRef, - eq(1), - { r -> r == Boolean.TYPE } - ) - } - - @Test - fun testTakeClassRef() { - check( - ClassRef::takeClassRef, - eq(1), - { r -> r == ClassRef::class.java } - ) - } - - @Test - fun testTakeClassRefFromParam() { - check( - ClassRef::takeClassRefFromParam, - eq(2), - { classRef, _ -> classRef == null }, - { classRef, r -> r == classRef.javaClass } - ) - } - - - @Test - fun testTakeArrayClassRef() { - check( - ClassRef::takeArrayClassRef, - eq(1), - { r -> r == arrayOf()::class.java } - ) - } - - @Test - fun testTwoDimArrayClassRef() { - check( - ClassRef::twoDimArrayClassRef, - eq(1), - { r -> r == arrayOf>()::class.java } - ) - } - - @Test - fun testTwoDimArrayClassRefFromParam() { - check( - ClassRef::twoDimArrayClassRefFromParam, - eq(2), - { array, _ -> array == null }, - { array, r -> r == array::class.java } - ) - } - - @Test - fun testTakeConstantClassRef() { - check( - ClassRef::takeConstantClassRef, - eq(1), - { r -> r == ClassRef::class.java } - ) - } - - @Test - fun testEqualityOnClassRef() { - check( - ClassRef::equalityOnClassRef, - eq(1), - { r -> r == true }, - coverage = atLeast(50) // we cannot find a way to have different class references - ) - } - - @Test - fun testEqualityOnStringClassRef() { - check( - ClassRef::equalityOnStringClassRef, - eq(1), - { r -> r == true }, - coverage = atLeast(50) // we cannot find a way to have different class references - ) - } - - @Test - fun testEqualityOnArrayClassRef() { - check( - ClassRef::equalityOnArrayClassRef, - eq(1), - { r -> r == true }, - coverage = atLeast(50) // we cannot find a way to have different class references - ) - } - - @Test - fun testTwoDimensionalArrayClassRef() { - check( - ClassRef::twoDimensionalArrayClassRef, - eq(1), - { r -> r == true }, - coverage = atLeast(50) - ) - } - - @Test - fun testEqualityOnGenericClassRef() { - check( - ClassRef::equalityOnGenericClassRef, - eq(1), - { r -> r == true }, - coverage = atLeast(50) // we cannot find a way to have different class references - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassWithClassRefTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassWithClassRefTest.kt deleted file mode 100644 index fbc06032..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ClassWithClassRefTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.objects - -import org.utbot.framework.plugin.api.CodegenLanguage -import org.junit.jupiter.api.Test -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.* - -// TODO Kotlin compilation SAT-1332 -// Code generation executions fail due we cannot analyze strings properly for now -internal class ClassWithClassRefTest : UtValueTestCaseChecker( - testClass = ClassWithClassRef::class, - testCodeGeneration = true, - // TODO JIRA:1479 - configurations = listOf( - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.KOTLIN, ParametrizedTestSource.DO_NOT_PARAMETRIZE, CodeGeneration), - ) -) { - @Test - // TODO test does not work properly JIRA:1479 - // TODO we don't fail now, but we do not generate correct value as well - fun testClassRefGetName() { - withoutConcrete { // TODO: concrete execution returns "java.lang.Object" - checkWithThisAndException( - ClassWithClassRef::classRefName, - eq(2), - { instance, r -> instance.someListClass == null && r.isException() }, - { instance, r -> instance.someListClass != null && r.getOrNull() == "" }, - coverage = DoNotCalculate // TODO: Method coverage with `this` parameter isn't supported - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/HiddenFieldAccessModifiersTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/HiddenFieldAccessModifiersTest.kt deleted file mode 100644 index c9ef29e5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/HiddenFieldAccessModifiersTest.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class HiddenFieldAccessModifiersTest : UtValueTestCaseChecker(testClass = HiddenFieldAccessModifiersExample::class) { - @Test - fun testCheckSuperFieldEqualsOne() { - withEnabledTestingCodeGeneration(testCodeGeneration = true) { - check( - HiddenFieldAccessModifiersExample::checkSuperFieldEqualsOne, - eq(3), - { o, _ -> o == null }, - { _, r -> r == true }, - { _, r -> r == false }, - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/HiddenFieldExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/HiddenFieldExampleTest.kt deleted file mode 100644 index 5aa703df..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/HiddenFieldExampleTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class HiddenFieldExampleTest : UtValueTestCaseChecker(testClass = HiddenFieldExample::class) { - @Test - fun testCheckHiddenField() { - check( - HiddenFieldExample::checkHiddenField, - eq(4), - { o, _ -> o == null }, - { o, r -> o != null && o.a != 1 && r == 2 }, - { o, r -> o != null && o.a == 1 && o.b != 2 && r == 2 }, - { o, r -> o != null && o.a == 1 && o.b == 2 && r == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCheckSuccField() { - withEnabledTestingCodeGeneration(testCodeGeneration = true) { - check( - HiddenFieldExample::checkSuccField, - eq(5), - { o, _ -> o == null }, - { o, r -> o.a == 1 && r == 1 }, - { o, r -> o.a != 1 && o.b == 2.0 && r == 2 }, - { o, r -> o.a != 1 && o.b != 2.0 && (o as HiddenFieldSuperClass).b == 3 && r == 3 }, - { o, r -> o.a != 1 && o.b != 2.0 && (o as HiddenFieldSuperClass).b != 3 && r == 4 }, - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/LocalClassExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/LocalClassExampleTest.kt deleted file mode 100644 index ed5f1884..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/LocalClassExampleTest.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -class LocalClassExampleTest : UtValueTestCaseChecker(testClass = LocalClassExample::class) { - @Test - fun testLocalClassFieldExample() { - check( - LocalClassExample::localClassFieldExample, - eq(1), - { y, r -> r == y + 42 } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ModelMinimizationExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ModelMinimizationExamplesTest.kt deleted file mode 100644 index 658f8342..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ModelMinimizationExamplesTest.kt +++ /dev/null @@ -1,133 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class ModelMinimizationExamplesTest : UtValueTestCaseChecker(testClass = ModelMinimizationExamples::class) { - @Test - fun singleValueComparisonTest() { - check( - ModelMinimizationExamples::singleValueComparison, - eq(4), - { quad, _ -> quad == null }, // NPE - { quad, _ -> quad.a == null }, // NPE - { quad, r -> quad.a.value == 0 && r == true }, - { quad, r -> quad.a.value != 0 && r == false } - ) - } - - @Test - fun singleValueComparisonNotNullTest() { - check( - ModelMinimizationExamples::singleValueComparisonNotNull, - eq(2), - { quad, r -> quad.a.value == 0 && r == true }, - { quad, r -> quad.a.value != 0 && r == false }, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } - - @Test - fun conditionCheckANeTest() { - // Parameters `a` and `b` should be not null. - // Parameters `a` and `b` should be distinct instances. - // The field `a.value` is used and should be initialized. - // The field `b.value` is not used and should not be initialized to avoid redundancy. - check( - ModelMinimizationExamples::conditionCheckANe, - eq(3), - { a, _, r -> a.value == 42 && r == true }, - { a, _, r -> a.value <= 0 && r == true }, - { a, _, r -> a.value > 0 && a.value != 42 && r == false}, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } - - @Test - fun conditionCheckAEqTest() { - // Parameters `a` and `b` should be not null. - // Parameters `a` and `b` should refer to the same instance. - // The field `a.value` is used and should be initialized. - // The field `b.value` is not used but should be implicitly initialized, as `b` is `a` restored from cache. - check( - ModelMinimizationExamples::conditionCheckAEq, - eq(3), - { a, _, r -> a.value == 42 && r == true }, - { a, _, r -> a.value <= 0 && r == true }, - { a, _, r -> a.value > 0 && a.value != 42 && r == false}, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } - - @Test - fun conditionCheckBNeTest() { - // Parameters `a` and `b` should be not null. - // Parameters `a` and `b` should be distinct instances. - // The field `a.value` is not used and should not be initialized to avoid redundancy. - // The field `b.value` is used and should be initialized. - check( - ModelMinimizationExamples::conditionCheckBNe, - eq(3), - { _, b, r -> b.value == 42 && r == true }, - { _, b, r -> b.value <= 0 && r == true }, - { _, b, r -> b.value > 0 && b.value != 42 && r == false}, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } - - @Test - fun conditionCheckBEqTest() { - // Parameters `a` and `b` should be not null. - // Parameters `a` and `b` should refer to the same instance. - // The field `a.value` is not used but should be initialized, as `b.value` is used, and `a === b`. - // The field `b.value` is used and should be initialized. - // `a` should be initialized even if its model is created first and stored in the cache. - // Note: `a` and `b` might have different `addr` but they will have the same `concreteAddr`. - check( - ModelMinimizationExamples::conditionCheckBEq, - eq(3), - { _, b, r -> b.value == 42 && r == true }, - { _, b, r -> b.value <= 0 && r == true }, - { _, b, r -> b.value > 0 && b.value != 42 && r == false}, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } - - @Test - fun conditionCheckNoNullabilityConstraintTest() { - // Note: in this test we have no constraints on the second argument, so it becomes `null`. - check( - ModelMinimizationExamples::conditionCheckNoNullabilityConstraintExample, - eq(4), - { a, _, _ -> a == null }, // NPE - { a, _, r -> a.value == 42 && r == true }, - { a, _, r -> a.value <= 0 && r == true }, - { a, _, r -> a.value > 0 && a.value != 42 && r == false} - ) - } - - @Test - fun firstArrayElementContainsSentinelTest() { - check( - ModelMinimizationExamples::firstArrayElementContainsSentinel, - eq(2), - { values, r -> values[0].value == 42 && r == true }, - { values, r -> values[0].value != 42 && r == false }, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } - - @Test - fun multipleConstraintsTest() { - check( - ModelMinimizationExamples::multipleConstraintsExample, - eq(3), - { a, _, _, r -> a.value == 42 && r == 1 }, - { a, b, _, r -> a.value != 42 && b.value == 73 && r == 2 }, - { a, b, _, r -> a.value != 42 && b.value != 73 && r == 3 }, - coverage = DoNotCalculate // TODO: JIRA:1688 - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithFinalStaticTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithFinalStaticTest.kt deleted file mode 100644 index 388968bd..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithFinalStaticTest.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.singleValue - -class ObjectWithFinalStaticTest : UtValueTestCaseChecker( - testClass = ObjectWithFinalStatic::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testParameterEqualsFinalStatic() { - checkStatics( - ObjectWithFinalStatic::parameterEqualsFinalStatic, - eq(2), - { key, _, statics, result -> key != statics.singleValue() as Int && result == -420 }, - // matcher checks equality by value, but branch is executed if objects are equal by reference - { key, i, statics, result -> key == statics.singleValue() && i == result }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithPrimitivesClassTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithPrimitivesClassTest.kt deleted file mode 100644 index 6cc5aa08..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithPrimitivesClassTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.objects - -import kotlin.reflect.KFunction0 -import kotlin.reflect.KFunction3 -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class ObjectWithPrimitivesClassTest : UtValueTestCaseChecker(testClass = ObjectWithPrimitivesClass::class) { - @Test - fun testDefaultConstructor() { - val method: KFunction0 = ::ObjectWithPrimitivesClass - checkStaticMethod( - method, - eq(1), - // TODO: SAT-933 Add support for constructor testing") - // { instance -> instance is ObjectWithPrimitivesClass }, - coverage = DoNotCalculate - ) - } - - @Test - fun testConstructorWithParams() { - val method: KFunction3 = ::ObjectWithPrimitivesClass - checkStaticMethod( - method, - eq(1), - // TODO: SAT-933 Add support for constructor testing") -// { x, y, weight, instance -> -// instance is ObjectWithPrimitivesClass && instance.x == x && instance.y == y && instance.weight == weight -// }, - coverage = DoNotCalculate - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithPrimitivesExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithPrimitivesExampleTest.kt deleted file mode 100644 index c712d087..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithPrimitivesExampleTest.kt +++ /dev/null @@ -1,271 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -internal class ObjectWithPrimitivesExampleTest : UtValueTestCaseChecker(testClass = ObjectWithPrimitivesExample::class) { - @Test - fun testMax() { - checkWithException( - ObjectWithPrimitivesExample::max, - eq(7), - { fst, _, r -> fst == null && r.isException() }, - { _, snd, r -> snd == null && r.isException() }, - { fst, snd, r -> fst != null && snd != null && fst.x > snd.x && fst.y > snd.y && r.getOrNull()!! == fst }, - { fst, snd, r -> fst != null && snd != null && fst.x > snd.x && fst.y <= snd.y && r.getOrNull()!! == fst }, - { fst, snd, r -> fst != null && snd != null && fst.x < snd.x && fst.y < snd.y && r.getOrNull()!! == snd }, - { fst, snd, r -> fst != null && snd != null && fst.x == snd.x && r.getOrNull()!! == fst }, - { fst, snd, r -> fst != null && snd != null && fst.y == snd.y && r.getOrNull()!! == fst }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIgnoredInputParameters() { - check( - ObjectWithPrimitivesExample::ignoredInputParameters, - eq(1), - { fst, snd, r -> fst == null && snd == null && r != null } - ) - } - - @Test - fun testExample() { - check( - ObjectWithPrimitivesExample::example, - eq(3), - { v, _ -> v == null }, - { v, r -> v != null && v.x == 1 && r?.x == 1 }, - { v, r -> v != null && v.x != 1 && r?.x == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testExampleMutation() { - checkParamsMutations( - ObjectWithPrimitivesExample::example, - ignoreExecutionsNumber, - { valueBefore, valueAfter -> valueBefore.x != 0 && valueAfter.x == 1 } - ) - } - - @Test - fun testDefaultValueForSuperclassFields() { - check( - ObjectWithPrimitivesExample::defaultValueForSuperclassFields, - eq(1), - { r -> r != null && r.x == 0 && r.y == 0 && r.weight == 0.0 && r.valueByDefault == 5 && r.anotherX == 0 }, - coverage = atLeast(50) - ) - } - - @Test - @Disabled("TODO JIRA:1594") - fun testCreateObject() { - checkWithException( - ObjectWithPrimitivesExample::createObject, - eq(3), - { _, _, o, r -> o == null && r.isException() }, - { _, _, o, r -> o != null && o.weight < 0 && r.isException() }, - { a, b, o, r -> - val result = r.getOrNull()!! - - val objectConstraint = o != null && (o.weight >= 0 || o.weight.isNaN()) - val resultConstraint = result.x == a + 5 && result.y == b + 6 - val postcondition = result.weight == o.weight || result.weight.isNaN() && o.weight.isNaN() - - objectConstraint && resultConstraint && postcondition - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testMemory() { - checkWithException( - ObjectWithPrimitivesExample::memory, - eq(4), - { o, v, r -> o == null && v > 0 && r.isException() }, - { o, v, r -> - val resultValue = r.getOrNull() - val objectToCompare = if (resultValue is ObjectWithPrimitivesClassSucc) { - ObjectWithPrimitivesClassSucc(1, 2, 1.2, resultValue.anotherX) - } else { - ObjectWithPrimitivesClass(1, 2, 1.2) - } - objectToCompare.valueByDefault = resultValue!!.valueByDefault - - o != null && v > 0 && resultValue == objectToCompare - }, - { o, v, r -> o == null && v <= 0 && r.isException() }, - { o, v, r -> - val resultValue = r.getOrNull() - val objectToCompare = if (resultValue is ObjectWithPrimitivesClassSucc) { - ObjectWithPrimitivesClassSucc(-1, -2, -1.2, resultValue.anotherX) - } else { - ObjectWithPrimitivesClass(-1, -2, -1.2) - } - objectToCompare.valueByDefault = resultValue!!.valueByDefault - - o != null && v <= 0 && resultValue == objectToCompare - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareWithNull() { - check( - ObjectWithPrimitivesExample::compareWithNull, - eq(3), - { fst, _, r -> fst == null && r == 1 }, - { fst, snd, r -> fst != null && snd == null && r == 2 }, - { fst, snd, r -> fst != null && snd != null && r == 3 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareTwoNullObjects() { - check( - ObjectWithPrimitivesExample::compareTwoNullObjects, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testNullExample() { - check( - ObjectWithPrimitivesExample::nullExample, - eq(4), - { o, _ -> o == null }, - { o, r -> o != null && o.x != 0 && r != null }, - { o, r -> o != null && o.x == 0 && o.y != 0 && r != null }, - { o, r -> o != null && o.x == 0 && o.y == 0 && r == null }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareTwoOuterObjects() { - checkWithException( - ObjectWithPrimitivesExample::compareTwoOuterObjects, - eq(4), - { x, _, r -> x == null && r.isException() }, - { x, y, r -> x != null && y == null && r.isException() }, - { x, y, r -> x != null && y != null && x === y && r.getOrNull() == true }, - { x, y, r -> x != null && y != null && x !== y && r.getOrNull() == false } - ) - } - - @Test - fun testCompareObjectWithArgument() { - check( - ObjectWithPrimitivesExample::compareObjectWithArgument, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareTwoDifferentObjects() { - check( - ObjectWithPrimitivesExample::compareTwoDifferentObjects, - eq(1), - coverage = DoNotCalculate - ) - } - - - @Test - fun testCompareTwoIdenticalObjectsFromArguments() { - checkWithException( - ObjectWithPrimitivesExample::compareTwoIdenticalObjectsFromArguments, - eq(4), - { fst, _, r -> fst == null && r.isException() }, - { _, snd, r -> snd == null && r.isException() }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 1 }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 2 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareTwoRefEqualObjects() { - check( - ObjectWithPrimitivesExample::compareTwoRefEqualObjects, - eq(1), - coverage = DoNotCalculate - ) - } - - @Test - fun testGetOrDefault() { - checkWithException( - ObjectWithPrimitivesExample::getOrDefault, - ignoreExecutionsNumber, - { _, d, r -> d == null && r.isException() }, - { _, d, r -> d != null && d.x == 0 && d.y == 0 && r.isException() }, - { o, d, r -> o == null && (d.x != 0 || d.y != 0) && r.getOrNull() == d }, - { o, d, r -> o != null && (d.x != 0 || d.y != 0) && r.getOrNull() == o }, - ) - } - - @Test - fun testInheritorsFields() { - checkWithException( - ObjectWithPrimitivesExample::inheritorsFields, - eq(3), - { fst, _, r -> fst == null && r.isException() }, - { fst, snd, r -> fst != null && snd == null && r.isException() }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCreateWithConstructor() { - check( - ObjectWithPrimitivesExample::createWithConstructor, - eq(1), - { x, y, r -> r != null && r.x == x + 1 && r.y == y + 2 && r.weight == 3.3 } - ) - } - - @Test - fun testCreateWithSuperConstructor() { - check( - ObjectWithPrimitivesExample::createWithSuperConstructor, - eq(1), - { x, y, anotherX, r -> - r != null && r.x == x + 1 && r.y == y + 2 && r.weight == 3.3 && r.anotherX == anotherX + 4 - } - ) - } - - @Test - fun testFieldWithDefaultValue() { - check( - ObjectWithPrimitivesExample::fieldWithDefaultValue, - eq(1), - { x, y, r -> r != null && r.x == x && r.y == y && r.weight == 3.3 && r.valueByDefault == 5 } - ) - } - - @Test - fun testValueByDefault() { - check( - ObjectWithPrimitivesExample::valueByDefault, - eq(1), - { r -> r == 5 } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithRefFieldsExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithRefFieldsExampleTest.kt deleted file mode 100644 index af99f58e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithRefFieldsExampleTest.kt +++ /dev/null @@ -1,159 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -internal class ObjectWithRefFieldsExampleTest : UtValueTestCaseChecker(testClass = ObjectWithRefFieldExample::class) { - @Test - fun testDefaultValue() { - check( - ObjectWithRefFieldExample::defaultValue, - eq(1), - { r -> r != null && r.x == 0 && r.y == 0 && r.weight == 0.0 && r.arrayField == null && r.refField == null }, - coverage = atLeast(50) - ) - } - - @Test - fun testWriteToRefTypeField() { - check( - ObjectWithRefFieldExample::writeToRefTypeField, - eq(4), - { _, v, _ -> v != 42 }, - { o, v, _ -> v == 42 && o == null }, - { o, v, _ -> v == 42 && o != null && o.refField != null }, - { o, v, r -> - v == 42 && o != null && o.refField == null && r != null && r.refField.a == v && r.refField.b == 2 * v - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testDefaultFieldValues() { - check( - ObjectWithRefFieldExample::defaultFieldValues, - eq(1), - { r -> - r != null && r.x == 0 && r.y == 0 && r.weight == 0.0 && r.refField == null && r.arrayField == null - } - ) - } - - @Test - fun testReadFromRefTypeField() { - check( - ObjectWithRefFieldExample::readFromRefTypeField, - eq(4), - { o, _ -> o == null }, - { o, _ -> o != null && o.refField == null }, - { o, r -> o?.refField != null && o.refField.a <= 0 && r == -1 }, - { o, r -> o?.refField != null && o.refField.a > 0 && o.refField.a == r } - ) - } - - @Test - fun testWriteToArrayField() { - check( - ObjectWithRefFieldExample::writeToArrayField, - eq(3), - { _, length, _ -> length < 3 }, - { o, length, _ -> length >= 3 && o == null }, - { o, length, r -> - require(r != null) - - val array = r.arrayField - - val preconditions = length >= 3 && o != null - val contentConstraint = array.dropLast(1) == (1 until length).toList() && array.last() == 100 - - preconditions && contentConstraint - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testReadFromArrayField() { - check( - ObjectWithRefFieldExample::readFromArrayField, - eq(5), - { o, _, _ -> o == null }, - { o, _, _ -> o != null && o.arrayField == null }, - { o, _, _ -> o?.arrayField != null && o.arrayField.size < 3 }, - { o, v, r -> o?.arrayField != null && o.arrayField.size >= 3 && o.arrayField[2] == v && r == 1 }, - { o, v, r -> o?.arrayField != null && o.arrayField.size >= 3 && o.arrayField[2] != v && r == 2 } - ) - } - - @Test - fun testCompareTwoDifferentObjectsFromArguments() { - check( - ObjectWithRefFieldExample::compareTwoDifferentObjectsFromArguments, - ignoreExecutionsNumber, - { fst, _, _ -> fst == null }, - { fst, snd, _ -> fst != null && fst.x > 0 && snd == null }, - { fst, snd, _ -> fst != null && fst.x <= 0 && snd == null }, - { fst, snd, r -> fst != null && snd != null && fst.x > 0 && snd.x < 0 && r == 1 }, - { fst, snd, r -> fst != null && snd != null && ((fst.x > 0 && snd.x >= 0) || fst.x <= 0) && fst === snd && r == 2 }, - { fst, snd, r -> fst != null && snd != null && (fst.x <= 0 || (fst.x > 0 && snd.x >= 0)) && fst !== snd && r == 3 }, - coverage = atLeast(87) - ) - } - - @Test - fun testCompareTwoObjectsWithNullRefField() { - checkWithException( - ObjectWithRefFieldExample::compareTwoObjectsWithNullRefField, - eq(4), - { fst, _, r -> fst == null && r.isException() }, - { fst, snd, r -> fst != null && snd == null && r.isException() }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 1 /* && fst == snd by ref */ }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 2 /* && fst != snd by ref */ }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareTwoObjectsWithDifferentRefField() { - checkWithException( - ObjectWithRefFieldExample::compareTwoObjectsWithDifferentRefField, - eq(4), - { fst, _, _, r -> fst == null && r.isException() }, - { fst, snd, _, r -> fst != null && snd == null && r.isException() }, - { fst, snd, _, r -> fst != null && snd != null && r.getOrNull() == 1 /* fst == snd by ref */ }, - { fst, snd, _, r -> fst != null && snd != null && r.getOrNull() == 2 /* fst != snd by ref */ }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCompareTwoObjectsWithTheDifferentRefField() { - checkWithException( - ObjectWithRefFieldExample::compareTwoObjectsWithDifferentRefField, - eq(4), - { fst, _, r -> fst == null && r.isException() }, - { fst, snd, r -> fst != null && snd == null && r.isException() }, - { fst, snd, r -> fst != null && snd != null && fst.refField === snd.refField && r.getOrNull() == true }, - { fst, snd, r -> fst != null && snd != null && fst.refField !== snd.refField && r.getOrNull() == false } - ) - } - - @Test - fun testCompareTwoObjectsWithTheSameRefField() { - checkWithException( - ObjectWithRefFieldExample::compareTwoObjectsWithTheSameRefField, - eq(4), - { fst, _, r -> fst == null && r.isException() }, - { fst, snd, r -> fst != null && snd == null && r.isException() }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 1 /* && fst == snd by ref */ }, - { fst, snd, r -> fst != null && snd != null && r.getOrNull() == 2 /* && fst != snd by ref */ }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithStaticFieldsExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithStaticFieldsExampleTest.kt deleted file mode 100644 index dcd1e995..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithStaticFieldsExampleTest.kt +++ /dev/null @@ -1,191 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.findByName -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.singleValue - -internal class ObjectWithStaticFieldsExampleTest : UtValueTestCaseChecker(testClass = ObjectWithStaticFieldsExample::class) { - @Test - fun testReadFromStaticArray() { - checkStatics( - ObjectWithStaticFieldsExample::readFromStaticArray, - eq(6), - { _, statics, _ -> statics.singleValue() == null }, - { _, statics, _ -> (statics.singleValue() as IntArray).size < 5 }, - { _, statics, _ -> (statics.singleValue() as IntArray)[1] != 1 }, - { _, statics, _ -> - val array = statics.singleValue() as IntArray - array[1] == 1 && array[2] != 2 - }, - { o, statics, _ -> - val array = statics.singleValue() as IntArray - o == null && array[1] == 1 && array[2] == 2 - }, - { o, statics, r -> - val array = statics.singleValue() as IntArray - r as ObjectWithStaticFieldsClass - o != null && array[1] == 1 && array[2] == 2 && r.x == array[1] && r.y == array[2] - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testSetStaticField() { - checkStaticsAfter( - ObjectWithStaticFieldsExample::setStaticField, - eq(4), - { o, _, _ -> o == null }, - { o, _, _ -> o != null && o.x < 100 }, - { o, _, _ -> o != null && o.x >= 100 && o.y < 150 }, - { o, staticsAfter, r -> - val staticValue = staticsAfter.singleValue() as Int - - val objectCondition = o != null && o.x >= 100 && o.y >= 150 && r?.x == o.x * o.y && r.y == o.y - val staticCondition = staticValue == o.y * o.x - val connection = r!!.x == staticValue - - objectCondition && staticCondition && connection - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetStaticField() { - checkStatics( - ObjectWithStaticFieldsExample::getStaticField, - eq(3), - { o, _, _ -> o == null }, - { o, statics, _ -> o != null && statics.singleValue() as Int != 3 }, - { o, statics, r -> o != null && statics.singleValue() as Int == 3 && r != null && r.x == 3 }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetStaticFieldWithDefaultValue() { - checkStatics( - ObjectWithStaticFieldsExample::getStaticFieldWithDefaultValue, - eq(1), - { statics, r -> statics.singleValue() == r } - ) - } - - @Test - fun testStaticFieldInInvoke() { - checkMutationsAndResult( - ObjectWithStaticFieldsExample::staticFieldInInvoke, - eq(1), - { staticsBefore, staticsAfter, r -> - val defaultValue = staticsBefore.findByName("defaultValue") - staticsAfter.findByName("staticValue") == defaultValue && r == defaultValue - } - ) - } - - @Test - fun testStaticFieldAfterStateInInvoke() { - checkMutationsAndResult( - ObjectWithStaticFieldsExample::staticFieldInInvoke, - eq(1), - { staticsBefore, staticsAfter, r -> - val defaultValue = staticsBefore.findByName("defaultValue") - val staticValue = staticsAfter.findByName("staticValue") - - defaultValue == staticValue && r == defaultValue - } - ) - } - - @Test - fun testStaticFieldArrayMax() { - checkMutationsAndResult( - ObjectWithStaticFieldsExample::staticFieldArrayMax, - eq(4), - { staticsBefore, _, _ -> (staticsBefore.values.single().value as Int) < 0 }, - { staticsBefore, staticsAfter, _ -> - val defaultValue = staticsBefore.findByName("defaultValue") as Int - val staticArray = staticsAfter.findByName("staticArrayValue") as IntArray - - defaultValue == 0 && staticArray.isEmpty() - }, - { staticsBefore, staticsAfter, r -> - val defaultValue = staticsBefore.findByName("defaultValue") as Int - val staticArray = staticsAfter.findByName("staticArrayValue") as IntArray - - val contentCondition = staticArray.zip(staticArray.indices).all { it.first == defaultValue + it.second } - val maxValue = staticArray.maxOrNull() - - staticArray.size == 1 && contentCondition && maxValue == r - }, - { staticsBefore, staticsAfter, r -> - val defaultValue = staticsBefore.findByName("defaultValue") as Int - val staticArray = staticsAfter.findByName("staticArrayValue") as IntArray - - val contentCondition = staticArray.zip(staticArray.indices).all { it.first == defaultValue + it.second } - val maxValue = staticArray.maxOrNull() - - staticArray.size > 1 && contentCondition && maxValue == r - }, - ) - } - - @Test - fun testInitializedArrayWithCycle() { - checkStatics( - ObjectWithStaticFieldsExample::initializedArrayWithCycle, - ignoreExecutionsNumber, - { n, _, r -> n < 0 && r == Double.NEGATIVE_INFINITY }, - { _, statics, _ -> statics.singleValue() == null }, - { n, statics, _ -> n > 0 && (statics.singleValue() as IntArray).lastIndex < n }, - { n, statics, r -> - r!!.toInt() == (1 until n).fold(1) { a, b -> a * b } * (statics.singleValue() as IntArray)[n] - }, - ) - } - - @Test - fun testBigStaticArray() { - checkStatics( - ObjectWithStaticFieldsExample::bigStaticArray, - eq(3), - { statics, _ -> statics.singleValue() == null }, - { statics, _ -> (statics.singleValue() as IntArray).lastIndex < 10 }, - { statics, r -> (statics.singleValue() as IntArray)[10] == r } - ) - } - - @Test - fun testModifyStatic() { - checkStaticMethodMutationAndResult( - ObjectWithStaticFieldsExample::modifyStatic, - eq(2), - { staticsBefore, staticsAfter, _ -> staticsBefore.singleValue() == 41 && staticsAfter.singleValue() == 42 }, - { staticsBefore, staticsAfter, _ -> - staticsBefore.singleValue() != 41 && staticsAfter.singleValue() == staticsBefore.singleValue() - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testResetNonFinalFields() { - checkMutationsAndResult( - ObjectWithStaticFieldsExample::resetNonFinalFields, - eq(2), - { staticsBefore, staticsAfter, r -> - staticsBefore.singleValue() == 42 && staticsAfter.singleValue() == 43 && r == 43 - }, - { staticsBefore, staticsAfter, r -> - val value = staticsBefore.singleValue() - value !in 42..43 && staticsAfter.singleValue() == value && r == value - }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithThrowableConstructorTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithThrowableConstructorTest.kt deleted file mode 100644 index 297bf4c9..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/ObjectWithThrowableConstructorTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.objects - -import kotlin.reflect.KFunction2 -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class ObjectWithThrowableConstructorTest : UtValueTestCaseChecker(testClass = ObjectWithThrowableConstructor::class) { - @Test - @Disabled("SAT-1500 Support verification of UtAssembleModel for possible exceptions") - fun testThrowableConstructor() { - val method: KFunction2 = ::ObjectWithThrowableConstructor - checkStaticMethod( - method, - eq(2), - // TODO: SAT-933 Add support for constructor testing - coverage = DoNotCalculate - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/PrivateFieldsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/PrivateFieldsTest.kt deleted file mode 100644 index a32d8036..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/PrivateFieldsTest.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException -internal class PrivateFieldsTest : UtValueTestCaseChecker(testClass = PrivateFields::class) { - @Test - fun testAccessWithGetter() { - checkWithException( - PrivateFields::accessWithGetter, - eq(3), - { x, r -> x == null && r.isException() }, - { x, r -> x.a == 1 && r.getOrNull() == true }, - { x, r -> x.a != 1 && r.getOrNull() == false }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/RecursiveTypeTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/RecursiveTypeTest.kt deleted file mode 100644 index e1dc21ad..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/RecursiveTypeTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class RecursiveTypeTest : UtValueTestCaseChecker(testClass = RecursiveType::class) { - @Test - fun testNextValue() { - check( - RecursiveType::nextValue, - eq(5), - { _, value, _ -> value == 0 }, - { node, _, _ -> node == null }, - { node, _, _ -> node != null && node.next == null }, - { node, value, r -> node?.next != null && node.next.value != value && r == null }, - { node, value, r -> node?.next != null && node.next.value == value && r != null && r.value == value }, - coverage = DoNotCalculate - ) - } - - @Test - fun testWriteObjectFieldTest() { - check( - RecursiveType::writeObjectField, - eq(3), - { node, _ -> node == null }, - { node, r -> - node != null && node.next == null && r?.next != null && r.next.value == RecursiveTypeClass().value + 1 - }, - { node, r -> node?.next != null && r?.next != null && node.next.value + 1 == r.next.value }, - coverage = DoNotCalculate - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/SimpleClassExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/SimpleClassExampleTest.kt deleted file mode 100644 index 218721e7..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/SimpleClassExampleTest.kt +++ /dev/null @@ -1,71 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between -import org.utbot.testing.isException - -internal class SimpleClassExampleTest : UtValueTestCaseChecker(testClass = SimpleClassExample::class) { - @Test - fun simpleConditionTest() { - check( - SimpleClassExample::simpleCondition, - eq(4), - { c, _ -> c == null }, // NPE - { c, r -> c.a >= 5 && r == 3 }, - { c, r -> c.a < 5 && c.b <= 10 && r == 3 }, - { c, r -> c.a < 5 && c.b > 10 && r == 0 }, - coverage = DoNotCalculate // otherwise we overwrite original values - ) - } - - /** - * Additional bytecode instructions between IFs, because of random, makes different order of executing the branches, - * that affects their number. Changing random seed in PathSelector can explore 6th branch - * - * @see multipleFieldAccessesTest - */ - @Test - fun singleFieldAccessTest() { - check( - SimpleClassExample::singleFieldAccess, - between(5..6), // could be 6 - { c, _ -> c == null }, // NPE - { c, r -> c.a == 3 && c.b != 5 && r == 2 }, - { c, r -> c.a == 3 && c.b == 5 && r == 1 }, - { c, r -> c.a == 2 && c.b != 3 && r == 2 }, - { c, r -> c.a == 2 && c.b == 3 && r == 0 } - ) - } - - /** - * Additional bytecode instructions between IFs, because of random, makes different order of executing the branches, - * that affects their number - */ - @Test - fun multipleFieldAccessesTest() { - check( - SimpleClassExample::multipleFieldAccesses, - eq(6), - { c, _ -> c == null }, // NPE - { c, r -> c.a != 2 && c.a != 3 && r == 2 }, // this one appears - { c, r -> c.a == 3 && c.b != 5 && r == 2 }, - { c, r -> c.a == 3 && c.b == 5 && r == 1 }, - { c, r -> c.a == 2 && c.b != 3 && r == 2 }, - { c, r -> c.a == 2 && c.b == 3 && r == 0 } - ) - } - - @Test - fun immutableFieldAccessTest() { - checkWithException( - SimpleClassExample::immutableFieldAccess, - eq(3), - { c, r -> c == null && r.isException() }, - { c, r -> c.b == 10 && r.getOrNull() == 0 }, - { c, r -> c.b != 10 && r.getOrNull() == 1 } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/SimpleClassMultiInstanceExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/SimpleClassMultiInstanceExampleTest.kt deleted file mode 100644 index 7ba04d56..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/objects/SimpleClassMultiInstanceExampleTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.objects - -import org.junit.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class SimpleClassMultiInstanceExampleTest : UtValueTestCaseChecker(testClass = - SimpleClassMultiInstanceExample::class) { - @Test - fun singleObjectChangeTest() { - check( - SimpleClassMultiInstanceExample::singleObjectChange, - eq(3), - { first, _, _ -> first == null }, // NPE - { first, _, r -> first.a < 5 && r == 3 }, - { first, _, r -> first.a >= 5 && r == first.b }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/ByteExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/ByteExamplesTest.kt deleted file mode 100644 index 4b709e11..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/ByteExamplesTest.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.examples.primitives - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class ByteExamplesTest : UtValueTestCaseChecker(testClass = ByteExamples::class) { - @Test - fun testNegByte() { - check( - ByteExamples::negByte, - eq(2), - { b, r -> b > 0 && r == 0 }, - { b, r -> b <= 0 && r == 1 }, - ) - } - - @Test - fun testNegConstByte() { - check( - ByteExamples::negConstByte, - eq(3), - { b, r -> b <= -10 && r == 1 }, - { b, r -> b in -9..9 && r == 0 }, - { b, r -> b >= 10 && r == 1 }, - ) - } - - @Test - fun testSumTwoBytes() { - check( - ByteExamples::sumTwoBytes, - eq(3), - { a, b, r -> a + b > Byte.MAX_VALUE && r == 1 }, - { a, b, r -> a + b < Byte.MIN_VALUE && r == 2 }, - { a, b, r -> a + b in Byte.MIN_VALUE..Byte.MAX_VALUE && r == 3 }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/CharExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/CharExamplesTest.kt deleted file mode 100644 index c93b615e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/CharExamplesTest.kt +++ /dev/null @@ -1,52 +0,0 @@ -package org.utbot.examples.primitives - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -internal class CharExamplesTest : UtValueTestCaseChecker(testClass = CharExamples::class) { - @Test - fun testCharDiv() { - checkWithException( - CharExamples::charDiv, - eq(2), - { _, b, r -> b == '\u0000' && r.isException() }, - { a, b, r -> b != '\u0000' && r.getOrNull() == a.toInt() / b.toInt() } - ) - } - - @Test - fun testCharNeg() { - check( - CharExamples::charNeg, - eq(2), - { c, r -> c !in '\u0000'..'\uC350' && r == 1 }, - { c, r -> c in '\u0000'..'\uC350' && r == 2 }, - ) - } - - @Test - fun testByteToChar() { - check( - CharExamples::byteToChar, - eq(5), - { b, r -> b == (-1).toByte() && r == -1 }, - { b, r -> b == (-128).toByte() && r == -128 }, - { b, r -> b == 0.toByte() && r == 0 }, - { b, r -> b == 127.toByte() && r == 127 }, - { b, r -> b != (-1).toByte() && b != (-128).toByte() && b != 0.toByte() && b != 127.toByte() && r == 200 }, - ) - } - - @Test - fun testUpdateObject() { - checkWithException( - CharExamples::updateObject, - eq(3), - { obj, _, r -> obj == null && r.isException() }, - { obj, i, r -> obj != null && i <= 50000 && r.getOrNull()!!.c == '\u0444' }, - { obj, i, r -> obj != null && i.toChar() > 50000.toChar() && r.getOrNull()?.c == i.toChar() }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/DoubleExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/DoubleExamplesTest.kt deleted file mode 100644 index 157d5be2..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/DoubleExamplesTest.kt +++ /dev/null @@ -1,161 +0,0 @@ -package org.utbot.examples.primitives - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("SimplifyNegatedBinaryExpression") -internal class DoubleExamplesTest : UtValueTestCaseChecker(testClass = DoubleExamples::class) { - @Test - fun testCompareSum() { - check( - DoubleExamples::compareSum, - eq(2), - { a, b, r -> a + b > 5.6 && r == 1.0 }, - { a, b, r -> (a + b).isNaN() || a + b <= 5.6 && r == 0.0 } - ) - } - - @Test - fun testCompare() { - check( - DoubleExamples::compare, - eq(2), - { a, b, r -> a > b && r == 1.0 }, - { a, b, r -> !(a > b) && r == 0.0 } - ) - } - - @Test - fun testCompareWithDiv() { - check( - DoubleExamples::compareWithDiv, - eq(2), // only two branches because division by zero is not an error with doubles - { a, b, r -> a / (a + 0.5) > b && r == 1.0 }, - { a, b, r -> !(a / (a + 0.5) > b) && r == 0.0 } - ) - } - - @Test - fun testSimpleSum() { - check( - DoubleExamples::simpleSum, - eq(4), - { a, b, r -> (a + b).isNaN() && r == 0.0 }, - { a, b, r -> a + 1.1 + b > 10.1 && a + 1.1 + b < 11.125 && r == 1.1 }, - { a, b, r -> a + 1.1 + b <= 10.1 && r == 1.2 }, - { a, b, r -> a + 1.1 + b >= 11.125 && r == 1.2 } - ) - } - - @Test - fun testSum() { - check( - DoubleExamples::sum, - eq(4), - { a, b, r -> (a + b).isNaN() && r == 0.0 }, - { a, b, r -> a + 0.123124 + b > 11.123124 && a + b + 0.123124 < 11.125 && r == 1.1 }, - { a, b, r -> a + 0.123124 + b <= 11.123124 && r == 1.2 }, - { a, b, r -> a + 0.123124 + b >= 11.125 && r == 1.2 } - ) - } - - @Test - fun testSimpleMul() { - check( - DoubleExamples::simpleMul, - eq(4), - { a, b, r -> (a * b).isNaN() && r == 0.0 }, - { a, b, r -> a * b > 33.1 && a * b < 33.875 && r == 1.1 }, - { a, b, r -> a * b <= 33.1 && r == 1.2 }, - { a, b, r -> a * b >= 33.875 && r == 1.2 } - ) - } - - @Test - fun testMul() { - check( - DoubleExamples::mul, - eq(6), - { a, b, r -> (a * b).isNaN() && r == 0.0 }, // 0 * inf || a == nan || b == nan - { a, b, r -> !(a * b > 33.32) && !(a * b > 33.333) && r == 1.3 }, // 1.3, 1-1 false, 2-1 false - { a, b, r -> a * b == 33.333 && r == 1.3 }, // 1.3, 1-1 true, 1-2 false, 2-1 false - { a, b, r -> a * b > 33.32 && a * b < 33.333 && r == 1.1 }, // 1.1, 1st true - { a, b, r -> a * b > 33.333 && a * b < 33.7592 && r == 1.2 }, // 1.2, 1st false, 2nd true - { a, b, r -> a * b >= 33.7592 && r == 1.3 } // 1.3, 1-1 false, 2-1 true, 2-2 false - ) - } - - @Test - fun testCheckNonInteger() { - check( - DoubleExamples::checkNonInteger, - eq(3), - { a, r -> !(a > 0.1) && r == 0.0 }, - { a, r -> a > 0.1 && !(a < 0.9) && r == 0.0 }, - { a, r -> a > 0.1 && a < 0.9 && r == 1.0 } - ) - } - - @Test - fun testDiv() { - check( - DoubleExamples::div, - eq(1), - { a, b, c, r -> r == (a + b) / c || (r!!.isNaN() && (a + b + c).isNaN()) } - ) - } - - @Test - fun testSimpleEquation() { - check( - DoubleExamples::simpleEquation, - eq(2), - { x, r -> x + x + x - 9 == x + 3 && r == 0 }, - { x, r -> x + x + x - 9 != x + 3 && r == 1 } - ) - } - - @Test - fun testSimpleNonLinearEquation() { - check( - DoubleExamples::simpleNonLinearEquation, - eq(2), - { x, r -> 3 * x - 9 == x + 3 && r == 0 }, - { x, r -> 3 * x - 9 != x + 3 && r == 1 } - ) - } - - @Test - fun testCheckNaN() { - check( - DoubleExamples::checkNaN, - eq(4), - { d, r -> !d.isNaN() && d < 0 && r == -1 }, - { d, r -> !d.isNaN() && d == 0.0 && r == 0 }, - { d, r -> !d.isNaN() && d > 0 && r == 1 }, - { d, r -> d.isNaN() && r == 100 } - ) - } - - @Test - fun testUnaryMinus() { - check( - DoubleExamples::unaryMinus, - eq(2), - { d, r -> !d.isNaN() && -d < 0 && r == -1 }, - { d, r -> d.isNaN() || -d >= 0 && r == 0 } - ) - } - - @Test - fun testDoubleInfinity() { - check( - DoubleExamples::doubleInfinity, - eq(3), - { d, r -> d == Double.POSITIVE_INFINITY && r == 1 }, - { d, r -> d == Double.NEGATIVE_INFINITY && r == 2 }, - { d, r -> !d.isInfinite() && r == 3 }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/FloatExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/FloatExamplesTest.kt deleted file mode 100644 index 87baa7a2..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/FloatExamplesTest.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.primitives - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class FloatExamplesTest : UtValueTestCaseChecker(testClass = FloatExamples::class) { - @Test - fun testFloatInfinity() { - check( - FloatExamples::floatInfinity, - eq(3), - { f, r -> f == Float.POSITIVE_INFINITY && r == 1 }, - { f, r -> f == Float.NEGATIVE_INFINITY && r == 2 }, - { f, r -> !f.isInfinite() && r == 3 }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/IntExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/IntExamplesTest.kt deleted file mode 100644 index baa6ded3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/primitives/IntExamplesTest.kt +++ /dev/null @@ -1,119 +0,0 @@ -package org.utbot.examples.primitives - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("ConvertTwoComparisonsToRangeCheck") -internal class IntExamplesTest : UtValueTestCaseChecker(testClass = IntExamples::class) { - @Test - @Disabled("SAT-1009 [JAVA] Engine can't analyze isInteger") - fun testIsInteger() { - val method = IntExamples::isInteger - checkStaticMethod( - method, - eq(2), - { value, r -> runCatching { Integer.valueOf(value) }.isSuccess && r == true }, - { value, r -> runCatching { Integer.valueOf(value) }.isFailure && r == false }, - ) - } - - @Test - fun testMax() { - check( - IntExamples::max, - eq(2), - { x, y, r -> x > y && r == x }, - { x, y, r -> x <= y && r == y } - ) - } - - @Test - fun testPreferableLt() { - check( - IntExamples::preferableLt, - eq(2), - { x, r -> x == 41 && r == 41 }, - { x, r -> x == 42 && r == 42 } - ) - } - - @Test - fun testPreferableLe() { - check( - IntExamples::preferableLe, - eq(2), - { x, r -> x == 42 && r == 42 }, - { x, r -> x == 43 && r == 43 } - ) - } - - @Test - fun testPreferableGe() { - check( - IntExamples::preferableGe, - eq(2), - { x, r -> x == 42 && r == 42 }, - { x, r -> x == 41 && r == 41 } - ) - } - - @Test - fun testPreferableGt() { - check( - IntExamples::preferableGt, - eq(2), - { x, r -> x == 43 && r == 43 }, - { x, r -> x == 42 && r == 42 } - ) - } - - - @Test - fun testCompare() { - check( - IntExamples::complexCompare, - eq(6), - { a, b, r -> a < b && b < 11 && r == 0 }, - { a, b, r -> a < b && b > 11 && r == 1 }, - { a, b, r -> a == b && b == 11 && r == 3 }, - { a, b, r -> a == b && b != 11 && r == 6 }, - { a, b, r -> a < b && b == 11 && r == 6 }, - { a, b, r -> a > b && r == 6 } - ) - } - - @Test - fun testComplexCondition() { - check( - IntExamples::complexCondition, - eq(3), - { _, b, r -> b + 10 >= b + 22 && r == 0 }, // negative overflow, result = 1 - { a, b, r -> b + 10 < b + 22 && b + 22 >= a + b + 10 && r == 0 }, - { a, b, r -> b + 10 < b + 22 && b + 22 < a + b + 10 && r == 1 } // overflow involved - ) - } - - @Test - fun testOrderCheck() { - check( - IntExamples::orderCheck, - eq(3), - { first, second, _, r -> first >= second && r == false }, - { first, second, third, r -> first < second && second >= third && r == false }, - { first, second, third, r -> first < second && second < third && r == true } - ) - } - - @Test - fun testOrderCheckWithMethods() { - check( - IntExamples::orderCheckWithMethods, - eq(3), - { first, second, _, r -> first >= second && r == false }, - { first, second, third, r -> first < second && second >= third && r == false }, - { first, second, third, r -> first < second && second < third && r == true } - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/recursion/RecursionTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/recursion/RecursionTest.kt deleted file mode 100644 index 127e3cd1..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/recursion/RecursionTest.kt +++ /dev/null @@ -1,108 +0,0 @@ -package org.utbot.examples.recursion - -import kotlin.math.pow -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.between -import org.utbot.testing.isException - -// TODO Kotlin mocks generics https://github.com/UnitTestBot/UTBotJava/issues/88 -internal class RecursionTest : UtValueTestCaseChecker( - testClass = Recursion::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testFactorial() { - checkWithException( - Recursion::factorial, - eq(3), - { x, r -> x < 0 && r.isException() }, - { x, r -> x == 0 && r.getOrNull() == 1 }, - { x, r -> x > 0 && r.getOrNull() == (1..x).reduce { a, b -> a * b } } - ) - } - - @Test - fun testFib() { - checkWithException( - Recursion::fib, - eq(4), - { x, r -> x < 0 && r.isException() }, - { x, r -> x == 0 && r.getOrNull() == 0 }, - { x, r -> x == 1 && r.getOrNull() == 1 }, - { x, r -> x > 1 && r.getOrNull() == Recursion().fib(x) } - ) - } - - @Test - @Disabled("Freezes the execution when snd != 0 JIRA:1293") - fun testSum() { - check( - Recursion::sum, - eq(2), - { x, y, r -> y == 0 && r == x }, - { x, y, r -> y != 0 && r == x + y } - ) - } - - @Test - fun testPow() { - checkWithException( - Recursion::pow, - eq(4), - { _, y, r -> y < 0 && r.isException() }, - { _, y, r -> y == 0 && r.getOrNull() == 1 }, - { x, y, r -> y % 2 == 1 && r.getOrNull() == x.toDouble().pow(y.toDouble()).toInt() }, - { x, y, r -> y % 2 != 1 && r.getOrNull() == x.toDouble().pow(y.toDouble()).toInt() } - ) - } - - @Test - fun infiniteRecursionTest() { - checkWithException( - Recursion::infiniteRecursion, - eq(2), - { x, r -> x > 10000 && r.isException() }, - { x, r -> x <= 10000 && r.isException() }, - coverage = atLeast(50) - ) - } - - @Test - fun vertexSumTest() { - check( - Recursion::vertexSum, - between(2..3), - { x, _ -> x <= 10 }, - { x, _ -> x > 10 } - ) - } - - @Test - fun recursionWithExceptionTest() { - checkWithException( - Recursion::recursionWithException, - ge(3), - { x, r -> x < 42 && r.isException() }, - { x, r -> x == 42 && r.isException() }, - { x, r -> x > 42 && r.isException() }, - coverage = atLeast(50) - ) - } - - @Test - fun recursionLoopTest() { - check( - Recursion::firstMethod, - eq(2), - { x, _ -> x < 4 }, - { x, _ -> x >= 4 }, - coverage = atLeast(50) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/reflection/NewInstanceExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/reflection/NewInstanceExampleTest.kt deleted file mode 100644 index 813360bf..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/reflection/NewInstanceExampleTest.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.reflection - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -class NewInstanceExampleTest : UtValueTestCaseChecker(NewInstanceExample::class) { - @Test - fun testNewInstanceExample() { - check( - NewInstanceExample::createWithReflectionExample, - eq(1), - { r -> r == 0 } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/statics/substitution/StaticsSubstitutionTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/statics/substitution/StaticsSubstitutionTest.kt deleted file mode 100644 index ff5c014a..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/statics/substitution/StaticsSubstitutionTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.statics.substitution - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutSubstituteStaticsWithSymbolicVariable -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -class StaticsSubstitutionTest : UtValueTestCaseChecker(testClass = StaticSubstitutionExamples::class) { - - @Test - fun lessThanZeroWithSubstitution() { - check( - StaticSubstitutionExamples::lessThanZero, - eq(2), - { r -> r != 0 }, - { r -> r == 0 }, - ) - } - - @Test - fun lessThanZeroWithoutSubstitution() { - withoutSubstituteStaticsWithSymbolicVariable { - checkWithoutStaticsSubstitution( - StaticSubstitutionExamples::lessThanZero, - eq(1), - { r -> r != 0 }, - coverage = DoNotCalculate, - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/DateExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/DateExampleTest.kt deleted file mode 100644 index af887d6c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/DateExampleTest.kt +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.examples.stdlib - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withUsingReflectionForMaximizingCoverage -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException -import java.util.Date - -@Disabled("Java 11 transition -- these tests seems to take too much time and memory") -class DateExampleTest : UtValueTestCaseChecker(testClass = DateExample::class) { - @Suppress("SpellCheckingInspection") - @Tag("slow") - @Test - fun testGetTimeWithNpeChecksForNonPublicFields() { - withUsingReflectionForMaximizingCoverage(maximizeCoverage = true) { - checkWithException( - DateExample::getTime, - eq(5), - *commonMatchers, - { date: Date?, r: Result -> - val cdate = date!!.getDeclaredFieldValue("cdate") - val calendarDate = cdate!!.getDeclaredFieldValue("date") - - calendarDate == null && r.isException() - }, - { date: Date?, r: Result -> - val cdate = date!!.getDeclaredFieldValue("cdate") - val calendarDate = cdate!!.getDeclaredFieldValue("date") - - val gcal = date.getDeclaredFieldValue("gcal") - - val normalized = calendarDate!!.getDeclaredFieldValue("normalized") as Boolean - val gregorianYear = calendarDate.getDeclaredFieldValue("gregorianYear") as Int - - gcal == null && !normalized && gregorianYear >= 1582 && r.isException() - } - ) - } - } - - @Test - fun testGetTimeWithoutReflection() { - withUsingReflectionForMaximizingCoverage(maximizeCoverage = false) { - checkWithException( - DateExample::getTime, - eq(3), - *commonMatchers - ) - } - } - - private val commonMatchers = arrayOf( - { date: Date?, r: Result -> date == null && r.isException() }, - { date: Date?, r: Result -> date != null && date.time == 100L && r.getOrThrow() }, - { date: Date?, r: Result -> date != null && date.time != 100L && !r.getOrThrow() } - ) - - private fun Any.getDeclaredFieldValue(fieldName: String): Any? { - val declaredField = javaClass.getDeclaredField(fieldName) - declaredField.isAccessible = true - - return declaredField.get(this) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/JavaIOFileInputStreamCheckTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/JavaIOFileInputStreamCheckTest.kt deleted file mode 100644 index db408288..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/JavaIOFileInputStreamCheckTest.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.examples.stdlib - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtNewInstanceInstrumentation -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.id -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class JavaIOFileInputStreamCheckTest : UtValueTestCaseChecker( - testClass = JavaIOFileInputStreamCheck::class, - testCodeGeneration = true, - // because of mocks - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testRead() { - checkMocksAndInstrumentation( - JavaIOFileInputStreamCheck::read, - eq(1), - { _, _, instrumentation, r -> - val constructorMock = instrumentation.single() as UtNewInstanceInstrumentation - - val classIdEquality = constructorMock.classId == java.io.FileInputStream::class.id - val callSiteIdEquality = constructorMock.callSites.single() == JavaIOFileInputStreamCheck::class.id - val instance = constructorMock.instances.single() as UtCompositeModel - val methodMock = instance.mocks.entries.single() - val methodNameEquality = methodMock.key.name == "read" - val mockValueResult = r == (methodMock.value.single() as UtPrimitiveModel).value as Int - - classIdEquality && callSiteIdEquality && instance.isMock && methodNameEquality && mockValueResult - }, - additionalMockAlwaysClasses = setOf(java.io.FileInputStream::class.id), - coverage = DoNotCalculate // there is a problem with coverage calculation of mocked values - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/StaticsPathDiversionTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/StaticsPathDiversionTest.kt deleted file mode 100644 index 5d46100f..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stdlib/StaticsPathDiversionTest.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.stdlib - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.util.id -import org.utbot.testcheckers.ge -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import java.io.File - -internal class StaticsPathDiversionTest : UtValueTestCaseChecker( - testClass = StaticsPathDiversion::class, -) { - @Test - @Disabled("See https://github.com/UnitTestBot/UTBotJava/issues/716") - fun testJavaIOFile() { - // TODO Here we have a path diversion example - the static field `java.io.File#separator` is considered as not meaningful, - // so it is not passed to the concrete execution because of absence in the `stateBefore` models. - // So, the symbolic engine has 2 results - true and false, as expected, but the concrete executor may produce 1 or 2, - // depending on the model for the argument of the MUT produced by the solver. - // Such diversion was predicted to some extent - see `org.utbot.common.WorkaroundReason.IGNORE_STATICS_FROM_TRUSTED_LIBRARIES` - // and the corresponding issue https://github.com/UnitTestBot/UTBotJava/issues/716 - check( - StaticsPathDiversion::separatorEquality, - ge(2), // We cannot guarantee the exact number of branches without minimization - - // In the matchers below we check that the symbolic does not change the static field `File.separator` - we should - // change the parameter, not the static field - { s, separator -> separator == File.separator && s == separator }, - { s, separator -> separator == File.separator && s != separator }, - additionalMockAlwaysClasses = setOf(java.io.File::class.id), // From the use-case - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/BaseStreamExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/BaseStreamExampleTest.kt deleted file mode 100644 index c0f4abe0..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/BaseStreamExampleTest.kt +++ /dev/null @@ -1,457 +0,0 @@ -package org.utbot.examples.stream - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.Full -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.StaticsType -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import java.util.Optional -import java.util.stream.Stream -import org.utbot.testing.asList - -// TODO 1 instruction is always uncovered https://github.com/UnitTestBot/UTBotJava/issues/193 -// TODO failed Kotlin compilation (generics) JIRA:1332 -class BaseStreamExampleTest : UtValueTestCaseChecker( - testClass = BaseStreamExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturningStreamAsParameterExample() { - withoutConcrete { - check( - BaseStreamExample::returningStreamAsParameterExample, - eq(1), - { s, r -> s != null && s.asList() == r!!.asList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testFilterExample() { - check( - BaseStreamExample::filterExample, - ignoreExecutionsNumber, - { c, r -> null !in c && r == false }, - { c, r -> null in c && r == true }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapExample() { - checkWithException( - BaseStreamExample::mapExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.isException() }, - { c, r -> r.getOrThrow().contentEquals(c.map { it * 2 }.toTypedArray()) }, - coverage = AtLeast(90) - ) - } - - @Test - @Tag("slow") - fun testMapToIntExample() { - checkWithException( - BaseStreamExample::mapToIntExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.isException() }, - { c, r -> r.getOrThrow().contentEquals(c.map { it.toInt() }.toIntArray()) }, - coverage = AtLeast(90) - ) - } - - @Test - @Tag("slow") - fun testMapToLongExample() { - checkWithException( - BaseStreamExample::mapToLongExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.isException() }, - { c, r -> r.getOrThrow().contentEquals(c.map { it.toLong() }.toLongArray()) }, - coverage = AtLeast(90) - ) - } - - @Test - @Tag("slow") - fun testMapToDoubleExample() { - checkWithException( - BaseStreamExample::mapToDoubleExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.isException() }, - { c, r -> r.getOrThrow().contentEquals(c.map { it.toDouble() }.toDoubleArray()) }, - coverage = AtLeast(90) - ) - } - - @Test - fun testFlatMapExample() { - check( - BaseStreamExample::flatMapExample, - ignoreExecutionsNumber, - { c, r -> r.contentEquals(c.flatMap { listOf(it, it) }.toTypedArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Tag("slow") - fun testFlatMapToIntExample() { - check( - BaseStreamExample::flatMapToIntExample, - ignoreExecutionsNumber, - { c, r -> r.contentEquals(c.flatMap { listOf(it?.toInt() ?: 0, it?.toInt() ?: 0) }.toIntArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testFlatMapToLongExample() { - check( - BaseStreamExample::flatMapToLongExample, - ignoreExecutionsNumber, - { c, r -> r.contentEquals(c.flatMap { listOf(it?.toLong() ?: 0L, it?.toLong() ?: 0L) }.toLongArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testFlatMapToDoubleExample() { - check( - BaseStreamExample::flatMapToDoubleExample, - ignoreExecutionsNumber, - { c, r -> r.contentEquals(c.flatMap { listOf(it?.toDouble() ?: 0.0, it?.toDouble() ?: 0.0) }.toDoubleArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Tag("slow") - fun testDistinctExample() { - check( - BaseStreamExample::distinctExample, - ignoreExecutionsNumber, - { c, r -> c == c.distinct() && r == false }, - { c, r -> c != c.distinct() && r == true }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Tag("slow") - // TODO slow sorting https://github.com/UnitTestBot/UTBotJava/issues/188 - fun testSortedExample() { - check( - BaseStreamExample::sortedExample, - ignoreExecutionsNumber, - { c, r -> c.last() < c.first() && r!!.asSequence().isSorted() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testPeekExample() { - checkThisAndStaticsAfter( - BaseStreamExample::peekExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testLimitExample() { - check( - BaseStreamExample::limitExample, - ignoreExecutionsNumber, - { c, r -> c.size <= 5 && c.toTypedArray().contentEquals(r) }, - { c, r -> c.size > 5 && c.take(5).toTypedArray().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSkipExample() { - check( - BaseStreamExample::skipExample, - ignoreExecutionsNumber, - { c, r -> c.size > 5 && c.drop(5).toTypedArray().contentEquals(r) }, - { c, r -> c.size <= 5 && r!!.isEmpty() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testForEachExample() { - checkThisAndStaticsAfter( - BaseStreamExample::forEachExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = AtLeast(92) - ) - } - - @Test - fun testToArrayExample() { - check( - BaseStreamExample::toArrayExample, - eq(2), - { c, r -> c.toTypedArray().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testReduceExample() { - check( - BaseStreamExample::reduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 42 }, - { c, r -> c.isNotEmpty() && r == c.sum() + 42 }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testOptionalReduceExample() { - checkWithException( - BaseStreamExample::optionalReduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == Optional.empty() }, - { c, r -> c.isNotEmpty() && c.single() == null && r.isException() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == Optional.of(c.sum()) }, - coverage = DoNotCalculate // TODO 2 instructions are uncovered https://github.com/UnitTestBot/UTBotJava/issues/193 - ) - } - - @Test - fun testComplexReduceExample() { - check( - BaseStreamExample::complexReduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && c.sumOf { it.toDouble() } + 42.0 == r }, - { c: List, r -> c.isNotEmpty() && c.sumOf { it?.toDouble() ?: 0.0 } + 42.0 == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Disabled("TODO zero executions https://github.com/UnitTestBot/UTBotJava/issues/207") - fun testCollectorExample() { - check( - BaseStreamExample::collectorExample, - ignoreExecutionsNumber, - { c, r -> c.toSet() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testCollectExample() { - checkWithException( - BaseStreamExample::collectExample, - ignoreExecutionsNumber, // 3 executions instead of 2 expected - { c, r -> null in c && r.isException() }, - { c, r -> null !in c && c.sum() == r.getOrThrow() }, - coverage = DoNotCalculate // TODO 2 instructions are uncovered https://github.com/UnitTestBot/UTBotJava/issues/193 - ) - } - - @Test - fun testMinExample() { - checkWithException( - BaseStreamExample::minExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == Optional.empty() }, - { c, r -> c.isNotEmpty() && c.all { it == null } && r.isException() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == Optional.of(c.minOrNull()!!) }, - coverage = DoNotCalculate // TODO 2 instructions are uncovered https://github.com/UnitTestBot/UTBotJava/issues/193 - ) - } - - @Test - fun testMaxExample() { - checkWithException( - BaseStreamExample::maxExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == Optional.empty() }, - { c, r -> c.isNotEmpty() && c.all { it == null } && r.isException() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == Optional.of(c.maxOrNull()!!) }, - coverage = DoNotCalculate // TODO 2 instructions are uncovered https://github.com/UnitTestBot/UTBotJava/issues/193 - ) - } - - @Test - fun testCountExample() { - check( - BaseStreamExample::countExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.size.toLong() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAnyMatchExample() { - check( - BaseStreamExample::anyMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == false }, - { c, r -> c.isNotEmpty() && c.all { it == null } && r == true }, - { c, r -> c.isNotEmpty() && c.first() != null && c.last() == null && r == true }, - { c, r -> c.isNotEmpty() && c.first() == null && c.last() != null && r == true }, - { c, r -> c.isNotEmpty() && c.none { it == null } && r == false }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testAllMatchExample() { - check( - BaseStreamExample::allMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.all { it == null } && r == true }, - { c, r -> c.isNotEmpty() && c.first() != null && c.last() == null && r == false }, - { c, r -> c.isNotEmpty() && c.first() == null && c.last() != null && r == false }, - { c, r -> c.isNotEmpty() && c.none { it == null } && r == false }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testNoneMatchExample() { - check( - BaseStreamExample::noneMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.all { it == null } && r == false }, - { c, r -> c.isNotEmpty() && c.first() != null && c.last() == null && r == false }, - { c, r -> c.isNotEmpty() && c.first() == null && c.last() != null && r == false }, - { c, r -> c.isNotEmpty() && c.none { it == null } && r == true }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testFindFirstExample() { - checkWithException( - BaseStreamExample::findFirstExample, - eq(3), - { c, r -> c.isEmpty() && r.getOrThrow() == Optional.empty() }, - { c: List, r -> c.isNotEmpty() && c.first() == null && r.isException() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == Optional.of(c.first()) }, - coverage = DoNotCalculate - ) - } - - @Test - fun testIteratorExample() { - checkWithException( - BaseStreamExample::iteratorSumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == 0 }, - { c, r -> null in c && r.isException() }, - { c, r -> c.isNotEmpty() && null !in c && r.getOrThrow() == c.sum() }, - coverage = AtLeast(75) - ) - } - - @Test - fun testStreamOfExample() { - withoutConcrete { - check( - BaseStreamExample::streamOfExample, - ignoreExecutionsNumber, - // NOTE: the order of the matchers is important because Stream could be used only once - { c, r -> c.isNotEmpty() && c.contentEquals(r!!.toArray()) }, - { c, r -> c.isEmpty() && Stream.empty().toArray().contentEquals(r!!.toArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testClosedStreamExample() { - checkWithException( - BaseStreamExample::closedStreamExample, - eq(1), - { _, r -> r.isException() }, - coverage = DoNotCalculate - ) - } - - @Test - fun testCustomCollectionStreamExample() { - check( - BaseStreamExample::customCollectionStreamExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.size.toLong() == r }, - coverage = DoNotCalculate // TODO failed coverage calculation - ) - } - - @Test - fun testAnyCollectionStreamExample() { - check( - BaseStreamExample::anyCollectionStreamExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.size.toLong() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testGenerateExample() { - check( - BaseStreamExample::generateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(Array(10) { 42 }) }, - coverage = Full - ) - } - - @Test - fun testIterateExample() { - check( - BaseStreamExample::iterateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(Array(10) { i -> 42 + i }) }, - coverage = Full - ) - } - - @Test - fun testConcatExample() { - check( - BaseStreamExample::concatExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(Array(10) { 42 } + Array(10) { i -> 42 + i }) }, - coverage = Full - ) - } -} - -internal val streamConsumerStaticsMatchers = arrayOf( - { _: Any, c: List, _: StaticsType, _: Int? -> null in c }, - { _: Any, c: List, statics: StaticsType, r: Int? -> - val x = statics.values.single().value as Int - - r!! + c.sumOf { it ?: 0 } == x - } -) - -internal fun > Sequence.isSorted(): Boolean = zipWithNext { a, b -> a <= b }.all { it } diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/DoubleStreamExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/DoubleStreamExampleTest.kt deleted file mode 100644 index ebfa983b..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/DoubleStreamExampleTest.kt +++ /dev/null @@ -1,534 +0,0 @@ -package org.utbot.examples.stream - -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withPathSelectorStepsLimit -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.Full -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import java.util.OptionalDouble -import java.util.stream.DoubleStream -import kotlin.streams.toList - -// TODO failed Kotlin compilation (generics) JIRA:1332 -@Tag("slow") // we do not really need to always use this test in CI because it is almost the same as BaseStreamExampleTest -class DoubleStreamExampleTest : UtValueTestCaseChecker( - testClass = DoubleStreamExample::class, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturningStreamAsParameterExample() { - withoutConcrete { - check( - DoubleStreamExample::returningStreamAsParameterExample, - eq(1), - { s, r -> s != null && s.toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testUseParameterStream() { - check( - DoubleStreamExample::useParameterStream, - eq(2), - { s, r -> s.toArray().isEmpty() && r == 0 }, - { s, r -> s.toArray().let { - it.isNotEmpty() && r == it.size } - }, - coverage = AtLeast(94) - ) - } - - @Test - fun testFilterExample() { - check( - DoubleStreamExample::filterExample, - ignoreExecutionsNumber, - { c, r -> null !in c && r == false }, - { c, r -> null in c && r == true }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapExample() { - check( - DoubleStreamExample::mapExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.contentEquals(c.doubles { it?.toDouble()?.times(2) ?: 0.0 }) }, - { c: List, r -> null !in c && r.contentEquals(c.doubles { it?.toDouble()?.times(2) ?: 0.0 }) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToObjExample() { - check( - DoubleStreamExample::mapToObjExample, - ignoreExecutionsNumber, - { c, r -> - val intArrays = c.doubles().map { it.let { i -> doubleArrayOf(i, i) } }.toTypedArray() - - null in c && intArrays.zip(r as Array) - .all { it.first.contentEquals(it.second as DoubleArray?) } - }, - { c: List, r -> - val intArrays = c.doubles().map { it.let { i -> doubleArrayOf(i, i) } }.toTypedArray() - - null !in c && intArrays.zip(r as Array) - .all { it.first.contentEquals(it.second as DoubleArray?) } - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToIntExample() { - check( - DoubleStreamExample::mapToIntExample, - ignoreExecutionsNumber, - { c, r -> - val ints = c.doubles().map { it.toInt() }.toIntArray() - - null in c && ints.contentEquals(r) - }, - { c: List, r -> - val ints = c.doubles().map { it.toInt() }.toIntArray() - - null !in c && ints.contentEquals(r) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToLongExample() { - check( - DoubleStreamExample::mapToLongExample, - ignoreExecutionsNumber, - { c, r -> - val longs = c.doubles().map { it.toLong() }.toLongArray() - - null in c && longs.contentEquals(r) - }, - { c: List, r -> - val longs = c.doubles().map { it.toLong() }.toLongArray() - - null !in c && longs.contentEquals(r) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testFlatMapExample() { - check( - DoubleStreamExample::flatMapExample, - ignoreExecutionsNumber, - { c, r -> - val intLists = c.mapNotNull { - it.toDouble().let { i -> listOf(i, i) } - } - - r!!.contentEquals(intLists.flatten().toDoubleArray()) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testDistinctExample() { - check( - DoubleStreamExample::distinctExample, - ignoreExecutionsNumber, - { c, r -> - val doubles = c.doubles() - - doubles.contentEquals(doubles.distinct().toDoubleArray()) && r == false - }, - { c, r -> - val doubles = c.doubles() - - !doubles.contentEquals(doubles.distinct().toDoubleArray()) && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Tag("slow") - // TODO slow sorting https://github.com/UnitTestBot/UTBotJava/issues/188 - fun testSortedExample() { - check( - DoubleStreamExample::sortedExample, - ignoreExecutionsNumber, - { c, r -> c.last() < c.first() && r!!.asSequence().isSorted() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testPeekExample() { - checkThisAndStaticsAfter( - DoubleStreamExample::peekExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testLimitExample() { - check( - DoubleStreamExample::limitExample, - ignoreExecutionsNumber, - { c, r -> c.size <= 2 && c.doubles().contentEquals(r) }, - { c, r -> c.size > 2 && c.take(2).doubles().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSkipExample() { - check( - DoubleStreamExample::skipExample, - ignoreExecutionsNumber, - { c, r -> c.size > 2 && c.drop(2).doubles().contentEquals(r) }, - { c, r -> c.size <= 2 && r!!.isEmpty() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testForEachExample() { - checkThisAndStaticsAfter( - DoubleStreamExample::forEachExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testToArrayExample() { - check( - DoubleStreamExample::toArrayExample, - ignoreExecutionsNumber, - { c, r -> c.doubles().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testReduceExample() { - check( - DoubleStreamExample::reduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 42.0 }, - { c: List, r -> c.isNotEmpty() && r == c.filterNotNull().sum() + 42.0 }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testOptionalReduceExample() { - checkWithException( - DoubleStreamExample::optionalReduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalDouble.empty() }, - { c: List, r -> - c.isNotEmpty() && r.getOrThrow() == OptionalDouble.of( - c.filterNotNull().sum().toDouble() - ) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSumExample() { - check( - DoubleStreamExample::sumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0.0 }, - { c, r -> c.isNotEmpty() && c.filterNotNull().sum().toDouble() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMinExample() { - checkWithException( - DoubleStreamExample::minExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalDouble.empty() }, - { c, r -> - c.isNotEmpty() && r.getOrThrow() == OptionalDouble.of(c.mapNotNull { it.toDouble() }.minOrNull()!!) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMaxExample() { - checkWithException( - DoubleStreamExample::maxExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalDouble.empty() }, - { c, r -> - c.isNotEmpty() && r.getOrThrow() == OptionalDouble.of(c.mapNotNull { it.toDouble() }.maxOrNull()!!) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testCountExample() { - check( - DoubleStreamExample::countExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.size.toLong() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAverageExample() { - check( - DoubleStreamExample::averageExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == OptionalDouble.empty() }, - { c, r -> c.isNotEmpty() && c.mapNotNull { it.toDouble() }.average() == r!!.asDouble }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSummaryStatisticsExample() { - withoutConcrete { - check( - DoubleStreamExample::summaryStatisticsExample, - ignoreExecutionsNumber, - { c, r -> - val sum = r!!.sum - val count = r.count - val min = r.min - val max = r.max - - val allStatisticsAreCorrect = sum == 0.0 && - count == 0L && - min == Double.POSITIVE_INFINITY && - max == Double.NEGATIVE_INFINITY - - c.isEmpty() && allStatisticsAreCorrect - }, - { c, r -> - val sum = r!!.sum - val count = r.count - val min = r.min - val max = r.max - - val doubles = c.doubles() - - val allStatisticsAreCorrect = sum == doubles.sum() && - count == doubles.size.toLong() && - min == doubles.minOrNull() && - max == doubles.maxOrNull() - - c.isNotEmpty() && allStatisticsAreCorrect - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testAnyMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - DoubleStreamExample::anyMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == false }, - { c, r -> c.isNotEmpty() && c.doubles().all { it == 0.0 } && r == false }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.first() != 0.0 && doubles.last() == 0.0 && r == true - }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.first() == 0.0 && doubles.last() != 0.0 && r == true - }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.none { it == 0.0 } && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testAllMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - DoubleStreamExample::allMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.doubles().all { it == 0.0 } && r == false }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.first() != 0.0 && doubles.last() == 0.0 && r == false - }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.first() == 0.0 && doubles.last() != 0.0 && r == false - }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.none { it == 0.0 } && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testNoneMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - DoubleStreamExample::noneMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.doubles().all { it == 0.0 } && r == true }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.first() != 0.0 && doubles.last() == 0.0 && r == false - }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.first() == 0.0 && doubles.last() != 0.0 && r == false - }, - { c, r -> - val doubles = c.doubles() - - c.isNotEmpty() && doubles.none { it == 0.0 } && r == false - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testFindFirstExample() { - check( - DoubleStreamExample::findFirstExample, - eq(3), - { c, r -> c.isEmpty() && r == OptionalDouble.empty() }, - { c, r -> c.isNotEmpty() && r == OptionalDouble.of(c.doubles().first()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testBoxedExample() { - check( - DoubleStreamExample::boxedExample, - ignoreExecutionsNumber, - { c, r -> c.doubles().toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testIteratorExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(1000) { - check( - DoubleStreamExample::iteratorSumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0.0 }, - { c: List, r -> c.isNotEmpty() && c.doubles().sum() == r }, - coverage = AtLeast(76) - ) - } - } - - @Test - fun testStreamOfExample() { - withoutConcrete { - check( - DoubleStreamExample::streamOfExample, - ignoreExecutionsNumber, - // NOTE: the order of the matchers is important because Stream could be used only once - { c, r -> c.isNotEmpty() && c.contentEquals(r!!.toArray()) }, - { c, r -> c.isEmpty() && DoubleStream.empty().toArray().contentEquals(r!!.toArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testClosedStreamExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(500) { - checkWithException( - DoubleStreamExample::closedStreamExample, - ignoreExecutionsNumber, - { _, r -> r.isException() }, - coverage = AtLeast(88) - ) - } - } - - @Test - fun testGenerateExample() { - check( - DoubleStreamExample::generateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(DoubleArray(10) { 42.0 }) }, - coverage = Full - ) - } - - @Test - fun testIterateExample() { - check( - DoubleStreamExample::iterateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(DoubleArray(10) { i -> 42.0 + i }) }, - coverage = Full - ) - } - - @Test - fun testConcatExample() { - check( - DoubleStreamExample::concatExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(DoubleArray(10) { 42.0 } + DoubleArray(10) { i -> 42.0 + i }) }, - coverage = Full - ) - } -} - -private fun List.doubles(mapping: (Short?) -> Double = { it?.toDouble() ?: 0.0 }): DoubleArray = - map { mapping(it) }.toDoubleArray() diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/IntStreamExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/IntStreamExampleTest.kt deleted file mode 100644 index 4aad1a78..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/IntStreamExampleTest.kt +++ /dev/null @@ -1,566 +0,0 @@ -package org.utbot.examples.stream - -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withPathSelectorStepsLimit -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.Full -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import java.util.OptionalDouble -import java.util.OptionalInt -import java.util.stream.IntStream -import kotlin.streams.toList - -// TODO failed Kotlin compilation (generics) JIRA:1332 -@Tag("slow") // we do not really need to always use this test in CI because it is almost the same as BaseStreamExampleTest -class IntStreamExampleTest : UtValueTestCaseChecker( - testClass = IntStreamExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturningStreamAsParameterExample() { - withoutConcrete { - check( - IntStreamExample::returningStreamAsParameterExample, - eq(1), - { s, r -> s != null && s.toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testUseParameterStream() { - check( - IntStreamExample::useParameterStream, - eq(2), - { s, r -> s.toArray().isEmpty() && r == 0 }, - { s, r -> s.toArray().let { - it.isNotEmpty() && r == it.size } - }, - coverage = AtLeast(94) - ) - } - - @Test - fun testFilterExample() { - check( - IntStreamExample::filterExample, - ignoreExecutionsNumber, - { c, r -> null !in c && r == false }, - { c, r -> null in c && r == true }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapExample() { - check( - IntStreamExample::mapExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.contentEquals(c.ints { it?.toInt()?.times(2) ?: 0 }) }, - { c: List, r -> null !in c && r.contentEquals(c.ints { it?.toInt()?.times(2) ?: 0 }) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToObjExample() { - check( - IntStreamExample::mapToObjExample, - ignoreExecutionsNumber, - { c, r -> - val intArrays = c.ints().map { it.let { i -> intArrayOf(i, i) } }.toTypedArray() - - null in c && intArrays.zip(r as Array).all { it.first.contentEquals(it.second as IntArray?) } - }, - { c: List, r -> - val intArrays = c.ints().map { it.let { i -> intArrayOf(i, i) } }.toTypedArray() - - null !in c && intArrays.zip(r as Array).all { it.first.contentEquals(it.second as IntArray?) } - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToLongExample() { - check( - IntStreamExample::mapToLongExample, - ignoreExecutionsNumber, - { c, r -> - val longs = c.ints().map { it.toLong() * 2 }.toLongArray() - - null in c && longs.contentEquals(r) - }, - { c: List, r -> - val longs = c.ints().map { it.toLong() * 2 }.toLongArray() - - null !in c && longs.contentEquals(r) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToDoubleExample() { - check( - IntStreamExample::mapToDoubleExample, - ignoreExecutionsNumber, - { c, r -> - val doubles = c.ints().map { it.toDouble() / 2 }.toDoubleArray() - - null in c && doubles.contentEquals(r) - }, - { c: List, r -> - val doubles = c.filterNotNull().map { it.toDouble() / 2 }.toDoubleArray() - - null !in c && doubles.contentEquals(r) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testFlatMapExample() { - check( - IntStreamExample::flatMapExample, - ignoreExecutionsNumber, - { c, r -> - val intLists = c.mapNotNull { - it.toInt().let { i -> listOf(i, i) } - } - - r!!.contentEquals(intLists.flatten().toIntArray()) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testDistinctExample() { - check( - IntStreamExample::distinctExample, - ignoreExecutionsNumber, - { c, r -> - val ints = c.ints() - - ints.contentEquals(ints.distinct().toIntArray()) && r == false - }, - { c, r -> - val ints = c.ints() - - !ints.contentEquals(ints.distinct().toIntArray()) && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Tag("slow") - // TODO slow sorting https://github.com/UnitTestBot/UTBotJava/issues/188 - fun testSortedExample() { - check( - IntStreamExample::sortedExample, - ignoreExecutionsNumber, - { c, r -> c.last() < c.first() && r!!.asSequence().isSorted() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testPeekExample() { - checkThisAndStaticsAfter( - IntStreamExample::peekExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testLimitExample() { - check( - IntStreamExample::limitExample, - ignoreExecutionsNumber, - { c, r -> c.size <= 2 && c.ints().contentEquals(r) }, - { c, r -> c.size > 2 && c.take(2).ints().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSkipExample() { - check( - IntStreamExample::skipExample, - ignoreExecutionsNumber, - { c, r -> c.size > 2 && c.drop(2).ints().contentEquals(r) }, - { c, r -> c.size <= 2 && r!!.isEmpty() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testForEachExample() { - checkThisAndStaticsAfter( - IntStreamExample::forEachExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testToArrayExample() { - check( - IntStreamExample::toArrayExample, - ignoreExecutionsNumber, - { c, r -> c.ints().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testReduceExample() { - check( - IntStreamExample::reduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 42 }, - { c: List, r -> c.isNotEmpty() && r == c.filterNotNull().sum() + 42 }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testOptionalReduceExample() { - checkWithException( - IntStreamExample::optionalReduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalInt.empty() }, - { c: List, r -> c.isNotEmpty() && r.getOrThrow() == OptionalInt.of(c.filterNotNull().sum()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSumExample() { - check( - IntStreamExample::sumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0 }, - { c, r -> c.isNotEmpty() && c.filterNotNull().sum() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMinExample() { - checkWithException( - IntStreamExample::minExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalInt.empty() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == OptionalInt.of(c.mapNotNull { it.toInt() }.minOrNull()!!) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMaxExample() { - checkWithException( - IntStreamExample::maxExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalInt.empty() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == OptionalInt.of(c.mapNotNull { it.toInt() }.maxOrNull()!!) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testCountExample() { - check( - IntStreamExample::countExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.size.toLong() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAverageExample() { - check( - IntStreamExample::averageExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == OptionalDouble.empty() }, - { c, r -> c.isNotEmpty() && c.mapNotNull { it.toInt() }.average() == r!!.asDouble }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSummaryStatisticsExample() { - withoutConcrete { - check( - IntStreamExample::summaryStatisticsExample, - ignoreExecutionsNumber, - { c, r -> - val sum = r!!.sum - val count = r.count - val min = r.min - val max = r.max - - val allStatisticsAreCorrect = sum == 0L && - count == 0L && - min == Int.MAX_VALUE && - max == Int.MIN_VALUE - - c.isEmpty() && allStatisticsAreCorrect - }, - { c, r -> - val sum = r!!.sum - val count = r.count - val min = r.min - val max = r.max - - val ints = c.ints() - - val allStatisticsAreCorrect = sum == ints.sum().toLong() && - count == ints.size.toLong() && - min == ints.minOrNull() && - max == ints.maxOrNull() - - c.isNotEmpty() && allStatisticsAreCorrect - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testAnyMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - IntStreamExample::anyMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == false }, - { c, r -> c.isNotEmpty() && c.ints().all { it == 0 } && r == false }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.first() != 0 && ints.last() == 0 && r == true - }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.first() == 0 && ints.last() != 0 && r == true - }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.none { it == 0 } && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testAllMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - IntStreamExample::allMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.ints().all { it == 0 } && r == false }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.first() != 0 && ints.last() == 0 && r == false - }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.first() == 0 && ints.last() != 0 && r == false - }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.none { it == 0 } && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testNoneMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - IntStreamExample::noneMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.ints().all { it == 0 } && r == true }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.first() != 0 && ints.last() == 0 && r == false - }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.first() == 0 && ints.last() != 0 && r == false - }, - { c, r -> - val ints = c.ints() - - c.isNotEmpty() && ints.none { it == 0 } && r == false - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testFindFirstExample() { - check( - IntStreamExample::findFirstExample, - eq(3), - { c, r -> c.isEmpty() && r == OptionalInt.empty() }, - { c, r -> c.isNotEmpty() && r == OptionalInt.of(c.ints().first()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAsLongStreamExample() { - check( - IntStreamExample::asLongStreamExample, - ignoreExecutionsNumber, - { c, r -> c.ints().map { it.toLong() }.toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAsDoubleStreamExample() { - check( - IntStreamExample::asDoubleStreamExample, - ignoreExecutionsNumber, - { c, r -> c.ints().map { it.toDouble() }.toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testBoxedExample() { - check( - IntStreamExample::boxedExample, - ignoreExecutionsNumber, - { c, r -> c.ints().toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testIteratorExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(1000) { - check( - IntStreamExample::iteratorSumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0 }, - { c: List, r -> c.isNotEmpty() && c.ints().sum() == r }, - coverage = AtLeast(76) - ) - } - } - - @Test - fun testStreamOfExample() { - withoutConcrete { - check( - IntStreamExample::streamOfExample, - ignoreExecutionsNumber, - // NOTE: the order of the matchers is important because Stream could be used only once - { c, r -> c.isNotEmpty() && c.contentEquals(r!!.toArray()) }, - { c, r -> c.isEmpty() && IntStream.empty().toArray().contentEquals(r!!.toArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testClosedStreamExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(500) { - checkWithException( - IntStreamExample::closedStreamExample, - ignoreExecutionsNumber, - { _, r -> r.isException() }, - coverage = AtLeast(88) - ) - } - } - - @Test - fun testGenerateExample() { - check( - IntStreamExample::generateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(IntArray(10) { 42 }) }, - coverage = Full - ) - } - - @Test - fun testIterateExample() { - check( - IntStreamExample::iterateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(IntArray(10) { i -> 42 + i }) }, - coverage = Full - ) - } - - @Test - fun testConcatExample() { - check( - IntStreamExample::concatExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(IntArray(10) { 42 } + IntArray(10) { i -> 42 + i }) }, - coverage = Full - ) - } - - @Test - fun testRangeExample() { - check( - IntStreamExample::rangeExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(IntArray(10) { it }) }, - coverage = Full - ) - } - - @Test - fun testRangeClosedExample() { - check( - IntStreamExample::rangeClosedExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(IntArray(11) { it }) }, - coverage = Full - ) - } -} - -private fun List.ints(mapping: (Short?) -> Int = { it?.toInt() ?: 0 }): IntArray = - map { mapping(it) }.toIntArray() diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/LongStreamExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/LongStreamExampleTest.kt deleted file mode 100644 index bf9731a2..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/LongStreamExampleTest.kt +++ /dev/null @@ -1,560 +0,0 @@ -package org.utbot.examples.stream - -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withPathSelectorStepsLimit -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.Full -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import java.util.OptionalDouble -import java.util.OptionalLong -import java.util.stream.LongStream -import kotlin.streams.toList - -// TODO failed Kotlin compilation (generics) JIRA:1332 -@Tag("slow") // we do not really need to always use this test in CI because it is almost the same as BaseStreamExampleTest -class LongStreamExampleTest : UtValueTestCaseChecker( - testClass = LongStreamExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturningStreamAsParameterExample() { - withoutConcrete { - check( - LongStreamExample::returningStreamAsParameterExample, - eq(1), - { s, r -> s != null && s.toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testUseParameterStream() { - check( - LongStreamExample::useParameterStream, - eq(2), - { s, r -> s.toArray().isEmpty() && r == 0 }, - { s, r -> s.toArray().let { - it.isNotEmpty() && r == it.size } - }, - coverage = AtLeast(94) - ) - } - - @Test - fun testFilterExample() { - check( - LongStreamExample::filterExample, - ignoreExecutionsNumber, - { c, r -> null !in c && r == false }, - { c, r -> null in c && r == true }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapExample() { - check( - LongStreamExample::mapExample, - ignoreExecutionsNumber, - { c, r -> null in c && r.contentEquals(c.longs { it?.toLong()?.times(2) ?: 0L }) }, - { c: List, r -> null !in c && r.contentEquals(c.longs { it?.toLong()?.times(2) ?: 0L }) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToObjExample() { - check( - LongStreamExample::mapToObjExample, - ignoreExecutionsNumber, - { c, r -> - val intArrays = c.longs().map { it.let { i -> longArrayOf(i, i) } }.toTypedArray() - - null in c && intArrays.zip(r as Array).all { it.first.contentEquals(it.second as LongArray?) } - }, - { c: List, r -> - val intArrays = c.longs().map { it.let { i -> longArrayOf(i, i) } }.toTypedArray() - - null !in c && intArrays.zip(r as Array).all { it.first.contentEquals(it.second as LongArray?) } - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToIntExample() { - check( - LongStreamExample::mapToIntExample, - ignoreExecutionsNumber, - { c, r -> - val ints = c.longs().map { it.toInt() }.toIntArray() - - null in c && ints.contentEquals(r) - }, - { c: List, r -> - val ints = c.longs().map { it.toInt() }.toIntArray() - - null !in c && ints.contentEquals(r) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMapToDoubleExample() { - check( - LongStreamExample::mapToDoubleExample, - ignoreExecutionsNumber, - { c, r -> - val doubles = c.longs().map { it.toDouble() / 2 }.toDoubleArray() - - null in c && doubles.contentEquals(r) - }, - { c: List, r -> - val doubles = c.filterNotNull().map { it.toDouble() / 2 }.toDoubleArray() - - null !in c && doubles.contentEquals(r) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testFlatMapExample() { - check( - LongStreamExample::flatMapExample, - ignoreExecutionsNumber, - { c, r -> - val intLists = c.map { - (it?.toLong() ?: 0L).let { i -> listOf(i, i) } - } - - r!!.contentEquals(intLists.flatten().toLongArray()) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testDistinctExample() { - check( - LongStreamExample::distinctExample, - ignoreExecutionsNumber, - { c, r -> - val longs = c.longs() - - longs.contentEquals(longs.distinct().toLongArray()) && r == false - }, - { c, r -> - val longs = c.longs() - - !longs.contentEquals(longs.distinct().toLongArray()) && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - @Tag("slow") - // TODO slow sorting https://github.com/UnitTestBot/UTBotJava/issues/188 - fun testSortedExample() { - check( - LongStreamExample::sortedExample, - ignoreExecutionsNumber, - { c, r -> c.last() < c.first() && r!!.asSequence().isSorted() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testPeekExample() { - checkThisAndStaticsAfter( - LongStreamExample::peekExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testLimitExample() { - check( - LongStreamExample::limitExample, - ignoreExecutionsNumber, - { c, r -> c.size <= 2 && c.longs().contentEquals(r) }, - { c, r -> c.size > 2 && c.take(2).longs().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSkipExample() { - check( - LongStreamExample::skipExample, - ignoreExecutionsNumber, - { c, r -> c.size > 2 && c.drop(2).longs().contentEquals(r) }, - { c, r -> c.size <= 2 && r!!.isEmpty() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testForEachExample() { - checkThisAndStaticsAfter( - LongStreamExample::forEachExample, - ignoreExecutionsNumber, - *streamConsumerStaticsMatchers, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testToArrayExample() { - check( - LongStreamExample::toArrayExample, - ignoreExecutionsNumber, - { c, r -> c.longs().contentEquals(r) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testReduceExample() { - check( - LongStreamExample::reduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 42L }, - { c: List, r -> c.isNotEmpty() && r == c.filterNotNull().sum() + 42L }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testOptionalReduceExample() { - checkWithException( - LongStreamExample::optionalReduceExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalLong.empty() }, - { c: List, r -> - c.isNotEmpty() && r.getOrThrow() == OptionalLong.of( - c.filterNotNull().sum().toLong() - ) - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSumExample() { - check( - LongStreamExample::sumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.filterNotNull().sum().toLong() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMinExample() { - checkWithException( - LongStreamExample::minExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalLong.empty() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == OptionalLong.of(c.mapNotNull { it.toLong() }.minOrNull()!!) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testMaxExample() { - checkWithException( - LongStreamExample::maxExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r.getOrThrow() == OptionalLong.empty() }, - { c, r -> c.isNotEmpty() && r.getOrThrow() == OptionalLong.of(c.mapNotNull { it.toLong() }.maxOrNull()!!) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testCountExample() { - check( - LongStreamExample::countExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c, r -> c.isNotEmpty() && c.size.toLong() == r }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAverageExample() { - check( - LongStreamExample::averageExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == OptionalDouble.empty() }, - { c, r -> c.isNotEmpty() && c.mapNotNull { it.toLong() }.average() == r!!.asDouble }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testSummaryStatisticsExample() { - withoutConcrete { - check( - LongStreamExample::summaryStatisticsExample, - ignoreExecutionsNumber, - { c, r -> - val sum = r!!.sum - val count = r.count - val min = r.min - val max = r.max - - val allStatisticsAreCorrect = sum == 0L && - count == 0L && - min == Long.MAX_VALUE && - max == Long.MIN_VALUE - - c.isEmpty() && allStatisticsAreCorrect - }, - { c, r -> - val sum = r!!.sum - val count = r.count - val min = r.min - val max = r.max - - val longs = c.longs() - - val allStatisticsAreCorrect = sum == longs.sum() && - count == longs.size.toLong() && - min == longs.minOrNull() && - max == longs.maxOrNull() - - c.isNotEmpty() && allStatisticsAreCorrect - }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testAnyMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - LongStreamExample::anyMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == false }, - { c, r -> c.isNotEmpty() && c.longs().all { it == 0L } && r == false }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.first() != 0L && longs.last() == 0L && r == true - }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.first() == 0L && longs.last() != 0L && r == true - }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.none { it == 0L } && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testAllMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - LongStreamExample::allMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.longs().all { it == 0L } && r == false }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.first() != 0L && longs.last() == 0L && r == false - }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.first() == 0L && longs.last() != 0L && r == false - }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.none { it == 0L } && r == true - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testNoneMatchExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(2000) { - check( - LongStreamExample::noneMatchExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == true }, - { c, r -> c.isNotEmpty() && c.longs().all { it == 0L } && r == true }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.first() != 0L && longs.last() == 0L && r == false - }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.first() == 0L && longs.last() != 0L && r == false - }, - { c, r -> - val longs = c.longs() - - c.isNotEmpty() && longs.none { it == 0L } && r == false - }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - } - - @Test - fun testFindFirstExample() { - check( - LongStreamExample::findFirstExample, - eq(3), - { c, r -> c.isEmpty() && r == OptionalLong.empty() }, - { c, r -> c.isNotEmpty() && r == OptionalLong.of(c.longs().first()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testAsDoubleStreamExample() { - check( - LongStreamExample::asDoubleStreamExample, - ignoreExecutionsNumber, - { c, r -> c.longs().map { it.toDouble() }.toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testBoxedExample() { - check( - LongStreamExample::boxedExample, - ignoreExecutionsNumber, - { c, r -> c.longs().toList() == r!!.toList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testIteratorExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(1000) { - check( - LongStreamExample::iteratorSumExample, - ignoreExecutionsNumber, - { c, r -> c.isEmpty() && r == 0L }, - { c: List, r -> c.isNotEmpty() && c.longs().sum() == r }, - coverage = AtLeast(76) - ) - } - } - - @Test - fun testStreamOfExample() { - withoutConcrete { - check( - LongStreamExample::streamOfExample, - ignoreExecutionsNumber, - // NOTE: the order of the matchers is important because Stream could be used only once - { c, r -> c.isNotEmpty() && c.contentEquals(r!!.toArray()) }, - { c, r -> c.isEmpty() && LongStream.empty().toArray().contentEquals(r!!.toArray()) }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - } - - @Test - fun testClosedStreamExample() { - // TODO exceeds even default step limit 3500 => too slow - withPathSelectorStepsLimit(500) { - checkWithException( - LongStreamExample::closedStreamExample, - ignoreExecutionsNumber, - { _, r -> r.isException() }, - coverage = AtLeast(88) - ) - } - } - - @Test - fun testGenerateExample() { - check( - LongStreamExample::generateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(LongArray(10) { 42L }) }, - coverage = Full - ) - } - - @Test - fun testIterateExample() { - check( - LongStreamExample::iterateExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(LongArray(10) { i -> 42L + i }) }, - coverage = Full - ) - } - - @Test - fun testConcatExample() { - check( - LongStreamExample::concatExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(LongArray(10) { 42L } + LongArray(10) { i -> 42L + i }) }, - coverage = Full - ) - } - - @Test - fun testRangeExample() { - check( - LongStreamExample::rangeExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(LongArray(10) { it.toLong() }) }, - coverage = Full - ) - } - - @Test - fun testRangeClosedExample() { - check( - LongStreamExample::rangeClosedExample, - ignoreExecutionsNumber, - { r -> r!!.contentEquals(LongArray(11) { it.toLong() }) }, - coverage = Full - ) - } -} - -private fun List.longs(mapping: (Short?) -> Long = { it?.toLong() ?: 0L }): LongArray = - map { mapping(it) }.toLongArray() diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/StreamsAsMethodResultExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/StreamsAsMethodResultExampleTest.kt deleted file mode 100644 index a35347ee..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/stream/StreamsAsMethodResultExampleTest.kt +++ /dev/null @@ -1,65 +0,0 @@ -package org.utbot.examples.stream - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.visible.UtStreamConsumingException -import org.utbot.testcheckers.eq -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException -import kotlin.streams.toList -import org.utbot.testing.asList - -// TODO 1 instruction is always uncovered https://github.com/UnitTestBot/UTBotJava/issues/193 -// TODO failed Kotlin compilation (generics) JIRA:1332 -class StreamsAsMethodResultExampleTest : UtValueTestCaseChecker( - testClass = StreamsAsMethodResultExample::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testReturningStreamExample() { - check( - StreamsAsMethodResultExample::returningStreamExample, - eq(2), - { c, r -> c.isEmpty() && c == r!!.asList() }, - { c, r -> c.isNotEmpty() && c == r!!.asList() }, - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testReturningIntStreamExample() { - checkWithException( - StreamsAsMethodResultExample::returningIntStreamExample, - eq(3), - { c, r -> c.isEmpty() && c == r.getOrThrow().toList() }, - { c, r -> c.isNotEmpty() && c.none { it == null } && c.toIntArray().contentEquals(r.getOrThrow().toArray()) }, - { c, r -> c.isNotEmpty() && c.any { it == null } && r.isException() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testReturningLongStreamExample() { - checkWithException( - StreamsAsMethodResultExample::returningLongStreamExample, - eq(3), - { c, r -> c.isEmpty() && c == r.getOrThrow().toList() }, - { c, r -> c.isNotEmpty() && c.none { it == null } && c.map { it.toLong() }.toLongArray().contentEquals(r.getOrThrow().toArray()) }, - { c, r -> c.isNotEmpty() && c.any { it == null } && r.isException() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testReturningDoubleStreamExample() { - checkWithException( - StreamsAsMethodResultExample::returningDoubleStreamExample, - eq(3), - { c, r -> c.isEmpty() && c == r.getOrThrow().toList() }, - { c, r -> c.isNotEmpty() && c.none { it == null } && c.map { it.toDouble() }.toDoubleArray().contentEquals(r.getOrThrow().toArray()) }, - { c, r -> c.isNotEmpty() && c.any { it == null } && r.isException() }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings/GenericExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings/GenericExamplesTest.kt deleted file mode 100644 index 8b707770..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings/GenericExamplesTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.strings - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException - -@Disabled("TODO: Fails and takes too long") -internal class GenericExamplesTest : UtValueTestCaseChecker( - testClass = GenericExamples::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testContainsOkWithIntegerType() { - checkWithException( - GenericExamples::containsOk, - eq(2), - { obj, result -> obj == null && result.isException() }, - { obj, result -> obj != null && result.isSuccess && result.getOrNull() == false } - ) - } - - @Test - fun testContainsOkExampleTest() { - check( - GenericExamples::containsOkExample, - eq(1), - { result -> result == true } - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings/StringExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings/StringExamplesTest.kt deleted file mode 100644 index 6dbf32c9..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings/StringExamplesTest.kt +++ /dev/null @@ -1,689 +0,0 @@ -package org.utbot.examples.strings - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.ge -import org.utbot.testcheckers.withPushingStateFromPathSelectorForConcrete -import org.utbot.testcheckers.withSolverTimeoutInMillis -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.FullWithAssumptions -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast -import org.utbot.testing.between -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import java.util.Locale - -internal class StringExamplesTest : UtValueTestCaseChecker( - testClass = StringExamples::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testByteToString() { - check( - StringExamples::byteToString, - eq(2), - { a, b, r -> a > b && r == a.toString() }, - { a, b, r -> a <= b && r == b.toString() }, - ) - } - - @Test - fun testByteToStringWithConstants() { - val values: Array = arrayOf( - Byte.MIN_VALUE, - (Byte.MIN_VALUE + 100).toByte(), - 0.toByte(), - (Byte.MAX_VALUE - 100).toByte(), - Byte.MAX_VALUE - ) - - val expected = values.map { it.toString() } - - check( - StringExamples::byteToStringWithConstants, - eq(1), - { r -> r != null && r.indices.all { r[it] == expected[it] } } - ) - } - - @Test - fun testReplace() { - check( - StringExamples::replace, - between(3..4), // replace with eq when JIRA:1475 fixed - { fst, _, _ -> fst == null }, - { fst, snd, _ -> fst != null && snd == null }, - { fst, snd, r -> fst != null && snd != null && r != null && (!r.contains("abc") || snd == "abc") }, - coverage = DoNotCalculate - ) - } - - @Test - fun testShortToString() { - check( - StringExamples::shortToString, - ignoreExecutionsNumber, - { a, b, r -> a > b && r == a.toString() }, - { a, b, r -> a <= b && r == b.toString() }, - ) - } - - @Test - fun testShortToStringWithConstants() { - val values: Array = arrayOf( - Short.MIN_VALUE, - (Short.MIN_VALUE + 100).toShort(), - 0.toShort(), - (Short.MAX_VALUE - 100).toShort(), - Short.MAX_VALUE - ) - - val expected = values.map { it.toString() } - - check( - StringExamples::shortToStringWithConstants, - eq(1), - { r -> r != null && r.indices.all { r[it] == expected[it] } } - ) - } - - @Test - fun testIntToString() { - check( - StringExamples::intToString, - ignoreExecutionsNumber, - { a, b, r -> a > b && r == a.toString() }, - { a, b, r -> a <= b && r == b.toString() }, - ) - } - - @Test - fun testIntToStringWithConstants() { - val values: Array = arrayOf( - Integer.MIN_VALUE, - Integer.MIN_VALUE + 100, - 0, - Integer.MAX_VALUE - 100, - Integer.MAX_VALUE - ) - - val expected = values.map { it.toString() } - - check( - StringExamples::intToStringWithConstants, - eq(1), - { r -> r != null && r.indices.all { r[it] == expected[it] } } - ) - } - - @Test - fun testLongToString() { - check( - StringExamples::longToString, - ignoreExecutionsNumber, - { a, b, r -> a > b && r == a.toString() }, - { a, b, r -> a <= b && r == b.toString() }, - ) - } - - @Test - fun testLongToStringWithConstants() { - val values: Array = arrayOf( - Long.MIN_VALUE, - Long.MIN_VALUE + 100L, - 0L, - Long.MAX_VALUE - 100L, - Long.MAX_VALUE - ) - - val expected = values.map { it.toString() } - - check( - StringExamples::longToStringWithConstants, - eq(1), - { r -> r != null && r.indices.all { r[it] == expected[it] } } - ) - } - - @Test - fun testStartsWithLiteral() { - check( - StringExamples::startsWithLiteral, - ge(4), // replace with eq when JIRA:1475 fixed - { v, _ -> v == null }, - { v, r -> v != null && v.startsWith("1234567890") && r!!.startsWith("12a4567890") }, - { v, r -> v != null && v[0] == 'x' && r!![0] == 'x' }, - { v, r -> v != null && v.lowercase(Locale.getDefault()) == r } - ) - } - - @Test - fun testBooleanToString() { - check( - StringExamples::booleanToString, - eq(2), - { a, b, r -> a == b && r == "false" }, - { a, b, r -> a != b && r == "true" }, - ) - } - - - @Test - fun testCharToString() { - // TODO related to the https://github.com/UnitTestBot/UTBotJava/issues/131 - withSolverTimeoutInMillis(5000) { - check( - StringExamples::charToString, - eq(2), - { a, b, r -> a > b && r == a.toString() }, - { a, b, r -> a <= b && r == b.toString() }, - ) - } - } - - - @Test - @Disabled("TODO:add Byte.valueOf(String) support") - fun testStringToByte() { - check( - StringExamples::stringToByte, - eq(-1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("TODO:add Short.valueOf(String) support") - fun testStringToShort() { - check( - StringExamples::stringToShort, - eq(-1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("TODO:add Integer.valueOf(String) support") - fun testStringToInt() { - check( - StringExamples::stringToInt, - eq(-1), - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("TODO:add Long.valueOf support") - fun testStringToLong() { - check( - StringExamples::stringToLong, - eq(-1), - coverage = DoNotCalculate - ) - } - - @Test - fun testStringToBoolean() { - check( - StringExamples::stringToBoolean, - ge(2), - { s, r -> (s == null || r == java.lang.Boolean.valueOf(s)) && r == false}, // minimization - { s, r -> s != null && r == true && r == java.lang.Boolean.valueOf(s) }, - ) - } - - @Test - fun testConcat() { - check( - StringExamples::concat, - between(1..2), - { fst, snd, r -> (fst == null || snd == null) && r == fst + snd }, - { fst, snd, r -> r == fst + snd }, - ) - } - - @Test - @Disabled("Sometimes it freezes the execution for several hours JIRA:1453") - fun testConcatWithObject() { - check( - StringExamples::concatWithObject, - between(2..3), - { pair, r -> pair == null && r == "fst.toString() = $pair" }, - { pair, r -> pair != null && r == "fst.toString() = $pair" } - ) - } - - @Test - fun testStringConstants() { - check( - StringExamples::stringConstants, - between(1..2), - { s, r -> r == "String('$s')" }, - ) - } - - @Test - fun testContainsOnLiterals() { - check( - StringExamples::containsOnLiterals, - eq(1), - ) - } - - @Test - @Disabled("This is a flaky test") - fun testConcatWithInt() { - check( - StringExamples::concatWithInts, - eq(3), - { a, b, r -> a == b && r == null }, // IllegalArgumentException - { a, b, r -> a > b && r == "a > b, a:$a, b:$b" }, - { a, b, r -> a < b && r == "a < b, a:$a, b:$b" }, - ) - } - - @Test - fun testUseStringBuffer() { - check( - StringExamples::useStringBuffer, - between(1..2), - { fst, snd, r -> r == "$fst, $snd" }, - ) - } - - @Test - fun testStringBuilderAsParameterExample() { - check( - StringExamples::stringBuilderAsParameterExample, - eq(1), - coverage = FullWithAssumptions(assumeCallsNumber = 1) - ) - } - - @Test - fun testNullableStringBuffer() { - checkWithException( - StringExamples::nullableStringBuffer, - eq(4), - { _, i, r -> i >= 0 && r.isException() }, - { _, i, r -> i < 0 && r.isException() }, - { buffer, i, r -> i >= 0 && r.getOrNull() == "${buffer}Positive" }, - { buffer, i, r -> i < 0 && r.getOrNull() == "${buffer}Negative" }, - ) - } - - @Test - fun testIsStringBuilderEmpty() { - check( - StringExamples::isStringBuilderEmpty, - eq(2), - { stringBuilder, result -> result == stringBuilder.isEmpty() } - ) - } - - @Test - @Disabled("Flaky on GitHub: https://github.com/UnitTestBot/UTBotJava/issues/1004") - fun testIsValidUuid() { - val pattern = Regex("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}") - check( - StringExamples::isValidUuid, - ignoreExecutionsNumber, - { uuid, r -> uuid == null || uuid.isEmpty() && r == false }, - { uuid, r -> uuid.isNotEmpty() && uuid.isBlank() && r == false }, - { uuid, r -> uuid.isNotEmpty() && uuid.isNotBlank() && r == false }, - { uuid, r -> uuid.length > 1 && uuid.isNotBlank() && !uuid.matches(pattern) && r == false }, - { uuid, r -> uuid.length > 1 && uuid.isNotBlank() && uuid.matches(pattern) && r == true }, - ) - } - - @Test - fun testIsValidUuidShortVersion() { - val pattern = Regex("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}") - check( - StringExamples::isValidUuidShortVersion, - eq(3), - { uuid, r -> uuid == null && r == false }, - { uuid, r -> uuid.matches(pattern) && r == true }, - { uuid, r -> !uuid.matches(pattern) && r == false }, - ) - } - - @Test - fun testSplitExample() { - check( - StringExamples::splitExample, - ignoreExecutionsNumber, - { s, r -> s.all { it.isWhitespace() } && r == 0 }, - { s, r -> s.none { it.isWhitespace() } && r == 1 }, - { s, r -> s[0].isWhitespace() && s.any { !it.isWhitespace() } && r == 2 }, - { s, r -> !s[0].isWhitespace() && s[2].isWhitespace() && r == 1 }, - { s, r -> !s[0].isWhitespace() && s[1].isWhitespace() && !s[2].isWhitespace() && r == 2 }, - coverage = FullWithAssumptions(assumeCallsNumber = 2) - ) - } - - @Test - fun testIsBlank() { - check( - StringExamples::isBlank, - ge(4), - { cs, r -> cs == null && r == true }, - { cs, r -> cs.isEmpty() && r == true }, - { cs, r -> cs.isNotEmpty() && cs.isBlank() && r == true }, - { cs, r -> cs.isNotEmpty() && cs.isNotBlank() && r == false } - ) - } - - @Test - fun testLength() { - check( - StringExamples::length, - eq(2), // TODO: that strange, why we haven't 3rd option? - { cs, r -> cs == null && r == 0 }, - { cs, r -> cs != null && r == cs.length }, - ) - } - - @Test - fun testLonger() { - checkWithException( - StringExamples::longer, - ignoreExecutionsNumber, - { _, i, r -> i <= 0 && r.isException() }, - { cs, i, r -> i > 0 && cs == null && !r.getOrThrow() }, - { cs, i, r -> i > 0 && cs != null && cs.length > i && r.getOrThrow() }, - coverage = DoNotCalculate // TODO: Coverage calculation fails in the instrumented process with Illegal Argument Exception - ) - } - - @Test - fun testEqualChar() { - checkWithException( - StringExamples::equalChar, - eq(4), - { cs, r -> cs == null && r.isException() }, - { cs, r -> cs.isEmpty() && r.isException() }, - { cs, r -> cs.isNotEmpty() && cs[0] == 'a' && r.getOrThrow() }, - { cs, r -> cs.isNotEmpty() && cs[0] != 'a' && !r.getOrThrow() }, - ) - } - - @Test - fun testSubstring() { - checkWithException( - StringExamples::substring, - between(5..8), - { s, _, r -> s == null && r.isException() }, - { s, i, r -> s != null && i < 0 || i > s.length && r.isException() }, - { s, i, r -> s != null && i in 0..s.length && r.getOrThrow() == s.substring(i) && s.substring(i) != "password" }, - { s, i, r -> s != null && i == 0 && r.getOrThrow() == s.substring(i) && s.substring(i) == "password" }, - { s, i, r -> s != null && i != 0 && r.getOrThrow() == s.substring(i) && s.substring(i) == "password" }, - ) - } - - @Test - fun testSubstringWithEndIndex() { - checkWithException( - StringExamples::substringWithEndIndex, - ignoreExecutionsNumber, - { s, _, _, r -> s == null && r.isException() }, - { s, b, e, r -> s != null && b < 0 || e > s.length || b > e && r.isException() }, - { s, b, e, r -> r.getOrThrow() == s.substring(b, e) && s.substring(b, e) != "password" }, - { s, b, e, r -> b == 0 && r.getOrThrow() == s.substring(b, e) && s.substring(b, e) == "password" }, - { s, b, e, r -> - b != 0 && e == s.length && r.getOrThrow() == s.substring(b, e) && s.substring(b, e) == "password" - }, - { s, b, e, r -> - b != 0 && e != s.length && r.getOrThrow() == s.substring(b, e) && s.substring(b, e) == "password" - }, - ) - } - - @Test - fun testSubstringWithEndIndexNotEqual() { - checkWithException( - StringExamples::substringWithEndIndexNotEqual, - ignoreExecutionsNumber, - { s, _, r -> s == null && r.isException() }, - { s, e, r -> s != null && e < 1 || e > s.length && r.isException() }, - { s, e, r -> s != null && r.getOrThrow() == s.substring(1, e) }, - ) - } - - @Test - fun testFullSubstringEquality() { - checkWithException( - StringExamples::fullSubstringEquality, - eq(2), - { s, r -> s == null && r.isException() }, - { s, r -> s != null && r.getOrThrow() }, - ) - } - - @Test - @Disabled("TODO: add intern support") - fun testUseIntern() { - checkWithException( - StringExamples::useIntern, - eq(3), - { s, r -> s == null && r.isException() }, - { s, r -> s != null && s != "abc" && r.getOrThrow() == 1 }, - { s, r -> s != null && s == "abc" && r.getOrThrow() == 3 }, - coverage = atLeast(66) - ) - } - - @Test - fun testPrefixAndSuffix() { - check( - StringExamples::prefixAndSuffix, - eq(6), - { s, r -> s == null && r == null }, // NullPointerException - { s, r -> s.length != 5 && r == 0 }, - { s, r -> s.length == 5 && !s.startsWith("ab") && r == 1 }, - { s, r -> s.length == 5 && s.startsWith("ab") && !s.endsWith("de") && r == 2 }, - { s, r -> s.length == 5 && s.startsWith("ab") && s.endsWith("de") && !s.contains("+") && r == 4 }, - { s, r -> s.length == 5 && s == "ab+de" && r == 3 }, - ) - } - - @Test - fun testPrefixWithTwoArgs() { - checkWithException( - StringExamples::prefixWithTwoArgs, - between(3..4), - { s, r -> s == null && r.isException() }, - { s, r -> s != null && s.startsWith("abc", 1) && r.getOrThrow() == 1 }, - { s, r -> s != null && !s.startsWith("abc", 1) && r.getOrThrow() == 2 }, - ) - } - - @Test - fun testPrefixWithOffset() { - withoutMinimization { - check( - StringExamples::prefixWithOffset, - eq(4), // should be 4, but path selector eliminates several results with false - { o, r -> o < 0 && r == 2 }, - { o, r -> o > "babc".length - "abc".length && r == 2 }, - { o, r -> o in 0..1 && !"babc".startsWith("abc", o) && r == 2 }, - { o, r -> "babc".startsWith("abc", o) && r == 1 }, - ) - } - } - - @Test - fun testStartsWith() { - check( - StringExamples::startsWith, - between(5..6), - { _, prefix, _ -> prefix == null }, - { _, prefix, _ -> prefix != null && prefix.length < 2 }, - { s, prefix, _ -> prefix != null && prefix.length >= 2 && s == null }, - { s, prefix, r -> prefix != null && prefix.length >= 2 && s != null && s.startsWith(prefix) && r == true }, - { s, prefix, r -> prefix != null && prefix.length >= 2 && s != null && !s.startsWith(prefix) && r == false } - - ) - } - - @Test - fun testStartsWithOffset() { - check( - StringExamples::startsWithOffset, - between(6..10), - { _, prefix, _, _ -> prefix == null }, - { _, prefix, _, _ -> prefix != null && prefix.length < 2 }, - { s, prefix, _, _ -> prefix != null && prefix.length >= 2 && s == null }, - { s, prefix, o, r -> - prefix != null && prefix.length >= 2 && s != null && s.startsWith(prefix, o) && o > 0 && r == 0 - }, - { s, prefix, o, r -> - prefix != null && prefix.length >= 2 && s != null && s.startsWith(prefix, o) && o == 0 && r == 1 - }, - { s, prefix, o, r -> - prefix != null && prefix.length >= 2 && s != null && !s.startsWith(prefix, o) && r == 2 - } - ) - } - - @Test - fun testEndsWith() { - check( - StringExamples::endsWith, - between(5..6), - { _, suffix, _ -> suffix == null }, - { _, suffix, _ -> suffix != null && suffix.length < 2 }, - { s, suffix, _ -> suffix != null && suffix.length >= 2 && s == null }, - { s, suffix, r -> suffix != null && suffix.length >= 2 && s != null && s.endsWith(suffix) && r == true }, - { s, suffix, r -> suffix != null && suffix.length >= 2 && s != null && !s.endsWith(suffix) && r == false } - ) - } - - @Test - @Disabled("TODO: support replace") - fun testReplaceAll() { - checkWithException( - StringExamples::replaceAll, - eq(4), - { s, _, _, r -> s == null && r.isException() }, - { s, regex, _, r -> s != null && regex == null && r.isException() }, - { s, regex, replacement, r -> s != null && regex != null && replacement == null && r.isException() }, - { s, regex, replacement, r -> - s != null && regex != null && replacement != null && r.getOrThrow() == s.replace(regex, replacement) - }, // one replace only! - ) - } - - @Test - fun testLastIndexOf() { - check( - StringExamples::lastIndexOf, - between(5..7), - { s, _, _ -> s == null }, - { s, find, _ -> s != null && find == null }, - { s, find, r -> r == s.lastIndexOf(find) && r == s.length - find.length }, - { s, find, r -> r == s.lastIndexOf(find) && r < s.length - find.length }, - { s, find, r -> r == s.lastIndexOf(find) && r == -1 }, - ) - } - - @Test - fun testIndexOfWithOffset() { - check( - StringExamples::indexOfWithOffset, - between(5..9), - { s, _, _, _ -> s == null }, - { s, find, _, _ -> s != null && find == null }, - { s, find, offset, r -> r == s.indexOf(find, offset) && r > offset && offset > 0 }, - { s, find, offset, r -> r == s.indexOf(find, offset) && r == offset }, - { s, find, offset, r -> r == s.indexOf(find, offset) && !(r == offset || (offset in 1 until r)) }, - ) - } - - - @Test - fun testLastIndexOfWithOffset() { - check( - StringExamples::lastIndexOfWithOffset, - between(5..9), - { s, _, _, _ -> s == null }, - { s, find, _, _ -> s != null && find == null }, - { s, find, i, r -> r == s.lastIndexOf(find, i) && r >= 0 && r < i - find.length && i < s.length }, - { s, find, i, r -> r == s.lastIndexOf(find, i) && r >= 0 && !(r < i - find.length && i < s.length) }, - { s, find, i, r -> r == s.lastIndexOf(find, i) && r == -1 }, - ) - } - - @Test - fun testCompareCodePoints() { - checkWithException( - StringExamples::compareCodePoints, - between(8..10), - { s, _, _, r -> s == null && r.isException() }, - { s, _, i, r -> s != null && i < 0 || i >= s.length && r.isException() }, - { s, t, _, r -> s != null && t == null && r.isException() }, - { _, t, i, r -> t != null && i < 0 || i >= t.length && r.isException() }, - { s, t, i, r -> s != null && t != null && s.codePointAt(i) < t.codePointAt(i) && i == 0 && r.getOrThrow() == 0 }, - { s, t, i, r -> s != null && t != null && s.codePointAt(i) < t.codePointAt(i) && i != 0 && r.getOrThrow() == 1 }, - { s, t, i, r -> s != null && t != null && s.codePointAt(i) >= t.codePointAt(i) && i == 0 && r.getOrThrow() == 2 }, - { s, t, i, r -> s != null && t != null && s.codePointAt(i) >= t.codePointAt(i) && i != 0 && r.getOrThrow() == 3 }, - ) - } - - @Test - fun testToCharArray() { - check( - StringExamples::toCharArray, - eq(2), - { s, _ -> s == null }, - { s, r -> s.toCharArray().contentEquals(r) } - ) - } - - @Test - fun testGetObj() { - check( - StringExamples::getObj, - eq(1), - { obj, r -> obj == r } - ) - } - - @Test - fun testGetObjWithCondition() { - check( - StringExamples::getObjWithCondition, - between(3..4), - { obj, r -> obj == null && r == "null" }, - { obj, r -> obj != null && obj == "BEDA" && r == "48858" }, - { obj, r -> obj != null && obj != "BEDA" && obj == r } - ) - } - - @Test - fun testEqualsIgnoreCase() { - withPushingStateFromPathSelectorForConcrete { - check( - StringExamples::equalsIgnoreCase, - ignoreExecutionsNumber, - { s, r -> "SUCCESS".equals(s, ignoreCase = true) && r == "success" }, - { s, r -> !"SUCCESS".equals(s, ignoreCase = true) && r == "failure" }, - ) - } - } - - // TODO: This test fails without concrete execution as it uses a symbolic variable - @Test - fun testListToString() { - check( - StringExamples::listToString, - eq(1), - { r -> r == "[a, b, c]"}, - coverage = DoNotCalculate - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings11/StringConcatTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings11/StringConcatTest.kt deleted file mode 100644 index d4125896..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/strings11/StringConcatTest.kt +++ /dev/null @@ -1,115 +0,0 @@ -package org.utbot.examples.strings11 - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -class StringConcatTest : UtValueTestCaseChecker( - testClass = StringConcat::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testConcatArguments() { - withoutConcrete { - check( - StringConcat::concatArguments, - eq(1), - { a, b, c, r -> "$a$b$c" == r } - ) - } - } - - @Test - fun testConcatWithConstants() { - withoutConcrete { - check( - StringConcat::concatWithConstants, - eq(4), - { a, r -> a == "head" && r == 1 }, - { a, r -> a == "body" && r == 2 }, - { a, r -> a == null && r == 3 }, - { a, r -> a != "head" && a != "body" && a != null && r == 4 }, - ) - } - } - - @Disabled("Flickers too much with JVM 17") - @Test - fun testConcatWithPrimitives() { - withoutConcrete { - check( - StringConcat::concatWithPrimitives, - eq(1), - { a, r -> "$a#4253.0" == r} - ) - } - } - - @Test - fun testExceptionInToString() { - withoutConcrete { - checkWithException( - StringConcat::exceptionInToString, - ignoreExecutionsNumber, - { t, r -> t.x == 42 && r.isException() }, - { t, r -> t.x != 42 && r.getOrThrow() == "Test: x = ${t.x}!" }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testConcatWithField() { - withoutConcrete { - checkWithThis( - StringConcat::concatWithField, - eq(1), - { o, a, r -> "$a${o.str}#" == r } - ) - } - } - - @Test - fun testConcatWithPrimitiveWrappers() { - withoutConcrete { - check( - StringConcat::concatWithPrimitiveWrappers, - ignoreExecutionsNumber, - { b, c, r -> b.toString().endsWith("4") && c == '2' && r == 1 }, - { _, c, r -> !c.toString().endsWith("42") && r == 2 }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testSameConcat() { - withoutConcrete { - check( - StringConcat::sameConcat, - ignoreExecutionsNumber, - { a, b, r -> a == b && r == 0 }, - { a, b, r -> a != b && r == 1 }, - coverage = DoNotCalculate - ) - } - } - - @Test - fun testConcatStrangeSymbols() { - withoutConcrete { - check( - StringConcat::concatStrangeSymbols, - eq(1), - { r -> r == "\u0000#\u0001!\u0002@\u0012\t" } - ) - } - } - -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/HeapTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/HeapTest.kt deleted file mode 100644 index dd405f15..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/HeapTest.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.structures - -import org.junit.jupiter.api.Test -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -internal class HeapTest : UtValueTestCaseChecker(testClass = Heap::class) { - @Test - fun testIsHeap() { - val method = Heap::isHeap - checkStaticMethod( - method, - ignoreExecutionsNumber, - { values, _ -> values == null }, - { values, _ -> values.size < 3 }, - { values, r -> values.size >= 3 && r == method(values) }, - { values, r -> values.size >= 3 && values[1] < values[0] && r == method(values) }, - { values, r -> values.size >= 3 && values[1] >= values[0] && values[2] < values[0] && r == method(values) }, - { values, r -> values.size >= 3 && r == method(values) }, - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/MinStackExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/MinStackExampleTest.kt deleted file mode 100644 index f3913396..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/MinStackExampleTest.kt +++ /dev/null @@ -1,106 +0,0 @@ -package org.utbot.examples.structures - -import kotlin.math.min -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.between - -internal class MinStackExampleTest : UtValueTestCaseChecker(testClass = MinStackExample::class) { - @Test - fun testCreate() { - check( - MinStackExample::create, - eq(3), - { initialValues, _ -> initialValues == null }, - { initialValues, _ -> initialValues != null && initialValues.size < 3 }, - { initialValues, result -> - require(initialValues != null && result != null) - - val stackExample = MinStackExample().create(initialValues) - val initialSize = initialValues.size - - val sizesConstraint = initialSize >= 3 && result.size == 4 - val stacksSize = stackExample.stack.take(initialSize) == result.stack.take(initialSize) - val minStackSize = stackExample.minStack.take(initialSize) == result.minStack.take(initialSize) - - sizesConstraint && stacksSize && minStackSize - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testAddSingleValue() { - check( - MinStackExample::addSingleValue, - eq(3), - { initialValues, _ -> initialValues == null }, - { initialValues, _ -> initialValues != null && initialValues.isEmpty() }, - { initialValues, result -> - require(initialValues != null && result != null) - - val sizeConstraint = initialValues.isNotEmpty() - val firstElementConstraint = result.stack.first() == initialValues.first() - val secondElementConstraint = result.stack[1] == initialValues.first() - 100 - - sizeConstraint && firstElementConstraint && secondElementConstraint - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetMinValue() { - check( - MinStackExample::getMinValue, - eq(3), - { initialValues, _ -> initialValues == null }, - { initialValues, result -> initialValues != null && initialValues.isEmpty() && result == -1L }, - { initialValues, result -> - initialValues != null && initialValues.isNotEmpty() && result == min(-1L, initialValues.minOrNull()!!) - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testRemoveValue() { - check( - MinStackExample::removeValue, - eq(4), - { initialValues, _ -> initialValues == null }, - { initialValues, _ -> initialValues != null && initialValues.isEmpty() }, - { initialValues, result -> - initialValues != null && initialValues.size == 1 && result != null && result.size == initialValues.size - 1 - }, - { initialValues, result -> - initialValues != null && initialValues.size > 1 && result != null && result.size == initialValues.size - 1 - }, - coverage = DoNotCalculate - ) - } - - @Test - fun testConstruct() { - check( - MinStackExample::construct, - between(3..4), - { values, _ -> values == null }, - { values, result -> values != null && values.isEmpty() && result != null && result.size == 0 }, - { values, result -> - require(values != null && result != null) - - val stackExample = MinStackExample().construct(values) - - val sizeConstraint = values.isNotEmpty() && result.size == values.size - val stackSize = stackExample.stack.take(values.size) == result.stack.take(values.size) - val valueConstraint = stackExample.minStack.take(values.size) == result.minStack.take(values.size) - - sizeConstraint && stackSize && valueConstraint - }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/StandardStructuresTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/StandardStructuresTest.kt deleted file mode 100644 index 34092a10..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/structures/StandardStructuresTest.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.examples.structures - -import java.util.LinkedList -import java.util.TreeMap -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class StandardStructuresTest : UtValueTestCaseChecker( - testClass = StandardStructures::class, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - @Disabled("TODO down cast for object wrapper JIRA:1480") - fun testGetList() { - check( - StandardStructures::getList, - eq(4), - { l, r -> l is ArrayList && r is ArrayList }, - { l, r -> l is LinkedList && r is LinkedList }, - { l, r -> l == null && r == null }, - { l, r -> - l !is ArrayList && l !is LinkedList && l != null && r !is ArrayList && r !is LinkedList && r != null - }, - coverage = DoNotCalculate - ) - } - - @Test - @Disabled("TODO down cast for object wrapper JIRA:1480") - fun testGetMap() { - check( - StandardStructures::getMap, - eq(3), - { m, r -> m is TreeMap && r is TreeMap }, - { m, r -> m == null && r == null }, - { m, r -> m !is TreeMap && m != null && r !is TreeMap && r != null }, - coverage = DoNotCalculate - ) - } - - @Test - fun testGetDeque() { - check( - StandardStructures::getDeque, - eq(4), - { d, r -> d is java.util.ArrayDeque && r is java.util.ArrayDeque }, - { d, r -> d is LinkedList && r is LinkedList }, - { d, r -> d == null && r == null }, - { d, r -> - d !is java.util.ArrayDeque<*> && d !is LinkedList && d != null && r !is java.util.ArrayDeque<*> && r !is LinkedList && r != null - }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintBranchingTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintBranchingTest.kt deleted file mode 100644 index c884ed85..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintBranchingTest.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintBranchingTest : UtValueTestCaseCheckerForTaint( - testClass = TaintBranching::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintBranchingConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintBranching::bad, - eq(3), // success (x2) & taint error - { cond, r -> cond == r.isException() }, - ) - } - - @Test - fun testTaintGood() { - checkWithException( - TaintBranching::good, - eq(2), // success in both cases - { _, r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintCleanerConditionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintCleanerConditionsTest.kt deleted file mode 100644 index e33f1bd6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintCleanerConditionsTest.kt +++ /dev/null @@ -1,70 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintCleanerConditionsTest : UtValueTestCaseCheckerForTaint( - testClass = TaintCleanerConditions::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintCleanerConditionsConfig.yaml") -) { - @Test - fun testTaintBadArg() { - checkWithException( - TaintCleanerConditions::badArg, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadReturn() { - checkWithException( - TaintCleanerConditions::badReturn, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadThis() { - checkWithException( - TaintCleanerConditions::badThis, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodArg() { - checkWithException( - TaintCleanerConditions::goodArg, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodReturn() { - checkWithException( - TaintCleanerConditions::goodReturn, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodThis() { - checkWithException( - TaintCleanerConditions::goodThis, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintCleanerSimpleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintCleanerSimpleTest.kt deleted file mode 100644 index 3c214cb0..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintCleanerSimpleTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintCleanerSimpleTest : UtValueTestCaseCheckerForTaint( - testClass = TaintCleanerSimple::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintCleanerSimpleConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintCleanerSimple::bad, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood() { - checkWithException( - TaintCleanerSimple::good, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintLongPathTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintLongPathTest.kt deleted file mode 100644 index e4aeeed6..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintLongPathTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintLongPathTest : UtValueTestCaseCheckerForTaint( - testClass = TaintLongPath::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintLongPathConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintLongPath::bad, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood() { - checkWithException( - TaintLongPath::good, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintOtherClassTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintOtherClassTest.kt deleted file mode 100644 index d915e3e1..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintOtherClassTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintOtherClassTest : UtValueTestCaseCheckerForTaint( - testClass = TaintOtherClass::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintOtherClassConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintOtherClass::bad, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood() { - checkWithException( - TaintOtherClass::good, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintPassConditionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintPassConditionsTest.kt deleted file mode 100644 index f46e65f7..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintPassConditionsTest.kt +++ /dev/null @@ -1,70 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintPassConditionsTest : UtValueTestCaseCheckerForTaint( - testClass = TaintPassConditions::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintPassConditionsConfig.yaml") -) { - @Test - fun testTaintBadArg() { - checkWithException( - TaintPassConditions::badArg, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadReturn() { - checkWithException( - TaintPassConditions::badReturn, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadThis() { - checkWithException( - TaintPassConditions::badThis, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodArg() { - checkWithException( - TaintPassConditions::goodArg, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodReturn() { - checkWithException( - TaintPassConditions::goodReturn, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodThis() { - checkWithException( - TaintPassConditions::goodThis, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintPassSimpleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintPassSimpleTest.kt deleted file mode 100644 index 3a40ea05..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintPassSimpleTest.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintPassSimpleTest : UtValueTestCaseCheckerForTaint( - testClass = TaintPassSimple::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintPassSimpleConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintPassSimple::bad, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadDoublePass() { - checkWithException( - TaintPassSimple::badDoublePass, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood() { - checkWithException( - TaintPassSimple::good, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSeveralMarksTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSeveralMarksTest.kt deleted file mode 100644 index 0df3a948..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSeveralMarksTest.kt +++ /dev/null @@ -1,173 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutThrowTaintErrorForEachMarkSeparately -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintSeveralMarksTest : UtValueTestCaseCheckerForTaint( - testClass = TaintSeveralMarks::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintSeveralMarksConfig.yaml") -) { - @Test - fun testTaintBad1() { - checkWithException( - TaintSeveralMarks::bad1, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBad2() { - checkWithException( - TaintSeveralMarks::bad2, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBad13() { - checkWithException( - TaintSeveralMarks::bad13, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBad13NotSeparately() { - withoutThrowTaintErrorForEachMarkSeparately { - checkWithException( - TaintSeveralMarks::bad13, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - } - - @Test - fun testTaintBad123() { - checkWithException( - TaintSeveralMarks::bad123, - eq(3), // success & taint error (x2, for each mark separately) - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBad123NotSeparately() { - withoutThrowTaintErrorForEachMarkSeparately { - checkWithException( - TaintSeveralMarks::bad123, - eq(2), // success & taint error (one for two marks) - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - } - - @Test - fun testTaintBadSourceAll() { - checkWithException( - TaintSeveralMarks::badSourceAll, - eq(4), // success & taint error (x3) - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadSinkAll() { - checkWithException( - TaintSeveralMarks::badSinkAll, - eq(3), // success & taint error (x2) - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadWrongCleaner() { - checkWithException( - TaintSeveralMarks::badWrongCleaner, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood1() { - checkWithException( - TaintSeveralMarks::good1, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood2() { - checkWithException( - TaintSeveralMarks::good2, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood13() { - checkWithException( - TaintSeveralMarks::good13, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood13NotSeparately() { - withoutThrowTaintErrorForEachMarkSeparately { - checkWithException( - TaintSeveralMarks::good13, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - } - - @Test - fun testTaintGoodWrongSource() { - checkWithException( - TaintSeveralMarks::goodWrongSource, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodWrongSink() { - checkWithException( - TaintSeveralMarks::goodWrongSink, - eq(1), // only success - { r -> r.isSuccess } - ) - } - - @Test - fun testTaintGoodWrongPass() { - checkWithException( - TaintSeveralMarks::goodWrongPass, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSignatureTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSignatureTest.kt deleted file mode 100644 index 57a26327..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSignatureTest.kt +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintSignatureTest : UtValueTestCaseCheckerForTaint( - testClass = TaintSignature::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintSignatureConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintSignature::badFakeCleaner, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodCleaner() { - checkWithException( - TaintSignature::goodCleaner, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodFakeSources() { - checkWithException( - TaintSignature::goodFakeSources, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodFakePass() { - checkWithException( - TaintSignature::goodFakePass, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodFakeSink() { - checkWithException( - TaintSignature::goodFakeSink, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSimpleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSimpleTest.kt deleted file mode 100644 index a7ab2b55..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSimpleTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintSimpleTest : UtValueTestCaseCheckerForTaint( - testClass = TaintSimple::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintSimpleConfig.yaml") -) { - @Test - fun testTaintBad() { - checkWithException( - TaintSimple::bad, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGood() { - checkWithException( - TaintSimple::good, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSinkConditionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSinkConditionsTest.kt deleted file mode 100644 index a78c40a3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSinkConditionsTest.kt +++ /dev/null @@ -1,51 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintSinkConditionsTest : UtValueTestCaseCheckerForTaint( - testClass = TaintSinkConditions::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintSinkConditionsConfig.yaml") -) { - @Test - fun testTaintBadArg() { - checkWithException( - TaintSinkConditions::badArg, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadThis() { - checkWithException( - TaintSinkConditions::badThis, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodArg() { - checkWithException( - TaintSinkConditions::goodArg, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodThis() { - checkWithException( - TaintSinkConditions::goodThis, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSourceConditionsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSourceConditionsTest.kt deleted file mode 100644 index 198d0fe8..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/taint/TaintSourceConditionsTest.kt +++ /dev/null @@ -1,70 +0,0 @@ -package org.utbot.examples.taint - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.TaintAnalysisError -import org.utbot.taint.TaintConfigurationProviderResources -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseCheckerForTaint -import org.utbot.testing.isException - -internal class TaintSourceConditionsTest : UtValueTestCaseCheckerForTaint( - testClass = TaintSourceConditions::class, - taintConfigurationProvider = TaintConfigurationProviderResources("taint/TaintSourceConditionsConfig.yaml") -) { - @Test - fun testTaintBadArg() { - checkWithException( - TaintSourceConditions::badArg, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadReturn() { - checkWithException( - TaintSourceConditions::badReturn, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintBadThis() { - checkWithException( - TaintSourceConditions::badThis, - eq(2), // success & taint error - { r -> r.isException() }, - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodArg() { - checkWithException( - TaintSourceConditions::goodArg, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodReturn() { - checkWithException( - TaintSourceConditions::goodReturn, - eq(1), // only success - { r -> r.isSuccess }, - ) - } - - @Test - fun testTaintGoodThis() { - checkWithException( - TaintSourceConditions::goodThis, - eq(1), // only success - { r -> r.isSuccess }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/thirdparty/numbers/ArithmeticUtilsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/thirdparty/numbers/ArithmeticUtilsTest.kt deleted file mode 100644 index fc7658c5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/thirdparty/numbers/ArithmeticUtilsTest.kt +++ /dev/null @@ -1,46 +0,0 @@ -package org.utbot.examples.thirdparty.numbers - -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -// example from Apache common-numbers -internal class ArithmeticUtilsTest : UtValueTestCaseChecker(testClass = ArithmeticUtils::class) { - @Test - @Tag("slow") - fun testPow() { - check( - ArithmeticUtils::pow, - eq(11), - { _, e, _ -> e < 0 }, // IllegalArgumentException - { k, e, r -> k == 0 && e == 0 && r == 1 }, - { k, e, r -> k == 0 && e != 0 && r == 0 }, - { k, _, r -> k == 1 && r == 1 }, - { k, e, r -> k == -1 && e and 1 == 0 && r == 1 }, - { k, e, r -> k == -1 && e and 1 != 0 && r == -1 }, - { _, e, _ -> e >= 31 }, // ArithmeticException - { k, e, r -> k !in -1..1 && e in 0..30 && r == pow(k, e) }, - - // And 2 additional branches here with ArithmeticException reg integer overflow - { k, e, r -> k !in -1..1 && e in 0..30 && r == null }, - ) - } -} - -fun pow(k: Int, e: Int): Int { - var exp = e - var result = 1 - var k2p = k - while (true) { - if (exp and 0x1 != 0) { - result = Math.multiplyExact(result, k2p) - } - exp = exp shr 1 - if (exp == 0) { - break - } - k2p = Math.multiplyExact(k2p, k2p) - } - return result -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/CountDownLatchExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/CountDownLatchExamplesTest.kt deleted file mode 100644 index 125251f7..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/CountDownLatchExamplesTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.examples.threads - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.AtLeast -import org.utbot.testing.UtValueTestCaseChecker - -class CountDownLatchExamplesTest : UtValueTestCaseChecker(testClass = CountDownLatchExamples::class) { - @Test - fun testGetAndDown() { - check( - CountDownLatchExamples::getAndDown, - eq(2), - { countDownLatch, l -> countDownLatch.count == 0L && l == 0L }, - { countDownLatch, l -> - val firstCount = countDownLatch.count - - firstCount != 0L && l == firstCount - 1 - }, - coverage = AtLeast(83) - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/ExecutorServiceExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/ExecutorServiceExamplesTest.kt deleted file mode 100644 index dcd8af47..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/ExecutorServiceExamplesTest.kt +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.examples.threads - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// IMPORTANT: most of the these tests test only the symbolic engine -// and should not be used for testing conrete or code generation since they are possibly flaky in the concrete execution -// (see https://github.com/UnitTestBot/UTBotJava/issues/1610) -class ExecutorServiceExamplesTest : UtValueTestCaseChecker(testClass = ExecutorServiceExamples::class) { - @Test - fun testExceptionInExecute() { - withoutConcrete { - withEnabledTestingCodeGeneration(false) { - checkWithException( - ExecutorServiceExamples::throwingInExecute, - ignoreExecutionsNumber, - { r -> r.isException() } - ) - } - } - } - - @Test - fun testChangingCollectionInExecute() { - withoutConcrete { - withEnabledTestingCodeGeneration(false) { - check( - ExecutorServiceExamples::changingCollectionInExecute, - ignoreExecutionsNumber, - { r -> r == 42 }, - coverage = AtLeast(78) - ) - } - } - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/FutureExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/FutureExamplesTest.kt deleted file mode 100644 index c6c600b4..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/FutureExamplesTest.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.examples.threads - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.isException -import java.util.concurrent.ExecutionException - -// IMPORTANT: most of the these tests test only the symbolic engine -// and should not be used for testing conrete or code generation since they are possibly flaky in the concrete execution -// (see https://github.com/UnitTestBot/UTBotJava/issues/1610) -class FutureExamplesTest : UtValueTestCaseChecker(testClass = FutureExamples::class) { - @Test - fun testThrowingRunnable() { - withoutConcrete { - checkWithException( - FutureExamples::throwingRunnableExample, - eq(1), - { r -> r.isException() }, - coverage = AtLeast(71) - ) - } - } - - @Test - fun testResultFromGet() { - check( - FutureExamples::resultFromGet, - eq(1), - { r -> r == 42 }, - ) - } - - @Test - fun testChangingCollectionInFuture() { - withEnabledTestingCodeGeneration(false) { - check( - FutureExamples::changingCollectionInFuture, - eq(1), - { r -> r == 42 }, - ) - } - } - - @Test - fun testChangingCollectionInFutureWithoutGet() { - withoutConcrete { - withEnabledTestingCodeGeneration(false) { - check( - FutureExamples::changingCollectionInFutureWithoutGet, - eq(1), - { r -> r == 42 }, - coverage = AtLeast(78) - ) - } - } - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/ThreadExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/ThreadExamplesTest.kt deleted file mode 100644 index 3432eb87..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/threads/ThreadExamplesTest.kt +++ /dev/null @@ -1,54 +0,0 @@ -package org.utbot.examples.threads - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.withoutConcrete -import org.utbot.testing.AtLeast -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException - -// IMPORTANT: most of the these tests test only the symbolic engine -// and should not be used for testing conrete or code generation since they are possibly flaky in the concrete execution -// (see https://github.com/UnitTestBot/UTBotJava/issues/1610) -class ThreadExamplesTest : UtValueTestCaseChecker(testClass = ThreadExamples::class) { - @Test - fun testExceptionInStart() { - withoutConcrete { - withEnabledTestingCodeGeneration(false) { - checkWithException( - ThreadExamples::explicitExceptionInStart, - ignoreExecutionsNumber, - { r -> r.isException() } - ) - } - } - } - - @Test - fun testChangingCollectionInThread() { - withoutConcrete { - withEnabledTestingCodeGeneration(false) { - check( - ThreadExamples::changingCollectionInThread, - ignoreExecutionsNumber, - { r -> r == 42 }, - coverage = AtLeast(81) - ) - } - } - } - - @Test - fun testChangingCollectionInThreadWithoutStart() { - withoutConcrete { - withEnabledTestingCodeGeneration(false) { - checkWithException( - ThreadExamples::changingCollectionInThreadWithoutStart, - ignoreExecutionsNumber, - { r -> r.isException() }, - coverage = AtLeast(81) - ) - } - } - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/CastExamplesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/CastExamplesTest.kt deleted file mode 100644 index 1cc939a3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/CastExamplesTest.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.utbot.examples.types - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("SimplifyNegatedBinaryExpression") -internal class CastExamplesTest : UtValueTestCaseChecker(testClass = CastExamples::class) { - @Test - fun testLongToByte() { - check( - CastExamples::longToByte, - eq(3), - { a, b, r -> (a.toByte() + b.toByte()).toByte() > 10 && r == (a.toByte() + b.toByte()).toByte() }, - { a, b, r -> (a.toByte() + b.toByte()).toByte() <= 10 && a.toByte() > b.toByte() && r == (-1).toByte() }, - { a, b, r -> (a.toByte() + b.toByte()).toByte() <= 10 && a.toByte() <= b.toByte() && r == (0).toByte() }, - ) - } - - @Test - fun testShortToLong() { - check( - CastExamples::shortToLong, - eq(3), - { a, b, r -> a + b > 10 && r == a.toLong() + b.toLong() }, - { a, b, r -> a + b <= 10 && a > b && r == -1L }, - { a, b, r -> a + b <= 10 && a <= b && r == 0L }, - ) - } - - @Test - fun testFloatToDouble() { - check( - CastExamples::floatToDouble, - eq(4), - { a, b, r -> a.toDouble() + b.toDouble() > Float.MAX_VALUE && r == 2.0 }, - { a, b, r -> a.toDouble() + b.toDouble() > 10 && r == 1.0 }, - { a, b, r -> !(a.toDouble() + b.toDouble() > 10) && !(a.toDouble() > b.toDouble()) && r == 0.0 }, - { a, b, r -> !(a.toDouble() + b.toDouble() > 10) && a.toDouble() > b.toDouble() && r == -1.0 }, - ) - } - - @Test - fun testDoubleToFloatArray() { - check( - CastExamples::doubleToFloatArray, - eq(2), - { x, r -> x.toFloat() + 5 > 20 && r == 1.0f }, - { x, r -> !(x.toFloat() + 5 > 20) && r == 0.0f } - ) - } - - @Test - fun testFloatToInt() { - check( - CastExamples::floatToInt, - eq(3), - { x, r -> x < 0 && x.toInt() < 0 && r == 1 }, - { x, r -> x < 0 && x.toInt() >= 0 && r == 2 }, - { x, r -> !(x < 0) && r == 3 }, - ) - } - - @Test - fun testShortToChar() { - check( - CastExamples::shortToChar, - eq(3), - { a, b, r -> (a.charInt() + b.charInt()).charInt() > 10 && r == (a.charInt() + b.charInt()).toChar() }, - { a, b, r -> (a.charInt() + b.charInt()).charInt() <= 10 && a.charInt() <= b.charInt() && r == (0).toChar() }, - { a, b, r -> (a.charInt() + b.charInt()).charInt() <= 10 && a.charInt() > b.charInt() && r == (-1).toChar() }, - ) - } - - // Special cast to emulate Java binary numeric promotion - private fun Number.charInt() = toChar().toInt() -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/GenericsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/GenericsTest.kt deleted file mode 100644 index d77d4db5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/GenericsTest.kt +++ /dev/null @@ -1,74 +0,0 @@ -package org.utbot.examples.types - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.ignoreExecutionsNumber - -internal class GenericsTest : UtValueTestCaseChecker( - testClass = GenericsTest::class, - testCodeGeneration = false // TODO empty files are generated https://github.com/UnitTestBot/UTBotJava/issues/1616 -) { - @Test - fun mapAsParameterTest() { - check( - Generics<*>::mapAsParameter, - eq(2), - { map, _ -> map == null }, - { map, r -> map != null && r == "value" }, - ) - } - - @Test - @Disabled("https://github.com/UnitTestBot/UTBotJava/issues/1620 wrong equals") - fun genericAsFieldTest() { - check( - Generics<*>::genericAsField, - ignoreExecutionsNumber, - { obj, r -> obj?.field == null && r == false }, - // we can cover this line with any of these two conditions - { obj, r -> (obj.field != null && obj.field != "abc" && r == false) || (obj.field == "abc" && r == true) }, - ) - } - - @Test - fun mapAsStaticFieldTest() { - check( - Generics<*>::mapAsStaticField, - ignoreExecutionsNumber, - { r -> r == "value" }, - ) - } - - @Test - fun mapAsNonStaticFieldTest() { - check( - Generics<*>::mapAsNonStaticField, - ignoreExecutionsNumber, - { map, _ -> map == null }, - { map, r -> map != null && r == "value" }, - ) - } - - @Test - fun methodWithRawTypeTest() { - check( - Generics<*>::methodWithRawType, - eq(2), - { map, _ -> map == null }, - { map, r -> map != null && r == "value" }, - ) - } - - @Test - fun testMethodWithArrayTypeBoundary() { - checkWithException( - Generics<*>::methodWithArrayTypeBoundary, - eq(1), - { r -> r.exceptionOrNull() is java.lang.NullPointerException }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/PathDependentGenericsExampleTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/PathDependentGenericsExampleTest.kt deleted file mode 100644 index 14ff4ed2..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/PathDependentGenericsExampleTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.types - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -internal class PathDependentGenericsExampleTest : UtValueTestCaseChecker( - testClass = PathDependentGenericsExample::class, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun testPathDependentGenerics() { - check( - PathDependentGenericsExample::pathDependentGenerics, - eq(3), - { elem, r -> elem is ClassWithOneGeneric<*> && r == 1 }, - { elem, r -> elem is ClassWithTwoGenerics<*, *> && r == 2 }, - { elem, r -> elem !is ClassWithOneGeneric<*> && elem !is ClassWithTwoGenerics<*, *> && r == 3 }, - ) - } - - @Test - fun testFunctionWithSeveralTypeConstraintsForTheSameObject() { - check( - PathDependentGenericsExample::functionWithSeveralTypeConstraintsForTheSameObject, - eq(2), - { e, r -> e !is List<*> && r == 3 }, - { e, r -> e is List<*> && r == 1 }, - coverage = atLeast(89) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/TypeBordersTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/TypeBordersTest.kt deleted file mode 100644 index a2251d00..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/TypeBordersTest.kt +++ /dev/null @@ -1,78 +0,0 @@ -package org.utbot.examples.types - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.atLeast - -internal class TypeBordersTest : UtValueTestCaseChecker(testClass = TypeBorders::class) { - @Test - fun testByteBorder() { - check( - TypeBorders::byteBorder, - eq(3), - { x, r -> x == Byte.MIN_VALUE && r == 3 }, - { x, r -> x == Byte.MAX_VALUE && r == 2 }, - { x, r -> x > Byte.MIN_VALUE && x < Byte.MAX_VALUE && r == 4 }, - coverage = atLeast(75) - ) - } - - @Test - fun testShortBorder() { - check( - TypeBorders::shortBorder, - eq(3), - { x, r -> x == Short.MIN_VALUE && r == 3 }, - { x, r -> x == Short.MAX_VALUE && r == 2 }, - { x, r -> x > Short.MIN_VALUE && x < Short.MAX_VALUE && r == 4 }, - coverage = atLeast(75) - ) - } - - @Test - fun testCharBorder() { - check( - TypeBorders::charBorder, - eq(3), - { x, r -> x == Char.MIN_VALUE && r == 3 }, - { x, r -> x == Char.MAX_VALUE && r == 2 }, - { x, r -> x > Char.MIN_VALUE && x < Char.MAX_VALUE && r == 4 }, - coverage = atLeast(75) - ) - } - - @Test - fun testIntBorder() { - check( - TypeBorders::intBorder, - eq(3), - { x, r -> x == Int.MIN_VALUE && r == 3 }, - { x, r -> x == Int.MAX_VALUE && r == 2 }, - { x, r -> x > Int.MIN_VALUE && x < Int.MAX_VALUE && r == 4 }, - coverage = atLeast(75) - ) - } - - @Test - fun testLongBorder() { - check( - TypeBorders::longBorder, - eq(3), - { x, r -> x == Long.MIN_VALUE && r == 3 }, - { x, r -> x == Long.MAX_VALUE && r == 2 }, - { x, r -> x > Long.MIN_VALUE && x < Long.MAX_VALUE && r == 4 }, - coverage = atLeast(75) - ) - } - - @Test - fun testUnreachableByteValue() { - check( - TypeBorders::unreachableByteValue, - eq(1), // should generate one branch with legal byte value - { x, r -> r == 0 && x < 200 }, - coverage = atLeast(50) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/TypeMatchesTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/TypeMatchesTest.kt deleted file mode 100644 index 4a3f8d3c..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/types/TypeMatchesTest.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.examples.types - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("SimplifyNegatedBinaryExpression") -internal class TypeMatchesTest : UtValueTestCaseChecker(testClass = TypeMatches::class) { - @Test - fun testCompareDoubleByte() { - check( - TypeMatches::compareDoubleByte, - eq(2), - { a, b, r -> a < b && r == 0.0 }, - { a, b, r -> !(a < b) && r == 1.0 } - ) - } - - @Test - fun testCompareShortLong() { - check( - TypeMatches::compareShortLong, - eq(2), - { a, b, r -> a < b && r == 0.toShort() }, - { a, b, r -> a >= b && r == 1.toShort() } - ) - } - - @Test - fun testCompareFloatDouble() { - check( - TypeMatches::compareFloatDouble, - eq(2), - { a, b, r -> a < b && r == 0.0f }, - { a, b, r -> !(a < b) && r == 1.0f } - ) - } - - @Test - fun testSumByteAndShort() { - check( - TypeMatches::sumByteAndShort, - eq(3), - { a, b, r -> a + b > Short.MAX_VALUE && r == 1 }, - { a, b, r -> a + b < Short.MIN_VALUE && r == 2 }, - { a, b, r -> a + b in Short.MIN_VALUE..Short.MAX_VALUE && r == 3 }, - ) - } - - @Test - fun testSumShortAndChar() { - check( - TypeMatches::sumShortAndChar, - eq(3), - { a, b, r -> a + b.toInt() > Char.MAX_VALUE.toInt() && r == 1 }, - { a, b, r -> a + b.toInt() < Char.MIN_VALUE.toInt() && r == 2 }, - { a, b, r -> a + b.toInt() in Char.MIN_VALUE.toInt()..Char.MAX_VALUE.toInt() && r == 3 }, - ) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/unsafe/UnsafeOperationsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/unsafe/UnsafeOperationsTest.kt deleted file mode 100644 index 03d29c8e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/unsafe/UnsafeOperationsTest.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.examples.unsafe - -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutSandbox -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class UnsafeOperationsTest : UtValueTestCaseChecker(testClass = UnsafeOperations::class) { - @Test - fun checkGetAddressSizeOrZero() { - withoutSandbox { - check( - UnsafeOperations::getAddressSizeOrZero, - eq(1), - { r -> r!! > 0 }, - // Coverage matcher fails (branches: 0/0, instructions: 15/21, lines: 0/0) - // TODO: check coverage calculation: https://github.com/UnitTestBot/UTBotJava/issues/807 - coverage = DoNotCalculate - ) - } - } - - @Test - fun checkGetAddressSizeOrZeroWithMocks() { - withoutSandbox { - check( - UnsafeOperations::getAddressSizeOrZero, - eq(1), - { r -> r!! > 0 }, - // Coverage matcher fails (branches: 0/0, instructions: 15/21, lines: 0/0) - // TODO: check coverage calculation: https://github.com/UnitTestBot/UTBotJava/issues/807 - coverage = DoNotCalculate, - mockStrategy = MockStrategyApi.OTHER_CLASSES - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/unsafe/UnsafeWithFieldTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/unsafe/UnsafeWithFieldTest.kt deleted file mode 100644 index 4b486a3d..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/unsafe/UnsafeWithFieldTest.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.unsafe - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.UtValueTestCaseChecker - -internal class UnsafeWithFieldTest: UtValueTestCaseChecker(UnsafeWithField::class) { - - @Test - fun checkSetField() { - check( - UnsafeWithField::setField, - eq(1) - // TODO JIRA:1579 - // for now we might have any value as a result, so there is no need in the matcher - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/BooleanWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/BooleanWrapperTest.kt deleted file mode 100644 index 6f97af67..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/BooleanWrapperTest.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class BooleanWrapperTest : UtValueTestCaseChecker(testClass = BooleanWrapper::class) { - @Test - fun primitiveToWrapperTest() { - check( - BooleanWrapper::primitiveToWrapper, - eq(2), - { x, r -> x && r == true }, - { x, r -> !x && r == true }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - BooleanWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x && r == true }, - { x, r -> !x && r == true }, - coverage = DoNotCalculate - ) - } - - @Test - fun equalityTest() { - check( - BooleanWrapper::equality, - eq(2), - { a, b, result -> a == b && result == 1 }, - { a, b, result -> a != b && result == 4 }, - coverage = DoNotCalculate // method under test has unreachable branches because of caching - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/ByteWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/ByteWrapperTest.kt deleted file mode 100644 index 489e04fc..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/ByteWrapperTest.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class ByteWrapperTest : UtValueTestCaseChecker(testClass = ByteWrapper::class) { - @Test - fun primitiveToWrapperTest() { - check( - ByteWrapper::primitiveToWrapper, - eq(2), - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - ByteWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun equalityTest() { - check( - ByteWrapper::equality, - eq(2), - { a, b, result -> a == b && result == 1 }, - { a, b, result -> a != b && result == 4 }, - coverage = DoNotCalculate // method under test has unreachable branches because of caching - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/CharacterWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/CharacterWrapperTest.kt deleted file mode 100644 index 0995b705..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/CharacterWrapperTest.kt +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -// TODO failed Kotlin compilation -internal class CharacterWrapperTest : UtValueTestCaseChecker( - testClass = CharacterWrapper::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun primitiveToWrapperTest() { - check( - CharacterWrapper::primitiveToWrapper, - eq(2), - { x, r -> x.toInt() >= 100 && r!!.toInt() >= 100 }, - { x, r -> x.toInt() < 100 && r!!.toInt() == x.toInt() + 100 }, - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - CharacterWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x.toInt() >= 100 && r!!.toInt() >= 100 }, - { x, r -> x.toInt() < 100 && r!!.toInt() == x.toInt() + 100 }, - ) - } - - @Disabled("Caching char values between -128 and 127 isn't supported JIRA:1481") - @Test - fun equalityTest() { - check( - CharacterWrapper::equality, - eq(3), - { a, b, result -> a == b && a.toInt() <= 127 && result == 1 }, - { a, b, result -> a == b && a.toInt() > 127 && result == 2 }, - { a, b, result -> a != b && result == 4 }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/DoubleWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/DoubleWrapperTest.kt deleted file mode 100644 index d355ca86..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/DoubleWrapperTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("SimplifyNegatedBinaryExpression") -internal class DoubleWrapperTest : UtValueTestCaseChecker(testClass = DoubleWrapper::class) { - @Test - fun primitiveToWrapperTest() { - check( - DoubleWrapper::primitiveToWrapper, - eq(2), - { x, r -> x >= 0 && r!!.toDouble() >= 0 }, - { x, r -> (x < 0 || x.isNaN()) && (r!!.toDouble() > 0 || r.isNaN()) }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - DoubleWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x >= 0 && r!! >= 0 }, - { x, r -> (x < 0 || x.isNaN()) && (r!! > 0 || r.isNaN()) }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/FloatWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/FloatWrapperTest.kt deleted file mode 100644 index fcb3eeae..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/FloatWrapperTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -@Suppress("SimplifyNegatedBinaryExpression") -internal class FloatWrapperTest : UtValueTestCaseChecker(testClass = FloatWrapper::class) { - @Test - fun primitiveToWrapperTest() { - check( - FloatWrapper::primitiveToWrapper, - eq(2), - { x, r -> x >= 0 && r!! >= 0 }, - { x, r -> (x < 0 || x.isNaN()) && (r!! > 0 || r.isNaN()) }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - FloatWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x >= 0 && r!! >= 0 }, - { x, r -> (x < 0 || x.isNaN()) && (r!! > 0 || r.isNaN()) }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/IntegerWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/IntegerWrapperTest.kt deleted file mode 100644 index f9e360c3..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/IntegerWrapperTest.kt +++ /dev/null @@ -1,72 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class IntegerWrapperTest : UtValueTestCaseChecker(testClass = IntegerWrapper::class) { - @Test - fun primitiveToWrapperTest() { - check( - IntegerWrapper::primitiveToWrapper, - eq(2), - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - IntegerWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun numberOfZerosTest() { - check( - IntegerWrapper::numberOfZeros, - eq(4), - { x, _ -> x == null }, - { x, r -> Integer.numberOfLeadingZeros(x) >= 5 && r == 0 }, - { x, r -> Integer.numberOfLeadingZeros(x) < 5 && Integer.numberOfTrailingZeros(x) >= 5 && r == 0 }, - { x, r -> Integer.numberOfLeadingZeros(x) < 5 && Integer.numberOfTrailingZeros(x) < 5 && r == 1 }, - coverage = DoNotCalculate - ) - } - - @Test - fun bitCountTest() { - check( - IntegerWrapper::bitCount, - eq(3), - { x, _ -> x == null }, - { x, r -> Integer.bitCount(x) != 5 && r == 0 }, - { x, r -> Integer.bitCount(x) == 5 && r == 1 }, - coverage = DoNotCalculate - ) - } - - - @Disabled("Caching integer values between -128 and 127 isn't supported JIRA:1481") - @Test - fun equalityTest() { - check( - IntegerWrapper::equality, - eq(3), - { a, b, result -> a == b && a >= -128 && a <= 127 && result == 1 }, - { a, b, result -> a == b && (a < -128 || a > 127) && result == 2 }, - { a, b, result -> a != b && result == 4 }, - coverage = DoNotCalculate - ) - } - -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/LongWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/LongWrapperTest.kt deleted file mode 100644 index 4f418a35..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/LongWrapperTest.kt +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testcheckers.withoutMinimization -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class LongWrapperTest : UtValueTestCaseChecker( - testClass = LongWrapper::class, - testCodeGeneration = true, - configurations = ignoreKotlinCompilationConfigurations, -) { - @Test - fun primitiveToWrapperTest() { - check( - LongWrapper::primitiveToWrapper, - eq(2), - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - LongWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Disabled("Caching long values between -128 and 127 doesn't work JIRA:1481") - @Test - fun equalityTest() { - check( - LongWrapper::equality, - eq(3), - { a, b, result -> a == b && a >= -128 && a <= 127 && result == 1 }, - { a, b, result -> a == b && (a < -128 || a > 127) && result == 2 }, - { a, b, result -> a != b && result == 4 }, - coverage = DoNotCalculate - ) - } - - @Test - fun parseLong() { - withoutMinimization { // TODO: JIRA:1506. These branches will be minimized. - check( - LongWrapper::parseLong, - eq(6), - { line, _ -> line == null }, - { line, _ -> line.isEmpty() }, - { line, _ -> line == "-" }, - { line, _ -> line == "+" }, - { line, _ -> line.startsWith("-") }, - { line, _ -> !line.startsWith("-") }, - coverage = DoNotCalculate - ) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/ShortWrapperTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/ShortWrapperTest.kt deleted file mode 100644 index ec4e0498..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/examples/wrappers/ShortWrapperTest.kt +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.examples.wrappers - -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.testcheckers.eq -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.UtValueTestCaseChecker - -internal class ShortWrapperTest : UtValueTestCaseChecker(testClass = ShortWrapper::class) { - @Test - fun primitiveToWrapperTest() { - check( - ShortWrapper::primitiveToWrapper, - eq(2), - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Test - fun wrapperToPrimitiveTest() { - check( - ShortWrapper::wrapperToPrimitive, - eq(3), - { x, _ -> x == null }, - { x, r -> x >= 0 && r!! <= 0 }, - { x, r -> x < 0 && r!! < 0 }, - coverage = DoNotCalculate - ) - } - - @Disabled("Caching short values between -128 and 127 isn't supported JIRA:1481") - @Test - fun equalityTest() { - check( - ShortWrapper::equality, - eq(3), - { a, b, result -> a == b && a >= -128 && a <= 127 && result == 1 }, - { a, b, result -> a == b && (a < -128 || a > 127) && result == 2 }, - { a, b, result -> a != b && result == 4 }, - coverage = DoNotCalculate - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/JUnitSetup.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/JUnitSetup.kt deleted file mode 100644 index 19a91f0e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/JUnitSetup.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.framework - -import org.apache.logging.log4j.Level -import org.apache.logging.log4j.LogManager -import org.apache.logging.log4j.core.LogEvent -import org.apache.logging.log4j.core.Logger -import org.apache.logging.log4j.core.appender.AbstractAppender -import org.apache.logging.log4j.core.appender.AppenderLoggingException -import org.junit.jupiter.api.extension.AfterAllCallback -import org.junit.jupiter.api.extension.BeforeAllCallback -import org.junit.jupiter.api.extension.ExtensionContext - -class JUnitSetup : BeforeAllCallback, AfterAllCallback { - - private var appender: ThrowingAppender? = null - private val rootLogger = LogManager.getRootLogger() as Logger - - override fun beforeAll(context: ExtensionContext?) { - appender = ThrowingAppender().apply { start() } - rootLogger.addAppender(appender) - } - - override fun afterAll(context: ExtensionContext?) { - appender?.let { - it.stop() - rootLogger.removeAppender(it) - appender = null - } - } - -} - -class ThrowingAppender : AbstractAppender(ThrowingAppender::class.simpleName, null, null, false, null) { - override fun append(event: LogEvent) { - if (event.level.isMoreSpecificThan(Level.ERROR)) - throw event.thrown ?: AppenderLoggingException(event.message.formattedMessage) - } -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/assemble/AssembleModelGeneratorTests.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/assemble/AssembleModelGeneratorTests.kt deleted file mode 100644 index 9e7274dc..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/assemble/AssembleModelGeneratorTests.kt +++ /dev/null @@ -1,1504 +0,0 @@ -package org.utbot.framework.assemble - -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.examples.assemble.AssembleTestUtils -import org.utbot.examples.assemble.ComplexField -import org.utbot.examples.assemble.DirectAccess -import org.utbot.examples.assemble.DirectAccessAndSetter -import org.utbot.examples.assemble.DirectAccessFinal -import org.utbot.examples.assemble.InheritedField -import org.utbot.examples.assemble.ListItem -import org.utbot.examples.assemble.NoModifier -import org.utbot.examples.assemble.PackagePrivateFields -import org.utbot.examples.assemble.PrimitiveFields -import org.utbot.examples.assemble.ArrayOfComplexArrays -import org.utbot.examples.assemble.ArrayOfPrimitiveArrays -import org.utbot.examples.assemble.AssignedArray -import org.utbot.examples.assemble.ComplexArray -import org.utbot.examples.assemble.another.MethodUnderTest -import org.utbot.examples.assemble.PrimitiveArray -import org.utbot.examples.assemble.ComplexConstructor -import org.utbot.examples.assemble.ComplexConstructorWithSetter -import org.utbot.examples.assemble.ConstructorModifyingStatic -import org.utbot.examples.assemble.InheritComplexConstructor -import org.utbot.examples.assemble.InheritPrimitiveConstructor -import org.utbot.examples.assemble.PrimitiveConstructor -import org.utbot.examples.assemble.PrimitiveConstructorWithDefaultField -import org.utbot.examples.assemble.PrivateConstructor -import org.utbot.examples.assemble.PseudoComplexConstructor -import org.utbot.examples.assemble.DefaultField -import org.utbot.examples.assemble.DefaultFieldModifiedInConstructor -import org.utbot.examples.assemble.DefaultFieldWithDirectAccessor -import org.utbot.examples.assemble.DefaultFieldWithSetter -import org.utbot.examples.assemble.DefaultPackagePrivateField -import org.utbot.examples.assemble.StaticField -import org.utbot.framework.codegen.tree.arrayTypeOf -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.UtContext.Companion.setUtContext -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.intArrayClassId -import org.utbot.framework.plugin.api.util.intClassId -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import org.utbot.framework.util.SootUtils -import org.utbot.framework.util.instanceCounter -import java.util.concurrent.atomic.AtomicInteger -import kotlin.reflect.full.functions - -/** - * Test classes must be located in the same folder as [AssembleTestUtils] class. - */ -class AssembleModelGeneratorTests { - val modelIdCounter = AtomicInteger(0) - - private lateinit var context: AutoCloseable - private lateinit var statementsChain: MutableList - - @BeforeEach - fun setUp() { - instanceCounter.set(0) - modelIdCounter.set(0) - statementsChain = mutableListOf() - SootUtils.runSoot(AssembleTestUtils::class.java, forceReload = false, jdkInfo = JdkInfoDefaultProvider().info) - context = setUtContext(UtContext(AssembleTestUtils::class.java.classLoader)) - } - - @AfterEach - fun tearDown() { - context.close() - } - - @Test - fun testOnObjectWithPrimitiveFields() { - val testClassId = PrimitiveFields::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "a" to 5, "b" to 3) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("a", 5)) - statementsChain.add("$v1." + ("b" `=` 3)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithDefaultFields() { - val testClassId = PrimitiveFields::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "a" to 5, "b" to 0) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("a", 5)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPackagePrivateFields() { - val testClassId = PackagePrivateFields::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "a" to 5, "b" to 3) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("a" `=` 5)) - statementsChain.add("$v1." + ("b" `=` 3)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPackagePrivateFieldsFromAnotherPackage() { - val testClassId = PackagePrivateFields::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "a" to 5, "b" to 3) - ) - - val methodFromAnotherPackage = MethodUnderTest::class.functions.first() - - createModelAndAssert(compositeModel, null, methodFromAnotherPackage.executableId) - } - - @Test - fun testOnObjectWithComplexFields() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val innerCompositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 4) - ) - - val complexObjectFields = fields( - testClassId, - "i" to 5, - "s" to innerCompositeModel, - ) - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), testClassId, isMock = false, complexObjectFields - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 5)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("s", v2)) - val firstExpectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - statementsChain.add("${innerClassId.canonicalName}()") - statementsChain.add("$v2." + addExpectedSetter("a", 2)) - statementsChain.add("$v2." + ("b" `=` 4)) - val secondExpectedRepresentation = printExpectedModel(innerClassId.simpleName, v2, statementsChain.toList()) - - createModelsAndAssert( - listOf(compositeModel, innerCompositeModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation), - ) - } - - @Test - fun testOnObjectWithComplexDefaultFields() { - val testClassId = ComplexField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 5), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 5)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnListObject() { - val listClassId = ListItem::class.id - - val secondModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - listClassId, - isMock = false, - fields(listClassId, "value" to 2, "next" to UtNullModel(listClassId)) - ) - - val firstModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - listClassId, - isMock = false, - fields(listClassId, "value" to 1, "next" to secondModel) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("value", 1)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("next", v2)) - val firstExpectedRepresentation = printExpectedModel(listClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - statementsChain.add("${listClassId.canonicalName}()") - statementsChain.add("$v2." + addExpectedSetter("value", 2)) - val secondExpectedRepresentation = printExpectedModel(listClassId.simpleName, v2, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstModel, secondModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation), - ) - } - - @Test - fun testOnObjectsTriangle() { - val listClassId = ListItem::class.id - - val firstModel = UtCompositeModel(modelIdCounter.incrementAndGet(), listClassId, isMock = false) - val secondModel = UtCompositeModel(modelIdCounter.incrementAndGet(), listClassId, isMock = false) - val thirdModel = UtCompositeModel(modelIdCounter.incrementAndGet(), listClassId, isMock = false) - - firstModel.fields += fields(listClassId, "value" to 1, "next" to secondModel) - secondModel.fields += fields(listClassId, "value" to 2, "next" to thirdModel) - thirdModel.fields += fields(listClassId, "value" to 3, "next" to firstModel) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("value", 1)) - val v2 = createExpectedVariableName() - val v3 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("next", v2)) - val firstExpectedRepresentation = printExpectedModel(listClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - statementsChain.add("${listClassId.canonicalName}()") - statementsChain.add("$v2." + addExpectedSetter("value", 2)) - statementsChain.add("$v2." + addExpectedSetter("next", v3)) - val secondExpectedRepresentation = printExpectedModel(listClassId.simpleName, v2, statementsChain.toList()) - - statementsChain.clear() - statementsChain.add("${listClassId.canonicalName}()") - statementsChain.add("$v3." + addExpectedSetter("value", 3)) - statementsChain.add("$v3." + addExpectedSetter("next", v1)) - val thirdExpectedRepresentation = printExpectedModel(listClassId.simpleName, v3, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstModel, secondModel, thirdModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation, thirdExpectedRepresentation), - ) - } - - @Test - fun testOnObjectWithPublicFields() { - val testClassId = DirectAccess::class.id - val innerClassId = PrimitiveFields::class.id - - val primitiveFields = fields(innerClassId, "a" to 2, "b" to 4) - - val fields = fields( - testClassId, - "a" to 5, - "b" to 3, - "s" to UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - primitiveFields - ), - ) - val compositeModel = UtCompositeModel(modelIdCounter.incrementAndGet(), testClassId, isMock = false, fields) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("a", 5)) - statementsChain.add("$v1." + ("b" `=` 3)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + ("s" `=` v2)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPublicFieldAndSetter() { - val testClassId = DirectAccessAndSetter::class.id - val innerClassId = PrimitiveFields::class.id - - val primitiveFields = fields(innerClassId, "a" to 2, "b" to 4) - - val fields = fields( - testClassId, - "a" to 3, - "p" to UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - primitiveFields - ), - ) - val compositeModel = UtCompositeModel(modelIdCounter.incrementAndGet(), testClassId, isMock = false, fields) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("a" `=` 3)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + ("p" `=` v2)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithFinalFields() { - val testClassId = DirectAccessFinal::class.id - - val arrayObjectFields = fields( - testClassId, - "array" to UtArrayModel( - modelIdCounter.incrementAndGet(), - intArrayClassId, - length = 2, - UtPrimitiveModel(0), - mutableMapOf(0 to UtPrimitiveModel(1), 1 to UtPrimitiveModel(2)), - ), - ) - val compositeModel = - UtCompositeModel(modelIdCounter.incrementAndGet(), testClassId, isMock = false, arrayObjectFields) - - createModelAndAssert(compositeModel, null) - } - - //region inheritance_tests - - @Test - fun testOnInheritedObjectWithoutBaseFields() { - val testClassId = InheritedField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 5, "d" to 3.0) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("i" `=` 5)) - statementsChain.add("$v1." + ("d" `=` 3.0)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnInheritedObjectWithDefaultBaseFields() { - val inheritedFieldClassId = InheritedField::class.id - val baseClassId = PrimitiveFields::class.id - - val thisFields = fields(inheritedFieldClassId, "i" to 5, "d" to 3.0) - val baseFields = fields(baseClassId, "a" to 0, "b" to 0) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - inheritedFieldClassId, - isMock = false, - (thisFields + baseFields).toMutableMap(), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("i" `=` 5)) - statementsChain.add("$v1." + ("d" `=` 3.0)) - - val expectedRepresentation = printExpectedModel(inheritedFieldClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnInheritedObjectWithBaseFields() { - val inheritedFieldClassId = InheritedField::class.id - val baseClassId = PrimitiveFields::class.id - - val thisFields = fields(inheritedFieldClassId, "i" to 5, "d" to 3.0) - val baseFields = fields(baseClassId, "b" to 4) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - inheritedFieldClassId, - isMock = false, - (thisFields + baseFields).toMutableMap(), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("i" `=` 5)) - statementsChain.add("$v1." + ("d" `=` 3.0)) - statementsChain.add("$v1." + ("b" `=` 4)) - - val expectedRepresentation = printExpectedModel(inheritedFieldClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - //endregion - - @Test - fun testOnObjectWithoutSetter() { - val modelClassId = NoModifier::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithPrimitiveConstructor() { - val modelClassId = PrimitiveConstructor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 3), - ) - - val v1 = statementsChain.addExpectedVariableDecl(5, 3) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithSimpleConstructorAndDefaultField() { - val modelClassId = PrimitiveConstructor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 0), - ) - - val v1 = statementsChain.addExpectedVariableDecl(5, 0) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPrimitiveConstructorAndStaticFieldNotInModel() { - val modelClassId = StaticField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 3), - ) - - val v1 = statementsChain.addExpectedVariableDecl(5,3) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPrimitiveConstructorAndStaticFieldInModel() { - val modelClassId = StaticField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 3, "staticField" to 4), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithInheritedPrimitiveConstructor() { - val inheritedClassId = InheritPrimitiveConstructor::class.id - val baseClassId = PrimitiveConstructor::class.id - - val thisFields = fields(inheritedClassId, "c" to 1, "d" to 2.0) - val baseFields = fields(baseClassId, "a" to 3, "b" to 4) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - inheritedClassId, - isMock = false, - (thisFields + baseFields).toMutableMap(), - ) - - val v1 = statementsChain.addExpectedVariableDecl(4, 3, 1, 2.0) - - val expectedRepresentation = printExpectedModel(inheritedClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithInheritedComplexConstructor() { - val inheritedClassId = InheritComplexConstructor::class.id - val baseClassId = ComplexConstructor::class.id - - val thisFields = fields(inheritedClassId, "c" to 1, "d" to 2.0) - val baseFields = fields(baseClassId, "a" to 3, "b" to 4) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - inheritedClassId, - isMock = false, - (thisFields + baseFields).toMutableMap(), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithDefaultConstructorModifyingField() { - val modelClassId = DefaultField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "z" to 5), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithDefaultConstructorModifyingPackagePrivateField() { - val modelClassId = DefaultPackagePrivateField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "z" to 0), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("z" `=` 0)) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithConstructorModifyingAffectedField() { - val modelClassId = DefaultFieldModifiedInConstructor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "z" to 5), - ) - - val v1 = statementsChain.addExpectedVariableDecl(5) - statementsChain.add("$v1." + ("z" `=` 5)) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPublicFieldModifiedByDefaultConstructor() { - val modelClassId = DefaultFieldWithDirectAccessor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "z" to 5), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("z" `=` 5)) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithFieldWithSetterModifiedByDefaultConstructor() { - val modelClassId = DefaultFieldWithSetter::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "z" to 5), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("z", 5)) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithFieldWithPrivateSetterModifiedByDefaultConstructor() { - val modelClassId = PrivateConstructor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "z" to 5), - ) - - val expectedRepresentation = null - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPrimitiveConstructorModifyingStaticField() { - val modelClassId = ConstructorModifyingStatic::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "x" to 5), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithComplexConstructor() { - val modelClassId = ComplexConstructor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 3), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithComplexConstructorAndSetter() { - val modelClassId = ComplexConstructorWithSetter::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 3), - ) - - val v1 = statementsChain.addExpectedVariableDecl(5, 0) - statementsChain.add("$v1." + addExpectedSetter("b", 3)) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPseudoComplexConstructor() { - val modelClassId = PseudoComplexConstructor::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("a" `=` 5)) - - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithPrimitiveConstructorHavingDefaultField() { - val modelClassId = PrimitiveConstructorWithDefaultField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5, "b" to 3), - ) - - createModelAndAssert(compositeModel, null) - } - - @Test - fun testOnObjectWithPrimitiveConstructorHavingDefaultFieldNotInModel() { - val modelClassId = PrimitiveConstructorWithDefaultField::class.id - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - modelClassId, - isMock = false, - fields(modelClassId, "a" to 5), - ) - - val v1 = statementsChain.addExpectedVariableDecl(5) - val expectedRepresentation = printExpectedModel(modelClassId.simpleName, v1, statementsChain) - - createModelAndAssert(compositeModel, expectedRepresentation) - } - - //region coupling_models_tests - - @Test - fun testOnTwoDecoupledPrimitiveObjects() { - val testClassId = PrimitiveFields::class.id - - val firstModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "a" to 5, "b" to 3), - ) - val secondModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "a" to 4, "b" to 2), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("a", 5)) - statementsChain.add("$v1." + ("b" `=` 3)) - val firstExpectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - val v2 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v2." + addExpectedSetter("a", 4)) - statementsChain.add("$v2." + ("b" `=` 2)) - val secondExpectedRepresentation = printExpectedModel(testClassId.simpleName, v2, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstModel, secondModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation) - ) - } - - @Test - fun testOnTwoDecoupledComplexObjects() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val firstSimpleObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 4), - ) - val secondSimpleObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 3, "b" to 5), - ) - - val firstComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 5, "s" to firstSimpleObjectModel), - ) - val secondComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 6, "s" to secondSimpleObjectModel), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 5)) - val v2 = createExpectedVariableName() - statementsChain.add( - "$v1." + addExpectedSetter("s", v2) - ) - val firstExpectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - val v3 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v3." + addExpectedSetter("i", 6)) - val v4 = createExpectedVariableName() - statementsChain.add("$v3." + addExpectedSetter("s", v4)) - val secondExpectedRepresentation = printExpectedModel(testClassId.simpleName, v3, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstComplexObjectModel, secondComplexObjectModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation) - ) - } - - @Test - fun testOnTwoCoupledComplexObjects() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val primitiveObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 4), - ) - - val firstComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 5, "s" to primitiveObjectModel), - ) - val secondComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 6, "s" to primitiveObjectModel), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 5)) - val v2 = createExpectedVariableName() - statementsChain.add( - "$v1." + addExpectedSetter("s", v2) - ) - val firstExpectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - val v3 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v3." + addExpectedSetter("i", 6)) - statementsChain.add("$v3." + addExpectedSetter("s", v2)) - val secondExpectedRepresentation = printExpectedModel(testClassId.simpleName, v3, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstComplexObjectModel, secondComplexObjectModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation) - ) - } - - @Test - fun testOnThreeCoupledComplexObjects() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val primitiveObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 4), - ) - - val firstComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 1, "s" to primitiveObjectModel), - ) - val secondComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 2, "s" to primitiveObjectModel), - ) - val thirdComplexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 3, "s" to primitiveObjectModel), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 1)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("s", v2)) - val firstExpectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - val v3 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v3." + addExpectedSetter("i", 2)) - statementsChain.add("$v3." + addExpectedSetter("s", v2)) - val secondExpectedRepresentation = printExpectedModel(testClassId.simpleName, v3, statementsChain.toList()) - - statementsChain.clear() - val v4 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v4." + addExpectedSetter("i", 3)) - statementsChain.add("$v4." + addExpectedSetter("s", v2)) - val thirdExpectedRepresentation = printExpectedModel(testClassId.simpleName, v4, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstComplexObjectModel, secondComplexObjectModel, thirdComplexObjectModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation, thirdExpectedRepresentation) - ) - } - - @Test - fun testOnTwoEqualComplexObjects() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val primitiveObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 4), - ) - - val complexObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "i" to 5, "s" to primitiveObjectModel), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 5)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("s", v2)) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelsAndAssert(listOf(complexObjectModel, complexObjectModel), listOf(expectedRepresentation)) - } - - @Test - fun testOnTwoCoupledListObjects() { - val listClassId = ListItem::class.id - - val secondModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - listClassId, - isMock = false, - fields(listClassId, "value" to 2, "next" to UtNullModel(listClassId)), - ) - - val firstModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - listClassId, - isMock = false, - fields(listClassId, "value" to 1, "next" to secondModel), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("value", 1)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("next", v2)) - val firstExpectedRepresentation = printExpectedModel(listClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - statementsChain.add("${listClassId.canonicalName}()") - statementsChain.add("$v2." + addExpectedSetter("value", 2)) - val secondExpectedRepresentation = printExpectedModel(listClassId.simpleName, v2, statementsChain.toList()) - - createModelsAndAssert( - listOf(firstModel, secondModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation) - ) - } - - @Test - fun testOnTwoCrossCoupledListObjects() { - val listClassId = ListItem::class.id - - val firstModel = UtCompositeModel(modelIdCounter.incrementAndGet(), listClassId, isMock = false) - val secondModel = UtCompositeModel(modelIdCounter.incrementAndGet(), listClassId, isMock = false) - - firstModel.fields += fields(listClassId, "value" to 1, "next" to secondModel) - secondModel.fields += fields(listClassId, "value" to 2, "next" to firstModel) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("value", 1)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("next", v2)) - - val firstExpectedRepresentation = printExpectedModel(listClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - statementsChain.add("${listClassId.canonicalName}()") - statementsChain.add("$v2." + addExpectedSetter("value", 2)) - statementsChain.add("$v2." + addExpectedSetter("next", v1)) - val secondExpectedRepresentation = printExpectedModel(listClassId.simpleName, v2, statementsChain) - - createModelsAndAssert( - listOf(firstModel, secondModel), - listOf(firstExpectedRepresentation, secondExpectedRepresentation) - ) - } - - @Test - fun testOnPrimitiveObjectAndNonConstructableOne() { - val simpleClassId = PrimitiveFields::class.id - val nonConstructableClassId = ComplexConstructor::class.id - - val simpleModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - simpleClassId, - isMock = false, - fields(simpleClassId, "a" to 5), - ) - - val nonConstructableModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - nonConstructableClassId, - isMock = false, - fields(nonConstructableClassId, "a" to 5, "b" to 3), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("a", 5)) - - val simpleModelRepresentation = printExpectedModel(simpleClassId.simpleName, v1, statementsChain.toList()) - - createModelsAndAssert( - listOf(simpleModel, nonConstructableModel), - listOf(simpleModelRepresentation, null) - ) - } - - //endregion - - //region array_field_tests - - @Test - fun testOnObjectWithPrimitiveArrayField() { - val testClassId = PrimitiveArray::class.id - - val arrayObjectFields = fields( - testClassId, - "array" to UtArrayModel( - modelIdCounter.incrementAndGet(), - intArrayClassId, - length = 3, - UtPrimitiveModel(0), - mutableMapOf(0 to UtPrimitiveModel(1), 1 to UtPrimitiveModel(2)), - ), - ) - val compositeModel = - UtCompositeModel(modelIdCounter.incrementAndGet(), testClassId, isMock = false, arrayObjectFields) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("array" `=` "[1, 2, 0]")) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithAssignedArrayField() { - val testClassId = AssignedArray::class.id - - val arrayObjectFields = fields( - testClassId, - "array" to UtArrayModel( - modelIdCounter.incrementAndGet(), - intArrayClassId, - length = 3, - UtPrimitiveModel(0), - mutableMapOf(0 to UtPrimitiveModel(1), 1 to UtPrimitiveModel(2)), - ), - ) - val compositeModel = - UtCompositeModel(modelIdCounter.incrementAndGet(), testClassId, isMock = false, arrayObjectFields) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("array" `=` "[1, 2, 0]")) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithComplexArrayField() { - val testClassId = ComplexArray::class.id - val innerClassId = PrimitiveFields::class.id - - val arrayObjectFields = fields( - testClassId, - "array" to UtArrayModel( - modelIdCounter.incrementAndGet(), - arrayTypeOf(innerClassId), - length = 3, - UtNullModel(innerClassId), - mutableMapOf( - 1 to UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 5) - ) - ), - ), - ) - val compositeModel = - UtCompositeModel(modelIdCounter.incrementAndGet(), testClassId, isMock = false, arrayObjectFields) - - val v1 = statementsChain.addExpectedVariableDecl() - val v2 = createExpectedVariableName() - statementsChain.add( - "$v1." + ("array" `=` "[" + - "null, " + - "UtAssembleModel(${innerClassId.simpleName} $v2) ${innerClassId.canonicalName}() $v2.setA(5), " + - "null" + - "]") - ) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Disabled("Ignored due to https:///unittestbot/UnitTestBot/-/merge_requests/1311") - @Test - fun testOnObjectWithArrayOfPrimitiveArrays() { - val testClassId = ArrayOfPrimitiveArrays::class.id - - val innerArrayModel = UtArrayModel( - modelIdCounter.incrementAndGet(), - intArrayClassId, - length = 2, - UtPrimitiveModel(0), - mutableMapOf(0 to UtPrimitiveModel(1)), - ) - - val arrayModel = UtArrayModel( - modelIdCounter.incrementAndGet(), - intArrayClassId, - length = 2, - innerArrayModel, - mutableMapOf(0 to innerArrayModel, 1 to innerArrayModel), - ) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "array" to arrayModel) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("array" `=` "[[1, 0], [1, 0]]")) - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - @Test - fun testOnObjectWithArrayOfComplexArrays() { - val testClassId = ArrayOfComplexArrays::class.id - val innerClassId = PrimitiveFields::class.id - - val innerArrayClassId = arrayTypeOf(innerClassId) - - val arrayOfArraysModel = UtArrayModel( - modelIdCounter.incrementAndGet(), - arrayTypeOf(testClassId), - length = 2, - UtNullModel(innerArrayClassId), - mutableMapOf( - 0 to UtArrayModel( - modelIdCounter.incrementAndGet(), - innerArrayClassId, - length = 2, - UtNullModel(testClassId), - mutableMapOf( - 0 to UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 5) - ) - ) - ), - 1 to UtArrayModel( - modelIdCounter.incrementAndGet(), - innerArrayClassId, - length = 2, - UtNullModel(testClassId), - mutableMapOf( - 0 to UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "b" to 4) - ) - ), - ) - ), - ) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = false, - fields(testClassId, "array" to arrayOfArraysModel) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - val v2 = createExpectedVariableName() - val v3 = createExpectedVariableName() - statementsChain.add( - "$v1." + ("array" `=` "[" + - "[UtAssembleModel(${innerClassId.simpleName} $v2) ${innerClassId.canonicalName}() $v2.setA(5), ${null}], " + - "[UtAssembleModel(${innerClassId.simpleName} $v3) ${innerClassId.canonicalName}() $v3.b = 4, ${null}]" + - "]") - ) - - - val expectedRepresentation = printExpectedModel(testClassId.simpleName, v1, statementsChain) - createModelAndAssert(compositeModel, expectedRepresentation) - } - - - //endregion - - //region mocks_tests - - @Test - fun testOnObjectWithPrimitiveModelInMock() { - val testClassId = ComplexField::class.id - - val executableId = MethodId(testClassId, "fake_method_name", intClassId, listOf()) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = true, - mocks = mutableMapOf( - executableId to listOf(UtPrimitiveModel(5), UtPrimitiveModel(3)) - ) - ) - - createModelWithMockAndAssert(compositeModel, listOf(null, null)) - } - - @Test - fun testOnObjectWithCompositeModelInMock() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val executableId = MethodId(testClassId, "fake_method_name", innerClassId, listOf()) - - val mockObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 3), - ) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = true, - mocks = mutableMapOf(executableId to listOf(mockObjectModel)) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("a", 2)) - statementsChain.add("$v1." + ("b" `=` 3)) - - val expectedModelRepresentation = printExpectedModel(innerClassId.simpleName, v1, statementsChain.toList()) - createModelWithMockAndAssert(compositeModel, listOf(expectedModelRepresentation)) - } - - @Test - fun testOnObjectWithCompositeModelInFieldsInMocks() { - val testClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val executableId = MethodId(testClassId, "fake_method_name", innerClassId, listOf()) - - val mockObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2), - ) - - val fieldObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "b" to 3), - ) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = true, - fields = fields(testClassId, "field" to fieldObjectModel), - mocks = mutableMapOf(executableId to listOf(mockObjectModel)), - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + ("b" `=` 3)) - val firstModelRepresentation = printExpectedModel(innerClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - val v2 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v2." + addExpectedSetter("a", 2)) - val secondModelRepresentation = printExpectedModel(innerClassId.simpleName, v2, statementsChain.toList()) - - createModelWithMockAndAssert( - compositeModel, - listOf(firstModelRepresentation, secondModelRepresentation) - ) - } - - @Test - fun testOnObjectWithCoupledCompositeModelsInMock() { - val testClassId = ComplexField::class.id - val mockObjectClassId = ComplexField::class.id - val innerClassId = PrimitiveFields::class.id - - val executableId = MethodId(testClassId, "fake_method_name", innerClassId, listOf()) - - val innerObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - innerClassId, - isMock = false, - fields(innerClassId, "a" to 2, "b" to 4), - ) - - val firstMockObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - mockObjectClassId, - isMock = false, - fields(mockObjectClassId, "i" to 1, "s" to innerObjectModel), - ) - - val secondMockObjectModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - mockObjectClassId, - isMock = false, - fields(mockObjectClassId, "i" to 2, "s" to innerObjectModel), - ) - - val compositeModel = UtCompositeModel( - modelIdCounter.incrementAndGet(), - testClassId, - isMock = true, - mocks = mutableMapOf(executableId to listOf(firstMockObjectModel, secondMockObjectModel)) - ) - - val v1 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v1." + addExpectedSetter("i", 1)) - val v2 = createExpectedVariableName() - statementsChain.add("$v1." + addExpectedSetter("s", v2)) - val firstExpectedRepresentation = printExpectedModel(mockObjectClassId.simpleName, v1, statementsChain.toList()) - - statementsChain.clear() - val v3 = statementsChain.addExpectedVariableDecl() - statementsChain.add("$v3." + addExpectedSetter("i", 2)) - statementsChain.add("$v3." + addExpectedSetter("s", v2)) - val secondExpectedRepresentation = - printExpectedModel(mockObjectClassId.simpleName, v3, statementsChain.toList()) - - createModelWithMockAndAssert( - compositeModel, - listOf(firstExpectedRepresentation, secondExpectedRepresentation) - ) - } - - //endregion - - /** - * Represents fields of class [classId] as [UtCompositeModel] parameter. - */ - private fun fields( - classId: ClassId, - vararg fields: Pair - ): MutableMap { - return fields - .associate { - val fieldId = FieldId(classId, it.first) - val fieldValue = when (val value = it.second) { - is UtModel -> value - else -> UtPrimitiveModel(value) - } - fieldId to fieldValue - } - .toMutableMap() - } - - /** - * Calls [createModelsAndAssert] for one model. - */ - private fun createModelAndAssert( - model: UtModel, - expectedModelRepresentation: String?, - methodUnderTest: ExecutableId = AssembleTestUtils::class.id.allMethods.first(), - ) = createModelsAndAssert(listOf(model), listOf(expectedModelRepresentation), methodUnderTest) - - /** - * Assembles a model with mock and asserts that it is same as expected. - */ - private fun createModelWithMockAndAssert( - mockModel: UtCompositeModel, - expectedModelRepresentations: List, - ) { - val innerModels = mockModel.fields.values + mockModel.mocks.values.flatten() - createModelsAndAssert(innerModels, expectedModelRepresentations) - } - - /** - * Creates assemble models and asserts that it is same as expected. - */ - private fun createModelsAndAssert( - models: List, - expectedModelRepresentations: List, - assembleTestDummyMethod: ExecutableId = AssembleTestUtils::class.id.allMethods.first(), - ) { - val modelsMap = AssembleModelGenerator(assembleTestDummyMethod.classId.packageName).createAssembleModels(models) - //we sort values to fix order of models somehow (IdentityHashMap does not guarantee the order) - val assembleModels = modelsMap.values - .filterIsInstance() - .sortedBy { it.modelName } - - val assembledModelsCount = assembleModels.count() - val expectedAssembledModelsCount = expectedModelRepresentations.filterNotNull().count() - assertTrue( - assembledModelsCount == expectedAssembledModelsCount, - "Expected $expectedAssembledModelsCount assembled models, but found $assembledModelsCount" - ) - - expectedModelRepresentations.forEachIndexed { i, expectedModelRepresentation -> - if (expectedModelRepresentation != null) { - assertEquals(expectedModelRepresentation, "${assembleModels[i]}") - } - } - } - - private var expectedVariableCounter = 0 - - /** - * Adds declaration of instantiated variable into expected statements chain. - */ - private inline fun MutableList.addExpectedVariableDecl(vararg params: Any): String { - val fqn = T::class.qualifiedName - val varName = createExpectedVariableName() - - val paramString = if (params.any()) params.joinToString(", ") else "" - this.add("$fqn($paramString)") - - return varName - } - - /** - * Creates the name of the variable in expected statements chain. - */ - private inline fun createExpectedVariableName(): String { - return T::class.simpleName!!.decapitalize() + (++expectedVariableCounter) - } - - /** - * Adds setter of variable named [fName] with value [fValue] into expected statements chain. - */ - private fun addExpectedSetter(fName: String, fValue: Any): String = "set${fName.capitalize()}($fValue)" - private infix fun String.`=`(fValue: Any): String = "$this = $fValue" - - /** - * Prints expected assemble model representation. - */ - private fun printExpectedModel(className: String, instanceName: String, statementsChain: List): String = - "UtAssembleModel(${className} $instanceName) ${statementsChain.joinToString(" ")}" -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/minimization/MinimizationGreedyEssentialTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/minimization/MinimizationGreedyEssentialTest.kt deleted file mode 100644 index 2a96a677..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/minimization/MinimizationGreedyEssentialTest.kt +++ /dev/null @@ -1,85 +0,0 @@ -package org.utbot.framework.minimization - -import kotlin.math.min -import kotlin.ranges.IntProgression.Companion.fromClosedRange -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test - -class MinimizationGreedyEssentialTest { - @Test - fun testEmpty() { - val executions = emptyMap>() - val minimizedExecutions = GreedyEssential.minimize(executions) - assertTrue(minimizedExecutions.isEmpty()) - } - - @Test - fun testCustom1() { - val executions = mapOf( - 1 to listOf(1, 2, 3, 4, 5), - 2 to listOf(2, 3, 4, 5, 6, 7), - 3 to listOf(1, 7), - 4 to listOf(8), - 5 to listOf(1, 8) - ) - val minimizedExecutions = GreedyEssential.minimize(executions) - assertEquals(listOf(2, 5), minimizedExecutions) - } - - @Test - fun testCustom2() { - val executions = mapOf( - 10 to listOf(1, 2, 3, 4, 5), - 20 to listOf(2, 3, 4, 5, 6, 7), - 21 to listOf(1, 7, 2, 3, 5), - 24 to listOf(8, 5, 6, 7), - 50 to listOf(1, 8) - ) - val minimizedExecutions = GreedyEssential.minimize(executions) - assertEquals(listOf(20, 50), minimizedExecutions) - } - - @Test - fun testBigExecutionAndSmallExecutions() { - val size = 10000 - val executions = (1..size) - .associateWith { listOf(it, it + size, it + 2 * size) } - .toMutableMap().apply { - put(0, (1..3 * size).toList()) - } - val minimizedExecutions = GreedyEssential.minimize(executions) - assertEquals(listOf(0), minimizedExecutions.sorted()) - } - - @Test - fun testSameSizeExecutions() { - val size = 2000 - val executionSize = 100 - val executions = (0 until size).associateWith { (it until min(size, it + executionSize)).toList() } - val minimizedExecutions = GreedyEssential.minimize(executions) - assertEquals(fromClosedRange(0, size - 1, executionSize).toList(), minimizedExecutions.sorted()) - } - - @Test - fun testManyExcluding() { - val size = 10000 - val executions = (1..size).associateWith { listOf(it, it + size, it + 2 * size) } - val minimizedExecutions = GreedyEssential.minimize(executions) - assertEquals((1..size).toList(), minimizedExecutions.sorted()) - } - - @Test - fun testExecutionPriority() { - val executions = mapOf( - 0 to listOf(0, 1, 2, 3, 4), - 1 to listOf(0, 1, 2, 3, 4) - ) - val executionToPriority = mapOf( - 0 to 1, - 1 to 0 - ) - val minimizedExecutions = GreedyEssential.minimize(executions, executionToPriority) - assertEquals(listOf(1), minimizedExecutions) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/modificators/UtBotFieldModificatorsTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/modificators/UtBotFieldModificatorsTest.kt deleted file mode 100644 index 7fd12c48..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/modificators/UtBotFieldModificatorsTest.kt +++ /dev/null @@ -1,324 +0,0 @@ -package org.utbot.framework.modificators - -import org.utbot.examples.modificators.ConstructorsAndSetters -import org.utbot.examples.modificators.DefaultField -import org.utbot.examples.modificators.InvokeInAssignment -import org.utbot.examples.modificators.NoFields -import org.utbot.examples.modificators.NoMethods -import org.utbot.examples.modificators.PrimitiveModifications -import org.utbot.examples.modificators.RecursiveAndCrossCalls -import org.utbot.examples.modificators.StronglyConnectedComponent -import org.utbot.examples.modificators.StronglyConnectedComponents -import org.utbot.examples.modificators.coupling.ClassA -import org.utbot.examples.modificators.coupling.ClassB -import org.utbot.examples.modificators.hierarchy.InheritedModifications -import org.utbot.framework.modifications.AnalysisMode -import org.utbot.framework.modifications.AnalysisMode.AllModificators -import org.utbot.framework.modifications.AnalysisMode.SettersAndDirectAccessors -import org.utbot.framework.modifications.UtBotFieldsModificatorsSearcher -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.id -import kotlin.reflect.KClass -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Test -import org.utbot.common.nameOfPackage -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import org.utbot.framework.util.SootUtils - -internal class UtBotFieldModificatorsTest { - private lateinit var fieldsModificatorsSearcher: UtBotFieldsModificatorsSearcher - private lateinit var context: AutoCloseable - - @BeforeEach - fun setUp() { - context = UtContext.setUtContext(UtContext(PrimitiveModifications::class.java.classLoader)) - } - - @AfterEach - fun tearDown() { - context.close() - } - - //region EdgeCases - - @Test - fun testOnClassesWithoutFields() { - val actualResponse = runFullAnalysis(setOf(NoFields::class)) - - assertTrue(actualResponse.isEmpty()) - } - - @Test - fun testOnClassesWithoutMethods() { - val actualResponse = runFullAnalysis(setOf(NoMethods::class)) - - assertTrue(actualResponse.isEmpty()) - } - - //endregion - - @Test - fun testOnClassHierarchy() { - val actualResponse = runFullAnalysis(setOf(ClassA::class, ClassB::class)) - - assertEquals(expectedForHierarchy, actualResponse) - } - - @Test - fun testClassUpdates() { - val actualResponse = runFullAnalysis( - setOf(ClassA::class), - setOf(ClassA::class, ClassB::class) - ) - - assertEquals(expectedForHierarchy, actualResponse) - } - - @Test - fun testClassDeletion() { - setOf(ClassA::class, ClassB::class).also { - initAnalysis() - runUpdate(it) - } - - runDelete(setOf(ClassB::class)) - runUpdate(setOf(ClassB::class)) - - val actualResponse = runFieldModificatorsSearch(analysisMode = AllModificators) - - assertEquals(expectedForHierarchy, actualResponse) - } - - @Test - fun testOnSimpleClass() { - val actualResponse = runFullAnalysis(setOf(PrimitiveModifications::class)) - - assertEquals(expectedForSimpleClass, actualResponse) - } - - @Test - fun testInSettersMode() { - val actualResponse = runFullAnalysis( - setOf(ConstructorsAndSetters::class), - analysisMode = SettersAndDirectAccessors, - ) - - assertEquals(expectedForClassWithSetters, actualResponse) - } - - @Test - fun testOnRecursiveClass() { - val actualResponse = runFullAnalysis(setOf(RecursiveAndCrossCalls::class)) - - assertEquals(expectedForRecursiveClass, actualResponse) - } - - @Test - fun testOnInheritedClass() { - val actualResponse = runFullAnalysis(setOf(InheritedModifications::class)) - - assertEquals(expectedForInheritedClass, actualResponse) - } - - @Test - fun testOnClassWithOneComponent() { - val actualResponse = runFullAnalysis(setOf(StronglyConnectedComponent::class)) - - assertEquals(expectedForClassWithOneComponent, actualResponse) - } - - @Test - fun testOnClassWithComponents() { - val actualResponse = runFullAnalysis(setOf(StronglyConnectedComponents::class)) - - assertEquals(expectedForClassWithComponents, actualResponse) - } - - @Test - fun testOnClassWithInvokeInAssignment() { - val actualResponse = runFullAnalysis(setOf(InvokeInAssignment::class)) - - assertEquals(expectedForClassWithInvokeInAssignment, actualResponse) - } - - @Test - fun testOnClassWithDefaultField() { - val actualResponse = runFullAnalysis(setOf(DefaultField::class)) - - assertEquals(expectedForClassWithDefaultField, actualResponse) - } - - @Test - fun testRunRequestTwice() { - runFullAnalysis(setOf(PrimitiveModifications::class)) - - val actualResponse = runFieldModificatorsSearch(analysisMode = AllModificators) - - assertEquals(expectedForSimpleClass, actualResponse) - } - - private fun runFullAnalysis( - vararg classSets: Set>, - analysisMode: AnalysisMode = AllModificators, - ): Map> { - initAnalysis() - classSets.forEach { runUpdate(it) } - - return runFieldModificatorsSearch(analysisMode) - } - - private fun initAnalysis() { - SootUtils.runSoot( - PrimitiveModifications::class.java, - forceReload = false, - jdkInfo = JdkInfoDefaultProvider().info - ) - fieldsModificatorsSearcher = UtBotFieldsModificatorsSearcher() - } - - private fun runUpdate(classes: Set>) { - val classIds = classes.map { it.id }.toSet() - - fieldsModificatorsSearcher.update(classIds) - } - - private fun runDelete(classes: Set>) { - val classIds = classes.map { it.id }.toSet() - - fieldsModificatorsSearcher.delete(classIds) - } - - //We use sorting here to make comparing with sorted in advance expected collections easier - private fun runFieldModificatorsSearch(analysisMode: AnalysisMode) = - fieldsModificatorsSearcher.findModificators(analysisMode) - .map { (key, value) -> - val modificatorNames = value.filterNot { it.name.startsWith("direct_set_") }.map { it.name } - key.name to modificatorNames.toSortedSet() - } - .toMap() - .filterNot { it.value.isEmpty() } - .toSortedMap() - - private val expectedForHierarchy = sortedMapOf( - "v1" to setOf("a1Pub"), - "v2" to setOf("a2Pub"), - "v3" to setOf("a1Pub"), - "v4" to setOf("a1Pub"), - "v5" to setOf("a2Pub"), - "v6" to setOf("a1Pub", "a2Pub", "b1Pub"), - "w1" to setOf("a1Pub", "b1Pub"), - "w2" to setOf("b2Pub"), - "w3" to setOf("a1Pub", "b1Pub"), - "w4" to setOf("a1Pub", "b1Pub"), - ) - - private val expectedForSimpleClass = sortedMapOf( - "x" to setOf( - "", - "setCallResult", - "setSeveral", - "setStaticCallResult", - "setWithPrivateCall", - "setWithPrivateCallsHierarchy", - "setWithStdCall", - ), - "y" to setOf( - "", - "setStaticCallResult", - ), - "z" to setOf( - "", - "setAndThrow", - "setOne", - "setSeveral", - "setWithPrivateCallsHierarchy", - ), - "t" to setOf( - "setWithPrivateCall", - "setWithPrivateCallsHierarchy", - ), - ) - - private val expectedForClassWithSetters = sortedMapOf( - "d1" to setOf("setWithInternalCall"), - "i" to setOf("setI"), - ) - - private val expectedForRecursiveClass = sortedMapOf( - "x" to setOf( - "setRecursively", - "setWithReverseCalls", - ), - "z" to setOf( - "setRecursively", - "setWithReverseCalls", - ), - "t" to setOf( - "setWithReverseCalls", - ), - "y" to setOf( - "setRecursively", - "setWithReverseCalls", - ) - ) - - private val expectedForInheritedClass = sortedMapOf( - "x" to setOf( - "setInInterfaceMethod", - "setInStaticInterfaceMethodCall", - "setWithModifyingBaseCall", - "setWithOverrideCall", - "writeAndModify" - ), - "y" to setOf( - "", - "setBaseField", - "setBaseFieldInChild", - "setFieldHereAndInChild", - "setInClassAndBaseClassMethods", - "setInInterfaceMethod", - "setInStaticInterfaceMethodCall", - "setWithModifyingBaseCall", - "setWithOverrideCall", - ), - "baseField" to setOf( - "", - "setBaseField", - "setBaseFieldInChild", - "setInChildAbstract", - "setInClassAndBaseClassMethods", - "setWithModifyingBaseCall", - "setWithOverrideCall", - "write", - "writeAndModify", - ), - ) - - private val expectedForClassWithOneComponent = sortedMapOf( - "x0" to setOf("f0"), - "x1" to setOf("f0", "f1"), - "x2" to setOf("f0", "f1"), - "x3" to setOf("f0", "f1"), - "x4" to setOf("f0", "f1", "f4"), - ) - - private val expectedForClassWithComponents = sortedMapOf( - "x0" to setOf("f0", "f1"), - "x1" to setOf("f0", "f1"), - "x2" to setOf("f0", "f1"), - "x3" to setOf("f0", "f1", "f3", "f4"), - "x4" to setOf("f0", "f1", "f3", "f4"), - ) - - private val expectedForClassWithInvokeInAssignment = sortedMapOf( - "x" to setOf("fun"), - "y" to setOf("fun"), - ) - - private val expectedForClassWithDefaultField = sortedMapOf( - "z" to setOf("", "foo"), - ) -} diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/plugin/api/MockStrategyApiTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/plugin/api/MockStrategyApiTest.kt deleted file mode 100644 index 21e37303..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/plugin/api/MockStrategyApiTest.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.framework.plugin.api - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertFalse -import org.junit.jupiter.api.Test -import org.utbot.engine.MockStrategy -import org.utbot.framework.util.toModel - -internal class MockStrategyApiTest { - - @Test - fun testApiToModel() { - assertEquals( - MockStrategyApi.values().size, MockStrategy.values().size, - "The number of strategies in the contract and engine model should match" - ) - - assertEquals(3, MockStrategyApi.values().size, "Three options only (so far)") - assertEquals(MockStrategy.NO_MOCKS, MockStrategyApi.NO_MOCKS.toModel()) - assertEquals(MockStrategy.OTHER_PACKAGES, MockStrategyApi.OTHER_PACKAGES.toModel()) - assertEquals(MockStrategy.OTHER_CLASSES, MockStrategyApi.OTHER_CLASSES.toModel()) - } - - @Test - fun ensureDefaultStrategyIsOtherPackages() { - assertEquals( - MockStrategyApi.OTHER_PACKAGES, - MockStrategyApi.defaultItem, - "Expecting that ${MockStrategyApi.OTHER_PACKAGES} is the default policy for Mocks " + - "but ${MockStrategyApi.defaultItem} found" - ) - } - - @Test - fun ensureDefaultStrategyIsOtherClassesInSpringApplication() { - assertEquals( - MockStrategyApi.OTHER_CLASSES, - MockStrategyApi.springDefaultItem, - "Expecting that ${MockStrategyApi.OTHER_CLASSES} is the default policy for Mocks in Spring application" + - "but ${MockStrategyApi.springDefaultItem} found" - ) - } - - @Test - fun testLabelToEnum() { - assertEquals( - MockStrategyApi.values().size, - MockStrategyApi.labels().toSet().size, - "Expecting all labels are unique" - ) - - assertFalse( - MockStrategyApi.labels().any { it.isBlank() }, - "Expecting all labels are not empty" - ) - } - -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/z3/extension/Z3ExtensionForTests.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/z3/extension/Z3ExtensionForTests.kt deleted file mode 100644 index a0e9efcb..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/z3/extension/Z3ExtensionForTests.kt +++ /dev/null @@ -1,64 +0,0 @@ -@file:Suppress("PackageDirectoryMismatch", "unused", "NonAsciiCharacters") - -package com.microsoft.z3 - -import kotlin.reflect.KProperty - - -operator fun ArithExpr<*>.plus(other: ArithExpr<*>): ArithExpr<*> = context.mkAdd(this, other) -operator fun ArithExpr<*>.plus(other: Int): ArithExpr<*> = this + context.mkInt(other) - -operator fun ArithExpr<*>.minus(other: ArithExpr<*>): ArithExpr<*> = context.mkSub(this, other) -operator fun ArithExpr<*>.minus(other: Int): ArithExpr<*> = this - context.mkInt(other) - -operator fun ArithExpr<*>.times(other: ArithExpr<*>): ArithExpr<*> = context.mkMul(this, other) -operator fun ArithExpr<*>.times(other: Int): ArithExpr<*> = this * context.mkInt(other) - -infix fun Expr<*>.`=`(other: Int): BoolExpr = this eq context.mkInt(other) -infix fun Expr<*>.`=`(other: Expr<*>): BoolExpr = this eq other -infix fun Expr<*>.eq(other: Expr<*>): BoolExpr = context.mkEq(this, other) -infix fun Expr<*>.`!=`(other: Expr<*>): BoolExpr = context.mkNot(this `=` other) -operator fun BoolExpr.not(): BoolExpr = context.mkNot(this) - -infix fun BoolExpr.`⇒`(other: BoolExpr): BoolExpr = this implies other -infix fun BoolExpr.`⇒`(other: Boolean): BoolExpr = this implies other -infix fun BoolExpr.implies(other: Boolean): BoolExpr = this implies context.mkBool(other) -infix fun BoolExpr.implies(other: BoolExpr): BoolExpr = context.mkImplies(this, other) -infix fun BoolExpr.and(other: BoolExpr): BoolExpr = context.mkAnd(this, other) -infix fun BoolExpr.or(other: BoolExpr): BoolExpr = context.mkOr(this, other) - -infix fun ArithExpr<*>.gt(other: ArithExpr<*>): BoolExpr = context.mkGt(this, other) -infix fun ArithExpr<*>.gt(other: Int): BoolExpr = context.mkGt(this, context.mkInt(other)) - -infix fun ArithExpr<*>.`=`(other: Int): BoolExpr = context.mkEq(this, context.mkInt(other)) - -operator fun ArrayExpr<*, *>.get(index: IntExpr): Expr<*> = context.mkSelect(this, index.cast()) -operator fun ArrayExpr<*, *>.get(index: Int): Expr<*> = this[context.mkInt(index)] -fun ArrayExpr<*, *>.set(index: IntExpr, value: Expr<*>): ArrayExpr<*, *> = context.mkStore(this, index.cast(), value.cast()) -fun ArrayExpr<*, *>.set(index: Int, value: Expr<*>): ArrayExpr<*, *> = set(context.mkInt(index), value) - -operator fun SeqExpr<*>.plus(other: SeqExpr<*>): SeqExpr<*> = context.mkConcat(this, other.cast()) -operator fun SeqExpr<*>.plus(other: String): SeqExpr<*> = context.mkConcat(context.mkString(other)) - -@Suppress("UNCHECKED_CAST") -fun Expr.cast(): Expr = this as Expr - - -infix fun SeqExpr<*>.`=`(other: String): BoolExpr = context.mkEq(this, context.mkString(other)) - -class Const(private val ctx: Context, val produce: (Context, name: String) -> T) { - operator fun getValue(thisRef: Nothing?, property: KProperty<*>): T = produce(ctx, property.name) -} - -fun Context.declareInt() = Const(this) { ctx, name -> ctx.mkIntConst(name) } -fun Context.declareBool() = Const(this) { ctx, name -> ctx.mkBoolConst(name) } -fun Context.declareReal() = Const(this) { ctx, name -> ctx.mkRealConst(name) } -fun Context.declareString() = Const(this) { ctx, name -> ctx.mkConst(name, stringSort) as SeqExpr<*> } -fun Context.declareList(sort: ListSort<*>) = Const(this) { ctx, name -> ctx.mkConst(name, sort) } -fun Context.declareIntArray() = Const(this) { ctx, name -> ctx.mkArrayConst(name, intSort, intSort) } - - -operator fun FuncDecl<*>.invoke(vararg expr: Expr<*>): Expr<*> = context.mkApp(this, *expr) - -fun Model.eval(expr: Expr<*>): Expr<*> = this.eval(expr, true) -fun Model.eval(vararg exprs: Expr<*>): List> = exprs.map { this.eval(it, true) } \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/framework/z3/extension/Z3ExtensionTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/framework/z3/extension/Z3ExtensionTest.kt deleted file mode 100644 index 896d1e3a..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/framework/z3/extension/Z3ExtensionTest.kt +++ /dev/null @@ -1,155 +0,0 @@ -package org.utbot.framework.z3.extension - -import org.utbot.engine.z3.Z3Initializer -import com.microsoft.z3.ArrayExpr -import com.microsoft.z3.Context -import com.microsoft.z3.IntNum -import com.microsoft.z3.RatNum -import com.microsoft.z3.SeqExpr -import com.microsoft.z3.Status -import com.microsoft.z3.`=` -import com.microsoft.z3.and -import com.microsoft.z3.declareInt -import com.microsoft.z3.declareIntArray -import com.microsoft.z3.declareList -import com.microsoft.z3.declareReal -import com.microsoft.z3.declareString -import com.microsoft.z3.eval -import com.microsoft.z3.get -import com.microsoft.z3.invoke -import com.microsoft.z3.minus -import com.microsoft.z3.not -import com.microsoft.z3.plus -import com.microsoft.z3.set -import com.microsoft.z3.times -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test - -class Z3ExtensionTest : Z3Initializer() { - - @Test - fun testArrayDefault() { - Context().use { ctx -> - val arraySort = ctx.mkArraySort(arrayOf(ctx.mkIntSort(), ctx.mkIntSort()), ctx.mkIntSort()) - val ourArray = ctx.mkConst("a", arraySort) as ArrayExpr - - val solver = ctx.mkSolver() - - solver.add(ctx.mkEq(ctx.mkInt(42), ctx.mkTermArray(ourArray))) //mkTermArray function! - solver.check() - val evalArray = solver.model.eval(ourArray) - assertEquals("((as const (Array Int Int Int)) 42)", evalArray.toString()) - } - } - - @Test - fun testInt() { - Context().use { ctx -> - val a by ctx.declareInt() - val b by ctx.declareInt() - - val solver = ctx.mkSolver().apply { add(a * a + b * b `=` 8) } - - assertEquals(Status.SATISFIABLE, solver.check()) - - val (aVal, bVal) = solver.model - .eval(a, b) - .filterIsInstance() - .map(IntNum::getInt) - .also { list -> assertEquals(2, list.size) } - - assertEquals(8, aVal * aVal + bVal * bVal) - } - } - - @Test - fun testReal() { - Context().use { ctx -> - val x by ctx.declareReal() - - val solver = ctx.mkSolver().apply { - add((x * x - x * 4 + 3 `=` 0) and !(x `=` 3)) - } - - assertEquals(Status.SATISFIABLE, solver.check()) - - val xVal = (solver.model.eval(x) as RatNum).let { - it.bigIntNumerator.divide(it.bigIntDenominator).toDouble() - } - - assertEquals(1.0, xVal, 1E-8) - } - } - - @Test - fun testStrings() { - Context().use { ctx -> - val a by ctx.declareString() - val b by ctx.declareString() - val c by ctx.declareString() - - val solver = ctx.mkSolver().apply { - add(a + b `=` "abcd") - add(b + c `=` "cdef") - add(!(b `=` "")) - } - - assertEquals(Status.SATISFIABLE, solver.check()) - - val (aVal, bVal, cVal) = solver.model - .eval(a, b, c) - .filterIsInstance>() - .map(SeqExpr<*>::getString) - .also { list -> assertEquals(3, list.size) } - - assertEquals("abcd", "$aVal$bVal") - assertEquals("cdef", "$bVal$cVal") - assertTrue(bVal.isNotBlank()) - } - } - - @Test - fun testArrays() { - Context().use { ctx -> - val x by ctx.declareInt() - val y by ctx.declareInt() - val a1 by ctx.declareIntArray() - - val solver = ctx.mkSolver().apply { - add(a1[x] `=` x) - add(a1.set(x, y) `=` a1) - } - - assertEquals(Status.SATISFIABLE, solver.check()) - - val (xVal, yVal) = solver.model - .eval(x, y) - .filterIsInstance() - .map(IntNum::getInt) - .also { list -> assertEquals(2, list.size) } - - assertTrue(xVal == yVal) - } - } - - @Test - fun testList() { - Context().use { ctx -> - val type = ctx.mkListSort("intList", ctx.intSort) - val l by ctx.declareList(type) - - val solver = ctx.mkSolver().apply { - add(!(l `=` type.nil)) - add(type.headDecl(l) `=` 1) - add(type.tailDecl(l) `=` type.consDecl(type.headDecl(l), type.nil)) - } - - assertEquals(Status.SATISFIABLE, solver.check()) - - val lVal = solver.model.eval(l) - - assertEquals("(cons 1 (cons 1 nil))", "$lVal") - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/sarif/SarifReportTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/sarif/SarifReportTest.kt deleted file mode 100644 index cfc4fdf4..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/sarif/SarifReportTest.kt +++ /dev/null @@ -1,440 +0,0 @@ -package org.utbot.sarif - -import org.junit.Test -import org.mockito.Mockito -import org.utbot.framework.plugin.api.* - -class SarifReportTest { - - @Test - fun testNonEmptyReport() { - val actualReport = SarifReport( - testSets = listOf(), - generatedTestsCode = "", - sourceFindingEmpty - ).createReport().toJson() - - assert(actualReport.isNotEmpty()) - } - - @Test - fun testNoUncheckedExceptions() { - val sarif = SarifReport( - testSets = listOf(testSet), - generatedTestsCode = "", - sourceFindingEmpty - ).createReport() - - assert(sarif.runs.first().results.isEmpty()) - } - - @Test - fun testDetectAllUncheckedExceptions() { - mockUtMethodNames() - - val mockUtExecutionNPE = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - Mockito.`when`(mockUtExecutionNPE.result).thenReturn( - UtImplicitlyThrownException(NullPointerException(), false), - ) - Mockito.`when`(mockUtExecutionNPE.stateBefore.parameters).thenReturn(listOf()) - - val mockUtExecutionAIOBE = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - Mockito.`when`(mockUtExecutionAIOBE.result).thenReturn( - UtImplicitlyThrownException(ArrayIndexOutOfBoundsException(), false), - ) - Mockito.`when`(mockUtExecutionAIOBE.stateBefore.parameters).thenReturn(listOf()) - - defaultMockCoverage(mockUtExecutionNPE) - defaultMockCoverage(mockUtExecutionAIOBE) - - val testSets = listOf( - UtMethodTestSet(mockExecutableId, listOf(mockUtExecutionNPE)), - UtMethodTestSet(mockExecutableId, listOf(mockUtExecutionAIOBE)) - ) - - val report = SarifReport( - testSets = testSets, - generatedTestsCode = "", - sourceFindingEmpty - ).createReport() - - assert(report.runs.first().results[0].message.text.contains("NullPointerException")) - assert(report.runs.first().results[1].message.text.contains("ArrayIndexOutOfBoundsException")) - } - - @Test - fun testCorrectResultLocations() { - mockUtMethodNames() - - Mockito.`when`(mockUtExecution.result).thenReturn( - UtImplicitlyThrownException(NullPointerException(), false) - ) - mockCoverage(mockUtExecution, 1337, "Main") - Mockito.`when`(mockUtExecution.stateBefore.parameters).thenReturn(listOf()) - Mockito.`when`(mockUtExecution.testMethodName).thenReturn("testMain_ThrowArithmeticException") - - val report = sarifReportMain.createReport() - - val result = report.runs.first().results.first() - val location = result.locations.filterIsInstance().first().physicalLocation - val relatedLocation = result.relatedLocations.first().physicalLocation - - assert(location.artifactLocation.uri.contains("Main.java")) - assert(location.region.startLine == 1337) - assert(relatedLocation.artifactLocation.uri.contains("MainTest.java")) - assert(relatedLocation.region.startLine == 1) - assert(relatedLocation.region.startColumn == 1) - } - - @Test - fun testCorrectMethodParameters() { - mockUtMethodNames() - - Mockito.`when`(mockUtExecution.result).thenReturn( - UtImplicitlyThrownException(NullPointerException(), false) - ) - Mockito.`when`(mockUtExecution.stateBefore.parameters).thenReturn( - listOf( - UtPrimitiveModel(227), - UtPrimitiveModel(3.14), - UtPrimitiveModel(false) - ) - ) - - defaultMockCoverage(mockUtExecution) - - val report = sarifReportMain.createReport() - - val result = report.runs.first().results.first() - assert(result.message.text.contains("227")) - assert(result.message.text.contains("3.14")) - assert(result.message.text.contains("false")) - } - - @Test - fun testCorrectCodeFlows() { - mockUtMethodNames() - - val uncheckedException = Mockito.mock(NullPointerException::class.java) - val stackTraceElement = StackTraceElement("Main", "main", "Main.java", 17) - Mockito.`when`(uncheckedException.stackTrace).thenReturn( - Array(2) { stackTraceElement } - ) - - Mockito.`when`(mockUtExecution.result).thenReturn( - UtImplicitlyThrownException(uncheckedException, false) - ) - Mockito.`when`(mockUtExecution.stateBefore.parameters).thenReturn(listOf()) - - defaultMockCoverage(mockUtExecution) - - val report = sarifReportMain.createReport() - - val result = report.runs.first().results.first().codeFlows.first().threadFlows.first().locations.map { - it.location.physicalLocation - } - for (index in 0..1) { - assert(result[index].artifactLocation.uri.contains("Main.java")) - assert(result[index].region.startLine == 17) - } - } - - @Test - fun testProcessSandboxFailure() { - mockUtMethodNames() - - val uncheckedException = Mockito.mock(java.security.NoSuchAlgorithmException::class.java) - Mockito.`when`(uncheckedException.stackTrace).thenReturn(arrayOf()) - Mockito.`when`(mockUtExecution.result).thenReturn(UtSandboxFailure(uncheckedException)) - - defaultMockCoverage(mockUtExecution) - - val report = sarifReportMain.createReport() - val result = report.runs.first().results.first() - assert(result.message.text.contains("NoSuchAlgorithmException")) - } - - @Test - fun testProcessTimeoutException() { - mockUtMethodNames() - - val timeoutMessage = "Timeout 1000 elapsed" - val timeoutException = TimeoutException(timeoutMessage) - Mockito.`when`(mockUtExecution.result).thenReturn(UtTimeoutException(timeoutException)) - - defaultMockCoverage(mockUtExecution) - - val report = sarifReportMain.createReport() - val result = report.runs.first().results.first() - assert(result.message.text.contains(timeoutMessage)) - } - - @Test - fun testConvertCoverageToStackTrace() { - mockUtMethodNames() - - val timeoutException = TimeoutException("Timeout 1000 elapsed") - Mockito.`when`(mockUtExecution.result).thenReturn(UtTimeoutException(timeoutException)) - - val classMainPath = "com/abc/Main" - val classUtilPath = "com/cba/Util" - Mockito.`when`(mockUtExecution.symbolicSteps).thenReturn(listOf()) - Mockito.`when`(mockUtExecution.coverage?.coveredInstructions).thenReturn(listOf( - Instruction(classMainPath, "main(l)l", 3, 1), - Instruction(classMainPath, "main(l)l", 4, 2), - Instruction(classMainPath, "main(l)l", 4, 3), // last for main - Instruction(classUtilPath, "util(ll)l", 6, 4), - Instruction(classUtilPath, "util(ll)l", 7, 5), // last for util - )) - - val report = sarifReportMain.createReport() - val result = report.runs.first().results.first() - val stackTrace = result.codeFlows.first().threadFlows.first().locations - - assert(stackTrace[0].location.physicalLocation.artifactLocation.uri == "$classMainPath.java") - assert(stackTrace[0].location.physicalLocation.region.startLine == 4) - - assert(stackTrace[1].location.physicalLocation.artifactLocation.uri == "$classUtilPath.java") - assert(stackTrace[1].location.physicalLocation.region.startLine == 7) - } - - @Test - fun testCodeFlowsStartsWithMethodCall() { - mockUtMethodNames() - - val uncheckedException = Mockito.mock(NullPointerException::class.java) - val stackTraceElement = StackTraceElement("Main", "main", "Main.java", 3) - Mockito.`when`(uncheckedException.stackTrace).thenReturn(arrayOf(stackTraceElement)) - - Mockito.`when`(mockUtExecution.result).thenReturn( - UtImplicitlyThrownException(uncheckedException, false) - ) - Mockito.`when`(mockUtExecution.stateBefore.parameters).thenReturn(listOf()) - Mockito.`when`(mockUtExecution.testMethodName).thenReturn("testMain_ThrowArithmeticException") - - defaultMockCoverage(mockUtExecution) - - val report = sarifReportMain.createReport() - - val codeFlowPhysicalLocations = report.runs[0].results[0].codeFlows[0].threadFlows[0].locations.map { - it.location.physicalLocation - } - assert(codeFlowPhysicalLocations[0].artifactLocation.uri.contains("MainTest.java")) - assert(codeFlowPhysicalLocations[0].region.startLine == 5) - assert(codeFlowPhysicalLocations[0].region.startColumn == 7) - } - - @Test - fun testCodeFlowsStartsWithPrivateMethodCall() { - mockUtMethodNames() - - val uncheckedException = Mockito.mock(NullPointerException::class.java) - val stackTraceElement = StackTraceElement("Main", "main", "Main.java", 3) - Mockito.`when`(uncheckedException.stackTrace).thenReturn(arrayOf(stackTraceElement)) - - Mockito.`when`(mockUtExecution.result).thenReturn( - UtImplicitlyThrownException(uncheckedException, false) - ) - Mockito.`when`(mockUtExecution.stateBefore.parameters).thenReturn(listOf()) - Mockito.`when`(mockUtExecution.testMethodName).thenReturn("testMain_ThrowArithmeticException") - - defaultMockCoverage(mockUtExecution) - - val report = sarifReportPrivateMain.createReport() - - val codeFlowPhysicalLocations = report.runs[0].results[0].codeFlows[0].threadFlows[0].locations.map { - it.location.physicalLocation - } - assert(codeFlowPhysicalLocations[0].artifactLocation.uri.contains("MainTest.java")) - assert(codeFlowPhysicalLocations[0].region.startLine == 6) - assert(codeFlowPhysicalLocations[0].region.startColumn == 5) - } - - @Test - fun testMinimizationRemovesDuplicates() { - mockUtMethodNames() - - val mockUtExecution = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - Mockito.`when`(mockUtExecution.result).thenReturn(UtImplicitlyThrownException(NullPointerException(), false)) - - defaultMockCoverage(mockUtExecution) - - val testSets = listOf( - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution)), - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution)) // duplicate - ) - - val report = SarifReport( - testSets = testSets, - generatedTestsCode = "", - sourceFindingMain - ).createReport() - - assert(report.runs.first().results.size == 1) // no duplicates - } - - @Test - fun testMinimizationDoesNotRemoveResultsWithDifferentRuleId() { - mockUtMethodNames() - - val mockUtExecution1 = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - val mockUtExecution2 = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - - // different ruleId's - Mockito.`when`(mockUtExecution1.result).thenReturn(UtImplicitlyThrownException(NullPointerException(), false)) - Mockito.`when`(mockUtExecution2.result).thenReturn(UtImplicitlyThrownException(ArithmeticException(), false)) - - defaultMockCoverage(mockUtExecution1) - defaultMockCoverage(mockUtExecution2) - - val testSets = listOf( - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution1)), - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution2)) // not a duplicate - ) - - val report = SarifReport( - testSets = testSets, - generatedTestsCode = "", - sourceFindingMain - ).createReport() - - assert(report.runs.first().results.size == 2) // no results have been removed - } - - @Test - fun testMinimizationDoesNotRemoveResultsWithDifferentLocations() { - mockUtMethodNames() - - val mockUtExecution1 = Mockito.mock(UtSymbolicExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - val mockUtExecution2 = Mockito.mock(UtSymbolicExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - - // the same ruleId's - Mockito.`when`(mockUtExecution1.result).thenReturn(UtImplicitlyThrownException(NullPointerException(), false)) - Mockito.`when`(mockUtExecution2.result).thenReturn(UtImplicitlyThrownException(NullPointerException(), false)) - - // different locations - mockCoverage(mockUtExecution1, 11, "Main") - mockCoverage(mockUtExecution2, 22, "Main") - - val testSets = listOf( - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution1)), - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution2)) // not a duplicate - ) - - val report = SarifReport( - testSets = testSets, - generatedTestsCode = "", - sourceFindingMain - ).createReport() - - assert(report.runs.first().results.size == 2) // no results have been removed - } - - @Test - fun testMinimizationChoosesShortestCodeFlow() { - mockUtMethodNames() - - val mockNPE1 = Mockito.mock(NullPointerException::class.java) - val mockNPE2 = Mockito.mock(NullPointerException::class.java) - - val mockUtExecution1 = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - val mockUtExecution2 = Mockito.mock(UtExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - - // the same ruleId's - Mockito.`when`(mockUtExecution1.result).thenReturn(UtImplicitlyThrownException(mockNPE1, false)) - Mockito.`when`(mockUtExecution2.result).thenReturn(UtImplicitlyThrownException(mockNPE2, false)) - - // but different stack traces - val stackTraceElement1 = StackTraceElement("Main", "main", "Main.java", 3) - val stackTraceElement2 = StackTraceElement("Main", "main", "Main.java", 7) - Mockito.`when`(mockNPE1.stackTrace).thenReturn(arrayOf(stackTraceElement1)) - Mockito.`when`(mockNPE2.stackTrace).thenReturn(arrayOf(stackTraceElement1, stackTraceElement2)) - - defaultMockCoverage(mockUtExecution1) - defaultMockCoverage(mockUtExecution2) - - val testSets = listOf( - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution1)), - UtMethodTestSet(mockExecutableId, listOf(mockUtExecution2)) // duplicate with a longer stack trace - ) - - val report = SarifReport( - testSets = testSets, - generatedTestsCode = "", - sourceFindingMain - ).createReport() - - assert(report.runs.first().results.size == 1) // no duplicates - assert(report.runs.first().results.first().totalCodeFlowLocations() == 1) // with a shorter stack trace - } - - // internal - - private val mockExecutableId = Mockito.mock(ExecutableId::class.java, Mockito.RETURNS_DEEP_STUBS) - - private val mockUtExecution = Mockito.mock(UtSymbolicExecution::class.java, Mockito.RETURNS_DEEP_STUBS) - - private val testSet = UtMethodTestSet(mockExecutableId, listOf(mockUtExecution)) - - private fun mockUtMethodNames() { - Mockito.`when`(mockExecutableId.name).thenReturn("main") - Mockito.`when`(mockExecutableId.classId.name).thenReturn("Main") - } - - private fun mockCoverage(mockExecution: UtExecution, lineNumber: Int, className: String) { - Mockito.`when`(mockExecution.coverage?.coveredInstructions?.lastOrNull()?.lineNumber).thenReturn(1) - Mockito.`when`(mockExecution.coverage?.coveredInstructions?.lastOrNull()?.internalName).thenReturn("Main") - Mockito.`when`(mockExecution.coverage?.coveredInstructions?.lastOrNull()?.className).thenReturn("Main") - (mockExecution as? UtSymbolicExecution)?.let { mockSymbolicSteps(it, lineNumber, className) } - } - - private fun mockSymbolicSteps(mockExecution: UtSymbolicExecution, lineNumber: Int, className: String) { - Mockito.`when`(mockExecution.symbolicSteps.lastOrNull()?.lineNumber).thenReturn(lineNumber) - Mockito.`when`(mockExecution.symbolicSteps.lastOrNull()?.method?.declaringClass?.name).thenReturn(className) - } - - private fun defaultMockCoverage(mockExecution: UtExecution) { - mockCoverage(mockExecution, 1, "Main") - } - - // constants - - private val sourceFindingEmpty = SourceFindingStrategyDefault( - sourceClassFqn = "", - sourceFilePath = "", - testsFilePath = "", - projectRootPath = "" - ) - - private val sourceFindingMain = SourceFindingStrategyDefault( - sourceClassFqn = "Main", - sourceFilePath = "src/Main.java", - testsFilePath = "test/MainTest.java", - projectRootPath = "." - ) - - private val generatedTestsCodeMain = """ - public void testMain_ThrowArithmeticException() { - /* This test fails because method [Main.main] produces [java.lang.ArithmeticException: / by zero] - Main.main(Main.java:15) */ - Main main = new Main(); - main.main(0); // shift for `startColumn` == 7 - } - """.trimIndent() - - private val generatedTestsCodePrivateMain = """ - public void testMain_ThrowArithmeticException() { - /* This test fails because method [Main.main] produces [java.lang.ArithmeticException: / by zero] - Main.main(Main.java:15) */ - Main main = new Main(); - // ... - mainMethod.invoke(main, mainMethodArguments); - } - """.trimIndent() - - private val sarifReportMain = - SarifReport(listOf(testSet), generatedTestsCodeMain, sourceFindingMain) - - private val sarifReportPrivateMain = - SarifReport(listOf(testSet), generatedTestsCodePrivateMain, sourceFindingMain) -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/Constants.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/Constants.kt deleted file mode 100644 index 0dfc8745..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/Constants.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.taint.parser.yaml - -internal const val k_sources = Constants.KEY_SOURCES -internal const val k_passes = Constants.KEY_PASSES -internal const val k_cleaners = Constants.KEY_CLEANERS -internal const val k_sinks = Constants.KEY_SINKS - -internal const val k_addTo = Constants.KEY_ADD_TO -internal const val k_getFrom = Constants.KEY_GET_FROM -internal const val k_removeFrom = Constants.KEY_REMOVE_FROM -internal const val k_check = Constants.KEY_CHECK -internal const val k_marks = Constants.KEY_MARKS - -internal const val k_signature = Constants.KEY_SIGNATURE -internal const val k_conditions = Constants.KEY_CONDITIONS - -internal const val k_not = Constants.KEY_CONDITION_NOT - -internal const val k_this = Constants.KEY_THIS -internal const val k_return = Constants.KEY_RETURN -internal const val k_arg = Constants.KEY_ARG - -internal const val k_lt = Constants.ARGUMENT_TYPE_PREFIX -internal const val k_gt = Constants.ARGUMENT_TYPE_SUFFIX -internal const val k__ = Constants.ARGUMENT_TYPE_UNDERSCORE diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/MethodArgumentParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/MethodArgumentParserTest.kt deleted file mode 100644 index 290cb8d4..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/MethodArgumentParserTest.kt +++ /dev/null @@ -1,156 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.Yaml -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class MethodArgumentParserTest { - - @Nested - @DisplayName("isArgumentType") - inner class IsArgumentTypeTest { - @Test - fun `should return true on underscore`() { - val yamlScalar = Yaml.default.parseToYamlNode(k__) - assertTrue(MethodArgumentParser.isArgumentType(yamlScalar)) - } - - @Test - fun `should return true on type fqn in brackets`() { - val yamlScalar = Yaml.default.parseToYamlNode("${k_lt}java.lang.String$k_gt") - assertTrue(MethodArgumentParser.isArgumentType(yamlScalar)) - } - - @Test - fun `should return false on values`() { - val yamlScalar = Yaml.default.parseToYamlNode("some-value") - assertFalse(MethodArgumentParser.isArgumentType(yamlScalar)) - } - - @Test - fun `should return false on another yaml type`() { - val yamlList = Yaml.default.parseToYamlNode("[ ${k_lt}int$k_gt ]") - assertFalse(MethodArgumentParser.isArgumentType(yamlList)) - } - } - - @Nested - @DisplayName("isArgumentValue") - inner class IsArgumentValueTest { - @Test - fun `should return true on scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode("0") - assertTrue(MethodArgumentParser.isArgumentValue(yamlScalar)) - } - - @Test - fun `should return true on type fqn in brackets`() { - val yamlNull = Yaml.default.parseToYamlNode("null") - assertTrue(MethodArgumentParser.isArgumentValue(yamlNull)) - } - - @Test - fun `should return false on type fqn in brackets`() { - val yamlScalar = Yaml.default.parseToYamlNode("${k_lt}float$k_gt") - assertFalse(MethodArgumentParser.isArgumentValue(yamlScalar)) - } - - @Test - fun `should return false on another yaml type`() { - val yamlList = Yaml.default.parseToYamlNode("[ test ]") - assertFalse(MethodArgumentParser.isArgumentValue(yamlList)) - } - } - - @Nested - @DisplayName("parseArgumentType") - inner class ParseArgumentTypeTest { - @Test - fun `should parse underscore as ArgumentTypeAny`() { - val yamlScalar = Yaml.default.parseToYamlNode(k__) - val expectedArgumentType = YamlArgumentTypeAny - - val actualArgumentType = MethodArgumentParser.parseArgumentType(yamlScalar) - assertEquals(expectedArgumentType, actualArgumentType) - } - - @Test - fun `should parse type fqn in brackets`() { - val yamlScalar = Yaml.default.parseToYamlNode("${k_lt}double$k_gt") - val expectedArgumentType = YamlArgumentTypeString("double") - - val actualArgumentType = MethodArgumentParser.parseArgumentType(yamlScalar) - assertEquals(expectedArgumentType, actualArgumentType) - } - - @Test - fun `should fail on another yaml type`() { - val yamlMap = Yaml.default.parseToYamlNode("type: ${k_lt}double$k_gt") - - assertThrows { - MethodArgumentParser.parseArgumentType(yamlMap) - } - } - } - - @Nested - @DisplayName("parseArgumentValue") - inner class ParseArgumentValueTest { - @Test - fun `should parse yaml null as ArgumentValueNull`() { - val yamlNull = Yaml.default.parseToYamlNode("null") - val expectedArgumentValue = YamlArgumentValueNull - - val actualArgumentValue = MethodArgumentParser.parseArgumentValue(yamlNull) - assertEquals(expectedArgumentValue, actualArgumentValue) - } - - @Test - fun `should parse boolean yaml scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode("false") - val expectedArgumentValue = YamlArgumentValueBoolean(false) - - val actualArgumentValue = MethodArgumentParser.parseArgumentValue(yamlScalar) - assertEquals(expectedArgumentValue, actualArgumentValue) - } - - @Test - fun `should parse long yaml scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode("17") - val expectedArgumentValue = YamlArgumentValueLong(17L) - - val actualArgumentValue = MethodArgumentParser.parseArgumentValue(yamlScalar) - assertEquals(expectedArgumentValue, actualArgumentValue) - } - - @Test - fun `should parse double yaml scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode("1.2") - val expectedArgumentValue = YamlArgumentValueDouble(1.2) - - val actualArgumentValue = MethodArgumentParser.parseArgumentValue(yamlScalar) - assertEquals(expectedArgumentValue, actualArgumentValue) - } - - @Test - fun `should parse string yaml scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode("some-string") - val expectedArgumentValue = YamlArgumentValueString("some-string") - - val actualArgumentValue = MethodArgumentParser.parseArgumentValue(yamlScalar) - assertEquals(expectedArgumentValue, actualArgumentValue) - } - - @Test - fun `should fail on another yaml type`() { - val yamlList = Yaml.default.parseToYamlNode("[ some-string ]") - - assertThrows { - MethodArgumentParser.parseArgumentValue(yamlList) - } - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintConditionParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintConditionParserTest.kt deleted file mode 100644 index 5c9968e5..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintConditionParserTest.kt +++ /dev/null @@ -1,188 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.* -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TaintConditionParserTest { - - @Nested - @DisplayName("parseCondition") - inner class ParseConditionTest { - @Test - fun `should parse yaml null as ValueCondition`() { - val yamlNull = Yaml.default.parseToYamlNode("null") - val expectedCondition = YamlTaintConditionEqualValue(YamlArgumentValueNull) - - val actualCondition = TaintConditionParser.parseCondition(yamlNull) - assertEquals(expectedCondition, actualCondition) - } - - @Test - fun `should parse yaml scalar with argument value as ValueCondition`() { - val yamlScalar = Yaml.default.parseToYamlNode("some-string") - val expectedCondition = YamlTaintConditionEqualValue(YamlArgumentValueString("some-string")) - - val actualCondition = TaintConditionParser.parseCondition(yamlScalar) - assertEquals(expectedCondition, actualCondition) - } - - @Test - fun `should parse yaml scalar with argument type as TypeCondition`() { - val yamlScalar = Yaml.default.parseToYamlNode("${k_lt}java.lang.Integer$k_gt") - val expectedCondition = YamlTaintConditionIsType(YamlArgumentTypeString("java.lang.Integer")) - - val actualCondition = TaintConditionParser.parseCondition(yamlScalar) - assertEquals(expectedCondition, actualCondition) - } - - @Test - fun `should parse yaml list as OrCondition`() { - val yamlList = Yaml.default.parseToYamlNode("[ 1, true, ${k_lt}java.lang.Integer$k_gt ]") - val expectedCondition = YamlTaintConditionOr( - listOf( - YamlTaintConditionEqualValue(YamlArgumentValueLong(1L)), - YamlTaintConditionEqualValue(YamlArgumentValueBoolean(true)), - YamlTaintConditionIsType(YamlArgumentTypeString("java.lang.Integer")), - ) - ) - - val actualCondition = TaintConditionParser.parseCondition(yamlList) - assertEquals(expectedCondition, actualCondition) - } - - @Test - fun `should parse yaml map with a key 'not' as NotCondition`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_not: ${k_lt}int$k_gt") - val expectedCondition = YamlTaintConditionNot(YamlTaintConditionIsType(YamlArgumentTypeString("int"))) - - val actualCondition = TaintConditionParser.parseCondition(yamlMap) - assertEquals(expectedCondition, actualCondition) - } - - @Test - fun `should fail on yaml map without a key 'not'`() { - val yamlMap = Yaml.default.parseToYamlNode("net: ${k_lt}int$k_gt") - - assertThrows { - TaintConditionParser.parseCondition(yamlMap) - } - } - - @Test - fun `should fail on yaml map with unknown keys`() { - val yamlMap = Yaml.default.parseToYamlNode("{ $k_not: ${k_lt}int$k_gt, unknown-key: 0 }") - - assertThrows { - TaintConditionParser.parseCondition(yamlMap) - } - } - - @Test - fun `should parse complicated yaml node`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_not: [ { $k_not: 0 }, ${k_lt}int$k_gt, { $k_not: null } ]") - val expectedCondition = YamlTaintConditionNot( - YamlTaintConditionOr( - listOf( - YamlTaintConditionNot(YamlTaintConditionEqualValue(YamlArgumentValueLong(0L))), - YamlTaintConditionIsType(YamlArgumentTypeString("int")), - YamlTaintConditionNot(YamlTaintConditionEqualValue(YamlArgumentValueNull)) - ) - ) - ) - - val actualCondition = TaintConditionParser.parseCondition(yamlMap) - assertEquals(expectedCondition, actualCondition) - } - - @Test - fun `should fail on another yaml type`() { - val yamlTaggedNode = YamlTaggedNode("some-tag", YamlNull(YamlPath.root)) - - assertThrows { - TaintConditionParser.parseCondition(yamlTaggedNode) - } - } - } - - @Nested - @DisplayName("parseConditions") - inner class ParseConditionsTest { - @Test - fun `should parse correct yaml map as Conditions`() { - val yamlMap = - Yaml.default.parseToYamlNode("{ $k_this: \"\", ${k_arg}2: { $k_not: ${k_lt}int$k_gt }, $k_return: [ 0, 1 ] }") - val expectedConditions = YamlTaintConditionsMap( - mapOf( - YamlTaintEntityThis to YamlTaintConditionEqualValue(YamlArgumentValueString("")), - YamlTaintEntityArgument(2u) to YamlTaintConditionNot( - YamlTaintConditionIsType( - YamlArgumentTypeString( - "int" - ) - ) - ), - YamlTaintEntityReturn to YamlTaintConditionOr( - listOf( - YamlTaintConditionEqualValue(YamlArgumentValueLong(0L)), YamlTaintConditionEqualValue( - YamlArgumentValueLong(1L) - ) - ) - ) - ) - ) - - val actualConditions = TaintConditionParser.parseConditions(yamlMap) - assertEquals(expectedConditions, actualConditions) - } - - @Test - fun `should parse empty yaml map as NoConditions`() { - val yamlMap = Yaml.default.parseToYamlNode("{}") - val expectedConditions = YamlNoTaintConditions - - val actualConditions = TaintConditionParser.parseConditions(yamlMap) - assertEquals(expectedConditions, actualConditions) - } - - @Test - fun `should fail on another yaml type`() { - val yamlList = Yaml.default.parseToYamlNode("[]") - - assertThrows { - TaintConditionParser.parseConditions(yamlList) - } - } - } - - @Nested - @DisplayName("parseConditionsKey") - inner class ParseConditionsKeyTest { - @Test - fun `should parse yaml map with a key 'conditions'`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_conditions: { $k_return: null }").yamlMap - val expectedConditions = YamlTaintConditionsMap( - mapOf( - YamlTaintEntityReturn to YamlTaintConditionEqualValue( - YamlArgumentValueNull - ) - ) - ) - - val actualConditions = TaintConditionParser.parseConditionsKey(yamlMap) - assertEquals(expectedConditions, actualConditions) - } - - @Test - fun `should parse yaml map without a key 'conditions' as NoConditions`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_marks: []").yamlMap - val expectedConditions = YamlNoTaintConditions - - val actualConditions = TaintConditionParser.parseConditionsKey(yamlMap) - assertEquals(expectedConditions, actualConditions) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintConfigurationParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintConfigurationParserTest.kt deleted file mode 100644 index 3a57811a..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintConfigurationParserTest.kt +++ /dev/null @@ -1,54 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.Yaml -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TaintConfigurationParserTest { - - @Nested - @DisplayName("parseConfiguration") - inner class ParseConfigurationTest { - @Test - fun `should parse yaml map as Configuration`() { - val yamlMap = - Yaml.default.parseToYamlNode("{ $k_sources: [], $k_passes: [], $k_cleaners: [], $k_sinks: [] }") - val expectedConfiguration = YamlTaintConfiguration(listOf(), listOf(), listOf(), listOf()) - - val actualConfiguration = TaintConfigurationParser.parseConfiguration(yamlMap) - assertEquals(expectedConfiguration, actualConfiguration) - } - - @Test - fun `should not fail if yaml map does not contain some keys`() { - val yamlMap = Yaml.default.parseToYamlNode("{ $k_sources: [], $k_sinks: [] }") - val expectedConfiguration = YamlTaintConfiguration(listOf(), listOf(), listOf(), listOf()) - - val actualConfiguration = TaintConfigurationParser.parseConfiguration(yamlMap) - assertEquals(expectedConfiguration, actualConfiguration) - } - - @Test - fun `should fail on other yaml types`() { - val yamlList = Yaml.default.parseToYamlNode("[]") - - assertThrows { - TaintConfigurationParser.parseConfiguration(yamlList) - } - } - - @Test - fun `should fail on yaml map with unknown keys`() { - val yamlMap = Yaml.default.parseToYamlNode( - "{ $k_sources: [], $k_passes: [], $k_cleaners: [], $k_sinks: [], unknown-key: [] }" - ) - - assertThrows { - TaintConfigurationParser.parseConfiguration(yamlMap) - } - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintEntityParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintEntityParserTest.kt deleted file mode 100644 index ab735466..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintEntityParserTest.kt +++ /dev/null @@ -1,104 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.Yaml -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TaintEntityParserTest { - - @Nested - @DisplayName("taintEntityByName") - inner class TaintEntityByNameTest { - @Test - fun `should return ThisObject on 'this'`() { - val actualEntity = TaintEntityParser.taintEntityByName(k_this) - val expectedEntity = YamlTaintEntityThis - assertEquals(expectedEntity, actualEntity) - } - - @Test - fun `should return ReturnValue on 'return'`() { - val actualEntity = TaintEntityParser.taintEntityByName(k_return) - val expectedEntity = YamlTaintEntityReturn - assertEquals(expectedEntity, actualEntity) - } - - @Test - fun `should return MethodArgument(1) on 'arg1'`() { - val actualEntity = TaintEntityParser.taintEntityByName("${k_arg}1") - val expectedEntity = YamlTaintEntityArgument(1u) - assertEquals(expectedEntity, actualEntity) - } - - @Test - fun `should return MethodArgument(227) on 'arg227'`() { - val actualEntity = TaintEntityParser.taintEntityByName("${k_arg}227") - val expectedEntity = YamlTaintEntityArgument(227u) - assertEquals(expectedEntity, actualEntity) - } - - @Test - fun `should fail on zero index 'arg0'`() { - assertThrows { - TaintEntityParser.taintEntityByName("${k_arg}0") - } - } - - @Test - fun `should fail on another entity name`() { - assertThrows { - TaintEntityParser.taintEntityByName("argument1") - } - } - } - - @Nested - @DisplayName("parseTaintEntities") - inner class ParseTaintEntitiesTest { - @Test - fun `should parse yaml scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode(k_this) - val expectedEntities = YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)) - - val actualEntities = TaintEntityParser.parseTaintEntities(yamlScalar) - assertEquals(expectedEntities, actualEntities) - } - - @Test - fun `should parse yaml list`() { - val yamlList = Yaml.default.parseToYamlNode("[ $k_this, ${k_arg}1, ${k_arg}5, $k_return ]") - val expectedEntities = YamlTaintEntitiesSet( - setOf( - YamlTaintEntityThis, - YamlTaintEntityArgument(1u), - YamlTaintEntityArgument(5u), - YamlTaintEntityReturn - ) - ) - - val actualEntities = TaintEntityParser.parseTaintEntities(yamlList) - assertEquals(expectedEntities, actualEntities) - } - - @Test - fun `should fail on empty yaml list`() { - val yamlListEmpty = Yaml.default.parseToYamlNode("[]") - - assertThrows { - TaintEntityParser.parseTaintEntities(yamlListEmpty) - } - } - - @Test - fun `should fail on another yaml type`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_addTo: $k_return") - - assertThrows { - TaintEntityParser.parseTaintEntities(yamlMap) - } - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintMarkParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintMarkParserTest.kt deleted file mode 100644 index 3be0b449..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintMarkParserTest.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.Yaml -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TaintMarkParserTest { - - @Nested - @DisplayName("parseTaintMarks") - inner class ParseTaintMarksTest { - @Test - fun `should parse yaml scalar`() { - val yamlScalar = Yaml.default.parseToYamlNode("sensitive-data") - val expectedMarks = YamlTaintMarksSet(setOf(YamlTaintMark("sensitive-data"))) - - val actualMarks = TaintMarkParser.parseTaintMarks(yamlScalar) - assertEquals(expectedMarks, actualMarks) - } - - @Test - fun `should parse yaml list`() { - val yamlList = Yaml.default.parseToYamlNode("[ xss, sensitive-data, sql-injection ]") - val expectedMarks = - YamlTaintMarksSet( - setOf( - YamlTaintMark("xss"), - YamlTaintMark("sensitive-data"), - YamlTaintMark("sql-injection") - ) - ) - - val actualMarks = TaintMarkParser.parseTaintMarks(yamlList) - assertEquals(expectedMarks, actualMarks) - } - - @Test - fun `should parse empty yaml list`() { - val yamlListEmpty = Yaml.default.parseToYamlNode("[]") - val expectedMarks = YamlTaintMarksAll - - val actualMarks = TaintMarkParser.parseTaintMarks(yamlListEmpty) - assertEquals(expectedMarks, actualMarks) - } - - @Test - fun `should fail on another yaml type`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_marks: [ xss ]") - - assertThrows { - TaintMarkParser.parseTaintMarks(yamlMap) - } - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintRuleParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintRuleParserTest.kt deleted file mode 100644 index e669c27d..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintRuleParserTest.kt +++ /dev/null @@ -1,287 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.Yaml -import org.junit.jupiter.api.* -import org.junit.jupiter.api.Assertions.* - -class TaintRuleParserTest { - - @Nested - @DisplayName("isRule") - inner class IsRuleTest { - - private val isRuleData = listOf( - SourceData to TaintRuleParser::isSourceRule, - PassData to TaintRuleParser::isPassRule, - CleanerData to TaintRuleParser::isCleanerRule, - SinkData to TaintRuleParser::isSinkRule - ) - - @TestFactory - fun `should return true on a rule`() = isRuleData.map { (ruleData, isRule) -> - DynamicTest.dynamicTest(isRule.name) { - val yamlMap = Yaml.default.parseToYamlNode(ruleData.yamlInput) - assertTrue(isRule(yamlMap)) - } - } - - @TestFactory - fun `should return true on a rule with optional keys`() = isRuleData.map { (ruleData, isRule) -> - DynamicTest.dynamicTest(isRule.name) { - val yamlMap = Yaml.default.parseToYamlNode(ruleData.yamlInputAdvanced) - assertTrue(isRule(yamlMap)) - } - } - - @TestFactory - fun `should return false on an invalid rule`() = isRuleData.map { (ruleData, isRule) -> - DynamicTest.dynamicTest(isRule.name) { - val yamlMap = Yaml.default.parseToYamlNode(ruleData.yamlInputInvalid) - assertFalse(isRule(yamlMap)) - } - } - - @TestFactory - fun `should return false on rules node`() = isRuleData.map { (ruleData, isRule) -> - DynamicTest.dynamicTest(isRule.name) { - val rulesData = RulesData(ruleData) - val yamlMap = Yaml.default.parseToYamlNode(rulesData.yamlInput) - assertFalse(isRule(yamlMap)) - } - } - } - - @Nested - @DisplayName("parseRule") - inner class ParseRuleTest { - - private val parseRuleData = listOf( - SourceData to TaintRuleParser::parseSourceRule, - PassData to TaintRuleParser::parsePassRule, - CleanerData to TaintRuleParser::parseCleanerRule, - SinkData to TaintRuleParser::parseSinkRule - ) - - @TestFactory - fun `should parse yaml map that satisfies isRule`() = parseRuleData.map { (ruleData, parseRule) -> - DynamicTest.dynamicTest(parseRule.name) { - val yamlMap = Yaml.default.parseToYamlNode(ruleData.yamlInput) - val expectedRule = ruleData.yamlInputParsed(defaultMethodFqn) - - val actualRule = parseRule(yamlMap, defaultMethodNameParts) - assertEquals(expectedRule, actualRule) - } - } - - @TestFactory - fun `should parse yaml map with optional keys that satisfies isRule`() = - parseRuleData.map { (ruleData, parseRule) -> - DynamicTest.dynamicTest(parseRule.name) { - val yamlMap = Yaml.default.parseToYamlNode(ruleData.yamlInputAdvanced) - val expectedRule = ruleData.yamlInputAdvancedParsed(defaultMethodFqn) - - val actualRule = parseRule(yamlMap, defaultMethodNameParts) - assertEquals(expectedRule, actualRule) - } - } - - @TestFactory - fun `should fail on yaml map with unknown keys`() = parseRuleData.map { (ruleData, parseRule) -> - DynamicTest.dynamicTest(parseRule.name) { - val yamlMap = Yaml.default.parseToYamlNode(ruleData.yamlInputUnknownKey) - - assertThrows { - parseRule(yamlMap, defaultMethodNameParts) - } - } - } - } - - @Nested - @DisplayName("parseSources") - inner class ParseSourcesTest { - - private val parseRulesData = listOf( - SourcesData to TaintRuleParser::parseSources, - PassesData to TaintRuleParser::parsePasses, - CleanersData to TaintRuleParser::parseCleaners, - SinksData to TaintRuleParser::parseSinks - ) - - @TestFactory - fun `should parse yaml list with rules`() = parseRulesData.map { (rulesData, parseRules) -> - DynamicTest.dynamicTest(parseRules.name) { - val yamlMap = Yaml.default.parseToYamlNode(rulesData.yamlInput) - val expectedRules = rulesData.yamlInputParsed - - val actualRules = parseRules(yamlMap) - assertEquals(expectedRules, actualRules) - } - } - - @TestFactory - fun `should parse yaml list with rules specified using nested names`() = - parseRulesData.map { (rulesData, parseRules) -> - DynamicTest.dynamicTest(parseRules.name) { - val yamlMap = Yaml.default.parseToYamlNode(rulesData.yamlInputNestedNames) - val expectedRules = rulesData.yamlInputNestedNamesParsed - - val actualRules = parseRules(yamlMap) - assertEquals(expectedRules, actualRules) - } - } - - @TestFactory - fun `should fail on invalid yaml structure`() = parseRulesData.map { (rulesData, parseRules) -> - DynamicTest.dynamicTest(parseRules.name) { - val yamlMap = Yaml.default.parseToYamlNode(rulesData.yamlInputInvalid) - - assertThrows { - parseRules(yamlMap) - } - } - } - } - - // test data - - private val defaultMethodNameParts = listOf("org.example.Server.start") - private val defaultMethodFqn = YamlMethodFqn(listOf("org", "example"), "Server", "start") - - // one rule - - interface RuleData { - val yamlInput: String - val yamlInputAdvanced: String - val yamlInputInvalid: String - val yamlInputUnknownKey: String - - fun yamlInputParsed(methodFqn: YamlMethodFqn): Rule - fun yamlInputAdvancedParsed(methodFqn: YamlMethodFqn): Rule - } - - private object SourceData : RuleData { - override val yamlInput = "{ $k_addTo: $k_return, $k_marks: [] }" - override val yamlInputAdvanced = "{ $k_signature: [], $k_conditions: {}, $k_addTo: $k_return, $k_marks: [] }" - override val yamlInputInvalid = "{ invalid-key: $k_return, $k_marks: [] }" - override val yamlInputUnknownKey = "{ $k_addTo: $k_return, $k_marks: [], unknown-key: [] }" - - override fun yamlInputParsed(methodFqn: YamlMethodFqn) = - YamlTaintSource(methodFqn, YamlTaintEntitiesSet(setOf(YamlTaintEntityReturn)), YamlTaintMarksAll) - - override fun yamlInputAdvancedParsed(methodFqn: YamlMethodFqn) = - YamlTaintSource( - methodFqn, - YamlTaintEntitiesSet(setOf(YamlTaintEntityReturn)), - YamlTaintMarksAll, - YamlTaintSignatureList(listOf()), - YamlNoTaintConditions - ) - } - - private object PassData : RuleData { - override val yamlInput = "{ $k_getFrom: $k_this, $k_addTo: $k_return, $k_marks: [] }" - override val yamlInputAdvanced = - "{ $k_signature: [], $k_conditions: {}, $k_getFrom: $k_this, $k_addTo: $k_return, $k_marks: [] }" - override val yamlInputInvalid = "{ $k_getFrom: $k_this, $k_addTo: $k_return, invalid-key: [] }" - override val yamlInputUnknownKey = "{ $k_getFrom: $k_this, $k_addTo: $k_return, $k_marks: [], unknown-key: [] }" - - override fun yamlInputParsed(methodFqn: YamlMethodFqn) = - YamlTaintPass( - methodFqn, YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), YamlTaintEntitiesSet( - setOf( - YamlTaintEntityReturn - ) - ), YamlTaintMarksAll - ) - - override fun yamlInputAdvancedParsed(methodFqn: YamlMethodFqn) = - YamlTaintPass( - methodFqn, YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), YamlTaintEntitiesSet( - setOf( - YamlTaintEntityReturn - ) - ), YamlTaintMarksAll, YamlTaintSignatureList(listOf()), YamlNoTaintConditions - ) - } - - private object CleanerData : RuleData { - override val yamlInput = "{ $k_removeFrom: $k_this, $k_marks: [] }" - override val yamlInputAdvanced = "{ $k_signature: [], $k_conditions: {}, $k_removeFrom: $k_this, $k_marks: [] }" - override val yamlInputInvalid = "{ $k_removeFrom: $k_this, invalid-key: [] }" - override val yamlInputUnknownKey = "{ $k_removeFrom: $k_this, $k_marks: [], unknown-key: [] }" - - override fun yamlInputParsed(methodFqn: YamlMethodFqn) = - YamlTaintCleaner(methodFqn, YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), YamlTaintMarksAll) - - override fun yamlInputAdvancedParsed(methodFqn: YamlMethodFqn) = - YamlTaintCleaner( - methodFqn, - YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), - YamlTaintMarksAll, - YamlTaintSignatureList(listOf()), - YamlNoTaintConditions - ) - } - - private object SinkData : RuleData { - override val yamlInput = "{ $k_check: $k_this, $k_marks: [] }" - override val yamlInputAdvanced = "{ $k_signature: [], $k_conditions: {}, $k_check: $k_this, $k_marks: [] }" - override val yamlInputInvalid = "{ $k_check: $k_this, invalid-key: [] }" - override val yamlInputUnknownKey = "{ $k_check: $k_this, $k_marks: [], unknown-key: [] }" - - override fun yamlInputParsed(methodFqn: YamlMethodFqn) = - YamlTaintSink(methodFqn, YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), YamlTaintMarksAll) - - override fun yamlInputAdvancedParsed(methodFqn: YamlMethodFqn) = - YamlTaintSink( - methodFqn, - YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), - YamlTaintMarksAll, - YamlTaintSignatureList(listOf()), - YamlNoTaintConditions - ) - } - - // combined rules - - private object SourcesData : RulesData(SourceData) - private object PassesData : RulesData(PassData) - private object CleanersData : RulesData(CleanerData) - private object SinksData : RulesData(SinkData) - - private open class RulesData(ruleData: RuleData) { - val yamlInput = """ - - a.b.c.m: ${ruleData.yamlInput} - - d.e.f.m: ${ruleData.yamlInputAdvanced} - """.trimIndent() - - val yamlInputNestedNames = """ - - a: - - b.c: - - m: ${ruleData.yamlInput} - - m: ${ruleData.yamlInputAdvanced} - - d: - - e.m1: ${ruleData.yamlInput} - - e.m2: ${ruleData.yamlInputAdvanced} - """.trimIndent() - - val yamlInputInvalid = """ - - a: - - b.c: - m: ${ruleData.yamlInput} - """.trimIndent() - - val yamlInputParsed = listOf( - ruleData.yamlInputParsed(YamlMethodFqn(listOf("a", "b"), "c", "m")), - ruleData.yamlInputAdvancedParsed(YamlMethodFqn(listOf("d", "e"), "f", "m")) - ) - - val yamlInputNestedNamesParsed = listOf( - ruleData.yamlInputParsed(YamlMethodFqn(listOf("a", "b"), "c", "m")), - ruleData.yamlInputAdvancedParsed(YamlMethodFqn(listOf("a", "b"), "c", "m")), - ruleData.yamlInputParsed(YamlMethodFqn(listOf("a", "d"), "e", "m1")), - ruleData.yamlInputAdvancedParsed(YamlMethodFqn(listOf("a", "d"), "e", "m2")) - ) - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintSignatureParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintSignatureParserTest.kt deleted file mode 100644 index a1b0513e..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintSignatureParserTest.kt +++ /dev/null @@ -1,81 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.Yaml -import com.charleskorn.kaml.yamlMap -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TaintSignatureParserTest { - - @Nested - @DisplayName("parseSignatureKey") - inner class ParseSignatureKeyTest { - @Test - fun `should parse yaml list of the argument types`() { - val yamlList = Yaml.default.parseToYamlNode("[ ${k_lt}int$k_gt, $k__, ${k_lt}java.lang.String$k_gt ]") - val expectedSignature = YamlTaintSignatureList( - listOf( - YamlArgumentTypeString("int"), - YamlArgumentTypeAny, - YamlArgumentTypeString("java.lang.String") - ) - ) - - val actualSignature = TaintSignatureParser.parseSignature(yamlList) - assertEquals(expectedSignature, actualSignature) - } - - @Test - fun `should parse empty yaml list`() { - val yamlList = Yaml.default.parseToYamlNode("[]") - val expectedSignature = YamlTaintSignatureList(listOf()) - - val actualSignature = TaintSignatureParser.parseSignature(yamlList) - assertEquals(expectedSignature, actualSignature) - } - - @Test - fun `should fail on incorrect signature`() { - val yamlList = Yaml.default.parseToYamlNode("[ 0, $k__, 2 ]") - - assertThrows { - TaintSignatureParser.parseSignature(yamlList) - } - } - - @Test - fun `should fail on another yaml type`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_signature: []") - - assertThrows { - TaintSignatureParser.parseSignature(yamlMap) - } - } - } - - @Nested - @DisplayName("parseSignature") - inner class ParseSignatureTest { - @Test - fun `should parse yaml map with a key 'signature'`() { - val yamlList = Yaml.default.parseToYamlNode("$k_signature: [ $k__, $k__, ${k_lt}int$k_gt ]").yamlMap - val expectedSignature = - YamlTaintSignatureList(listOf(YamlArgumentTypeAny, YamlArgumentTypeAny, YamlArgumentTypeString("int"))) - - val actualSignature = TaintSignatureParser.parseSignatureKey(yamlList) - assertEquals(expectedSignature, actualSignature) - } - - @Test - fun `should parse yaml map without a key 'signature' as AnySignature`() { - val yamlMap = Yaml.default.parseToYamlNode("$k_marks: []").yamlMap - val expectedSignature = YamlTaintSignatureAny - - val actualSignature = TaintSignatureParser.parseSignatureKey(yamlMap) - assertEquals(expectedSignature, actualSignature) - } - } -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintYamlParserTest.kt b/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintYamlParserTest.kt deleted file mode 100644 index b49d3c8b..00000000 --- a/utbot-framework-test/src/test/kotlin/org/utbot/taint/parser/yaml/TaintYamlParserTest.kt +++ /dev/null @@ -1,148 +0,0 @@ -package org.utbot.taint.parser.yaml - -import com.charleskorn.kaml.YamlException -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TaintYamlParserTest { - - @Test - fun `parse should parse correct yaml`() { - val actualConfiguration = TaintYamlParser.parse(yamlInput) - assertEquals(expectedConfiguration, actualConfiguration) - } - - @Test - fun `parse should throw exception on malformed yaml`() { - val malformedYamlInput = yamlInput.replace("{", "") - assertThrows { - TaintYamlParser.parse(malformedYamlInput) - } - } - - @Test - fun `parse should throw exception on incorrect yaml`() { - val incorrectYamlInput = yamlInput.replace(k_not, "net") - assertThrows { - TaintYamlParser.parse(incorrectYamlInput) - } - } - - // test data - - private val yamlInput = """ - $k_sources: - - java.lang.System.getenv: - $k_signature: [ ${k_lt}java.lang.String$k_gt ] - $k_addTo: $k_return - $k_marks: environment - - $k_passes: - - java.lang.String: - - concat: - $k_conditions: - $k_this: { $k_not: "" } - $k_getFrom: $k_this - $k_addTo: $k_return - $k_marks: sensitive-data - - concat: - $k_conditions: - ${k_arg}1: { $k_not: "" } - $k_getFrom: ${k_arg}1 - $k_addTo: $k_return - $k_marks: sensitive-data - - $k_cleaners: - - java.lang.String.isEmpty: - $k_conditions: - $k_return: true - $k_removeFrom: $k_this - $k_marks: [ sql-injection, xss ] - - $k_sinks: - - org.example.util.unsafe: - $k_signature: [ $k__, ${k_lt}java.lang.Integer$k_gt ] - $k_conditions: - ${k_arg}2: 0 - $k_check: ${k_arg}2 - $k_marks: environment - """.trimIndent() - - private val expectedConfiguration = YamlTaintConfiguration( - sources = listOf( - YamlTaintSource( - methodFqn = YamlMethodFqn(listOf("java", "lang"), "System", "getenv"), - addTo = YamlTaintEntitiesSet(setOf(YamlTaintEntityReturn)), - marks = YamlTaintMarksSet(setOf(YamlTaintMark("environment"))), - signature = YamlTaintSignatureList(listOf(YamlArgumentTypeString("java.lang.String"))), - conditions = YamlNoTaintConditions - ) - ), - passes = listOf( - YamlTaintPass( - methodFqn = YamlMethodFqn(listOf("java", "lang"), "String", "concat"), - getFrom = YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), - addTo = YamlTaintEntitiesSet(setOf(YamlTaintEntityReturn)), - marks = YamlTaintMarksSet(setOf(YamlTaintMark("sensitive-data"))), - signature = YamlTaintSignatureAny, - conditions = YamlTaintConditionsMap( - mapOf( - YamlTaintEntityThis to YamlTaintConditionNot( - YamlTaintConditionEqualValue(YamlArgumentValueString("")) - ) - ) - ) - ), - YamlTaintPass( - methodFqn = YamlMethodFqn(listOf("java", "lang"), "String", "concat"), - getFrom = YamlTaintEntitiesSet(setOf(YamlTaintEntityArgument(1u))), - addTo = YamlTaintEntitiesSet(setOf(YamlTaintEntityReturn)), - marks = YamlTaintMarksSet(setOf(YamlTaintMark("sensitive-data"))), - signature = YamlTaintSignatureAny, - conditions = YamlTaintConditionsMap( - mapOf( - YamlTaintEntityArgument(1u) to YamlTaintConditionNot( - YamlTaintConditionEqualValue(YamlArgumentValueString("")) - ) - ) - ) - ) - ), - cleaners = listOf( - YamlTaintCleaner( - methodFqn = YamlMethodFqn(listOf("java", "lang"), "String", "isEmpty"), - removeFrom = YamlTaintEntitiesSet(setOf(YamlTaintEntityThis)), - marks = YamlTaintMarksSet(setOf(YamlTaintMark("sql-injection"), YamlTaintMark("xss"))), - signature = YamlTaintSignatureAny, - conditions = YamlTaintConditionsMap( - mapOf( - YamlTaintEntityReturn to YamlTaintConditionEqualValue( - YamlArgumentValueBoolean(true) - ) - ) - ) - ) - ), - sinks = listOf( - YamlTaintSink( - methodFqn = YamlMethodFqn(listOf("org", "example"), "util", "unsafe"), - check = YamlTaintEntitiesSet(setOf(YamlTaintEntityArgument(2u))), - marks = YamlTaintMarksSet(setOf(YamlTaintMark("environment"))), - signature = YamlTaintSignatureList( - argumentTypes = listOf( - YamlArgumentTypeAny, - YamlArgumentTypeString("java.lang.Integer") - ) - ), - conditions = YamlTaintConditionsMap( - mapOf( - YamlTaintEntityArgument(2u) to YamlTaintConditionEqualValue( - YamlArgumentValueLong(0L) - ) - ) - ) - ) - ) - ) -} \ No newline at end of file diff --git a/utbot-framework-test/src/test/resources/junit-platform.properties b/utbot-framework-test/src/test/resources/junit-platform.properties deleted file mode 100644 index b059a65d..00000000 --- a/utbot-framework-test/src/test/resources/junit-platform.properties +++ /dev/null @@ -1 +0,0 @@ -junit.jupiter.extensions.autodetection.enabled=true \ No newline at end of file diff --git a/utbot-framework-test/src/test/resources/log4j2.xml b/utbot-framework-test/src/test/resources/log4j2.xml deleted file mode 100644 index ac3d2f2a..00000000 --- a/utbot-framework-test/src/test/resources/log4j2.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-framework-test/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/utbot-framework-test/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker deleted file mode 100644 index ca6ee9ce..00000000 --- a/utbot-framework-test/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +++ /dev/null @@ -1 +0,0 @@ -mock-maker-inline \ No newline at end of file diff --git a/utbot-framework-test/src/test/resources/services/org.junit.jupiter.api.extension.Extension b/utbot-framework-test/src/test/resources/services/org.junit.jupiter.api.extension.Extension deleted file mode 100644 index 3885d457..00000000 --- a/utbot-framework-test/src/test/resources/services/org.junit.jupiter.api.extension.Extension +++ /dev/null @@ -1 +0,0 @@ -org.utbot.framework.JUnitSetup \ No newline at end of file diff --git a/utbot-framework/build.gradle b/utbot-framework/build.gradle index 1d79027b..968b38f2 100644 --- a/utbot-framework/build.gradle +++ b/utbot-framework/build.gradle @@ -9,18 +9,16 @@ configurations { dependencies { - api project(':utbot-java-fuzzing') - api project(':utbot-instrumentation') - api project(':utbot-summary') +// api project(':utbot-java-fuzzing') +// api project(':utbot-instrumentation') +// api project(':utbot-summary') api project(':utbot-framework-api') api project(':utbot-rd') implementation group: 'com.jetbrains.rd', name: 'rd-framework', version: rdVersion implementation group: 'com.jetbrains.rd', name: 'rd-core', version: rdVersion - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude group:'com.google.guava', module:'guava' - } + implementation("org.soot-oss:soot:${sootVersion}") implementation group: 'com.google.guava', name: 'guava', version: guavaVersion implementation group: 'com.esotericsoftware.kryo', name: 'kryo5', version: kryoVersion // this is necessary for serialization of some collections @@ -45,14 +43,14 @@ dependencies { implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-core', version: ksmtVersion implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-z3', version: ksmtVersion - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') +// fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') - implementation project(':utbot-spring-commons-api') - implementation project(':utbot-spring-analyzer') +// implementation project(':utbot-spring-commons-api') +// implementation project(':utbot-spring-analyzer') - if (projectType == springEdition || projectType==ultimateEdition) { - fetchSpringAnalyzerJar project(path: ':utbot-spring-analyzer', configuration: 'springAnalyzerJar') - } +// if (projectType == springEdition || projectType==ultimateEdition) { +// fetchSpringAnalyzerJar project(path: ':utbot-spring-analyzer', configuration: 'springAnalyzerJar') +// } } processResources { diff --git a/utbot-framework/src/main/kotlin/org/utbot/analytics/AnalyticsConfigureUtil.kt b/utbot-framework/src/main/kotlin/org/utbot/analytics/AnalyticsConfigureUtil.kt index 82c74e88..ad2463f3 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/analytics/AnalyticsConfigureUtil.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/analytics/AnalyticsConfigureUtil.kt @@ -1,10 +1,10 @@ package org.utbot.analytics -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.framework.PathSelectorType import org.utbot.framework.UtSettings -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} object AnalyticsConfigureUtil { /** diff --git a/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt b/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt index 75e319a9..1b6b9b64 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/engine/Traverser.kt @@ -7,10 +7,9 @@ import kotlinx.collections.immutable.persistentSetOf import kotlinx.collections.immutable.toPersistentList import kotlinx.collections.immutable.toPersistentMap import kotlinx.collections.immutable.toPersistentSet -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.framework.plugin.api.ArtificialError import org.utbot.framework.plugin.api.OverflowDetectionError -import org.utbot.framework.plugin.api.TaintAnalysisError import org.utbot.common.WorkaroundReason.HACK import org.utbot.framework.UtSettings.ignoreStaticsFromTrustedLibraries import org.utbot.common.WorkaroundReason.IGNORE_STATICS_FROM_TRUSTED_LIBRARIES @@ -132,7 +131,6 @@ import org.utbot.framework.plugin.api.isAbstractType import org.utbot.framework.plugin.api.util.* import org.utbot.framework.util.executableId import org.utbot.framework.util.graph -import org.utbot.summary.ast.declaredClassName import org.utbot.framework.util.sootMethodOrNull import org.utbot.taint.TaintContext import org.utbot.taint.model.* @@ -231,7 +229,7 @@ import java.lang.reflect.TypeVariable import java.lang.reflect.WildcardType private val CAUGHT_EXCEPTION = LocalVariable("@caughtexception") -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} class Traverser( private val methodUnderTest: ExecutableId, @@ -243,7 +241,6 @@ class Traverser( private val mocker: Mocker, private val typeReplacer: TypeReplacer, private val nonNullSpeculator: NonNullSpeculator, - private val taintContext: TaintContext, ) : UtContextInitializer() { private val visitedStmts: MutableSet = mutableSetOf() @@ -824,11 +821,6 @@ class Traverser( } rightPartWrappedAsMethodResults.forEach { methodResult -> - val taintAnalysisUpdate = if (UtSettings.useTaintAnalysis && rightValue is InvokeExpr) { - processTaintAnalysis(rightValue, methodResult) - } else { - SymbolicStateUpdate() - } when (methodResult.symbolicResult) { @@ -837,7 +829,7 @@ class Traverser( val nextState = createExceptionStateQueued( methodResult.symbolicResult, - methodResult.symbolicStateUpdate + taintAnalysisUpdate + methodResult.symbolicStateUpdate ) globalGraph.registerImplicitEdge(nextState.lastEdge!!) offerState(nextState) @@ -851,7 +843,7 @@ class Traverser( offerState( updateQueued( globalGraph.succ(current), - update + methodResult.symbolicStateUpdate + taintAnalysisUpdate + update + methodResult.symbolicStateUpdate ) ) } @@ -2588,14 +2580,8 @@ class Traverser( private fun TraversalContext.invokeResult(invokeExpr: InvokeExpr): List = environment.state.methodResult?.let { methodResult -> - val taintUpdate = if (UtSettings.useTaintAnalysis) { - processTaintAnalysis(invokeExpr, methodResult) - } else { - SymbolicStateUpdate() - } - listOf( - methodResult.copy(symbolicStateUpdate = methodResult.symbolicStateUpdate + taintUpdate) + methodResult.copy(symbolicStateUpdate = methodResult.symbolicStateUpdate) ) } ?: when (invokeExpr) { is JStaticInvokeExpr -> staticInvoke(invokeExpr) @@ -2703,10 +2689,6 @@ class Traverser( private fun TraversalContext.staticInvoke(invokeExpr: JStaticInvokeExpr): List { val parameters = resolveParameters(invokeExpr.args, invokeExpr.method.parameterTypes) - if (UtSettings.useTaintAnalysis) { - processTaintSink(SymbolicMethodData(invokeExpr.method.executableId, base = null, args = parameters, result = null)) - } - val result = mockMakeSymbolic(invokeExpr) ?: mockStaticMethod(invokeExpr.method, parameters) if (result != null) return result @@ -2736,10 +2718,6 @@ class Traverser( val method = methodRef.resolve() val resolvedParameters = resolveParameters(parameters, method.parameterTypes) - if (UtSettings.useTaintAnalysis) { - processTaintSink(SymbolicMethodData(method.executableId, instance, resolvedParameters, result = null)) - } - val invocation = Invocation(instance, method, resolvedParameters) { when (instance) { is ObjectValue -> findInvocationTargets(instance, methodRef.subSignature.string) @@ -2909,10 +2887,6 @@ class Traverser( val method = invokeExpr.retrieveMethod() val parameters = resolveParameters(invokeExpr.args, method.parameterTypes) - if (UtSettings.useTaintAnalysis) { - processTaintSink(SymbolicMethodData(method.executableId, instance, parameters, result = null)) - } - val invocation = Invocation(instance, method, parameters, InvocationTarget(instance, method)) // Calls with super syntax are represented by invokeSpecial instruction, but we don't support them in wrappers @@ -3121,7 +3095,7 @@ class Traverser( if (UtSettings.treatAbsentMethodsAsUnboundedValue) { listOf(unboundedVariable("methodWithoutBodyResult", method = this)) } else { - error("Cannot retrieve body for a $declaredClassName.$name method") + error("Cannot retrieve body for a method") } } } @@ -4184,141 +4158,4 @@ class Traverser( private fun pop(methodResultWithUpdates: MethodResult): ExecutionState { return environment.state.pop(methodResultWithUpdates) } - - // taint analysis - - private fun TraversalContext.resolveMethodId( - invokeExpr: InvokeExpr, - methodResult: MethodResult - ): SymbolicMethodData { - val methodId = invokeExpr.method.executableId - // The method not in soot for some reasons. - // For example, it is synthetic and so it should not be processed in taint analysis. - val sootMethod = methodId.sootMethodOrNull ?: return SymbolicMethodData.constructInvalid(methodId) - - val symbolicBase = invokeExpr.baseOrNull()?.let { resolve(it, sootMethod.declaringClass.type) } - val symbolicArgs = resolveParameters(invokeExpr.args, sootMethod.parameterTypes) - val symbolicResult = (methodResult.symbolicResult as? SymbolicSuccess)?.value - - return SymbolicMethodData(methodId, symbolicBase, symbolicArgs, symbolicResult) - } - - private fun TraversalContext.processTaintAnalysis( - invokeExpr: InvokeExpr, - methodResult: MethodResult - ): SymbolicStateUpdate { - var result = SymbolicStateUpdate() - - val methodData = resolveMethodId(invokeExpr, methodResult) - result += processTaintSource(methodData) - result += processTaintCleaner(methodData) - result += processTaintPass(methodData) - - return result - } - - private fun processTaintSource(methodData: SymbolicMethodData): SymbolicStateUpdate { - val sourceConfigurations = taintContext.configuration.getSourcesBy(methodData.methodId) - val symbolicStateUpdates = sourceConfigurations.flatMap { source -> - val allAddresses = source.addTo.entities.mapNotNull { entity -> - methodData.choose(entity)?.addrOrNull - } - val condition = source.condition.toBoolExpr(this@Traverser, methodData) - - allAddresses.map { addr -> - taintContext.markManager.setMarks(memory, addr, source.marks, condition) - } - } - - return symbolicStateUpdates.fold(SymbolicStateUpdate()) { acc, update -> acc + update } - } - - private fun processTaintCleaner(methodData: SymbolicMethodData): SymbolicStateUpdate { - val cleanerConfigurations = taintContext.configuration.getCleanersBy(methodData.methodId) - val symbolicStateUpdates = cleanerConfigurations.flatMap { cleaner -> - val allAddresses = cleaner.removeFrom.entities.mapNotNull { entity -> - methodData.choose(entity)?.addrOrNull - } - val condition = cleaner.condition.toBoolExpr(this@Traverser, methodData) - - allAddresses.map { addr -> - taintContext.markManager.clearMarks(memory, addr, cleaner.marks, condition) - } - } - - return symbolicStateUpdates.fold(SymbolicStateUpdate()) { acc, update -> acc + update } - } - - private fun processTaintPass(methodData: SymbolicMethodData): SymbolicStateUpdate { - val passConfigurations = taintContext.configuration.getPassesBy(methodData.methodId) - val symbolicStateUpdates = passConfigurations.flatMap { pass -> - val getFromAddresses = pass.getFrom.entities.mapNotNull { entity -> - methodData.choose(entity)?.addrOrNull - } - val addToAddresses = pass.addTo.entities.mapNotNull { entity -> - methodData.choose(entity)?.addrOrNull - } - val condition = pass.condition.toBoolExpr(this@Traverser, methodData) - - getFromAddresses.flatMap { fromAddr -> - addToAddresses.map { toAddr -> - taintContext.markManager.passMarks(memory, fromAddr, toAddr, pass.marks, condition) - } - } - } - - return symbolicStateUpdates.fold(SymbolicStateUpdate()) { acc, update -> acc + update } - } - - private fun TraversalContext.processTaintSink(methodData: SymbolicMethodData) { - val sinkConfigurations = taintContext.configuration.getSinksBy(methodData.methodId) - sinkConfigurations.forEach { sink -> - val condition = sink.condition.toBoolExpr(this@Traverser, methodData) - sink.check.entities.forEach { entity -> - implicitlyThrowTaintError(methodData, entity, sink.marks, condition) - } - } - } - - private fun TraversalContext.implicitlyThrowTaintError( - methodData: SymbolicMethodData, - entity: TaintEntity, - marks: TaintMarks, - condition: UtBoolExpression, - ) { - val symbolicEntity = methodData.choose(entity) ?: return - val entityAddr = symbolicEntity.addrOrNull ?: return - - val methodName = methodData.methodId.simpleNameWithClass - val taintedVarType = symbolicEntity.type.toQuotedString() - - when (marks) { - is TaintMarksAll -> { - val containsAnyMark = taintContext.markManager.containsAnyMark(memory, entityAddr) - implicitlyThrowException( - TaintAnalysisError(methodName, taintedVarType, "tainted"), - setOf(mkAnd(containsAnyMark, condition)) - ) - } - is TaintMarksSet -> { - if (UtSettings.throwTaintErrorForEachMarkSeparately) { - marks.marks.forEach { mark -> - val containsMark = taintContext.markManager.containsMark(memory, entityAddr, mark) - implicitlyThrowException( - TaintAnalysisError(methodName, taintedVarType, mark.name), - setOf(mkAnd(containsMark, condition)) - ) - } - } else { - val containsAnySpecifiedMark = marks.marks.map { mark -> - taintContext.markManager.containsMark(memory, entityAddr, mark) - } - implicitlyThrowException( - TaintAnalysisError(methodName, taintedVarType, "tainted"), - setOf(mkAnd(mkOr(containsAnySpecifiedMark), condition)) - ) - } - } - } - } } \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt b/utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt index 89d7ea8a..df9dffd3 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/engine/UtBotSymbolicEngine.kt @@ -3,7 +3,7 @@ package org.utbot.engine import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.* import kotlinx.coroutines.flow.* -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.analytics.EngineAnalyticsContext import org.utbot.analytics.FeatureProcessor import org.utbot.analytics.Predictors @@ -33,32 +33,21 @@ import org.utbot.framework.UtSettings.pathSelectorType import org.utbot.framework.UtSettings.processUnknownStatesDuringConcreteExecution import org.utbot.framework.UtSettings.useDebugVisualization import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.context.ConcreteExecutionContext import org.utbot.framework.plugin.api.* import org.utbot.framework.plugin.api.Step import org.utbot.framework.plugin.api.util.* -import org.utbot.framework.util.calculateSize -import org.utbot.framework.util.convertToAssemble +//import org.utbot.framework.util.calculateSize +//import org.utbot.framework.util.convertToAssemble import org.utbot.framework.util.graph import org.utbot.framework.util.sootMethod -import org.utbot.fuzzer.* -import org.utbot.fuzzing.* -import org.utbot.fuzzing.utils.Trie -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionData -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.taint.* -import org.utbot.taint.model.TaintConfiguration import soot.jimple.Stmt import soot.tagkit.ParamNamesTag import java.lang.reflect.Method import java.util.function.Consumer -import kotlin.math.min import kotlin.system.measureTimeMillis -private val logger = KotlinLogging.logger {} -val pathLogger = KotlinLogging.logger(logger.name + ".path") +private val logger = UtLogging.logger {} +val pathLogger = UtLogging.logger(logger.name + ".path") //in future we should put all timeouts here class EngineController { @@ -71,8 +60,6 @@ class EngineController { //for debugging purpose only private var stateSelectedCount = 0 -private val defaultIdGenerator = ReferencePreservingIntIdGenerator() - private fun pathSelector(graph: InterProceduralUnitGraph, typeRegistry: TypeRegistry) = when (pathSelectorType) { PathSelectorType.COVERED_NEW_SELECTOR -> coveredNewSelector(graph) { @@ -115,8 +102,6 @@ class UtBotSymbolicEngine( val mockStrategy: MockStrategy = NO_MOCKS, chosenClassesToMockAlways: Set, val applicationContext: ApplicationContext, - val concreteExecutionContext: ConcreteExecutionContext, - userTaintConfigurationProvider: TaintConfigurationProvider? = null, private val solverTimeoutInMillis: Int = checkSolverTimeoutMillis, ) : UtContextInitializer() { @@ -163,26 +148,6 @@ class UtBotSymbolicEngine( private val statesForConcreteExecution: MutableList = mutableListOf() - private val taintConfigurationProvider = if (UtSettings.useTaintAnalysis) { - TaintConfigurationProviderCombiner( - listOf( - userTaintConfigurationProvider ?: TaintConfigurationProviderEmpty, - TaintConfigurationProviderCached("resources", TaintConfigurationProviderResources()) - ) - ) - } else { - TaintConfigurationProviderEmpty - } - private val taintConfiguration: TaintConfiguration = run { - val config = taintConfigurationProvider.getConfiguration() - logger.debug { "Taint analysis configuration: $config" } - config - } - - private val taintMarkRegistry: TaintMarkRegistry = TaintMarkRegistry() - private val taintMarkManager: TaintMarkManager = TaintMarkManager(taintMarkRegistry) - private val taintContext: TaintContext = TaintContext(taintMarkManager, taintConfiguration) - private val traverser = Traverser( methodUnderTest, typeRegistry, @@ -192,17 +157,16 @@ class UtBotSymbolicEngine( mocker, applicationContext.typeReplacer, applicationContext.nonNullSpeculator, - taintContext, ) //HACK (long strings) internal var softMaxArraySize = 40 - private val concreteExecutor = - ConcreteExecutor( - concreteExecutionContext.instrumentationFactory, - classpath, - ).apply { this.classLoader = utContext.classLoader } +// private val concreteExecutor = +// ConcreteExecutor( +// concreteExecutionContext.instrumentationFactory, +// classpath, +// ).apply { this.classLoader = utContext.classLoader } private val featureProcessor: FeatureProcessor? = if (enableFeatureProcess) EngineAnalyticsContext.featureProcessorFactory(globalGraph) else null @@ -311,38 +275,38 @@ class UtBotSymbolicEngine( val (modelsBefore, _, instrumentation) = resolver.resolveModels(resolvedParameters) val stateBefore = modelsBefore.constructStateForMethod(methodUnderTest) - try { - val concreteExecutionResult = - concreteExecutor.executeConcretely(methodUnderTest, stateBefore, instrumentation, UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis) - - if (failureCanBeProcessedGracefully(concreteExecutionResult, executionToRollbackOn = null)) { - return@measureTime - } - - if (concreteExecutionResult.violatesUtMockAssumption()) { - logger.debug { "Generated test case violates the UtMock assumption: $concreteExecutionResult" } - return@measureTime - } - - val concreteUtExecution = UtSymbolicExecution( - stateBefore, - concreteExecutionResult.stateAfter, - concreteExecutionResult.result, - concreteExecutionResult.newInstrumentation ?: instrumentation, - mutableListOf(), - listOf(), - concreteExecutionResult.coverage - ) - emit(concreteUtExecution) - - logger.debug { "concolicStrategy<${methodUnderTest}>: returned $concreteUtExecution" } - } catch (e: CancellationException) { - logger.debug(e) { "Cancellation happened" } - } catch (e: InstrumentedProcessDeathException) { - emitFailedConcreteExecutionResult(stateBefore, e) - } catch (e: Throwable) { - emit(UtError("Concrete execution failed", e)) - } +// try { +// val concreteExecutionResult = +// concreteExecutor.executeConcretely(methodUnderTest, stateBefore, instrumentation, UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis) +// +// if (failureCanBeProcessedGracefully(concreteExecutionResult, executionToRollbackOn = null)) { +// return@measureTime +// } +// +// if (concreteExecutionResult.violatesUtMockAssumption()) { +// logger.debug { "Generated test case violates the UtMock assumption: $concreteExecutionResult" } +// return@measureTime +// } +// +// val concreteUtExecution = UtSymbolicExecution( +// stateBefore, +// concreteExecutionResult.stateAfter, +// concreteExecutionResult.result, +// concreteExecutionResult.newInstrumentation ?: instrumentation, +// mutableListOf(), +// listOf(), +// concreteExecutionResult.coverage +// ) +// emit(concreteUtExecution) +// +// logger.debug { "concolicStrategy<${methodUnderTest}>: returned $concreteUtExecution" } +// } catch (e: CancellationException) { +// logger.debug(e) { "Cancellation happened" } +// } catch (e: InstrumentedProcessDeathException) { +// emitFailedConcreteExecutionResult(stateBefore, e) +// } catch (e: Throwable) { +// emit(UtError("Concrete execution failed", e)) +// } } // I am not sure this part works correctly when concrete execution is enabled. @@ -418,134 +382,6 @@ class UtBotSymbolicEngine( } } - - /** - * Run fuzzing flow. - * - * @param until is used by fuzzer to cancel all tasks if the current time is over this value - * @param transform provides model values for a method - */ - fun fuzzing(until: Long = Long.MAX_VALUE, transform: (JavaValueProvider) -> JavaValueProvider = { it }) = flow { - val isFuzzable = methodUnderTest.parameters.all { classId -> - classId != Method::class.java.id && // causes the instrumented process crash at invocation - classId != Class::class.java.id // causes java.lang.IllegalAccessException: java.lang.Class at sun.misc.Unsafe.allocateInstance(Native Method) - } - if (!isFuzzable) { - return@flow - } - val errorStackTraceTracker = Trie(StackTraceElement::toString) - var attempts = 0 - val attemptsLimit = UtSettings.fuzzingMaxAttempts - val names = graph.body.method.tags.filterIsInstance().firstOrNull()?.names ?: emptyList() - var testEmittedByFuzzer = 0 - - val valueProviders = try { - concreteExecutionContext.tryCreateValueProvider(concreteExecutor, classUnderTest, defaultIdGenerator) - } catch (e: Exception) { - emit(UtError(e.message ?: "Failed to create ValueProvider", e)) - return@flow - }.let(transform) - - val coverageToMinStateBeforeSize = mutableMapOf, Int>() - - runJavaFuzzing( - defaultIdGenerator, - methodUnderTest, - constants = collectConstantsForFuzzer(graph), - names = names, - providers = listOf(valueProviders), - ) { thisInstance, descr, values -> - val diff = until - System.currentTimeMillis() - val thresholdMillisForFuzzingOperation = 0 // may be better use 10-20 millis as it might not be possible - // to concretely execute that values because request to instrumentation process involves - // 1. serializing/deserializing it with kryo - // 2. sending over rd - // 3. concrete execution itself - // 4. analyzing concrete result - if (controller.job?.isActive == false || diff <= thresholdMillisForFuzzingOperation) { - logger.info { "Fuzzing overtime: $methodUnderTest" } - logger.info { "Test created by fuzzer: $testEmittedByFuzzer" } - return@runJavaFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.STOP) - } - - if (thisInstance?.model is UtNullModel) { - // We should not try to run concretely any models with null-this. - // But fuzzer does generate such values, because it can fail to generate any "good" values. - return@runJavaFuzzing BaseFeedback(Trie.emptyNode(), Control.PASS) - } - - val stateBefore = EnvironmentModels(thisInstance?.model, values.map { it.model }, mapOf()) - - val concreteExecutionResult: UtConcreteExecutionResult? = try { - val timeoutMillis = min(UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis, diff) - concreteExecutor.executeConcretely(methodUnderTest, stateBefore, listOf(), timeoutMillis) - } catch (e: CancellationException) { - logger.debug { "Cancelled by timeout" }; null - } catch (e: InstrumentedProcessDeathException) { - emitFailedConcreteExecutionResult(stateBefore, e); null - } catch (e: Throwable) { - emit(UtError("Default concrete execution failed", e)); null - } - - // in case an exception occurred from the concrete execution - concreteExecutionResult ?: return@runJavaFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - - // in case of processed failure in the concrete execution - concreteExecutionResult.processedFailure()?.let { failure -> - logger.debug { "Instrumented process failed with exception ${failure.exception} before concrete execution started" } - return@runJavaFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - } - - if (concreteExecutionResult.violatesUtMockAssumption()) { - logger.debug { "Generated test case by fuzzer violates the UtMock assumption: $concreteExecutionResult" } - return@runJavaFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - } - - val result = concreteExecutionResult.result - val coveredInstructions = concreteExecutionResult.coverage.coveredInstructions - var trieNode: Trie.Node? = null - - if (coveredInstructions.isNotEmpty()) { - trieNode = descr.tracer.add(coveredInstructions) - - val earlierStateBeforeSize = coverageToMinStateBeforeSize[trieNode] - val curStateBeforeSize = stateBefore.calculateSize() - - if (earlierStateBeforeSize == null || curStateBeforeSize < earlierStateBeforeSize) - coverageToMinStateBeforeSize[trieNode] = curStateBeforeSize - else { - if (++attempts >= attemptsLimit) { - return@runJavaFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.STOP) - } - return@runJavaFuzzing BaseFeedback(result = trieNode, control = Control.CONTINUE) - } - } else { - logger.error { "Coverage is empty for $methodUnderTest with $values" } - if (result is UtSandboxFailure) { - val stackTraceElements = result.exception.stackTrace.reversed() - if (errorStackTraceTracker.add(stackTraceElements).count > 1) { - return@runJavaFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - } - } - } - - emit( - UtFuzzedExecution( - stateBefore = stateBefore, - stateAfter = concreteExecutionResult.stateAfter, - result = concreteExecutionResult.result, - coverage = concreteExecutionResult.coverage, - fuzzingValues = values, - fuzzedMethodDescription = descr.description, - instrumentation = concreteExecutionResult.newInstrumentation ?: emptyList() - ) - ) - - testEmittedByFuzzer++ - BaseFeedback(result = trieNode ?: Trie.emptyNode(), control = Control.CONTINUE) - } - } - private suspend fun FlowCollector.emitFailedConcreteExecutionResult( stateBefore: EnvironmentModels, e: Throwable @@ -656,31 +492,31 @@ class UtBotSymbolicEngine( logger.debug().measureTime({ "processResult<$methodUnderTest>: concrete execution" } ) { //this can throw CancellationException - val concreteExecutionResult = concreteExecutor.executeConcretely( - methodUnderTest, - stateBefore, - instrumentation, - UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis - ) - - if (failureCanBeProcessedGracefully(concreteExecutionResult, symbolicUtExecution)) { - return - } - - if (concreteExecutionResult.violatesUtMockAssumption()) { - logger.debug { "Generated test case violates the UtMock assumption: $concreteExecutionResult" } - return - } - - val concolicUtExecution = symbolicUtExecution.copy( - stateAfter = concreteExecutionResult.stateAfter, - result = concreteExecutionResult.result, - coverage = concreteExecutionResult.coverage, - instrumentation = concreteExecutionResult.newInstrumentation ?: instrumentation - ) - - emit(concolicUtExecution) - logger.debug { "processResult<${methodUnderTest}>: returned $concolicUtExecution" } +// val concreteExecutionResult = concreteExecutor.executeConcretely( +// methodUnderTest, +// stateBefore, +// instrumentation, +// UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis +// ) + +// if (failureCanBeProcessedGracefully(concreteExecutionResult, symbolicUtExecution)) { +// return +// } + +// if (concreteExecutionResult.violatesUtMockAssumption()) { +// logger.debug { "Generated test case violates the UtMock assumption: $concreteExecutionResult" } +// return +// } + +// val concolicUtExecution = symbolicUtExecution.copy( +// stateAfter = concreteExecutionResult.stateAfter, +// result = concreteExecutionResult.result, +// coverage = concreteExecutionResult.coverage, +// instrumentation = concreteExecutionResult.newInstrumentation ?: instrumentation +// ) + +// emit(concolicUtExecution) +// logger.debug { "processResult<${methodUnderTest}>: returned $concolicUtExecution" } } } catch (e: InstrumentedProcessDeathException) { emitFailedConcreteExecutionResult(stateBefore, e) @@ -691,28 +527,28 @@ class UtBotSymbolicEngine( } } - private suspend fun FlowCollector.failureCanBeProcessedGracefully( - concreteExecutionResult: UtConcreteExecutionResult, - executionToRollbackOn: UtExecution?, - ): Boolean { - concreteExecutionResult.processedFailure()?.let { failure -> - // If concrete execution failed to some reasons that are not process death or cancellation - // when we call something that is processed successfully by symbolic engine, - // we should: - // - roll back to symbolic execution data ignoring failing concrete (is symbolic execution exists); - // - do not emit an execution if there is nothing to roll back on. - - // Note that this situation is suspicious anyway, so we log a WARN message about the failure. - executionToRollbackOn?.let { - emit(it) - } - - logger.warn { "Instrumented process failed with exception ${failure.exception} before concrete execution started" } - return true - } - - return false - } +// private suspend fun FlowCollector.failureCanBeProcessedGracefully( +// concreteExecutionResult: UtConcreteExecutionResult, +// executionToRollbackOn: UtExecution?, +// ): Boolean { +// concreteExecutionResult.processedFailure()?.let { failure -> +// // If concrete execution failed to some reasons that are not process death or cancellation +// // when we call something that is processed successfully by symbolic engine, +// // we should: +// // - roll back to symbolic execution data ignoring failing concrete (is symbolic execution exists); +// // - do not emit an execution if there is nothing to roll back on. +// +// // Note that this situation is suspicious anyway, so we log a WARN message about the failure. +// executionToRollbackOn?.let { +// emit(it) +// } +// +// logger.warn { "Instrumented process failed with exception ${failure.exception} before concrete execution started" } +// return true +// } +// +// return false +// } /** * Collects entry method statement path for ML. Eliminates duplicated statements, e.g. assignment with invocation @@ -775,21 +611,21 @@ private fun ResolvedModels.constructStateForMethod(methodUnderTest: ExecutableId return EnvironmentModels(thisInstanceBefore, paramsBefore, statics) } -private suspend fun ConcreteExecutor>.executeConcretely( - methodUnderTest: ExecutableId, - stateBefore: EnvironmentModels, - instrumentation: List, - timeoutInMillis: Long -): UtConcreteExecutionResult = executeAsync( - methodUnderTest.classId.name, - methodUnderTest.signature, - arrayOf(), - parameters = UtConcreteExecutionData( - stateBefore, - instrumentation, - timeoutInMillis - ) -).convertToAssemble(methodUnderTest.classId.packageName) +//private suspend fun ConcreteExecutor>.executeConcretely( +// methodUnderTest: ExecutableId, +// stateBefore: EnvironmentModels, +// instrumentation: List, +// timeoutInMillis: Long +//): UtConcreteExecutionResult = executeAsync( +// methodUnderTest.classId.name, +// methodUnderTest.signature, +// arrayOf(), +// parameters = UtConcreteExecutionData( +// stateBefore, +// instrumentation, +// timeoutInMillis +// ) +//).convertToAssemble(methodUnderTest.classId.packageName) /** * Before pushing our states for concrete execution, we have to be sure that every state is consistent. @@ -837,16 +673,16 @@ private fun makeWrapperConsistencyCheck( visitedConstraints += mkEq(visitedSelectExpression, mkInt(1)) } -private fun UtConcreteExecutionResult.violatesUtMockAssumption(): Boolean { - // We should compare FQNs instead of `if (... is UtMockAssumptionViolatedException)` - // because the exception from the `concreteExecutionResult` is loaded by user's ClassLoader, - // but the `UtMockAssumptionViolatedException` is loaded by the current ClassLoader, - // so we can't cast them to each other. - return result.exceptionOrNull()?.javaClass?.name == UtMockAssumptionViolatedException::class.java.name -} +//private fun UtConcreteExecutionResult.violatesUtMockAssumption(): Boolean { +// // We should compare FQNs instead of `if (... is UtMockAssumptionViolatedException)` +// // because the exception from the `concreteExecutionResult` is loaded by user's ClassLoader, +// // but the `UtMockAssumptionViolatedException` is loaded by the current ClassLoader, +// // so we can't cast them to each other. +// return result.exceptionOrNull()?.javaClass?.name == UtMockAssumptionViolatedException::class.java.name +//} -private fun UtConcreteExecutionResult.processedFailure(): UtConcreteExecutionProcessedFailure? - = result as? UtConcreteExecutionProcessedFailure +//private fun UtConcreteExecutionResult.processedFailure(): UtConcreteExecutionProcessedFailure? +// = result as? UtConcreteExecutionProcessedFailure private fun checkStaticMethodsMock(execution: UtSymbolicExecution) = execution.instrumentation.any { it is UtStaticMethodInstrumentation} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/engine/pc/UtSolver.kt b/utbot-framework/src/main/kotlin/org/utbot/engine/pc/UtSolver.kt index 7d98030f..7169e854 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/engine/pc/UtSolver.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/engine/pc/UtSolver.kt @@ -29,7 +29,7 @@ import com.microsoft.z3.Status.SATISFIABLE import com.microsoft.z3.Status.UNSATISFIABLE import kotlinx.collections.immutable.PersistentSet import kotlinx.collections.immutable.persistentHashSetOf -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.engine.symbolic.asAssumption import org.utbot.engine.symbolic.emptyAssumption import soot.ByteType @@ -38,7 +38,7 @@ import soot.IntType import soot.ShortType import soot.Type -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} fun mkByte(value: Byte): UtBvExpression = UtBvLiteral(value, UtByteSort) diff --git a/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/GraphViz.kt b/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/GraphViz.kt index 1cf9c38e..80572102 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/GraphViz.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/engine/selectors/strategies/GraphViz.kt @@ -1,6 +1,6 @@ package org.utbot.engine.selectors.strategies -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.FileUtil.createNewFileWithParentDirectories import org.utbot.engine.state.CALL_DECISION_NUM import org.utbot.engine.state.Edge @@ -20,7 +20,7 @@ import java.io.FileWriter import java.nio.file.Paths import org.utbot.common.FileUtil -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} class GraphViz( diff --git a/utbot-framework/src/main/kotlin/org/utbot/external/api/UnitTestBotLight.kt b/utbot-framework/src/main/kotlin/org/utbot/external/api/UnitTestBotLight.kt index 4faeef70..555ed029 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/external/api/UnitTestBotLight.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/external/api/UnitTestBotLight.kt @@ -7,7 +7,6 @@ import org.utbot.engine.UtBotSymbolicEngine import org.utbot.framework.UtSettings import org.utbot.framework.context.ApplicationContext import org.utbot.framework.context.simple.SimpleApplicationContext -import org.utbot.framework.context.simple.SimpleConcreteExecutionContext import org.utbot.framework.context.simple.SimpleMockerContext import org.utbot.framework.plugin.api.ClassId import org.utbot.framework.plugin.api.ExecutableId @@ -17,7 +16,7 @@ import org.utbot.framework.plugin.api.util.executableId import org.utbot.framework.plugin.api.util.withUtContext import org.utbot.framework.plugin.services.JdkInfoDefaultProvider import org.utbot.framework.util.SootUtils.runSoot -import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation +//import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation import java.io.File import java.nio.file.Paths @@ -52,7 +51,7 @@ object UnitTestBotLight { mockFrameworkInstalled = true, staticsMockingIsConfigured = true )), - concreteExecutionContext = SimpleConcreteExecutionContext(classpath), + /*concreteExecutionContext = SimpleConcreteExecutionContext(classpath),*/ solverTimeoutInMillis = UtSettings.checkSolverTimeoutMillis ) @@ -85,7 +84,7 @@ object UnitTestBotLight { mockFrameworkInstalled = true, staticsMockingIsConfigured = true )), - SimpleConcreteExecutionContext(classpath) + /*SimpleConcreteExecutionContext(classpath)*/ ).addListener(stateListener).traverseAll() } } diff --git a/utbot-framework/src/main/kotlin/org/utbot/external/api/UtBotJavaApi.kt b/utbot-framework/src/main/kotlin/org/utbot/external/api/UtBotJavaApi.kt deleted file mode 100644 index 2168d674..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/external/api/UtBotJavaApi.kt +++ /dev/null @@ -1,269 +0,0 @@ -package org.utbot.external.api - -import org.utbot.common.FileUtil -import org.utbot.common.nameOfPackage -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.generator.CodeGenerator -import org.utbot.framework.codegen.generator.CodeGeneratorParams -import org.utbot.framework.codegen.services.language.CgLanguageAssistant -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionData -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.TestCaseGenerator -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.isPrimitive -import org.utbot.framework.plugin.api.util.isPrimitiveWrapper -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.primitiveByWrapper -import org.utbot.framework.plugin.api.util.stringClassId -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.plugin.api.util.wrapperByPrimitive -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzing.FuzzedDescription -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.execution.SimpleUtExecutionInstrumentation -import java.io.File -import kotlin.reflect.jvm.kotlinFunction - -object UtBotJavaApi { - - @JvmStatic - var stopConcreteExecutorOnExit: Boolean = true - - @JvmStatic - @JvmOverloads - fun generate( - methodsForGeneration: List, - generatedTestCases: List = mutableListOf(), - destinationClassName: String, - classpath: String, - dependencyClassPath: String, - classUnderTest: Class<*>, - projectType: ProjectType = ProjectType.PureJvm, - testFramework: TestFramework = Junit5, - mockFramework: MockFramework = MockFramework.MOCKITO, - codegenLanguage: CodegenLanguage = CodegenLanguage.JAVA, - staticsMocking: StaticsMocking = NoStaticMocking, - generateWarningsForStaticMocking: Boolean = false, - forceStaticMocking: ForceStaticMocking = ForceStaticMocking.DO_NOT_FORCE, - testClassPackageName: String = classUnderTest.nameOfPackage - ): String { - - val utContext = UtContext(classUnderTest.classLoader) - - val testSets: MutableList = generatedTestCases.toMutableList() - - val concreteExecutor = ConcreteExecutor( - SimpleUtExecutionInstrumentation.Factory(pathsToUserClasses = classpath.split(File.pathSeparator).toSet()), - classpath, - ) - - testSets.addAll(generateUnitTests(concreteExecutor, methodsForGeneration, classUnderTest)) - - if (stopConcreteExecutorOnExit) { - concreteExecutor.close() - } - - return withUtContext(utContext) { - val codeGenerator = CodeGenerator( - CodeGeneratorParams( - classUnderTest = classUnderTest.id, - projectType = projectType, - testFramework = testFramework, - mockFramework = mockFramework, - codegenLanguage = codegenLanguage, - cgLanguageAssistant = CgLanguageAssistant.getByCodegenLanguage(codegenLanguage), - staticsMocking = staticsMocking, - forceStaticMocking = forceStaticMocking, - generateWarningsForStaticMocking = generateWarningsForStaticMocking, - testClassPackageName = testClassPackageName - ) - ) - - codeGenerator.generateAsString(testSets, destinationClassName) - } - } - - /** - * Generates test sets using default workflow. - * - * @see [fuzzingTestSets] - */ - @JvmStatic - @JvmOverloads - fun generateTestSets( - methodsForAutomaticGeneration: List, - classUnderTest: Class<*>, - classpath: String, - dependencyClassPath: String, - mockStrategyApi: MockStrategyApi = MockStrategyApi.OTHER_PACKAGES, - generationTimeoutInMillis: Long = UtSettings.utBotGenerationTimeoutInMillis - ): MutableList { - - val utContext = UtContext(classUnderTest.classLoader) - val testSets: MutableList = mutableListOf() - - testSets.addAll(withUtContext(utContext) { - val buildPath = FileUtil.isolateClassFiles(classUnderTest).toPath() - TestCaseGenerator(listOf(buildPath), classpath, dependencyClassPath, jdkInfo = JdkInfoDefaultProvider().info) - .generate( - methodsForAutomaticGeneration.map { - it.methodToBeTestedFromUserInput.executableId - }, - mockStrategyApi, - chosenClassesToMockAlways = emptySet(), - generationTimeoutInMillis - ) - }) - - return testSets - } - - /** - * Generates test cases using only fuzzing workflow. - * - * @see [generateTestSets] - */ - @JvmStatic - @JvmOverloads - fun fuzzingTestSets( - methodsForAutomaticGeneration: List, - classUnderTest: Class<*>, - classpath: String, - dependencyClassPath: String, - mockStrategyApi: MockStrategyApi = MockStrategyApi.OTHER_PACKAGES, - generationTimeoutInMillis: Long = UtSettings.utBotGenerationTimeoutInMillis, - primitiveValuesSupplier: CustomFuzzerValueSupplier = CustomFuzzerValueSupplier { null } - ): MutableList { - fun createPrimitiveModels(supplier: CustomFuzzerValueSupplier, classId: ClassId): Sequence = - supplier - .takeIf { classId.isPrimitive || classId.isPrimitiveWrapper || classId == stringClassId } - ?.get(classId.jClass) - ?.asSequence() - ?.filter { - val valueClassId = it.javaClass.id - when { - classId == valueClassId -> true - classId.isPrimitive -> wrapperByPrimitive[classId] == valueClassId - classId.isPrimitiveWrapper -> primitiveByWrapper[classId] == valueClassId - else -> false - } - } - ?.map { UtPrimitiveModel(it) } ?: emptySequence() - - val customModelProvider = ValueProvider { _, type -> - sequence { - createPrimitiveModels(primitiveValuesSupplier, type.classId).forEach { model -> - yield(Seed.Simple(FuzzedValue(model))) - } - } - } - - return withUtContext(UtContext(classUnderTest.classLoader)) { - val buildPath = FileUtil.isolateClassFiles(classUnderTest).toPath() - TestCaseGenerator(listOf(buildPath), classpath, dependencyClassPath, jdkInfo = JdkInfoDefaultProvider().info) - .generate( - methodsForAutomaticGeneration.map { - it.methodToBeTestedFromUserInput.executableId - }, - mockStrategyApi, - chosenClassesToMockAlways = emptySet(), - generationTimeoutInMillis, - generate = { symbolicEngine -> - symbolicEngine.fuzzing { defaultModelProvider -> - customModelProvider.withFallback(defaultModelProvider) - } - } - ) - }.toMutableList() - } - - private fun generateUnitTests( - concreteExecutor: ConcreteExecutor, - testMethods: List, - containingClass: Class<*> - ) = testMethods.map { testInfo -> - - val methodTobeTested = testInfo.methodToBeTestedFromUserInput - - if (containingClass !== methodTobeTested.declaringClass) { - throw IllegalArgumentException( - "Method ${methodTobeTested.name}" + - " is not in the class ${containingClass.canonicalName} it is " + - " in ${methodTobeTested.declaringClass.canonicalName}" - ) - } - - val methodCallable = methodTobeTested?.kotlinFunction - - if (methodCallable === null) { - throw IllegalArgumentException( - "Method " + methodTobeTested.name + - " failed to be converted in kotlin function" - ) - } - - val utExecutionResult = if (testInfo.utResult == null) { - concreteExecutor.execute( - methodCallable, - arrayOf(), - parameters = UtConcreteExecutionData( - testInfo.initialState, - instrumentation = emptyList(), - UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis - ) - ).result - } else { - testInfo.utResult - } - - val utExecution = UtSymbolicExecution( - stateBefore = testInfo.initialState, - stateAfter = testInfo.initialState, // it seems ok for concrete execution - result = utExecutionResult, - instrumentation = emptyList(), - path = mutableListOf(), - fullPath = listOf() - ) - - UtMethodTestSet( - methodCallable.executableId, - listOf(utExecution) - ) - }.toList() -} - -/** - * Accepts type of parameter and returns collection of values for this type. - * - * Value types which can be generated: - * - * - primitive types: boolean, char, byte, short, int, long, float, double - * - primitive wrappers: Boolean, Character, Byte, Short, Integer, Long, Float, Double - * - String - * - * If null is returned instead of empty collection then default fuzzer values are produced. - */ -fun interface CustomFuzzerValueSupplier { - fun get(type: Class<*>): Collection? -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/assemble/AssembleModelGenerator.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/assemble/AssembleModelGenerator.kt index aff569ba..4312d3cf 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/assemble/AssembleModelGenerator.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/assemble/AssembleModelGenerator.kt @@ -1,6 +1,6 @@ package org.utbot.framework.assemble -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.isPrivate import org.utbot.common.isPublic import org.utbot.engine.ResolvedExecution @@ -59,7 +59,7 @@ import java.util.IdentityHashMap class AssembleModelGenerator(private val basePackageName: String) { companion object { - private val logger = KotlinLogging.logger {} + private val logger = UtLogging.logger {} } //Instantiated models are stored to avoid cyclic references during reference graph analysis diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/CgMethodTestSet.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/CgMethodTestSet.kt index 03345a4e..a7149fa2 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/CgMethodTestSet.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/domain/models/CgMethodTestSet.kt @@ -10,7 +10,6 @@ import org.utbot.framework.plugin.api.UtMethodTestSet import org.utbot.framework.plugin.api.UtSymbolicExecution import org.utbot.framework.plugin.api.util.objectClassId import org.utbot.framework.plugin.api.util.voidClassId -import org.utbot.fuzzer.UtFuzzedExecution data class CgMethodTestSet constructor( val executableId: ExecutableId, diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/AbstractCodeGenerator.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/AbstractCodeGenerator.kt index a7a05831..653df1c0 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/AbstractCodeGenerator.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/AbstractCodeGenerator.kt @@ -1,6 +1,6 @@ package org.utbot.framework.codegen.generator -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.framework.codegen.domain.context.CgContext import org.utbot.framework.codegen.domain.models.CgClassFile import org.utbot.framework.codegen.domain.models.CgMethodTestSet @@ -10,7 +10,7 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter abstract class AbstractCodeGenerator(params: CodeGeneratorParams) { - protected val logger = KotlinLogging.logger {} + protected val logger = UtLogging.logger {} open var context: CgContext = with(params) { CgContext( diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/SpringCodeGenerator.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/SpringCodeGenerator.kt deleted file mode 100644 index 937c841a..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/generator/SpringCodeGenerator.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.framework.codegen.generator - -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.models.CgMethodTestSet -import org.utbot.framework.codegen.domain.models.builders.SpringTestClassModelBuilder -import org.utbot.framework.codegen.services.language.CgLanguageAssistant -import org.utbot.framework.codegen.tree.CgSpringIntegrationTestClassConstructor -import org.utbot.framework.codegen.tree.CgSpringUnitTestClassConstructor -import org.utbot.framework.codegen.tree.CgSpringVariableConstructor -import org.utbot.framework.codegen.tree.CgVariableConstructor -import org.utbot.framework.codegen.tree.ututils.UtilClassKind -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.SpringSettings -import org.utbot.framework.plugin.api.SpringSettings.AbsentSpringSettings -import org.utbot.framework.plugin.api.SpringSettings.PresentSpringSettings -import org.utbot.framework.plugin.api.SpringTestType - -class SpringCodeGenerator( - private val springTestType: SpringTestType, - private val springSettings: SpringSettings, - private val concreteContextLoadingResult: ConcreteContextLoadingResult?, - params: CodeGeneratorParams -) : AbstractCodeGenerator( - params.copy( - cgLanguageAssistant = object : CgLanguageAssistant by params.cgLanguageAssistant { - override fun getVariableConstructorBy(context: CgContext): CgVariableConstructor = - // TODO decorate original `params.cgLanguageAssistant.getVariableConstructorBy(context)` - CgSpringVariableConstructor(context) - } - ) -) { - private val classUnderTest: ClassId = params.classUnderTest - - override fun generate(testSets: List): CodeGeneratorResult { - val testClassModel = SpringTestClassModelBuilder(context).createTestClassModel(classUnderTest, testSets) - - logger.info { "Code generation phase started at ${now()}" } - val astConstructor = when (springTestType) { - SpringTestType.UNIT_TEST -> CgSpringUnitTestClassConstructor(context) - SpringTestType.INTEGRATION_TEST -> - when (val settings = springSettings) { - is PresentSpringSettings -> CgSpringIntegrationTestClassConstructor(context, concreteContextLoadingResult, settings) - is AbsentSpringSettings -> error("No Spring settings were provided for Spring integration test generation.") - } - } - val testClassFile = astConstructor.construct(testClassModel) - logger.info { "Code generation phase finished at ${now()}" } - - val generatedCode = renderToString(testClassFile) - - return CodeGeneratorResult( - generatedCode = generatedCode, - utilClassKind = UtilClassKind.fromCgContextOrNull(context), - testsGenerationReport = astConstructor.testsGenerationReport, - ) - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/services/access/CgFieldStateManager.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/services/access/CgFieldStateManager.kt index 33fea7ed..95db7923 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/services/access/CgFieldStateManager.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/services/access/CgFieldStateManager.kt @@ -30,7 +30,6 @@ import org.utbot.framework.plugin.api.ClassId import org.utbot.framework.plugin.api.UtSymbolicExecution import org.utbot.framework.plugin.api.util.* import org.utbot.framework.util.hasThisInstance -import org.utbot.fuzzer.UtFuzzedExecution import java.lang.reflect.Array interface CgFieldStateManager { @@ -76,9 +75,6 @@ internal class CgFieldStateManagerImpl(val context: CgContext) // by now this instance variable must have already been created saveFieldsState(thisInstance, modifiedFields, statesCache.thisInstance, state) } - is UtFuzzedExecution -> { - return - } else -> { return } diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractTestClassConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractTestClassConstructor.kt index 16ef9aff..58451eb5 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractTestClassConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgAbstractTestClassConstructor.kt @@ -1,6 +1,6 @@ package org.utbot.framework.codegen.tree -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.framework.UtSettings import org.utbot.framework.codegen.domain.builtin.TestClassUtilMethodProvider import org.utbot.framework.codegen.domain.context.CgContext @@ -33,7 +33,7 @@ abstract class CgAbstractTestClassConstructor(val context: C CgStatementConstructor by CgComponents.getStatementConstructorBy(context) { companion object { - private val logger = KotlinLogging.logger {} + private val logger = UtLogging.logger {} } init { diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgMethodConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgMethodConstructor.kt index 71a54f47..6b395c4e 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgMethodConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgMethodConstructor.kt @@ -1,6 +1,6 @@ package org.utbot.framework.codegen.tree -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.WorkaroundReason import org.utbot.common.isStatic import org.utbot.common.workaround @@ -154,7 +154,6 @@ import org.utbot.framework.plugin.api.util.stringClassId import org.utbot.framework.plugin.api.util.voidClassId import org.utbot.framework.plugin.api.util.wrapIfPrimitive import org.utbot.framework.util.isUnit -import org.utbot.fuzzer.UtFuzzedExecution import java.lang.reflect.InvocationTargetException import java.lang.reflect.ParameterizedType import java.security.AccessControlException @@ -166,7 +165,7 @@ open class CgMethodConstructor(val context: CgContext) : CgContextOwner by conte CgStatementConstructor by getStatementConstructorBy(context) { companion object { - private val logger = KotlinLogging.logger {} + private val logger = UtLogging.logger {} } protected val nameGenerator = getNameGeneratorBy(context) @@ -195,7 +194,6 @@ open class CgMethodConstructor(val context: CgContext) : CgContextOwner by conte protected fun setupInstrumentation() { val instrumentation = when (val execution = currentExecution) { is UtSymbolicExecution -> execution.instrumentation - is UtFuzzedExecution -> execution.instrumentation else -> return } if (instrumentation.isEmpty()) return diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSimpleTestClassConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSimpleTestClassConstructor.kt index 49031012..727093f2 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSimpleTestClassConstructor.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSimpleTestClassConstructor.kt @@ -19,7 +19,6 @@ import org.utbot.framework.codegen.domain.models.SimpleTestClassModel import org.utbot.framework.plugin.api.UtExecutionSuccess import org.utbot.framework.plugin.api.UtSymbolicExecution import org.utbot.framework.plugin.api.util.humanReadableName -import org.utbot.fuzzer.UtFuzzedExecution /** * This test class constructor is used for pure Java/Kotlin applications. @@ -159,15 +158,6 @@ open class CgSimpleTestClassConstructor(context: CgContext): CgAbstractTestClass private fun collectFuzzerTestsForParameterizedMode(testSet: CgMethodTestSet): List { val testMethods = mutableListOf() - testSet.executions - .filterIsInstance() - .withIndex() - .forEach { (index, execution) -> - withExecutionIdScope(index) { - testMethods += methodConstructor.createTestMethod(testSet.executableId, execution) - } - } - return testMethods } diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringIntegrationTestClassConstructor.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringIntegrationTestClassConstructor.kt deleted file mode 100644 index 743f6114..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/codegen/tree/CgSpringIntegrationTestClassConstructor.kt +++ /dev/null @@ -1,197 +0,0 @@ -package org.utbot.framework.codegen.tree - -import mu.KotlinLogging -import org.utbot.common.tryLoadClass -import org.utbot.framework.codegen.domain.Junit4 -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.TestNg -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.models.* -import org.utbot.framework.codegen.domain.models.AnnotationTarget.* -import org.utbot.framework.codegen.domain.models.CgTestMethodType.FAILING -import org.utbot.framework.codegen.domain.models.CgTestMethodType.SUCCESSFUL -import org.utbot.framework.codegen.util.escapeControlChars -import org.utbot.framework.codegen.util.resolve -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.SpringSettings.* -import org.utbot.framework.plugin.api.SpringConfiguration.* -import org.utbot.framework.plugin.api.util.IndentUtil.TAB -import org.utbot.framework.plugin.api.util.SpringModelUtils.activeProfilesClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.autoConfigureTestDbClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.bootstrapWithClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.contextConfigurationClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.crudRepositoryClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.dirtiesContextClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.dirtiesContextClassModeClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.extendWithClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.runWithClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.springBootTestClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.springBootTestContextBootstrapperClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.springExtensionClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.springRunnerClassId -import org.utbot.framework.plugin.api.util.SpringModelUtils.transactionalClassId -import org.utbot.framework.plugin.api.util.utContext -import org.utbot.spring.api.UTSpringContextLoadingException - -class CgSpringIntegrationTestClassConstructor( - context: CgContext, - private val concreteContextLoadingResult: ConcreteContextLoadingResult?, - private val springSettings: PresentSpringSettings, -) : CgAbstractSpringTestClassConstructor(context) { - - private val autowiredFieldManager = CgAutowiredFieldsManager(context) - - companion object { - private val logger = KotlinLogging.logger {} - } - - override fun constructTestClass(testClassModel: SpringTestClassModel): CgClass { - addNecessarySpringSpecificAnnotations() - return super.constructTestClass(testClassModel) - } - - override fun constructClassFields(testClassModel: SpringTestClassModel): List { - val autowiredFromContextModels = - testClassModel.springSpecificInformation.autowiredFromContextModels - return constructFieldsWithAnnotation(autowiredFieldManager, autowiredFromContextModels) - } - - override fun constructAdditionalTestMethods() = - CgMethodsCluster.withoutDocs( - listOfNotNull(constructContextLoadsMethod()) - ) - - private fun constructContextLoadsMethod() : CgTestMethod { - if (concreteContextLoadingResult == null) - logger.error { "Missing contextLoadingResult" } - val exception = concreteContextLoadingResult?.exceptions?.firstOrNull() - return CgTestMethod( - name = "contextLoads", - statements = listOfNotNull( - exception?.let { e -> constructFailedContextLoadingTraceComment(e) }, - if (concreteContextLoadingResult == null) CgSingleLineComment("Error: context loading result from concrete execution is missing") else null - ), - annotations = listOf(addAnnotation(context.testFramework.testAnnotationId, Method)), - documentation = CgDocumentationComment(listOf( - CgDocRegularLineStmt("This sanity check test fails if the application context cannot start.") - ) + exception?.let { constructFailedContextLoadingDocComment() }.orEmpty()), - type = if (concreteContextLoadingResult != null && exception == null) SUCCESSFUL else FAILING - ) - } - - private fun constructFailedContextLoadingDocComment() = listOf( - CgDocRegularLineStmt("

    "), - CgDocRegularLineStmt("Context loading throws an exception."), - CgDocRegularLineStmt("Please try to fix your context or environment configuration."), - CgDocRegularLineStmt("Spring configuration applied: ${springSettings.configuration.fullDisplayName}."), - ) - - private fun constructFailedContextLoadingTraceComment(exception: Throwable) = CgMultilineComment( - exception - .stackTraceToString() - .lines() - .let { lines -> - if (exception is UTSpringContextLoadingException) lines.dropWhile { !it.contains("Caused") } - else lines - } - .mapIndexed { i, line -> - if (i == 0) "Failure ${line.replace("Caused", "caused")}" - else TAB + line - } - .map { it.escapeControlChars() } - ) - - private fun addNecessarySpringSpecificAnnotations() { - val isSpringBootTestAccessible = utContext.classLoader.tryLoadClass(springBootTestClassId.name) != null - if (isSpringBootTestAccessible) { - addAnnotation(springBootTestClassId, Class) - } - - val (testFrameworkExtension, springExtension) = when (testFramework) { - Junit4 -> runWithClassId to springRunnerClassId - Junit5 -> extendWithClassId to springExtensionClassId - TestNg -> error("Spring extension is not implemented in TestNg") - else -> error("Trying to generate tests for Spring project with non-JVM framework") - } - - // @SpringBootTest contains @ExtendWith(SpringExtension.class), no need to add it manually - if (!isSpringBootTestAccessible || testFrameworkExtension != extendWithClassId) { - addAnnotation( - classId = testFrameworkExtension, - argument = createGetClassExpression(springExtension, codegenLanguage), - target = Class, - ) - } - - if (utContext.classLoader.tryLoadClass(springBootTestContextBootstrapperClassId.name) != null) - // TODO in somewhat new versions of Spring Boot, @SpringBootTest - // already includes @BootstrapWith(SpringBootTestContextBootstrapper.class), - // so we should avoid adding it manually to reduce number of annotations - addAnnotation( - classId = bootstrapWithClassId, - argument = createGetClassExpression(springBootTestContextBootstrapperClassId, codegenLanguage), - target = Class, - ) - - val defaultProfileIsUsed = springSettings.profiles.singleOrNull() == "default" - if (!defaultProfileIsUsed) { - addAnnotation( - classId = activeProfilesClassId, - namedArguments = listOf( - CgNamedAnnotationArgument( - name = "profiles", - value = CgArrayAnnotationArgument(springSettings.profiles.map { profile -> profile.resolve() }) - ) - ), - target = Class, - ) - } - - val configClass = springSettings.configuration as JavaBasedConfiguration - if (configClass is JavaConfiguration || configClass is SpringBootConfiguration && !configClass.isUnique) { - addAnnotation( - classId = contextConfigurationClassId, - namedArguments = listOf( - CgNamedAnnotationArgument( - name = "classes", - value = CgArrayAnnotationArgument( - listOf( - createGetClassExpression( - // TODO: we support only JavaConfigurations in integration tests. - // Adapt for XMLConfigurations when supported. - ClassId((springSettings.configuration as JavaConfiguration).configBinaryName), - codegenLanguage - ) - ) - ) - ) - ), - target = Class, - ) - } - - - addAnnotation( - classId = dirtiesContextClassId, - namedArguments = listOf( - CgNamedAnnotationArgument( - name = "classMode", - value = CgEnumConstantAccess(dirtiesContextClassModeClassId, "BEFORE_EACH_TEST_METHOD") - ), - ), - target = Class, - ) - - if (utContext.classLoader.tryLoadClass(transactionalClassId.name) != null) - addAnnotation(transactionalClassId, Class) - - // `@AutoConfigureTestDatabase` can itself be on the classpath, while spring-data - // (i.e. module containing `CrudRepository`) is not. - // - // If we add `@AutoConfigureTestDatabase` without having spring-data, - // generated tests will fail with `ClassNotFoundException: org.springframework.dao.DataAccessException`. - if (utContext.classLoader.tryLoadClass(crudRepositoryClassId.name) != null) - addAnnotation(autoConfigureTestDbClassId, Class) - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/ApplicationContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/ApplicationContext.kt index 8a17675e..cb8eae23 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/ApplicationContext.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/context/ApplicationContext.kt @@ -8,10 +8,10 @@ interface ApplicationContext { val typeReplacer: TypeReplacer val nonNullSpeculator: NonNullSpeculator - fun createConcreteExecutionContext( - fullClasspath: String, - classpathWithoutDependencies: String - ): ConcreteExecutionContext +// fun createConcreteExecutionContext( +// fullClasspath: String, +// classpathWithoutDependencies: String +// ): ConcreteExecutionContext fun createCodeGenerator(params: CodeGeneratorParams): AbstractCodeGenerator } \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/ConcreteExecutionContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/ConcreteExecutionContext.kt deleted file mode 100644 index c9b81033..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/ConcreteExecutionContext.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.framework.context - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.fuzzer.IdentityPreservingIdGenerator -import org.utbot.fuzzing.JavaValueProvider -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation - -interface ConcreteExecutionContext { - val instrumentationFactory: UtExecutionInstrumentation.Factory<*> - - fun loadContext( - concreteExecutor: ConcreteExecutor, - ): ConcreteContextLoadingResult - - fun transformExecutionsBeforeMinimization( - executions: List, - classUnderTestId: ClassId - ): List - - fun tryCreateValueProvider( - concreteExecutor: ConcreteExecutor, - classUnderTest: ClassId, - idGenerator: IdentityPreservingIdGenerator, - ): JavaValueProvider -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/custom/CoverageFilteringConcreteExecutionContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/custom/CoverageFilteringConcreteExecutionContext.kt deleted file mode 100644 index b7ff8051..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/custom/CoverageFilteringConcreteExecutionContext.kt +++ /dev/null @@ -1,93 +0,0 @@ -package org.utbot.framework.context.custom - -import mu.KotlinLogging -import org.utbot.common.hasOnClasspath -import org.utbot.common.tryLoadClass -import org.utbot.framework.context.ConcreteExecutionContext -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.util.utContext -import java.io.File -import java.net.URLClassLoader - -/** - * Decorator of [delegateContext] that filters coverage before test set minimization - * (see [transformExecutionsBeforeMinimization]) to avoid generating too many tests that - * only increase coverage of third party libraries. - * - * This implementation: - * - always keeps instructions that are in class under test (even if other rules say otherwise) - * - filters out instructions in classes marked with annotations from [annotationsToIgnoreCoverage] - * - filters out instructions from classes that are not found in `classpathToIncludeCoverageFrom` - * - * Finally, if [keepOriginalCoverageOnEmptyFilteredCoverage] is `true` we restore original coverage - * for executions whose coverage becomes empty after filtering. - */ -class CoverageFilteringConcreteExecutionContext( - private val delegateContext: ConcreteExecutionContext, - classpathToIncludeCoverageFrom: String, - private val annotationsToIgnoreCoverage: Set, - private val keepOriginalCoverageOnEmptyFilteredCoverage: Boolean, -) : ConcreteExecutionContext by delegateContext { - private val urlsToIncludeCoverageFrom = classpathToIncludeCoverageFrom.split(File.pathSeparator) - .map { File(it).toURI().toURL() } - .toTypedArray() - - companion object { - private val logger = KotlinLogging.logger {} - } - - override fun transformExecutionsBeforeMinimization( - executions: List, - classUnderTestId: ClassId - ): List { - val annotationsToIgnoreCoverage = - annotationsToIgnoreCoverage.mapNotNull { utContext.classLoader.tryLoadClass(it.name) } - - val classLoaderToIncludeCoverageFrom = URLClassLoader(urlsToIncludeCoverageFrom, null) - - val classesToIncludeCoverageFromCache = mutableMapOf() - - return executions.map { execution -> - val coverage = execution.coverage ?: return@map execution - - val filteredCoveredInstructions = - coverage.coveredInstructions - .filter { instruction -> - val instrClassName = instruction.className - - classesToIncludeCoverageFromCache.getOrPut(instrClassName) { - instrClassName == classUnderTestId.name || - (classLoaderToIncludeCoverageFrom.hasOnClasspath(instrClassName) && - !hasAnnotations(instrClassName, annotationsToIgnoreCoverage)) - } - } - .ifEmpty { - if (keepOriginalCoverageOnEmptyFilteredCoverage) { - logger.warn("Execution covered instruction list became empty. Proceeding with not filtered instruction list.") - coverage.coveredInstructions - } else { - logger.warn("Execution covered instruction list became empty. Proceeding with empty coverage.") - emptyList() - } - } - - execution.copy( - coverage = coverage.copy( - coveredInstructions = filteredCoveredInstructions - ) - ) - } - } - - private fun hasAnnotations(className: String, annotations: List>): Boolean = - utContext - .classLoader - .loadClass(className) - .annotations - .any { existingAnnotation -> - annotations.any { annotation -> - annotation.isInstance(existingAnnotation) - } - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleApplicationContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleApplicationContext.kt index e3f18b5c..c5593da5 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleApplicationContext.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleApplicationContext.kt @@ -4,7 +4,6 @@ import org.utbot.framework.codegen.generator.AbstractCodeGenerator import org.utbot.framework.codegen.generator.CodeGenerator import org.utbot.framework.codegen.generator.CodeGeneratorParams import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.context.ConcreteExecutionContext import org.utbot.framework.context.MockerContext import org.utbot.framework.context.NonNullSpeculator import org.utbot.framework.context.TypeReplacer @@ -17,10 +16,10 @@ class SimpleApplicationContext( override val typeReplacer: TypeReplacer = SimpleTypeReplacer(), override val nonNullSpeculator: NonNullSpeculator = SimpleNonNullSpeculator() ) : ApplicationContext { - override fun createConcreteExecutionContext( - fullClasspath: String, - classpathWithoutDependencies: String - ): ConcreteExecutionContext = SimpleConcreteExecutionContext(fullClasspath) +// override fun createConcreteExecutionContext( +// fullClasspath: String, +// classpathWithoutDependencies: String +// ): ConcreteExecutionContext = SimpleConcreteExecutionContext(fullClasspath) override fun createCodeGenerator(params: CodeGeneratorParams): AbstractCodeGenerator = CodeGenerator(params) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleConcreteExecutionContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleConcreteExecutionContext.kt deleted file mode 100644 index bdbd67c0..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/simple/SimpleConcreteExecutionContext.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.framework.context.simple - -import org.utbot.framework.context.ConcreteExecutionContext -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.fuzzer.IdentityPreservingIdGenerator -import org.utbot.fuzzing.JavaValueProvider -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.defaultValueProviders -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.execution.SimpleUtExecutionInstrumentation -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation -import java.io.File - -class SimpleConcreteExecutionContext(fullClassPath: String) : ConcreteExecutionContext { - override val instrumentationFactory: UtExecutionInstrumentation.Factory<*> = - SimpleUtExecutionInstrumentation.Factory(fullClassPath.split(File.pathSeparator).toSet()) - - override fun loadContext( - concreteExecutor: ConcreteExecutor, - ): ConcreteContextLoadingResult = ConcreteContextLoadingResult.successWithoutExceptions() - - override fun transformExecutionsBeforeMinimization( - executions: List, - classUnderTestId: ClassId - ): List = executions - - override fun tryCreateValueProvider( - concreteExecutor: ConcreteExecutor, - classUnderTest: ClassId, - idGenerator: IdentityPreservingIdGenerator - ): JavaValueProvider = ValueProvider.of(defaultValueProviders(idGenerator)) -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringApplicationContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringApplicationContext.kt deleted file mode 100644 index 458c9db3..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringApplicationContext.kt +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.framework.context.spring - -import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.plugin.api.BeanDefinitionData -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.SpringSettings - -/** - * Data we get from Spring application context - * to manage engine and code generator behaviour. - */ -interface SpringApplicationContext : ApplicationContext { - val springSettings: SpringSettings - - /** - * Describes bean definitions (bean name, type, some optional additional data) - */ - val beanDefinitions: List - val injectedTypes: Set - val allInjectedSuperTypes: Set - - var concreteContextLoadingResult: ConcreteContextLoadingResult? - fun getBeansAssignableTo(classId: ClassId): List -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringApplicationContextImpl.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringApplicationContextImpl.kt deleted file mode 100644 index 4e9bf115..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringApplicationContextImpl.kt +++ /dev/null @@ -1,135 +0,0 @@ -package org.utbot.framework.context.spring - -import mu.KotlinLogging -import org.utbot.common.isAbstract -import org.utbot.common.isStatic -import org.utbot.framework.codegen.generator.AbstractCodeGenerator -import org.utbot.framework.codegen.generator.CodeGeneratorParams -import org.utbot.framework.codegen.generator.SpringCodeGenerator -import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.context.ConcreteExecutionContext -import org.utbot.framework.context.NonNullSpeculator -import org.utbot.framework.context.TypeReplacer -import org.utbot.framework.context.custom.CoverageFilteringConcreteExecutionContext -import org.utbot.framework.plugin.api.BeanDefinitionData -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.SpringSettings -import org.utbot.framework.plugin.api.SpringTestType -import org.utbot.framework.plugin.api.util.SpringModelUtils.entityClassIds -import org.utbot.framework.plugin.api.util.allSuperTypes -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.utContext - -class SpringApplicationContextImpl( - private val delegateContext: ApplicationContext, - override val beanDefinitions: List = emptyList(), - private val springTestType: SpringTestType, - override val springSettings: SpringSettings, -): ApplicationContext by delegateContext, SpringApplicationContext { - companion object { - private val logger = KotlinLogging.logger {} - } - - override val typeReplacer: TypeReplacer = SpringTypeReplacer(delegateContext.typeReplacer, this) - override val nonNullSpeculator: NonNullSpeculator = SpringNonNullSpeculator(delegateContext.nonNullSpeculator, this) - - override var concreteContextLoadingResult: ConcreteContextLoadingResult? = null - - override fun createConcreteExecutionContext( - fullClasspath: String, - classpathWithoutDependencies: String - ): ConcreteExecutionContext { - var delegateConcreteExecutionContext = delegateContext.createConcreteExecutionContext( - fullClasspath, - classpathWithoutDependencies - ) - - // to avoid filtering out all coverage, we only filter - // coverage when `classpathWithoutDependencies` is provided - // (e.g. when we are launched from IDE plugin) - if (classpathWithoutDependencies.isNotEmpty()) - delegateConcreteExecutionContext = CoverageFilteringConcreteExecutionContext( - delegateContext = delegateConcreteExecutionContext, - classpathToIncludeCoverageFrom = classpathWithoutDependencies, - annotationsToIgnoreCoverage = entityClassIds.toSet(), - keepOriginalCoverageOnEmptyFilteredCoverage = true - ) - - return when (springTestType) { - SpringTestType.UNIT_TEST -> delegateConcreteExecutionContext - SpringTestType.INTEGRATION_TEST -> SpringIntegrationTestConcreteExecutionContext( - delegateConcreteExecutionContext, - classpathWithoutDependencies, - this - ) - } - } - - override fun createCodeGenerator(params: CodeGeneratorParams): AbstractCodeGenerator = - // TODO decorate original `delegateContext.createCodeGenerator(params)` - SpringCodeGenerator( - springTestType = springTestType, - springSettings = springSettings, - concreteContextLoadingResult = concreteContextLoadingResult, - params = params, - ) - - override fun getBeansAssignableTo(classId: ClassId): List = beanDefinitions.filter { beanDef -> - // some bean classes may fail to load - runCatching { - val beanClass = ClassId(beanDef.beanTypeName).jClass - classId.jClass.isAssignableFrom(beanClass) - }.getOrElse { false } - } - - // Classes representing concrete types that are actually used in Spring application - override val injectedTypes: Set - get() { - if (!areAllInjectedSuperTypesInitialized) { - for (beanTypeName in beanDefinitions.map { it.beanTypeName }) { - try { - val beanClass = utContext.classLoader.loadClass(beanTypeName) - if (!beanClass.isAbstract && !beanClass.isInterface && - !beanClass.isLocalClass && (!beanClass.isMemberClass || beanClass.isStatic)) { - _injectedTypes += beanClass.id - } - } catch (e: Throwable) { - // For some Spring beans (e.g. with anonymous classes) - // it is possible to have problems with classes loading. - when (e) { - is ClassNotFoundException, is NoClassDefFoundError, is IllegalAccessError -> - logger.warn { "Failed to load bean class for $beanTypeName (${e.message})" } - - else -> throw e - } - } - } - - // This is done to be sure that this storage is not empty after the first class loading iteration. - // So, even if all loaded classes were filtered out, we will not try to load them again. - areAllInjectedSuperTypesInitialized = true - } - - return _injectedTypes - } - - override val allInjectedSuperTypes: Set - get() { - if (!areInjectedTypesInitialized) { - _allInjectedSuperTypes = injectedTypes.flatMap { it.allSuperTypes() }.toSet() - areInjectedTypesInitialized = true - } - - return _allInjectedSuperTypes - } - - // the following properties help to imitate `by lazy` behaviour, do not use them directly - // (we can't use actual `by lazy` because communication via RD breaks it) - private var _allInjectedSuperTypes: Set = emptySet() - private var areAllInjectedSuperTypesInitialized : Boolean = false - - private val _injectedTypes = mutableSetOf() - private var areInjectedTypesInitialized: Boolean = false -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringIntegrationTestConcreteExecutionContext.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringIntegrationTestConcreteExecutionContext.kt deleted file mode 100644 index 0df60cf0..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringIntegrationTestConcreteExecutionContext.kt +++ /dev/null @@ -1,122 +0,0 @@ -package org.utbot.framework.context.spring - -import mu.KotlinLogging -import org.utbot.common.tryLoadClass -import org.utbot.framework.context.ConcreteExecutionContext -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.SpringRepositoryId -import org.utbot.framework.plugin.api.SpringSettings -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.util.SpringModelUtils -import org.utbot.framework.plugin.api.util.allDeclaredFieldIds -import org.utbot.framework.plugin.api.util.jField -import org.utbot.framework.plugin.api.util.utContext -import org.utbot.fuzzer.IdentityPreservingIdGenerator -import org.utbot.fuzzing.JavaValueProvider -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.providers.AnyDepthNullValueProvider -import org.utbot.fuzzing.providers.FieldValueProvider -import org.utbot.fuzzing.providers.ObjectValueProvider -import org.utbot.fuzzing.providers.anyObjectValueProvider -import org.utbot.fuzzing.spring.SavedEntityValueProvider -import org.utbot.fuzzing.spring.SpringBeanValueProvider -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.getRelevantSpringRepositories -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation -import org.utbot.instrumentation.instrumentation.spring.SpringUtExecutionInstrumentation -import org.utbot.instrumentation.tryLoadingSpringContext -import java.io.File - -class SpringIntegrationTestConcreteExecutionContext( - private val delegateContext: ConcreteExecutionContext, - classpathWithoutDependencies: String, - private val springApplicationContext: SpringApplicationContext, -) : ConcreteExecutionContext { - private val springSettings = (springApplicationContext.springSettings as? SpringSettings.PresentSpringSettings) ?: - error("Integration tests cannot be generated without Spring configuration") - - companion object { - private val logger = KotlinLogging.logger {} - } - - override val instrumentationFactory: UtExecutionInstrumentation.Factory<*> = - SpringUtExecutionInstrumentation.Factory( - delegateContext.instrumentationFactory, - springSettings, - springApplicationContext.beanDefinitions, - buildDirs = classpathWithoutDependencies.split(File.pathSeparator) - .map { File(it).toURI().toURL() } - .toTypedArray(), - ) - - override fun loadContext( - concreteExecutor: ConcreteExecutor, - ): ConcreteContextLoadingResult = - delegateContext.loadContext(concreteExecutor).andThen { - springApplicationContext.concreteContextLoadingResult ?: concreteExecutor.tryLoadingSpringContext().also { - springApplicationContext.concreteContextLoadingResult = it - } - } - - override fun transformExecutionsBeforeMinimization( - executions: List, - classUnderTestId: ClassId - ): List = delegateContext.transformExecutionsBeforeMinimization(executions, classUnderTestId) - - override fun tryCreateValueProvider( - concreteExecutor: ConcreteExecutor, - classUnderTest: ClassId, - idGenerator: IdentityPreservingIdGenerator - ): JavaValueProvider { - if (springApplicationContext.getBeansAssignableTo(classUnderTest).isEmpty()) - error( - "No beans of type ${classUnderTest.name} are found. " + - "Try choosing different Spring configuration or adding beans to " + - springSettings.configuration.fullDisplayName - ) - - val relevantRepositories = concreteExecutor.getRelevantSpringRepositories(classUnderTest) - logger.info { "Detected relevant repositories for class $classUnderTest: $relevantRepositories" } - - // spring should try to generate bean values, but if it fails, then object value provider is used for it - val springBeanValueProvider = SpringBeanValueProvider( - idGenerator, - beanNameProvider = { classId -> - springApplicationContext.getBeansAssignableTo(classId).map { it.beanName } - }, - relevantRepositories = relevantRepositories - ).withFallback(anyObjectValueProvider(idGenerator)) - - return delegateContext.tryCreateValueProvider(concreteExecutor, classUnderTest, idGenerator) - .except { p -> p is ObjectValueProvider } - .with(springBeanValueProvider) - .with(createSavedEntityValueProviders(relevantRepositories, idGenerator)) - .with(createFieldValueProviders(relevantRepositories, idGenerator)) - .withFallback(AnyDepthNullValueProvider) - } - - private fun createSavedEntityValueProviders( - relevantRepositories: Set, - idGenerator: IdentityPreservingIdGenerator - ) = ValueProvider.of(relevantRepositories.map { SavedEntityValueProvider(idGenerator, it) }) - - private fun createFieldValueProviders( - relevantRepositories: Set, - idGenerator: IdentityPreservingIdGenerator - ): JavaValueProvider { - val generatedValueAnnotationClasses = SpringModelUtils.generatedValueClassIds.mapNotNull { - @Suppress("UNCHECKED_CAST") // type system fails to understand that @GeneratedValue is indeed an annotation - utContext.classLoader.tryLoadClass(it.name) as Class? - } - - val generatedValueFieldIds = - relevantRepositories - .flatMap { it.entityClassId.allDeclaredFieldIds } - .filter { fieldId -> generatedValueAnnotationClasses.any { fieldId.jField.isAnnotationPresent(it) } } - logger.info { "Detected @GeneratedValue fields: $generatedValueFieldIds" } - - return ValueProvider.of(generatedValueFieldIds.map { FieldValueProvider(idGenerator, it) }) - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringNonNullSpeculator.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringNonNullSpeculator.kt deleted file mode 100644 index 5f49d780..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringNonNullSpeculator.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.framework.context.spring - -import org.utbot.framework.context.NonNullSpeculator -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.classId -import org.utbot.framework.plugin.api.util.allDeclaredFieldIds -import org.utbot.framework.plugin.api.util.fieldId -import soot.SootField - -class SpringNonNullSpeculator( - private val delegateNonNullSpeculator: NonNullSpeculator, - private val springApplicationContext: SpringApplicationContext -) : NonNullSpeculator { - override fun speculativelyCannotProduceNullPointerException(field: SootField, classUnderTest: ClassId): Boolean = - // TODO add ` || delegateNonNullSpeculator.speculativelyCannotProduceNullPointerException(field, classUnderTest)` - // (TODO is added as a part of only equivalent transformations refactoring PR and should be completed in the follow up PR) - field.fieldId in classUnderTest.allDeclaredFieldIds && field.type.classId !in springApplicationContext.allInjectedSuperTypes - -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringTypeReplacer.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringTypeReplacer.kt deleted file mode 100644 index 78362c75..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/context/spring/SpringTypeReplacer.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.framework.context.spring - -import org.utbot.framework.context.TypeReplacer -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.TypeReplacementMode -import org.utbot.framework.plugin.api.id -import org.utbot.framework.plugin.api.isAbstractType -import org.utbot.framework.plugin.api.util.isSubtypeOf -import soot.RefType - -class SpringTypeReplacer( - private val delegateTypeReplacer: TypeReplacer, - private val springApplicationContext: SpringApplicationContext -) : TypeReplacer { - override val typeReplacementMode: TypeReplacementMode = - // TODO add ` || delegateTypeReplacer.typeReplacementMode == TypeReplacementMode.KnownImplementor` - // (TODO is added as a part of only equivalent transformations refactoring PR and should be completed in the follow up PR) - if (springApplicationContext.beanDefinitions.isNotEmpty()) TypeReplacementMode.KnownImplementor - else TypeReplacementMode.NoImplementors - - override fun replaceTypeIfNeeded(type: RefType): ClassId? = - // TODO add `delegateTypeReplacer.replaceTypeIfNeeded(type) ?: ` - // (TODO is added as a part of only equivalent transformations refactoring PR and should be completed in the follow up PR) - if (type.isAbstractType) springApplicationContext.injectedTypes.singleOrNull { it.isSubtypeOf(type.id) } - else null -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/coverage/CoverageCalculator.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/coverage/CoverageCalculator.kt index c662da9b..3dc0c5fe 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/coverage/CoverageCalculator.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/coverage/CoverageCalculator.kt @@ -3,50 +3,50 @@ package org.utbot.framework.coverage import org.utbot.framework.plugin.api.ExecutableId import org.utbot.framework.plugin.api.UtValueExecution import org.utbot.framework.plugin.api.util.jClass -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.coverage.CoverageInfo -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.util.StaticEnvironment +//import org.utbot.instrumentation.ConcreteExecutor +//import org.utbot.instrumentation.instrumentation.coverage.CoverageInfo +//import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation +//import org.utbot.instrumentation.instrumentation.coverage.collectCoverage +//import org.utbot.instrumentation.util.StaticEnvironment import kotlinx.coroutines.runBlocking -fun methodCoverage(executable: ExecutableId, executions: List>, classpath: String): Coverage { - val methodSignature = executable.signature - val classId = executable.classId - return ConcreteExecutor(CoverageInstrumentation.Factory, classpath).let { executor -> - for (execution in executions) { - val args = execution.stateBefore.params.map { it.value }.toMutableList() - val caller = execution.stateBefore.caller - if (caller != null) { - args.add(0, caller.value) - } - val staticEnvironment = StaticEnvironment( - execution.stateBefore.statics.map { it.key to it.value.value } - ) - runBlocking { - executor.executeAsync( - classId.name, - methodSignature, - args.toTypedArray(), - parameters = staticEnvironment - ) - } - } +//fun methodCoverage(executable: ExecutableId, executions: List>, classpath: String): Coverage { +// val methodSignature = executable.signature +// val classId = executable.classId +// return ConcreteExecutor(CoverageInstrumentation.Factory, classpath).let { executor -> +// for (execution in executions) { +// val args = execution.stateBefore.params.map { it.value }.toMutableList() +// val caller = execution.stateBefore.caller +// if (caller != null) { +// args.add(0, caller.value) +// } +// val staticEnvironment = StaticEnvironment( +// execution.stateBefore.statics.map { it.key to it.value.value } +// ) +// runBlocking { +// executor.executeAsync( +// classId.name, +// methodSignature, +// args.toTypedArray(), +// parameters = staticEnvironment +// ) +// } +// } +// +// val coverage = executor.collectCoverage(classId.jClass) +// coverage.toMethodCoverage(methodSignature) +// } +//} - val coverage = executor.collectCoverage(classId.jClass) - coverage.toMethodCoverage(methodSignature) - } -} - -fun CoverageInfo.toMethodCoverage(methodSignature: String): Coverage { - val methodRange = methodToInstrRange[methodSignature]!! - val visitedCount = visitedInstrs.count { it in methodRange } - return Coverage( - Counter(), - Counter(methodRange.count(), visitedCount, methodRange.count() - visitedCount), - Counter() - ) -} +//fun CoverageInfo.toMethodCoverage(methodSignature: String): Coverage { +// val methodRange = methodToInstrRange[methodSignature]!! +// val visitedCount = visitedInstrs.count { it in methodRange } +// return Coverage( +// Counter(), +// Counter(methodRange.count(), visitedCount, methodRange.count() - visitedCount), +// Counter() +// ) +//} data class Coverage( val branchCounter: Counter = Counter(), diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/fields/ExecutionStateAnalyzer.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/fields/ExecutionStateAnalyzer.kt index 3b14ac35..77eb60c8 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/fields/ExecutionStateAnalyzer.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/fields/ExecutionStateAnalyzer.kt @@ -22,7 +22,6 @@ import org.utbot.framework.plugin.api.UtSymbolicExecution import org.utbot.framework.plugin.api.UtVoidModel import org.utbot.framework.util.UtModelVisitor import org.utbot.framework.util.hasThisInstance -import org.utbot.fuzzer.UtFuzzedExecution class ExecutionStateAnalyzer(val execution: UtExecution) { fun findModifiedFields(): StateModificationInfo { @@ -44,9 +43,6 @@ class ExecutionStateAnalyzer(val execution: UtExecution) { val modifiedFields = getModifiedFields(info) return this.copy(thisInstance = modifiedFields) } - is UtFuzzedExecution -> { - return this - } else -> { return this } @@ -88,9 +84,6 @@ class ExecutionStateAnalyzer(val execution: UtExecution) { } return this.copy(staticFields = modificationsByClass) } - is UtFuzzedExecution -> { - return this - } else -> { return this } diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt index 4da97d42..bd30e32a 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/minimization/Minimization.kt @@ -7,8 +7,6 @@ import org.utbot.framework.plugin.api.UtExecutionFailure import org.utbot.framework.plugin.api.UtExecutionResult import org.utbot.framework.plugin.api.UtSymbolicExecution import org.utbot.framework.util.calculateSize -import org.utbot.fuzzer.UtFuzzedExecution -import org.utbot.instrumentation.instrumentation.execution.constructors.UtModelConstructor /** diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt index 7980c7e3..6153ce8a 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestCaseGenerator.kt @@ -12,7 +12,7 @@ import kotlinx.coroutines.isActive import kotlinx.coroutines.launch import kotlinx.coroutines.yield import mu.KLogger -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.* import org.utbot.engine.EngineController import org.utbot.engine.Mocker @@ -24,7 +24,7 @@ import org.utbot.framework.UtSettings import org.utbot.framework.UtSettings.checkSolverTimeoutMillis import org.utbot.framework.UtSettings.disableCoroutinesDebug import org.utbot.framework.UtSettings.utBotGenerationTimeoutInMillis -import org.utbot.framework.UtSettings.warmupConcreteExecution +//import org.utbot.framework.UtSettings.warmupConcreteExecution import org.utbot.framework.context.ApplicationContext import org.utbot.framework.context.simple.SimpleApplicationContext import org.utbot.framework.context.simple.SimpleMockerContext @@ -40,8 +40,8 @@ import org.utbot.framework.util.jimpleBody import org.utbot.framework.util.toModel import org.utbot.framework.plugin.api.SpringSettings.* import org.utbot.framework.plugin.api.SpringTestType.* -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.warmup +//import org.utbot.instrumentation.ConcreteExecutor +//import org.utbot.instrumentation.warmup import org.utbot.taint.TaintConfigurationProvider import java.io.File import java.nio.file.Path @@ -73,12 +73,12 @@ open class TestCaseGenerator( ) ), ) { - private val logger: KLogger = KotlinLogging.logger {} - private val timeoutLogger: KLogger = KotlinLogging.logger(logger.name + ".timeout") - private val concreteExecutionContext = applicationContext.createConcreteExecutionContext( - fullClasspath = classpathForEngine, - classpathWithoutDependencies = buildDirs.joinToString(File.pathSeparator) - ) + private val logger: KLogger = UtLogging.logger {} + private val timeoutLogger: KLogger = UtLogging.logger(logger.name + ".timeout") +// private val concreteExecutionContext = applicationContext.createConcreteExecutionContext( +// fullClasspath = classpathForEngine, +// classpathWithoutDependencies = buildDirs.joinToString(File.pathSeparator) +// ) private val classpathForEngine: String get() = (buildDirs + listOfNotNull(classpath)).joinToString(File.pathSeparator) @@ -99,31 +99,31 @@ open class TestCaseGenerator( } //warmup - if (warmupConcreteExecution) { - // force pool to create an appropriate executor - // TODO ensure that instrumented process that starts here is properly terminated - ConcreteExecutor( - concreteExecutionContext.instrumentationFactory, - classpathForEngine, - ).apply { - warmup() - } - } +// if (warmupConcreteExecution) { +// // force pool to create an appropriate executor +// // TODO ensure that instrumented process that starts here is properly terminated +// ConcreteExecutor( +// concreteExecutionContext.instrumentationFactory, +// classpathForEngine, +// ).apply { +// warmup() +// } +// } } } - fun minimizeExecutions(classUnderTestId: ClassId, executions: List): List = - when (UtSettings.testMinimizationStrategyType) { - TestSelectionStrategyType.DO_NOT_MINIMIZE_STRATEGY -> executions - TestSelectionStrategyType.COVERAGE_STRATEGY -> - minimizeTestCase( - concreteExecutionContext.transformExecutionsBeforeMinimization( - executions, - classUnderTestId - ), - executionToTestSuite = { it.result::class.java } - ) - } + fun minimizeExecutions(classUnderTestId: ClassId, executions: List): List = executions +// when (UtSettings.testMinimizationStrategyType) { +// TestSelectionStrategyType.DO_NOT_MINIMIZE_STRATEGY -> executions +// TestSelectionStrategyType.COVERAGE_STRATEGY -> +// minimizeTestCase( +// concreteExecutionContext.transformExecutionsBeforeMinimization( +// executions, +// classUnderTestId +// ), +// executionToTestSuite = { it.result::class.java } +// ) +// } @Throws(CancellationException::class) fun generateAsync( @@ -137,10 +137,10 @@ open class TestCaseGenerator( if (isCanceled()) return@flow - val contextLoadingResult = loadConcreteExecutionContext() - emitAll(flowOf(*contextLoadingResult.utErrors.toTypedArray())) - if (!contextLoadingResult.contextLoaded) - return@flow +// val contextLoadingResult = loadConcreteExecutionContext() +// emitAll(flowOf(*contextLoadingResult.utErrors.toTypedArray())) +// if (!contextLoadingResult.contextLoaded) +// return@flow try { val engine = createSymbolicEngine( @@ -161,136 +161,136 @@ open class TestCaseGenerator( } } - fun generate( - methods: List, - mockStrategy: MockStrategyApi, - chosenClassesToMockAlways: Set = Mocker.javaDefaultClasses.mapTo(mutableSetOf()) { it.id }, - methodsGenerationTimeout: Long = utBotGenerationTimeoutInMillis, - userTaintConfigurationProvider: TaintConfigurationProvider? = null, - generate: (engine: UtBotSymbolicEngine) -> Flow = defaultTestFlow(methodsGenerationTimeout) - ): List = ConcreteExecutor.defaultPool.use { _ -> // TODO: think on appropriate way to close instrumented processes - if (isCanceled()) return@use methods.map { UtMethodTestSet(it) } - - val contextLoadingResult = loadConcreteExecutionContext() - - val method2errors: Map> = methods.associateWith { - contextLoadingResult.utErrors.associateTo(mutableMapOf()) { it.description to 1 } - } - - if (!contextLoadingResult.contextLoaded) - return@use methods.map { method -> UtMethodTestSet(method, errors = method2errors.getValue(method)) } - - val executionStartInMillis = System.currentTimeMillis() - val executionTimeEstimator = ExecutionTimeEstimator(methodsGenerationTimeout, methods.size) - - val currentUtContext = utContext - - val method2controller = methods.associateWith { EngineController() } - val method2executions = methods.associateWith { mutableListOf() } - - val conflictTriggers = ConflictTriggers() - val forceMockListener = ForceMockListener.create(this, conflictTriggers) - val forceStaticMockListener = ForceStaticMockListener.create(this, conflictTriggers) - - runIgnoringCancellationException { - runBlockingWithCancellationPredicate(isCanceled) { - for ((method, controller) in method2controller) { - controller.job = launch(currentUtContext) { - if (!isActive) return@launch - - try { - //yield one to - yield() - - val engine: UtBotSymbolicEngine = createSymbolicEngine( - controller, - method, - mockStrategy, - chosenClassesToMockAlways, - applicationContext, - executionTimeEstimator, - userTaintConfigurationProvider, - ) - - engineActions.map { engine.apply(it) } - engineActions.clear() - - generate(engine) - .catch { - logger.error(it) { "Error in flow" } - } - .collect { - when (it) { - is UtExecution -> { - if (it is UtSymbolicExecution && - (conflictTriggers.triggered(Conflict.ForceMockHappened) || - conflictTriggers.triggered(Conflict.ForceStaticMockHappened)) - ) { - it.containsMocking = true - } - method2executions.getValue(method) += it - } - is UtError -> { - method2errors.getValue(method).merge(it.description, 1, Int::plus) - logger.error(it.error) { "UtError occurred" } - } - } - } - } catch (e: Exception) { - logger.error(e) {"Error in engine"} - throw e - } - } - controller.paused = true - conflictTriggers.reset(Conflict.ForceMockHappened, Conflict.ForceStaticMockHappened) - } - - // All jobs are in the method2controller now (paused). execute them with timeout - - GlobalScope.launch { - logger.debug("test generator global scope lifecycle check started") - while (isActive) { - var activeCount = 0 - for ((method, controller) in method2controller) { - if (!controller.job!!.isActive) continue - activeCount++ - - method2controller.values.forEach { it.paused = true } - controller.paused = false - - logger.info { "Resuming method $method" } - val startTime = System.currentTimeMillis() - while (controller.job!!.isActive && - (System.currentTimeMillis() - startTime) < executionTimeEstimator.timeslotForOneToplevelMethodTraversalInMillis - ) { - updateLifecycle( - executionStartInMillis, - executionTimeEstimator, - method2controller.values, - this - ) - yield() - } - } - if (activeCount == 0) break - } - logger.debug("test generator global scope lifecycle check ended") - } - } - } - - forceMockListener.detach(this, forceMockListener) - forceStaticMockListener.detach(this, forceStaticMockListener) - - return@use methods.map { method -> - UtMethodTestSet( - method, - minimizeExecutions(method.classId, method2executions.getValue(method)), - jimpleBody(method), - method2errors.getValue(method) - ) - } - } +// fun generate( +// methods: List, +// mockStrategy: MockStrategyApi, +// chosenClassesToMockAlways: Set = Mocker.javaDefaultClasses.mapTo(mutableSetOf()) { it.id }, +// methodsGenerationTimeout: Long = utBotGenerationTimeoutInMillis, +// userTaintConfigurationProvider: TaintConfigurationProvider? = null, +// generate: (engine: UtBotSymbolicEngine) -> Flow = defaultTestFlow(methodsGenerationTimeout) +// ): List = ConcreteExecutor.defaultPool.use { _ -> // TODO: think on appropriate way to close instrumented processes +// if (isCanceled()) return@use methods.map { UtMethodTestSet(it) } +// +// val contextLoadingResult = loadConcreteExecutionContext() +// +// val method2errors: Map> = methods.associateWith { +// contextLoadingResult.utErrors.associateTo(mutableMapOf()) { it.description to 1 } +// } +// +// if (!contextLoadingResult.contextLoaded) +// return@use methods.map { method -> UtMethodTestSet(method, errors = method2errors.getValue(method)) } +// +// val executionStartInMillis = System.currentTimeMillis() +// val executionTimeEstimator = ExecutionTimeEstimator(methodsGenerationTimeout, methods.size) +// +// val currentUtContext = utContext +// +// val method2controller = methods.associateWith { EngineController() } +// val method2executions = methods.associateWith { mutableListOf() } +// +// val conflictTriggers = ConflictTriggers() +// val forceMockListener = ForceMockListener.create(this, conflictTriggers) +// val forceStaticMockListener = ForceStaticMockListener.create(this, conflictTriggers) +// +// runIgnoringCancellationException { +// runBlockingWithCancellationPredicate(isCanceled) { +// for ((method, controller) in method2controller) { +// controller.job = launch(currentUtContext) { +// if (!isActive) return@launch +// +// try { +// //yield one to +// yield() +// +// val engine: UtBotSymbolicEngine = createSymbolicEngine( +// controller, +// method, +// mockStrategy, +// chosenClassesToMockAlways, +// applicationContext, +// executionTimeEstimator, +// userTaintConfigurationProvider, +// ) +// +// engineActions.map { engine.apply(it) } +// engineActions.clear() +// +// generate(engine) +// .catch { +// logger.error(it) { "Error in flow" } +// } +// .collect { +// when (it) { +// is UtExecution -> { +// if (it is UtSymbolicExecution && +// (conflictTriggers.triggered(Conflict.ForceMockHappened) || +// conflictTriggers.triggered(Conflict.ForceStaticMockHappened)) +// ) { +// it.containsMocking = true +// } +// method2executions.getValue(method) += it +// } +// is UtError -> { +// method2errors.getValue(method).merge(it.description, 1, Int::plus) +// logger.error(it.error) { "UtError occurred" } +// } +// } +// } +// } catch (e: Exception) { +// logger.error(e) {"Error in engine"} +// throw e +// } +// } +// controller.paused = true +// conflictTriggers.reset(Conflict.ForceMockHappened, Conflict.ForceStaticMockHappened) +// } +// +// // All jobs are in the method2controller now (paused). execute them with timeout +// +// GlobalScope.launch { +// logger.debug("test generator global scope lifecycle check started") +// while (isActive) { +// var activeCount = 0 +// for ((method, controller) in method2controller) { +// if (!controller.job!!.isActive) continue +// activeCount++ +// +// method2controller.values.forEach { it.paused = true } +// controller.paused = false +// +// logger.info { "Resuming method $method" } +// val startTime = System.currentTimeMillis() +// while (controller.job!!.isActive && +// (System.currentTimeMillis() - startTime) < executionTimeEstimator.timeslotForOneToplevelMethodTraversalInMillis +// ) { +// updateLifecycle( +// executionStartInMillis, +// executionTimeEstimator, +// method2controller.values, +// this +// ) +// yield() +// } +// } +// if (activeCount == 0) break +// } +// logger.debug("test generator global scope lifecycle check ended") +// } +// } +// } +// +// forceMockListener.detach(this, forceMockListener) +// forceStaticMockListener.detach(this, forceStaticMockListener) +// +// return@use methods.map { method -> +// UtMethodTestSet( +// method, +// minimizeExecutions(method.classId, method2executions.getValue(method)), +// jimpleBody(method), +// method2errors.getValue(method) +// ) +// } +// } private fun createSymbolicEngine( controller: EngineController, @@ -310,9 +310,8 @@ open class TestCaseGenerator( mockStrategy = mockStrategyApi.toModel(), chosenClassesToMockAlways = chosenClassesToMockAlways, applicationContext = applicationContext, - concreteExecutionContext = concreteExecutionContext, +// concreteExecutionContext = concreteExecutionContext, solverTimeoutInMillis = executionTimeEstimator.updatedSolverCheckTimeoutMillis, - userTaintConfigurationProvider = userTaintConfigurationProvider, ) } @@ -368,9 +367,9 @@ open class TestCaseGenerator( } } - private fun loadConcreteExecutionContext(): ConcreteContextLoadingResult { - // force pool to create an appropriate executor - val concreteExecutor = ConcreteExecutor(concreteExecutionContext.instrumentationFactory, classpathForEngine) - return concreteExecutionContext.loadContext(concreteExecutor) - } +// private fun loadConcreteExecutionContext(): ConcreteContextLoadingResult { +// // force pool to create an appropriate executor +// val concreteExecutor = ConcreteExecutor(concreteExecutionContext.instrumentationFactory, classpathForEngine) +// return concreteExecutionContext.loadContext(concreteExecutor) +// } } diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestFlow.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestFlow.kt index b62ecace..afaf9c37 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestFlow.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/TestFlow.kt @@ -60,16 +60,6 @@ class TestFlow internal constructor(block: TestFlow.() -> Unit) { fun build(engine: UtBotSymbolicEngine): Flow { return when { generationTimeout == 0L -> emptyFlow() - isFuzzingEnabled -> { - when (val value = if (isSymbolicEngineEnabled) (fuzzingValue * generationTimeout).toLong() else generationTimeout) { - 0L -> engine.traverse() - generationTimeout -> engine.fuzzing(System.currentTimeMillis() + value) - else -> flowOf( - engine.fuzzing(System.currentTimeMillis() + value), - engine.traverse() - ).flattenConcat() - } - } isSymbolicEngineEnabled -> engine.traverse() else -> emptyFlow() } diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/utils/DependencyUtils.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/utils/DependencyUtils.kt index 8d6b201a..840265e5 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/utils/DependencyUtils.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/api/utils/DependencyUtils.kt @@ -1,12 +1,12 @@ package org.utbot.framework.plugin.api.utils -import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation +//import org.utbot.instrumentation.instrumentation.execution.UtExecutionInstrumentation import org.utbot.framework.plugin.api.MockFramework import java.io.File import java.util.jar.JarFile -import mu.KotlinLogging +import org.utbot.framework.UtLogging -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} /** * Checks that dependency paths contains some frameworks diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/GenerateTestsAndSarifReportFacade.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/GenerateTestsAndSarifReportFacade.kt deleted file mode 100644 index 26547c21..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/GenerateTestsAndSarifReportFacade.kt +++ /dev/null @@ -1,101 +0,0 @@ -package org.utbot.framework.plugin.sarif - -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.generator.CodeGenerator -import org.utbot.framework.codegen.generator.CodeGeneratorParams -import org.utbot.framework.codegen.services.language.CgLanguageAssistant -import org.utbot.framework.plugin.api.TestCaseGenerator -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.util.id -import org.utbot.sarif.SarifReport -import org.utbot.sarif.SourceFindingStrategy -import org.utbot.summary.summarizeAll -import java.io.File -import java.nio.file.Path - -/** - * Facade for `generateTestsAndSarifReport` task/mojo. - * Stores common logic between gradle and maven plugins. - */ -class GenerateTestsAndSarifReportFacade( - private val sarifProperties: SarifExtensionProvider, - private val sourceFindingStrategy: SourceFindingStrategy, - private val testCaseGenerator: TestCaseGenerator, -) { - /** - * Generates tests and a SARIF report for the class [targetClass]. - * Requires withUtContext() { ... }. - */ - fun generateForClass(targetClass: TargetClassWrapper, workingDirectory: Path) { - val testSets = generateTestSets(targetClass, workingDirectory) - val testClassBody = generateTestCode(targetClass, testSets) - targetClass.testsCodeFile.writeText(testClassBody) - - generateReport(targetClass, testSets, testClassBody, sourceFindingStrategy) - } - - companion object { - /** - * Merges all [sarifReports] into one large [mergedSarifReportFile] containing all the information. - * Prints a message about where the SARIF file is saved if [verbose] is true. - */ - fun mergeReports( - sarifReports: List, - mergedSarifReportFile: File, - verbose: Boolean = true - ) { - val mergedReport = SarifReport.mergeReports(sarifReports) - mergedSarifReportFile.writeText(mergedReport) - if (verbose) { - println("SARIF report was saved to \"${mergedSarifReportFile.path}\"") - } - } - } - - private fun generateTestSets(targetClass: TargetClassWrapper, workingDirectory: Path): List = - testCaseGenerator - .generate( - targetClass.targetMethods, - sarifProperties.mockStrategy, - sarifProperties.classesToMockAlways, - sarifProperties.generationTimeout - ).summarizeAll(workingDirectory, targetClass.sourceCodeFile) - - private fun generateTestCode(targetClass: TargetClassWrapper, testSets: List): String = - initializeCodeGenerator(targetClass) - .generateAsString(testSets, targetClass.testsCodeFile.nameWithoutExtension) - - private fun initializeCodeGenerator(targetClass: TargetClassWrapper): CodeGenerator { - val isNoStaticMocking = sarifProperties.staticsMocking is NoStaticMocking - val isForceStaticMocking = sarifProperties.forceStaticMocking == ForceStaticMocking.FORCE - - return CodeGenerator( - CodeGeneratorParams( - classUnderTest = targetClass.classUnderTest.id, - projectType = sarifProperties.projectType, - testFramework = sarifProperties.testFramework, - mockFramework = sarifProperties.mockFramework, - staticsMocking = sarifProperties.staticsMocking, - forceStaticMocking = sarifProperties.forceStaticMocking, - generateWarningsForStaticMocking = isNoStaticMocking && isForceStaticMocking, - codegenLanguage = sarifProperties.codegenLanguage, - cgLanguageAssistant = CgLanguageAssistant.getByCodegenLanguage(sarifProperties.codegenLanguage), - ) - ) - } - - /** - * Creates a SARIF report for the class [targetClass]. - * Saves the report to the file specified in [targetClass]. - */ - private fun generateReport( - targetClass: TargetClassWrapper, - testSets: List, - testClassBody: String, - sourceFinding: SourceFindingStrategy - ) { - val sarifReport = SarifReport(testSets, testClassBody, sourceFinding).createReport().toJson() - targetClass.sarifReportFile.writeText(sarifReport) - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/SarifExtensionProvider.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/SarifExtensionProvider.kt deleted file mode 100644 index f71370b0..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/SarifExtensionProvider.kt +++ /dev/null @@ -1,145 +0,0 @@ -package org.utbot.framework.plugin.sarif - -import org.utbot.engine.Mocker -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.Junit4 -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.MockitoStaticMocking -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.ProjectType.* -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.domain.TestNg -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import java.io.File - -/** - * Provides fields needed to create a SARIF report. - * Defines transform function for these fields. - */ -interface SarifExtensionProvider { - - /** - * Classes for which the SARIF report will be created. - */ - val targetClasses: List - - /** - * Absolute path to the root of the relative paths in the SARIF report. - */ - val projectRoot: File - - /** - * Relative path to the root of the generated tests. - */ - val generatedTestsRelativeRoot: String - - /** - * Relative path to the root of the SARIF reports. - */ - val sarifReportsRelativeRoot: String - - /** - * Mark the directory with generated tests as `test sources root` or not. - */ - val markGeneratedTestsDirectoryAsTestSourcesRoot: Boolean - - /** - * Generate tests for private methods or not. - */ - val testPrivateMethods: Boolean - - val projectType: ProjectType - - val testFramework: TestFramework - - val mockFramework: MockFramework - - /** - * Maximum tests generation time for one class (in milliseconds). - */ - val generationTimeout: Long - - val codegenLanguage: CodegenLanguage - - val mockStrategy: MockStrategyApi - - val staticsMocking: StaticsMocking - - val forceStaticMocking: ForceStaticMocking - - /** - * Classes to force mocking theirs static methods and constructors. - * Contains user-specified classes and `Mocker.defaultSuperClassesToMockAlwaysNames`. - */ - val classesToMockAlways: Set - - // transform functions - - fun projectTypeParse(projectType: String): ProjectType = - when (projectType.toLowerCase()) { - "purejvm" -> PureJvm - "spring" -> Spring - "python" -> Python - "javascript" -> JavaScript - else -> error("Parameter projectType == '$projectType', but it can take only 'pureJvm', 'spring', 'python' or 'javascript'") - } - - fun testFrameworkParse(testFramework: String): TestFramework = - when (testFramework.toLowerCase()) { - "junit4" -> Junit4 - "junit5" -> Junit5 - "testng" -> TestNg - else -> error("Parameter testFramework == '$testFramework', but it can take only 'junit4', 'junit5' or 'testng'") - } - - fun mockFrameworkParse(mockFramework: String): MockFramework = - when (mockFramework.toLowerCase()) { - "mockito" -> MockFramework.MOCKITO - else -> error("Parameter mockFramework == '$mockFramework', but it can take only 'mockito'") - } - - fun generationTimeoutParse(generationTimeout: Long): Long { - if (generationTimeout < 0) - error("Parameter generationTimeout == $generationTimeout, but it should be non-negative") - return generationTimeout - } - - fun codegenLanguageParse(codegenLanguage: String): CodegenLanguage = - when (codegenLanguage.toLowerCase()) { - "java" -> CodegenLanguage.JAVA - "kotlin" -> CodegenLanguage.KOTLIN - else -> error("Parameter codegenLanguage == '$codegenLanguage', but it can take only 'java' or 'kotlin'") - } - - fun mockStrategyParse(mockStrategy: String): MockStrategyApi = - when (mockStrategy.toLowerCase()) { - "no-mocks" -> MockStrategyApi.NO_MOCKS - "other-packages" -> MockStrategyApi.OTHER_PACKAGES - "other-classes" -> MockStrategyApi.OTHER_CLASSES - else -> error("Parameter mockStrategy == '$mockStrategy', but it can take only 'no-mocks', 'other-packages' or 'other-classes'") - } - - fun staticsMockingParse(staticsMocking: String): StaticsMocking = - when (staticsMocking.toLowerCase()) { - "do-not-mock-statics" -> NoStaticMocking - "mock-statics" -> MockitoStaticMocking - else -> error("Parameter staticsMocking == '$staticsMocking', but it can take only 'do-not-mock-statics' or 'mock-statics'") - } - - fun forceStaticMockingParse(forceStaticMocking: String): ForceStaticMocking = - when (forceStaticMocking.toLowerCase()) { - "force" -> ForceStaticMocking.FORCE - "do-not-force" -> ForceStaticMocking.DO_NOT_FORCE - else -> error("Parameter forceStaticMocking == '$forceStaticMocking', but it can take only 'force' or 'do-not-force'") - } - - fun classesToMockAlwaysParse(specifiedClasses: List): Set = - (Mocker.defaultSuperClassesToMockAlwaysNames + specifiedClasses).map { className -> - ClassId(className) - }.toSet() -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/TargetClassWrapper.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/TargetClassWrapper.kt deleted file mode 100644 index 758c6953..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/TargetClassWrapper.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.framework.plugin.sarif - -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.util.isPrivate -import org.utbot.framework.plugin.api.util.executableId -import java.io.File -import kotlin.reflect.KClass - -/** - * Contains information about the class for which we are creating a SARIF report. - */ -data class TargetClassWrapper( - val qualifiedName: String, - val classUnderTest: KClass<*>, - val sourceCodeFile: File, - val testsCodeFile: File, - val sarifReportFile: File, - val testPrivateMethods: Boolean = false -) { - /** - * Returns the methods of the class [classUnderTest] declared by the user. - */ - val targetMethods: List = run { - val allDeclaredMethods = classUnderTest.java.declaredMethods - val neededDeclaredMethods = if (testPrivateMethods) { - allDeclaredMethods.toList() - } else { - allDeclaredMethods.filter { - !it.executableId.isPrivate - } - } - neededDeclaredMethods.map { it.executableId } - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/util/ClassUtil.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/util/ClassUtil.kt deleted file mode 100644 index a5858209..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/plugin/sarif/util/ClassUtil.kt +++ /dev/null @@ -1,69 +0,0 @@ -package org.utbot.framework.plugin.sarif.util - -import org.utbot.common.PathUtil -import org.utbot.common.loadClassesFromDirectory -import org.utbot.common.tryLoadClass -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter -import java.io.File - -object ClassUtil { - - /** - * Finds all classes loaded by the [classLoader] and whose class files - * are located in the [classesDirectory]. Returns the names of the found classes. - * Does not return classes without declared methods or without a canonicalName. - */ - fun findAllDeclaredClasses( - classLoader: ClassLoader, - classesDirectory: File - ): List = - classLoader - .loadClassesFromDirectory(classesDirectory) - .filter { clazz -> - clazz.canonicalName != null && clazz.declaredMethods.isNotEmpty() - } - .map { clazz -> - clazz.canonicalName - } - - /** - * Finds the source code file in the [sourceCodeFiles] by the given [classFqn]. - * Tries to find the file by the information available to [classLoader] - * if the [classFqn] is not found in the [sourceCodeFiles]. - */ - fun findSourceCodeFile( - classFqn: String, - sourceCodeFiles: List, - classLoader: ClassLoader - ): File? = - sourceCodeFiles.firstOrNull { sourceCodeFile -> - val relativePath = "${PathUtil.classFqnToPath(classFqn)}.${sourceCodeFile.extension}" - sourceCodeFile.endsWith(File(relativePath)) - } ?: findSourceCodeFileByClass(classFqn, sourceCodeFiles, classLoader) - - // internal - - /** - * Fallback logic: called after a failure of [findSourceCodeFile]. - */ - private fun findSourceCodeFileByClass( - classFqn: String, - sourceCodeFiles: List, - classLoader: ClassLoader - ): File? { - val clazz = classLoader.tryLoadClass(classFqn) - ?: return null - val sourceFileName = withUtContext(UtContext(classLoader)) { - Instrumenter.adapter.computeSourceFileName(clazz) // finds the file name in bytecode - } ?: return null - val candidates = sourceCodeFiles.filter { sourceCodeFile -> - sourceCodeFile.endsWith(File(sourceFileName)) - } - return if (candidates.size == 1) - candidates.first() - else // we can't decide which file is needed - null - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/process/EngineProcessMain.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/process/EngineProcessMain.kt index a2d54d65..bff4a4a0 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/process/EngineProcessMain.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/process/EngineProcessMain.kt @@ -2,7 +2,7 @@ package org.utbot.framework.process import com.jetbrains.rd.framework.IProtocol import kotlinx.coroutines.runBlocking -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.analytics.AnalyticsConfigureUtil import org.utbot.common.* import org.utbot.framework.codegen.domain.ForceStaticMocking @@ -27,19 +27,11 @@ import org.utbot.framework.plugin.api.util.jClass import org.utbot.framework.plugin.api.util.method import org.utbot.framework.plugin.services.JdkInfo import org.utbot.framework.process.generated.* -import org.utbot.framework.process.generated.BeanAdditionalData -import org.utbot.framework.process.generated.BeanDefinitionData import org.utbot.framework.process.kryo.KryoHelper -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter import org.utbot.rd.IdleWatchdog import org.utbot.rd.ClientProtocolBuilder import org.utbot.rd.RdSettingsContainerFactory import org.utbot.rd.generated.settingsModel -import org.utbot.rd.terminateOnException -import org.utbot.sarif.RdSourceFindingStrategyFacade -import org.utbot.sarif.SarifReport -import org.utbot.spring.process.SpringAnalyzerProcess -import org.utbot.summary.summarizeAll import org.utbot.taint.TaintConfigurationProviderUserRules import java.io.File import java.net.URLClassLoader @@ -48,7 +40,7 @@ import kotlin.reflect.jvm.kotlinFunction import kotlin.time.Duration.Companion.seconds private val messageFromMainTimeoutMillis = 120.seconds -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} @Suppress("unused") object EngineProcessMain @@ -78,30 +70,30 @@ private fun EngineProcessModel.setup(kryoHelper: KryoHelper, watchdog: IdleWatch File(it).toURI().toURL() }.toTypedArray()))) } - watchdog.measureTimeForActiveCall(getSpringBeanDefinitions, "Getting Spring bean definitions") { params -> - try { - val springAnalyzerProcess = SpringAnalyzerProcess.createBlocking(params.classpath.toList()) - val result = springAnalyzerProcess.terminateOnException { _ -> - springAnalyzerProcess.getBeanDefinitions( - kryoHelper.readObject(params.springSettings) - ) - } - springAnalyzerProcess.terminate() - val beanDefinitions = result.beanDefinitions - .map { data -> - val additionalData = data.additionalData?.let { BeanAdditionalData(it.factoryMethodName, it.parameterTypes, it.configClassFqn) } - BeanDefinitionData(data.beanName, data.beanTypeFqn, additionalData) - } - .toTypedArray() - SpringAnalyzerResult(beanDefinitions) - } catch (e: Exception) { - logger.error(e) { "Spring Analyzer crashed, resorting to using empty bean list" } - SpringAnalyzerResult(emptyArray()) - } - } +// watchdog.measureTimeForActiveCall(getSpringBeanDefinitions, "Getting Spring bean definitions") { params -> +// try { +// val springAnalyzerProcess = SpringAnalyzerProcess.createBlocking(params.classpath.toList()) +// val result = springAnalyzerProcess.terminateOnException { _ -> +// springAnalyzerProcess.getBeanDefinitions( +// kryoHelper.readObject(params.springSettings) +// ) +// } +// springAnalyzerProcess.terminate() +// val beanDefinitions = result.beanDefinitions +// .map { data -> +// val additionalData = data.additionalData?.let { BeanAdditionalData(it.factoryMethodName, it.parameterTypes, it.configClassFqn) } +// BeanDefinitionData(data.beanName, data.beanTypeFqn, additionalData) +// } +// .toTypedArray() +// SpringAnalyzerResult(beanDefinitions) +// } catch (e: Exception) { +// logger.error(e) { "Spring Analyzer crashed, resorting to using empty bean list" } +// SpringAnalyzerResult(emptyArray()) +// } +// } watchdog.measureTimeForActiveCall(createTestGenerator, "Creating Test Generator") { params -> AnalyticsConfigureUtil.configureML() - Instrumenter.adapter = RdInstrumenter(realProtocol.rdInstrumenterAdapter) +// Instrumenter.adapter = RdInstrumenter(realProtocol.rdInstrumenterAdapter) val applicationContext: ApplicationContext = kryoHelper.readObject(params.applicationContext) testGenerator = TestCaseGenerator( @@ -132,21 +124,21 @@ private fun EngineProcessModel.setup(kryoHelper: KryoHelper, watchdog: IdleWatch TaintConfigurationProviderUserRules(taintConfigPath) } - val result = testGenerator.generate( - methods, - MockStrategyApi.valueOf(params.mockStrategy), - kryoHelper.readObject(params.chosenClassesToMockAlways), - params.timeout, - userTaintConfigurationProvider, - generate = generateFlow, - ) - .summarizeAll(Paths.get(params.searchDirectory), null) - .filterNot { it.executions.isEmpty() && it.errors.isEmpty() } +// val result = testGenerator.generate( +// methods, +// MockStrategyApi.valueOf(params.mockStrategy), +// kryoHelper.readObject(params.chosenClassesToMockAlways), +// params.timeout, +// userTaintConfigurationProvider, +// generate = generateFlow, +// ) +// .summarizeAll(Paths.get(params.searchDirectory), null) +// .filterNot { it.executions.isEmpty() && it.errors.isEmpty() } val id = ++idCounter - testSets[id] = result - GenerateResult(result.size, id) +// testSets[id] = result + GenerateResult(/*result.size*/0, id) } } watchdog.measureTimeForActiveCall(render, "Rendering tests") { params -> @@ -178,17 +170,17 @@ private fun EngineProcessModel.setup(kryoHelper: KryoHelper, watchdog: IdleWatch .mapNotNull { method -> byMethodDescription[method.methodDescription()]?.let { params -> method.executableId to params } } .toMap())) } - watchdog.measureTimeForActiveCall(writeSarifReport, "Writing Sarif report") { params -> - val reportFilePath = Paths.get(params.reportFilePath) - reportFilePath.parent.toFile().mkdirs() - val sarifReport = SarifReport( - testSets[params.testSetsId]!!, - params.generatedTestsCode, - RdSourceFindingStrategyFacade(params.testSetsId, realProtocol.rdSourceFindingStrategy) - ).createReport().toJson() - reportFilePath.toFile().writeText(sarifReport) - sarifReport - } +// watchdog.measureTimeForActiveCall(writeSarifReport, "Writing Sarif report") { params -> +// val reportFilePath = Paths.get(params.reportFilePath) +// reportFilePath.parent.toFile().mkdirs() +// val sarifReport = SarifReport( +// testSets[params.testSetsId]!!, +// params.generatedTestsCode, +// RdSourceFindingStrategyFacade(params.testSetsId, realProtocol.rdSourceFindingStrategy) +// ).createReport().toJson() +// reportFilePath.toFile().writeText(sarifReport) +// sarifReport +// } watchdog.measureTimeForActiveCall(generateTestReport, "Generating test report") { params -> val eventLogMessage = params.eventLogMessage val testPackageName: String? = params.testPackageName diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/process/RdInstrumenter.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/process/RdInstrumenter.kt deleted file mode 100644 index e7d03318..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/process/RdInstrumenter.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.framework.process - -import kotlinx.coroutines.runBlocking -import mu.KotlinLogging -import org.utbot.common.logException -import org.utbot.framework.process.generated.ComputeSourceFileByClassArguments -import org.utbot.framework.process.generated.RdInstrumenterAdapter -import org.utbot.instrumentation.instrumentation.instrumenter.InstrumenterAdapter -import org.utbot.rd.startBlocking -import java.io.File -import java.nio.file.Path - -private val logger = KotlinLogging.logger { } - -class RdInstrumenter(private val rdInstrumenterAdapter: RdInstrumenterAdapter) : InstrumenterAdapter() { - override fun computeSourceFileByClass( - clazz: Class<*>, - directoryToSearchRecursively: Path - ): File? { - val canonicalClassName = clazz.canonicalName - logger.debug { "starting computeSourceFileByClass for class - $canonicalClassName" } - val result = logger.logException { - val arguments = ComputeSourceFileByClassArguments(canonicalClassName) - - rdInstrumenterAdapter.computeSourceFileByClass.startBlocking(arguments) - } - logger.debug { "computeSourceFileByClass result for $canonicalClassName from idea: $result" } - return result?.let { File(it) } - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/util/EngineUtils.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/util/EngineUtils.kt index 3b72edb1..93a02c5f 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/util/EngineUtils.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/util/EngineUtils.kt @@ -1,6 +1,6 @@ package org.utbot.framework.util -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.logException import org.utbot.framework.plugin.api.util.constructor.ValueConstructor import org.utbot.framework.plugin.api.ExecutableId @@ -18,7 +18,7 @@ import java.util.concurrent.atomic.AtomicInteger import soot.SootMethod -private val logger = KotlinLogging.logger { } +private val logger = UtLogging.logger { } /** * Gets method or constructor id of SootMethod. diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/util/SootUtils.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/util/SootUtils.kt index 9cb09c0d..9d095d1a 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/util/SootUtils.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/framework/util/SootUtils.kt @@ -66,7 +66,7 @@ private fun initSoot(buildDirs: List, classpath: String?, jdkInfo: JdkInfo G.reset() val options = Options.v() - G.v().initJdk(G.JreInfo(jdkInfo.path.toString(), jdkInfo.version)) // init Soot with the right jdk + // G.v().initJdk(G.JreInfo(jdkInfo.path.toString(), jdkInfo.version)) // init Soot with the right jdk options.apply { set_prepend_classpath(true) diff --git a/utbot-framework/src/main/kotlin/org/utbot/framework/util/UtConcreteExecutionResultUtils.kt b/utbot-framework/src/main/kotlin/org/utbot/framework/util/UtConcreteExecutionResultUtils.kt deleted file mode 100644 index 9aef5f1f..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/framework/util/UtConcreteExecutionResultUtils.kt +++ /dev/null @@ -1,50 +0,0 @@ -package org.utbot.framework.util - -import org.utbot.framework.assemble.AssembleModelGenerator -import org.utbot.framework.plugin.api.EnvironmentModels -import org.utbot.framework.plugin.api.MissingState -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.framework.plugin.api.UtModel -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import java.util.IdentityHashMap - -private fun UtConcreteExecutionResult.updateWithAssembleModels( - assembledUtModels: IdentityHashMap -): UtConcreteExecutionResult { - val toAssemble: (UtModel) -> UtModel = { assembledUtModels.getOrDefault(it, it) } - - val resolvedStateAfter = if (stateAfter is MissingState) MissingState else EnvironmentModels( - stateAfter.thisInstance?.let { toAssemble(it) }, - stateAfter.parameters.map { toAssemble(it) }, - stateAfter.statics.mapValues { toAssemble(it.value) } - ) - val resolvedResult = - (result as? UtExecutionSuccess)?.model?.let { UtExecutionSuccess(toAssemble(it)) } ?: result - - return UtConcreteExecutionResult( - resolvedStateAfter, - resolvedResult, - coverage, - newInstrumentation - ) -} - -/** - * Tries to convert all models from [UtExecutionResult] to [UtAssembleModel] if possible. - * - * @return [UtConcreteExecutionResult] with converted models. - */ -fun UtConcreteExecutionResult.convertToAssemble(packageName: String): UtConcreteExecutionResult { - val allModels = collectAllModels() - - val modelsToAssembleModels = AssembleModelGenerator(packageName).createAssembleModels(allModels) - return updateWithAssembleModels(modelsToAssembleModels) -} - -private fun UtConcreteExecutionResult.collectAllModels(): List { - val allModels = listOfNotNull(stateAfter.thisInstance).toMutableList() - allModels += stateAfter.parameters - allModels += stateAfter.statics.values - allModels += listOfNotNull((result as? UtExecutionSuccess)?.model) - return allModels -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/fuzzer/FuzzerFunctions.kt b/utbot-framework/src/main/kotlin/org/utbot/fuzzer/FuzzerFunctions.kt deleted file mode 100644 index 5f7fc57d..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/fuzzer/FuzzerFunctions.kt +++ /dev/null @@ -1,277 +0,0 @@ -package org.utbot.fuzzer - -import mu.KotlinLogging -import org.utbot.framework.plugin.api.classId -import org.utbot.framework.plugin.api.util.* -import org.utbot.framework.util.executableId -import soot.BooleanType -import soot.ByteType -import soot.CharType -import soot.DoubleType -import soot.FloatType -import soot.IntType -import soot.Local -import soot.LongType -import soot.ShortType -import soot.Unit -import soot.Value -import soot.ValueBox -import soot.jimple.Constant -import soot.jimple.IntConstant -import soot.jimple.InvokeExpr -import soot.jimple.NullConstant -import soot.jimple.internal.* -import soot.toolkits.graph.ExceptionalUnitGraph - -private val logger = KotlinLogging.logger {} - -/** - * Finds constant values in method body. - */ -fun collectConstantsForFuzzer(graph: ExceptionalUnitGraph): Set { - return graph.body.units.reversed().asSequence() - .filter { it is JIfStmt || it is JAssignStmt || it is AbstractSwitchStmt || it is JInvokeStmt } - .flatMap { unit -> - unit.useBoxes.map { unit to it.value } - } - .filter { (_, value) -> - value is Constant || value is Local || value is JCastExpr || value is InvokeExpr - } - .flatMap { (unit, value) -> - sequenceOf( - ConstantsFromIfStatement, - ConstantsFromCast, - ConstantsFromSwitchCase, - BoundValuesForDoubleChecks, - StringConstant, - RegexByVarStringConstant, - DateFormatByVarStringConstant, - ).flatMap { finder -> - try { - finder.find(graph, unit, value) - } catch (e: Exception) { - // ignore known values that don't have a value field and can be met - if (value !is NullConstant) { - logger.warn(e) { "Cannot process constant value of type '${value.type}'" } - } - emptyList() - } - }.let { result -> - if (result.any()) result else { - ConstantsAsIs.find(graph, unit, value).asSequence() - } - } - }.toSet() -} - -private interface ConstantsFinder { - fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List -} - -private object ConstantsFromIfStatement: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (value !is Constant || (unit !is JIfStmt && unit !is JAssignStmt)) return emptyList() - - var useBoxes: List = emptyList() - var ifStatement: JIfStmt? = null - // simple if statement - if (unit is JIfStmt) { - useBoxes = unit.conditionBox.value.useBoxes.mapNotNull { (it as? ImmediateBox)?.value } - ifStatement = unit - } - // statement with double and long that consists of 2 units: - // 1. compare (result = local compare constant) - // 2. if result - if (unit is JAssignStmt) { - useBoxes = unit.rightOp.useBoxes.mapNotNull { (it as? ImmediateBox)?.value } - ifStatement = nextDirectUnit(graph, unit) as? JIfStmt - } - - /* - * It is acceptable to check different types in if statement like ```2 == 2L```. - * - * Because of that fuzzer tries to find out the correct type between local and constant. - * Constant should be converted into type of local var in such way that if-statement can be true. - */ - val valueIndex = useBoxes.indexOf(value) - if (useBoxes.size == 2 && valueIndex >= 0 && ifStatement != null) { - val exactValue = value.plainValue - val local = useBoxes[(valueIndex + 1) % 2] - var op = sootIfToFuzzedOp(ifStatement) - if (valueIndex == 0 && op is FuzzedContext.Comparison) { - op = op.reverse() - } - // Soot loads any integer type as an Int, - // therefore we try to guess target type using second value - // in the if statement - return listOfNotNull( - when (local.type) { - is CharType -> FuzzedConcreteValue(charClassId, (exactValue as Int).toChar(), op) - is BooleanType -> FuzzedConcreteValue(booleanClassId, (exactValue == 1), op) - is ByteType -> FuzzedConcreteValue(byteClassId, (exactValue as Int).toByte(), op) - is ShortType -> FuzzedConcreteValue(shortClassId, (exactValue as Int).toShort(), op) - is IntType -> FuzzedConcreteValue(intClassId, exactValue, op) - is LongType -> FuzzedConcreteValue(longClassId, exactValue, op) - is FloatType -> FuzzedConcreteValue(floatClassId, exactValue, op) - is DoubleType -> FuzzedConcreteValue(doubleClassId, exactValue, op) - else -> null - } - ) - } - return emptyList() - } - -} - -private object ConstantsFromCast: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (value !is JCastExpr) return emptyList() - - val next = nextDirectUnit(graph, unit) - if (next is JAssignStmt) { - val const = next.useBoxes.findFirstInstanceOf() - if (const != null) { - val op = (nextDirectUnit(graph, next) as? JIfStmt)?.let(::sootIfToFuzzedOp) ?: FuzzedContext.Unknown - when (val exactValue = const.plainValue) { - is Number -> return listOfNotNull( - when (value.op.type) { - is ByteType -> FuzzedConcreteValue(byteClassId, exactValue.toByte(), op) - is ShortType -> FuzzedConcreteValue(shortClassId, exactValue.toShort(), op) - is IntType -> FuzzedConcreteValue(intClassId, exactValue.toInt(), op) - is FloatType -> FuzzedConcreteValue(floatClassId, exactValue.toFloat(), op) - else -> null - } - ) - is String -> { - return listOfNotNull(FuzzedConcreteValue(stringClassId, exactValue, op)) - } - } - } - } - return emptyList() - } - -} - -private object ConstantsFromSwitchCase: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (unit !is JTableSwitchStmt && unit !is JLookupSwitchStmt) return emptyList() - val result = mutableListOf() - if (unit is JTableSwitchStmt) { - for (i in unit.lowIndex..unit.highIndex) { - result.add(FuzzedConcreteValue(intClassId, i, FuzzedContext.Comparison.EQ)) - } - } - if (unit is JLookupSwitchStmt) { - unit.lookupValues.asSequence().filterIsInstance().forEach { - result.add(FuzzedConcreteValue(intClassId, it.value, FuzzedContext.Comparison.EQ)) - } - } - return result - } -} - -private object BoundValuesForDoubleChecks: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (value !is InvokeExpr) return emptyList() - if (value.method.declaringClass.name != "java.lang.Double") return emptyList() - return when (value.method.name) { - "isNaN", "isInfinite", "isFinite" -> listOf( - FuzzedConcreteValue(doubleClassId, Double.POSITIVE_INFINITY), - FuzzedConcreteValue(doubleClassId, Double.NaN), - FuzzedConcreteValue(doubleClassId, 0.0), - ) - else -> emptyList() - } - } - -} - -private object StringConstant: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (unit !is JAssignStmt || value !is JVirtualInvokeExpr) return emptyList() - // if string constant is called from String class let's pass it as modification - if (value.method.declaringClass.name == "java.lang.String") { - val stringConstantWasPassedAsArg = unit.useBoxes.findFirstInstanceOf()?.plainValue - if (stringConstantWasPassedAsArg != null && stringConstantWasPassedAsArg is String) { - return listOf(FuzzedConcreteValue(stringClassId, stringConstantWasPassedAsArg, FuzzedContext.Call(value.method.executableId))) - } - val stringConstantWasPassedAsThis = graph.getPredsOf(unit) - ?.filterIsInstance() - ?.firstOrNull() - ?.useBoxes - ?.findFirstInstanceOf() - ?.plainValue - if (stringConstantWasPassedAsThis != null && stringConstantWasPassedAsThis is String) { - return listOf(FuzzedConcreteValue(stringClassId, stringConstantWasPassedAsThis, FuzzedContext.Call(value.method.executableId))) - } - } - return emptyList() - } -} - -/** - * Finds strings that are used inside Pattern's methods. - * - * Due to compiler optimizations it should work when a string is assigned to a variable or static final field. - */ -private object RegexByVarStringConstant: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (unit !is JAssignStmt || value !is JStaticInvokeExpr) return emptyList() - if (value.method.declaringClass.name == "java.util.regex.Pattern") { - val stringConstantWasPassedAsArg = unit.useBoxes.findFirstInstanceOf()?.plainValue - if (stringConstantWasPassedAsArg != null && stringConstantWasPassedAsArg is String) { - return listOf(FuzzedConcreteValue(stringClassId, stringConstantWasPassedAsArg, FuzzedContext.Call(value.method.executableId))) - } - } - return emptyList() - } -} - -/** - * Finds strings that are used inside DateFormat's constructors. - * - * Due to compiler optimizations it should work when a string is assigned to a variable or static final field. - */ -private object DateFormatByVarStringConstant: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (unit !is JInvokeStmt || value !is JSpecialInvokeExpr) return emptyList() - if (value.method.isConstructor && value.method.declaringClass.name == "java.text.SimpleDateFormat") { - val stringConstantWasPassedAsArg = unit.useBoxes.findFirstInstanceOf()?.plainValue - if (stringConstantWasPassedAsArg != null && stringConstantWasPassedAsArg is String) { - return listOf(FuzzedConcreteValue(stringClassId, stringConstantWasPassedAsArg, FuzzedContext.Call(value.method.executableId))) - } - } - return emptyList() - } -} - -private object ConstantsAsIs: ConstantsFinder { - override fun find(graph: ExceptionalUnitGraph, unit: Unit, value: Value): List { - if (value !is Constant || value is NullConstant) return emptyList() - return listOf(FuzzedConcreteValue(value.type.classId, value.plainValue)) - - } - -} - -private inline fun List.findFirstInstanceOf(): T? { - return map { it.value } - .filterIsInstance() - .firstOrNull() -} - -private val Constant.plainValue - get() = javaClass.getField("value")[this] - -private fun sootIfToFuzzedOp(unit: JIfStmt) = when (unit.condition) { - is JEqExpr -> FuzzedContext.Comparison.NE - is JNeExpr -> FuzzedContext.Comparison.EQ - is JGtExpr -> FuzzedContext.Comparison.LE - is JGeExpr -> FuzzedContext.Comparison.LT - is JLtExpr -> FuzzedContext.Comparison.GE - is JLeExpr -> FuzzedContext.Comparison.GT - else -> FuzzedContext.Unknown -} - -private fun nextDirectUnit(graph: ExceptionalUnitGraph, unit: Unit): Unit? = graph.getSuccsOf(unit).takeIf { it.size == 1 }?.first() \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/sarif/DataClasses.kt b/utbot-framework/src/main/kotlin/org/utbot/sarif/DataClasses.kt deleted file mode 100644 index 97316582..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/sarif/DataClasses.kt +++ /dev/null @@ -1,290 +0,0 @@ -package org.utbot.sarif - -import com.fasterxml.jackson.annotation.* -import com.fasterxml.jackson.core.JsonParser -import com.fasterxml.jackson.databind.DeserializationContext -import com.fasterxml.jackson.databind.JsonDeserializer -import com.fasterxml.jackson.databind.JsonNode -import com.fasterxml.jackson.databind.module.SimpleModule -import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper -import com.fasterxml.jackson.module.kotlin.readValue - -/** - * Useful links: - * - [Official SARIF documentation](https://github.com/microsoft/sarif-tutorials/blob/main/README.md) - * - [SARIF format documentation by GitHub](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning) - */ -data class Sarif( - @JsonProperty("\$schema") val schema: String, - val version: String, - val runs: List -) { - companion object { - - private val jsonMapper = jacksonObjectMapper() - .registerModule(SimpleModule() - .addDeserializer(SarifLocationWrapper::class.java, SarifLocationWrapperDeserializer()) - ) - - private const val defaultSchema = - "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json" - private const val defaultVersion = - "2.1.0" - - fun empty() = - Sarif(defaultSchema, defaultVersion, listOf()) - - fun fromRun(run: SarifRun) = - Sarif(defaultSchema, defaultVersion, listOf(run)) - - fun fromJson(reportInJson: String): Sarif = - jsonMapper.readValue(reportInJson) - } - - fun toJson(): String = - jsonMapper - .setSerializationInclusion(JsonInclude.Include.NON_NULL) - .writerWithDefaultPrettyPrinter() - .writeValueAsString(this) - - operator fun plus(other: Sarif): Sarif = - this.copy(runs = this.runs + other.runs) - - @JsonIgnore - fun getAllResults(): List = - runs.flatMap { it.results } -} - -/** - * [Documentation](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#run-object) - */ -data class SarifRun( - val tool: SarifTool, - val results: List -) - -// Tool - -/** - * Contains information about the tool that generated the SARIF report - */ -data class SarifTool( - val driver: SarifToolComponent -) { - companion object { - private const val defaultName = "UnitTestBot" - private const val defaultOrganization = "utbot.org" - private const val defaultVersion = "1.0" - - fun fromRules(rules: List) = SarifTool( - driver = SarifToolComponent( - defaultName, - defaultOrganization, - defaultVersion, - rules - ) - ) - } -} - -data class SarifToolComponent( - val name: String, - val organization: String, - val version: String, - val rules: List, -) - -/** - * [Documentation](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#reportingdescriptor-object) - */ -data class SarifRule( - val id: String, - val name: String, - val shortDescription: Description, - val fullDescription: Description, - val help: Help -) { - - data class Description( - val text: String - ) - - data class Help( - val text: String, - val markdown: String? = null - ) -} - -// Results - -/** - * [Documentation](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#result-object) - */ -data class SarifResult( - val ruleId: String, - val level: Level, - val message: Message, - val locations: List = listOf(), - val relatedLocations: List = listOf(), - val codeFlows: List = listOf() -) { - /** - * Returns the total number of locations in all [codeFlows]. - */ - fun totalCodeFlowLocations() = - codeFlows.sumOf { codeFlow -> - codeFlow.threadFlows.sumOf { threadFlow -> - threadFlow.locations.size - } - } -} - -/** - * The severity of the result. "Error" for detected unchecked exceptions. - */ -@Suppress("unused") -enum class Level(@get:JsonValue val value: String) { - None("none"), - Note("note"), - Warning("warning"), - Error("error") -} - -/** - * The message shown to the user, contains a short description of the result (detected error) - */ -data class Message( - val text: String, - val markdown: String? = null -) - -// location - -/** - * [Documentation](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#location-object) - */ -sealed class SarifLocationWrapper - -data class SarifPhysicalLocationWrapper( - val physicalLocation: SarifPhysicalLocation // this name used in the SarifLocationWrapperDeserializer -) : SarifLocationWrapper() - -data class SarifLogicalLocationsWrapper( - val logicalLocations: List // this name used in the SarifLocationWrapperDeserializer -) : SarifLocationWrapper() - -/** - * Custom JSON deserializer for sealed class [SarifLocationWrapper]. - * Returns [SarifPhysicalLocationWrapper] or [SarifLogicalLocationsWrapper]. - */ -class SarifLocationWrapperDeserializer : JsonDeserializer() { - override fun deserialize(jp: JsonParser, context: DeserializationContext?): SarifLocationWrapper { - val node: JsonNode = jp.codec.readTree(jp) - val isPhysicalLocation = node.get("physicalLocation") != null // field name - val isLogicalLocations = node.get("logicalLocations") != null // field name - return when { - isPhysicalLocation -> { - jacksonObjectMapper().readValue(node.toString()) - } - isLogicalLocations -> { - return jacksonObjectMapper().readValue(node.toString()) - } - else -> error("SarifLocationWrapperDeserializer: Cannot parse ${node.toPrettyString()}") - } - } -} - -/** - * [Documentation](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#physicallocation-object) - */ -data class SarifPhysicalLocation( - val artifactLocation: SarifArtifact, - val region: SarifRegion -) - -data class SarifArtifact( - val uri: String, - val uriBaseId: String = "%SRCROOT%" -) - -/** - * All fields should be one-based. - */ -data class SarifRegion( - val startLine: Int, - val endLine: Int? = null, - val startColumn: Int? = null, - val endColumn: Int? = null -) { - companion object { - /** - * Makes [startColumn] the first non-whitespace character in [startLine] in the [text]. - * If the [text] contains less than [startLine] lines, [startColumn] == null. - * @param startLine should be one-based - */ - fun withStartLine(text: String, startLine: Int): SarifRegion { - val neededLine = text.split('\n').getOrNull(startLine - 1) // to zero-based - val startColumn = neededLine?.run { - takeWhile { it.toString().isBlank() }.length + 1 // to one-based - } - val safeStartLine = if (startLine < 1) { - logger.warn { "For some reason startLine < 1, so now it is equal to 1" } - 1 // we don't want to fail, so just set the line number to 1 - } else { - startLine - } - return SarifRegion(startLine = safeStartLine, startColumn = startColumn) - } - } -} - -// logical locations - -/** - * [Documentation](https://github.com/microsoft/sarif-tutorials/blob/main/docs/2-Basics.md#physical-and-logical-locations) - */ -data class SarifLogicalLocation( - val fullyQualifiedName: String -) - -// related locations - -/** - * Used to attach links to the files with generated tests - */ -data class SarifRelatedPhysicalLocationWrapper( - val id: Int, - val physicalLocation: SarifPhysicalLocation -) - -// code flow - -/** - * Used to represent the exception stack trace - * - [Documentation (last item)](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#result-object) - */ -data class SarifCodeFlow( - val threadFlows: List -) { - companion object { - fun fromLocations(locations: List): SarifCodeFlow = - SarifCodeFlow( - threadFlows = listOf( // only one thread - SarifThreadFlow(locations) - ) - ) - } -} - -data class SarifThreadFlow( - val locations: List -) - -data class SarifFlowLocationWrapper( - val location: SarifFlowLocation -) - -data class SarifFlowLocation( - val message: Message, - val physicalLocation: SarifPhysicalLocation -) diff --git a/utbot-framework/src/main/kotlin/org/utbot/sarif/RdSourceFindingStrategy.kt b/utbot-framework/src/main/kotlin/org/utbot/sarif/RdSourceFindingStrategy.kt deleted file mode 100644 index 5b38c1e1..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/sarif/RdSourceFindingStrategy.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.sarif - -import kotlinx.coroutines.runBlocking -import org.utbot.framework.process.generated.RdSourceFindingStrategy -import org.utbot.framework.process.generated.SourceStrategyMethodArgs -import java.io.File - -class RdSourceFindingStrategyFacade( - private val testSetsId: Long, - private val realStrategy: RdSourceFindingStrategy -) : SourceFindingStrategy() { - override val testsRelativePath: String - get() = runBlocking { realStrategy.testsRelativePath.startSuspending(testSetsId) } - - override fun getSourceRelativePath(classFqn: String, extension: String?): String = runBlocking { - realStrategy.getSourceRelativePath.startSuspending(SourceStrategyMethodArgs(testSetsId, classFqn, extension)) - } - - override fun getSourceFile(classFqn: String, extension: String?): File? = runBlocking { - realStrategy.getSourceFile.startSuspending(SourceStrategyMethodArgs(testSetsId, classFqn, extension))?.let { - File(it) - } - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/sarif/SarifReport.kt b/utbot-framework/src/main/kotlin/org/utbot/sarif/SarifReport.kt deleted file mode 100644 index 0d0d8d71..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/sarif/SarifReport.kt +++ /dev/null @@ -1,548 +0,0 @@ -package org.utbot.sarif - -import mu.KotlinLogging -import org.utbot.common.PathUtil.fileExtension -import org.utbot.common.PathUtil.toPath -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.* -import org.utbot.instrumentation.process.InstrumentedProcessMain -import java.nio.file.Path -import kotlin.io.path.nameWithoutExtension - -internal val logger = KotlinLogging.logger {} - -/** - * Used for the SARIF report creation by given test cases and generated tests code. - * SARIF is a JSON-based format for presenting static analyzer results. - * You can open a report (*.sarif file) with the VS Code extension "Sarif Viewer". - * - * [Read more about SARIF rules](https://github.com/microsoft/sarif-tutorials/blob/main/README.md) - * [Sample report](https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning#example-with-minimum-required-properties) - */ -class SarifReport( - private val testSets: List, - private val generatedTestsCode: String, - private val sourceFinding: SourceFindingStrategy -) { - companion object { - /** - * Merges several SARIF reports given as JSON-strings into one - */ - fun mergeReports(reports: List): String = - reports.fold(Sarif.empty()) { sarif: Sarif, report: String -> - sarif + Sarif.fromJson(report) - }.toJson() - - /** - * Minimizes SARIF results between several reports. - * - * More complex version of the [SarifReport.minimizeResults]. - */ - fun minimizeSarifResults(srcPathToSarif: MutableMap): MutableMap { - val pathToSarifResult = srcPathToSarif.entries.flatMap { (path, sarif) -> - sarif.getAllResults().map { sarifResult -> - path to sarifResult - } - } - val groupedResults = pathToSarifResult.groupBy { (_, sarifResult) -> - sarifResult.ruleId to sarifResult.locations - } - val minimizedResults = groupedResults.map { (_, sarifResultsGroup) -> - sarifResultsGroup.minByOrNull { (_, sarifResult) -> - sarifResult.totalCodeFlowLocations() - }!! - } - val groupedByPath = minimizedResults - .groupBy { (path, _) -> path } - .mapValues { (_, resultsWithPath) -> - resultsWithPath.map { (_, sarifResult) -> sarifResult } // remove redundant path - } - val pathToSarifTool = srcPathToSarif.mapValues { (_, sarif) -> - sarif.runs.first().tool - } - val paths = pathToSarifTool.keys intersect groupedByPath.keys - return paths.associateWith { path -> - val sarifTool = pathToSarifTool[path]!! - val sarifResults = groupedByPath[path]!! - Sarif.fromRun(SarifRun(sarifTool, sarifResults)) - }.toMutableMap() - } - } - - /** - * Creates a SARIF report. - */ - fun createReport(): Sarif { - val sarifResults = mutableListOf() - val sarifRules = mutableSetOf() - - for (testSet in testSets) { - for (execution in testSet.executions) { - if (shouldProcessExecutionResult(execution.result)) { - val (sarifResult, sarifRule) = processExecutionFailure( - method = testSet.method, - utExecution = execution, - executionFailure = execution.result as UtExecutionFailure - ) - sarifResults += sarifResult - sarifRules += sarifRule - } - } - } - - return Sarif.fromRun( - SarifRun( - SarifTool.fromRules(sarifRules.toList()), - minimizeResults(sarifResults) - ) - ) - } - - // internal - - private val defaultLineNumber = 1 // if the line in the source code where the exception is thrown is unknown - - /** - * [Read more about links to locations](https://github.com/microsoft/sarif-tutorials/blob/main/docs/3-Beyond-basics.md#msg-links-location) - */ - private val relatedLocationId = 1 // for attaching link to generated test in related locations - - private val stackTraceLengthForStackOverflow = 50 // stack overflow error may have too many elements - - /** - * Minimizes detected errors and removes duplicates. - * - * Between two [SarifResult]s with the same `ruleId` and `locations` - * it chooses the one with the shorter length of the execution trace. - * - * __Example:__ - * - * The SARIF report for the code below contains only one unchecked exception in `methodB`. - * But without minimization, the report will contain two results: for `methodA` and for `methodB`. - * - * ``` - * class Example { - * int methodA(int a) { - * return methodB(a); - * } - * int methodB(int b) { - * return 1 / b; - * } - * } - * ``` - */ - private fun minimizeResults(sarifResults: List): List { - val groupedResults = sarifResults.groupBy { sarifResult -> - Pair(sarifResult.ruleId, sarifResult.locations) - } - val minimizedResults = groupedResults.map { (_, sarifResultsGroup) -> - sarifResultsGroup.minByOrNull { sarifResult -> - sarifResult.totalCodeFlowLocations() - }!! - } - return minimizedResults - } - - private fun processExecutionFailure( - method: ExecutableId, - utExecution: UtExecution, - executionFailure: UtExecutionFailure - ): Pair { - - val exceptionName = executionFailure.exception::class.java.simpleName - val ruleId = "utbot.exception.$exceptionName" - - val methodName = method.name - val classFqn = method.classId.name - val methodArguments = utExecution.stateBefore.parameters - .joinToString(prefix = "", separator = ", ", postfix = "") { it.preview() } - - val errorMessage = when (executionFailure) { - is UtTimeoutException -> { - "Unexpected behavior: ${executionFailure.exception.message}" - } - is UtTaintAnalysisFailure -> { - executionFailure.exception.message - } - else -> { - val exceptionSimpleName = executionFailure.exception::class.java.simpleName - val exceptionMessage = executionFailure.exception.message - if (exceptionMessage == null) { - "Unexpected $exceptionSimpleName" - } else { - "Unexpected $exceptionSimpleName: $exceptionMessage" - } - } - } - - val sarifResult = SarifResult( - ruleId, - Level.Error, - Message( - text = """ - $errorMessage. - Test case: `$methodName($methodArguments)` - [Generated test for this case]($relatedLocationId) - """.trimIndent() - ), - getLocations(method, utExecution, classFqn), - getRelatedLocations(utExecution), - getCodeFlows(method, utExecution, executionFailure) - ) - val sarifRule = SarifRule( - ruleId, - exceptionName, - SarifRule.Description( - text = "Unexpected $exceptionName detected." - ), - SarifRule.Description( - text = "Seems like an exception $exceptionName might be thrown." - ), - SarifRule.Help( - text = "https://docs.oracle.com/javase/8/docs/api/java/lang/$exceptionName.html" - ) - ) - - return Pair(sarifResult, sarifRule) - } - - private fun getLocations( - method: ExecutableId, - utExecution: UtExecution, - classFqn: String? - ): List { - if (classFqn == null) - return listOf() - val (startLine, classWithErrorFqn) = getLastLineNumberWithClassFqn(method, utExecution, classFqn) - val sourceCode = sourceFinding.getSourceFile(classWithErrorFqn)?.readText() ?: "" - val sourceRegion = SarifRegion.withStartLine(sourceCode, startLine) - val sourceRelativePath = sourceFinding.getSourceRelativePath(classWithErrorFqn) - return listOf( - SarifPhysicalLocationWrapper( - SarifPhysicalLocation(SarifArtifact(sourceRelativePath), sourceRegion) - ), - SarifLogicalLocationsWrapper( - listOf(SarifLogicalLocation(classWithErrorFqn)) // class name without method name - ) - ) - } - - private fun getRelatedLocations(utExecution: UtExecution): List { - val startLine = utExecution.testMethodName?.let { testMethodName -> - val neededLine = generatedTestsCode.split('\n').indexOfFirst { line -> - line.contains("$testMethodName(") - } - if (neededLine == -1) null else neededLine + 1 // to one-based - } ?: defaultLineNumber - val sourceRegion = SarifRegion.withStartLine(generatedTestsCode, startLine) - return listOf( - SarifRelatedPhysicalLocationWrapper( - relatedLocationId, - SarifPhysicalLocation(SarifArtifact(sourceFinding.testsRelativePath), sourceRegion) - ) - ) - } - - private fun getCodeFlows( - method: ExecutableId, - utExecution: UtExecution, - executionFailure: UtExecutionFailure - ): List { - val stackTraceResolved = filterStackTrace(method, executionFailure) - .mapNotNull { findStackTraceElementLocation(it) } - .toMutableList() - - if (stackTraceResolved.isEmpty() && utExecution is UtSymbolicExecution) { - stackTraceResolved += stackTraceFromSymbolicSteps(utExecution) // fallback logic - } - - if (stackTraceResolved.isEmpty()) { // still empty - stackTraceResolved += stackTraceFromCoverage(utExecution) // fallback logic (2) - } - - // prepending stack trace by `method` call in generated tests - val methodCallLocation: SarifPhysicalLocation? = - findMethodCallInTestBody(utExecution.testMethodName, method.name, utExecution) - if (methodCallLocation != null) { - val testFileName = sourceFinding.testsRelativePath.toPath().fileName - val testClassName = testFileName.nameWithoutExtension - val testMethodName = utExecution.testMethodName - val methodCallLineNumber = methodCallLocation.region.startLine - val methodCallLocationWrapper = SarifFlowLocationWrapper( - SarifFlowLocation( - message = Message( - text = "$testClassName.$testMethodName($testFileName:$methodCallLineNumber)" - ), - physicalLocation = methodCallLocation - ) - ) - stackTraceResolved.add(methodCallLocationWrapper) // will be first after reverse - } - - return listOf( - SarifCodeFlow.fromLocations( - stackTraceResolved.reversed() // reversing stackTrace for convenience - ) - ) - } - - private fun filterStackTrace( - method: ExecutableId, - executionFailure: UtExecutionFailure - ): List { - /* Example of a typical stack trace: - - java.lang.Math.multiplyExact(Math.java:867) - - com.abc.Util.multiply(Util.java:10) - - com.abc.Util.multiply(Util.java:6) - - com.abc.Main.example(Main.java:11) // <- `lastMethodCallIndex` - - sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - - ... - */ - var stackTrace = executionFailure.exception.stackTrace.toList() - - val lastMethodCallIndex = stackTrace.indexOfLast { - it.className == method.classId.name && it.methodName == method.name - } - if (lastMethodCallIndex != -1) { - // taking all elements before the last `method` call - stackTrace = stackTrace.take(lastMethodCallIndex + 1) - } else { // no `method` call in the stack trace - if (executionFailure.exception !is StackOverflowError) { - stackTrace = listOf() // (likely) the stack trace contains only our internal calls - } - } - - if (executionFailure.exception is StackOverflowError) { - stackTrace = stackTrace.takeLast(stackTraceLengthForStackOverflow) - } - - val stackTraceFiltered = stackTrace.filter { - // filter all internal calls related to the instrumentation process - val forbiddenPackage = InstrumentedProcessMain::class.java.`package`.name - !it.className.startsWith(forbiddenPackage) - } - - return stackTraceFiltered - } - - /** - * Constructs the stack trace from the symbolic path. - */ - private fun stackTraceFromSymbolicSteps(utExecution: UtSymbolicExecution): List { - val depth2LastStep = mutableListOf() - for (step in utExecution.symbolicSteps) { - if (step.callDepth >= depth2LastStep.size) { - depth2LastStep.add(step) - } else if (step.callDepth >= 0) { - depth2LastStep[step.callDepth] = step - while (step.callDepth != depth2LastStep.size - 1) { - depth2LastStep.removeLast() - } - } - } - - val sarifExecutionTrace = depth2LastStep.map { step -> - resolveStackTraceElementByNames( - classFqn = step.method.declaringClass.name, - methodName = step.method.name, - lineNumber = step.lineNumber, - ) - } - - return sarifExecutionTrace.reversed() // to stack trace - } - - /** - * Constructs the stack trace from the list of covered instructions. - */ - private fun stackTraceFromCoverage(utExecution: UtExecution): List { - val coveredInstructions = utExecution.coverage?.coveredInstructions - ?: return listOf() - - val executionTrace = coveredInstructions.groupBy { instruction -> - instruction.internalName to instruction.methodSignature // group by method - }.map { (_, instructionsForOneMethod) -> - instructionsForOneMethod.last() // we need only last to construct the stack trace - } - - val sarifExecutionTrace = executionTrace.map { instruction -> - resolveStackTraceElementByNames( - classFqn = instruction.className, - methodName = instruction.methodSignature.substringBefore('('), - lineNumber = instruction.lineNumber - ) - } - - return sarifExecutionTrace.reversed() // to stack trace - } - - private fun resolveStackTraceElementByNames( - classFqn: String, - methodName: String, - lineNumber: Int - ): SarifFlowLocationWrapper { - val sourceFilePath = sourceFinding.getSourceRelativePath(classFqn) - val sourceFileName = sourceFilePath.substringAfterLast('/') - - return SarifFlowLocationWrapper( - SarifFlowLocation( - message = Message("$classFqn.$methodName($sourceFileName:$lineNumber)"), - physicalLocation = SarifPhysicalLocation( - SarifArtifact(uri = sourceFilePath), - SarifRegion(startLine = lineNumber) // lineNumber is one-based - ) - ) - ) - } - - private fun findStackTraceElementLocation(stackTraceElement: StackTraceElement): SarifFlowLocationWrapper? { - val lineNumber = stackTraceElement.lineNumber - if (lineNumber < 1) - return null - val extension = stackTraceElement.fileName?.toPath()?.fileExtension - val relativePath = sourceFinding.getSourceRelativePath(stackTraceElement.className, extension) - val sourceCode = sourceFinding.getSourceFile(stackTraceElement.className, extension)?.readText() ?: "" - return SarifFlowLocationWrapper( - SarifFlowLocation( - message = Message( - text = stackTraceElement.toString() - ), - physicalLocation = SarifPhysicalLocation( - SarifArtifact(relativePath), - SarifRegion.withStartLine(sourceCode, lineNumber) - ) - ) - ) - } - - private val testsBodyLines by lazy { - generatedTestsCode.split('\n') - } - - private fun findMethodCallInTestBody( - testMethodName: String?, - methodName: String, - utExecution: UtExecution, - ): SarifPhysicalLocation? { - if (testMethodName == null) - return null - if (utExecution.result is UtSandboxFailure) // if there is no method call in test - return getRelatedLocations(utExecution).firstOrNull()?.physicalLocation - - // searching needed test - val testMethodStartsAt = testsBodyLines.indexOfFirst { line -> - line.contains(testMethodName) - } - if (testMethodStartsAt == -1) - return null - /* - * ... - * public void testMethodName() { // <- `testMethodStartsAt` - * ... - * className.methodName(...) // <- needed `startLine` - * ... - * } - */ - - // searching needed method call - // Regex("[^:]*") satisfies every character except ':' - // It is necessary to avoid strings from the stacktrace, such as "className.methodName(FileName.java:10)" - val publicMethodCallPattern = Regex("""$methodName\([^:]*\)""") - val privateMethodCallPattern = Regex("""$methodName.*\.invoke\([^:]*\)""") // using reflection - val methodCallShiftInTestMethod = testsBodyLines - .drop(testMethodStartsAt + 1) // for search after it - .indexOfFirst { line -> - line.contains(publicMethodCallPattern) || line.contains(privateMethodCallPattern) - } - if (methodCallShiftInTestMethod == -1) - return null - - // `startLine` consists of: - // shift to the testMethod call (+ testMethodStartsAt) - // the line with testMethodName (+ 1) - // shift to the method call (+ methodCallShiftInTestMethod) - // to one-based (+ 1) - val startLine = testMethodStartsAt + 1 + methodCallShiftInTestMethod + 1 - - return SarifPhysicalLocation( - SarifArtifact(sourceFinding.testsRelativePath), - SarifRegion.withStartLine(generatedTestsCode, startLine) - ) - } - - private val maxUtModelPreviewLength = 20 - - private fun UtModel.preview(): String { - val preview = this.toString() - if (preview.length <= maxUtModelPreviewLength) - return preview - // UtModel is too long to show in preview - - val previewType = "<${this.classId.simpleName}>" - if (previewType.length <= maxUtModelPreviewLength) - return previewType - // UtModel's type is also too long - - return "..." - } - - /** - * Returns the number of the last line in the execution path - * And the name of the class in which it is located. - */ - private fun getLastLineNumberWithClassFqn( - method: ExecutableId, - utExecution: UtExecution, - defaultClassFqn: String - ): Pair { - val lastSymbolicStep = (utExecution as? UtSymbolicExecution)?.symbolicSteps?.lastOrNull() - if (lastSymbolicStep != null) { - return Pair( - lastSymbolicStep.lineNumber, - lastSymbolicStep.method.declaringClass.name - ) - } - - val coveredInstructions = utExecution.coverage?.coveredInstructions - val lastCoveredInstruction = coveredInstructions?.lastOrNull() - if (lastCoveredInstruction != null) { - return Pair( - lastCoveredInstruction.lineNumber, // .lineNumber is one-based - lastCoveredInstruction.className - ) - } - - // if for some reason we can't extract the last line from the coverage - val lastPathElementLineNumber = try { - // path/fullPath might be empty when engine executes in another process - - // soot entities cannot be passed to the main process because kryo cannot deserialize them - (utExecution as? UtSymbolicExecution)?.path?.lastOrNull()?.stmt?.javaSourceStartLineNumber // one-based - } catch (t: Throwable) { - null - } - if (lastPathElementLineNumber != null) { - return Pair(lastPathElementLineNumber, defaultClassFqn) - } - - val methodDefinitionLine = getMethodDefinitionLineNumber(method) - return Pair(methodDefinitionLine ?: defaultLineNumber, defaultClassFqn) - } - - private fun getMethodDefinitionLineNumber(method: ExecutableId): Int? { - val sourceFile = sourceFinding.getSourceFile(method.classId.canonicalName) - val lineNumber = sourceFile?.readLines()?.indexOfFirst { line -> - line.contains(" ${method.name}(") // method definition - } - return if (lineNumber == null || lineNumber == -1) null else lineNumber + 1 // to one-based - } - - private fun shouldProcessExecutionResult(result: UtExecutionResult): Boolean { - val implicitlyThrown = result is UtImplicitlyThrownException - val overflowFailure = result is UtOverflowFailure && UtSettings.treatOverflowAsError - val taintAnalysisFailure = result is UtTaintAnalysisFailure && UtSettings.useTaintAnalysis - val assertionError = result is UtExplicitlyThrownException && result.exception is AssertionError - val sandboxFailure = result is UtSandboxFailure - val timeoutException = result is UtTimeoutException - return implicitlyThrown || overflowFailure || taintAnalysisFailure || assertionError || sandboxFailure || timeoutException - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/sarif/SourceFindingStrategy.kt b/utbot-framework/src/main/kotlin/org/utbot/sarif/SourceFindingStrategy.kt deleted file mode 100644 index b2ef8b82..00000000 --- a/utbot-framework/src/main/kotlin/org/utbot/sarif/SourceFindingStrategy.kt +++ /dev/null @@ -1,93 +0,0 @@ -package org.utbot.sarif - -import org.utbot.common.PathUtil -import org.utbot.common.PathUtil.classFqnToPath -import org.utbot.common.PathUtil.fileExtension -import org.utbot.common.PathUtil.toPath -import java.io.File - -/** - * Defines the search strategy for the source files. Used when creating a SARIF report. - * All paths should be relative to the project root so that the links in the report are shown correctly. - */ -abstract class SourceFindingStrategy { - - /** - * Returns a path to the file with generated tests. - */ - abstract val testsRelativePath: String - - /** - * Returns a path to the source file by given [classFqn]. - */ - abstract fun getSourceRelativePath(classFqn: String, extension: String? = null): String - - /** - * Returns the source file by given [classFqn]. - */ - abstract fun getSourceFile(classFqn: String, extension: String? = null): File? -} - -/** - * This implementation of the SourceFindingStrategy tries to construct paths - * to source files with zero knowledge of the actual structure of the project. - * So it assumes that project has predictable (standard) structure. - * Otherwise, it may not work properly. - * - * @param sourceClassFqn fully qualified name of the class for which we are creating the report - * @param sourceFilePath absolute path to the file containing `sourceClassFqn` - * @param testsFilePath absolute path to the file containing generated tests for the `sourceClassFqn` - * @param projectRootPath absolute path to the root of the relative paths in the SARIF report - */ -class SourceFindingStrategyDefault( - sourceClassFqn: String, - sourceFilePath: String, - testsFilePath: String, - private val projectRootPath: String -) : SourceFindingStrategy() { - - /** - * Tries to construct the relative path to tests (against `projectRootPath`) using the `testsFilePath`. - */ - override val testsRelativePath = - PathUtil.safeRelativize(projectRootPath, testsFilePath) ?: testsFilePath.toPath().fileName.toString() - - /** - * Tries to guess the relative path (against `projectRootPath`) to the source file containing the class [classFqn]. - */ - override fun getSourceRelativePath(classFqn: String, extension: String?): String { - val fileExtension = extension ?: sourceExtension - val absolutePath = resolveClassFqn(sourceFilesDirectory, classFqn, fileExtension) - val relativePath = PathUtil.safeRelativize(projectRootPath, absolutePath) - return relativePath ?: (classFqnToPath(classFqn) + fileExtension) - } - - /** - * Tries to find the source file containing the class [classFqn]. - * Returns null if the file does not exist. - */ - override fun getSourceFile(classFqn: String, extension: String?): File? { - val fileExtension = extension ?: sourceExtension - val absolutePath = resolveClassFqn(sourceFilesDirectory, classFqn, fileExtension) - return absolutePath?.let(::File) - } - - // internal - - private val sourceExtension = sourceFilePath.toPath().fileExtension - - private val sourceFilesDirectory = - PathUtil.removeClassFqnFromPath(sourceFilePath, sourceClassFqn) - - /** - * Resolves [classFqn] against [absolutePath] and checks if a resolved path exists. - * - * Example: resolveClassFqn("C:/project/src/", "com.Main") = "C:/project/src/com/Main.java". - */ - private fun resolveClassFqn(absolutePath: String?, classFqn: String, extension: String = ".java"): String? { - if (absolutePath == null) - return null - val toResolve = classFqnToPath(classFqn) + extension - return PathUtil.resolveIfExists(absolutePath, toResolve) - } -} \ No newline at end of file diff --git a/utbot-framework/src/main/kotlin/org/utbot/taint/TaintConfigurationProvider.kt b/utbot-framework/src/main/kotlin/org/utbot/taint/TaintConfigurationProvider.kt index e0e9b101..c449611a 100644 --- a/utbot-framework/src/main/kotlin/org/utbot/taint/TaintConfigurationProvider.kt +++ b/utbot-framework/src/main/kotlin/org/utbot/taint/TaintConfigurationProvider.kt @@ -6,7 +6,7 @@ import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.cbor.Cbor import kotlinx.serialization.decodeFromByteArray import kotlinx.serialization.encodeToByteArray -import mu.KotlinLogging +import org.utbot.framework.UtLogging import org.utbot.common.PathUtil.toPath import org.utbot.common.utBotTempDirectory import org.utbot.taint.model.TaintConfiguration @@ -19,7 +19,7 @@ const val TAINT_CONFIGURATION_CACHED_DEFAULT_NAME = "taint-config-cached" val lockResourcesCachedFile = Object() -private val logger = KotlinLogging.logger {} +private val logger = UtLogging.logger {} /** * Provide the [TaintConfiguration]. diff --git a/utbot-fuzzing/build.gradle.kts b/utbot-fuzzing/build.gradle.kts deleted file mode 100644 index a5ab65bf..00000000 --- a/utbot-fuzzing/build.gradle.kts +++ /dev/null @@ -1,7 +0,0 @@ -val kotlinLoggingVersion: String by rootProject -val rgxgenVersion: String by rootProject - -dependencies { - implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) - implementation(group = "org.cornutum.regexp", name = "regexp-gen", version = "2.0.1") -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/java/org/utbot/fuzzing/demo/A.java b/utbot-fuzzing/src/main/java/org/utbot/fuzzing/demo/A.java deleted file mode 100644 index d073a0f0..00000000 --- a/utbot-fuzzing/src/main/java/org/utbot/fuzzing/demo/A.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.fuzzing.demo; - -/** - * Example class that is used in {@link JavaFuzzingKt} - */ -@SuppressWarnings("unused") -final class A { - - public String name; - public int age; - public A copy; - - public A() { - } - - public A(String name) { - this.name = name; - } - - public A(String name, int age) { - this.name = name; - this.age = age; - } - - @Override - public String toString() { - return "A{" + - "name='" + name + '\'' + - ", age=" + age + - ", copy=" + copy + - '}'; - } -} diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Api.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Api.kt deleted file mode 100644 index a33cba2e..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Api.kt +++ /dev/null @@ -1,743 +0,0 @@ -@file:JvmName("FuzzingApi") -package org.utbot.fuzzing - -import kotlinx.coroutines.* -import mu.KotlinLogging -import org.utbot.fuzzing.seeds.KnownValue -import org.utbot.fuzzing.utils.MissedSeed -import org.utbot.fuzzing.utils.chooseOne -import org.utbot.fuzzing.utils.flipCoin -import org.utbot.fuzzing.utils.transformIfNotEmpty -import kotlin.random.Random - -private val logger by lazy { KotlinLogging.logger {} } - -/** - * Describes some data to start fuzzing: initial seeds and how to run target program using generated values. - * - * @see [org.utbot.fuzzing.demo.AbcFuzzingKt] - * @see [org.utbot.fuzzing.demo.JavaFuzzing] - * @see [org.utbot.fuzzing.demo.JsonFuzzingKt] - */ -interface Fuzzing, FEEDBACK : Feedback> { - - /** - * Before producing seeds, this method is called to recognize, - * whether seeds should be generated especially. - * - * [Description.clone] method must be overridden, or it throws an exception if the scope is changed. - */ - fun enrich(description: DESCRIPTION, type: TYPE, scope: Scope) {} - - /** - * Generates seeds for a concrete type. - * - * If any information except type is required, like parameter index or another, - * [description] parameter can be used. - * - * NB: Fuzzing implementation caches seeds for concrete types to improve performance because - * usually all seeds are statically defined. In case some dynamic behavior is required use - * [Feedback.control] to reset caches. - */ - fun generate(description: DESCRIPTION, type: TYPE): Sequence> - - /** - * This method is called on every value list generated by fuzzer. - * - * Fuzzing combines, randomize and mutates values using the seeds. - * Then it generates values and runs them with this method. This method should provide some feedback, - * which is the most important part for a good fuzzing result. [emptyFeedback] can be provided only for test - * or infinite loops. Consider implementing own implementation of [Feedback] to provide more correct data or - * use [BaseFeedback] to generate key based feedback. In this case, the key is used to analyze what value should be next. - * - * @param description contains user-defined information about the current run. Can be used as a state of the run. - * @param values current values to process. - */ - suspend fun handle(description: DESCRIPTION, values: List): FEEDBACK - - /** - * Starts fuzzing with new description but with copy of [Statistic]. - */ - suspend fun fork(description: DESCRIPTION, statistics: Statistic) { - fuzz(description, StatisticImpl(statistics)) - } - - /** - * Checks whether the fuzzer should stop. - */ - suspend fun isCancelled(description: DESCRIPTION, stats: Statistic): Boolean { - return false - } - - suspend fun beforeIteration(description: DESCRIPTION, statistics: Statistic) { } - suspend fun afterIteration(description: DESCRIPTION, statistics: Statistic) { } -} - -/** - * Some description of the current fuzzing run. Usually, it contains the name of the target method and its parameter list. - */ -open class Description( - parameters: List -) { - val parameters: List = parameters.toList() - - open fun clone(scope: Scope): Description { - error("Scope was changed for $this, but method clone is not specified") - } -} - -class Scope( - val parameterIndex: Int, - val recursionDepth: Int, - private val properties: MutableMap, Any?> = hashMapOf(), -) { - fun putProperty(param: ScopeProperty, value: T) { - properties[param] = value - } - - fun getProperty(param: ScopeProperty): T? { - @Suppress("UNCHECKED_CAST") - return properties[param] as? T - } - - fun isNotEmpty(): Boolean = properties.isNotEmpty() -} - -class ScopeProperty( - val description: String -) { - fun getValue(scope: Scope): T? { - return scope.getProperty(this) - } -} - -/** - * Input value that fuzzing knows how to build and use them. - */ -sealed interface Seed { - /** - * Simple value is just a concrete value that should be used as is. - * - * Any mutation can be provided if it is applicable to this value. - */ - class Simple(val value: RESULT, val mutation: (RESULT, random: Random) -> RESULT = { f, _ -> f }): Seed - - /** - * Known value is a typical value that can be manipulated by fuzzing without knowledge about object structure - * in concrete language. For example, integer can be represented as a bit vector of n-bits. - * - * The list of the known to fuzzing values are: - * - * 1. BitVectorValue represents a vector of bits. - * 2. ... - */ - class Known>(val value: V, val build: (V) -> RESULT): Seed - - /** - * Recursive value defines an object with typically has a constructor and list of modifications. - * - * This task creates a tree of object values. - */ - class Recursive( - val construct: Routine.Create, - val modify: Sequence> = emptySequence(), - val empty: Routine.Empty - ) : Seed - - /** - * Collection is a task, that has 2 main options: - * - * 1. Construction the collection - * 2. Modification of the collections that depends on some number of iterations. - */ - class Collection( - val construct: Routine.Collection, - val modify: Routine.ForEach - ) : Seed -} - -/** - * Routine is a task that is used to build a value. - * - * There are several types of a routine, which all are generally only functions. - * These functions accept some data and generate target value. - */ -sealed class Routine(val types: List) : Iterable by types { - - /** - * Creates an empty recursive object. - */ - class Create( - types: List, - val builder: (arguments: List) -> R, - ) : Routine(types) { - operator fun invoke(arguments: List): R = builder(arguments) - } - - /** - * Calls routine for a given object. - */ - class Call( - types: List, - val callable: (instance: R, arguments: List) -> Unit - ) : Routine(types) { - operator fun invoke(instance: R, arguments: List) { - callable(instance, arguments) - } - } - - /** - * Creates a collection of concrete sizes. - */ - class Collection( - val builder: (size: Int) -> R, - ) : Routine(emptyList()) { - operator fun invoke(size: Int): R = builder(size) - } - - /** - * Is called for a collection with index of iterations. - */ - class ForEach( - types: List, - val callable: (instance: R, index: Int, arguments: List) -> Unit - ) : Routine(types) { - operator fun invoke(instance: R, index: Int, arguments: List) = callable(instance, index, arguments) - } - - /** - * Empty routine that generates a concrete value. - */ - class Empty( - val builder: () -> R, - ) : Routine(emptyList()) { - operator fun invoke(): R = builder() - } -} - -/** - * Interface to force [Any.hashCode] and [Any.equals] implementation for [Feedback], - * because it is used in the map. - */ -interface AsKey { - override fun equals(other: Any?): Boolean - override fun hashCode(): Int -} - -/** - * Language feedback from a concrete execution of the target code. - */ -interface Feedback : AsKey { - /** - * Controls what fuzzing should do. - * - * @see [Control] - */ - val control: Control -} - -/** - * Base implementation of [Feedback]. - * - * NB! [VALUE] type must implement [equals] and [hashCode] due to the fact it uses as a key in map. - * If it doesn't implement those methods, [OutOfMemoryError] is possible. - */ -data class BaseFeedback( - val result: VALUE, - override val control: Control, -) : Feedback - -/** - * Controls fuzzing execution. - */ -enum class Control { - /** - * Analyze feedback and continue. - */ - CONTINUE, - - /** - * Do not process this feedback and just start the next value generation. - */ - PASS, - - /** - * Stop fuzzing. - */ - STOP, -} - -/** - * Returns empty feedback which is equals to any another empty feedback. - */ -@Suppress("UNCHECKED_CAST") -fun emptyFeedback(): Feedback = (EmptyFeedback as Feedback) - -private object EmptyFeedback : Feedback { - override val control: Control - get() = Control.CONTINUE - - override fun equals(other: Any?): Boolean { - return true - } - - override fun hashCode(): Int { - return 0 - } -} - -class NoSeedValueException internal constructor( - // this type cannot be generalized because Java forbids types for [Throwable]. - val type: Any? -) : Exception() { - override fun fillInStackTrace(): Throwable { - return this - } - - override val message: String - get() = "No seed candidates generated for type: $type" -} - -suspend fun , F : Feedback> Fuzzing.fuzz( - description: D, - random: Random = Random(0), - configuration: Configuration = Configuration() -) { - fuzz(description, StatisticImpl(random = random, configuration = configuration)) -} - -/** - * Starts fuzzing for this [Fuzzing] object. - * - * This is an entry point for every fuzzing. - */ -private suspend fun , F : Feedback> Fuzzing.fuzz( - description: D, - statistic: StatisticImpl, -) { - val random = statistic.random - val configuration = statistic.configuration - val fuzzing = this - val typeCache = hashMapOf>>() - val mutationFactory = MutationFactory() - fun fuzzOne(parameters: List): Node = fuzz( - parameters = parameters, - fuzzing = fuzzing, - description = description, - random = random, - configuration = configuration, - builder = PassRoutine("Main Routine"), - state = State(typeCache, statistic.missedTypes), - ) - - while (!fuzzing.isCancelled(description, statistic)) { - beforeIteration(description, statistic) - val values = if (statistic.isNotEmpty() && random.flipCoin(configuration.probSeedRetrievingInsteadGenerating)) { - statistic.getRandomSeed(random, configuration).let { - mutationFactory.mutate(it, random, configuration) - } - } else { - val actualParameters = description.parameters - // fuzz one value, seems to be bad, when have only a few and simple values - fuzzOne(actualParameters).let { - if (random.flipCoin(configuration.probMutationRate)) { - mutationFactory.mutate(it, random, configuration) - } else { - it - } - } - } - afterIteration(description, statistic) - - yield() - statistic.apply { - totalRuns++ - } - check(values.parameters.size == values.result.size) { "Cannot create value for ${values.parameters}" } - val valuesCache = mutableMapOf, R>() - val result = values.result.map { valuesCache.computeIfAbsent(it) { r -> create(r) } } - val feedback = fuzzing.handle(description, result) - when (feedback.control) { - Control.CONTINUE -> { - statistic.put(random, configuration, feedback, values) - } - Control.STOP -> { - break - } - Control.PASS -> {} - } - } -} - - -///region Implementation of the fuzzing and non-public functions. - -private fun , FEEDBACK : Feedback> fuzz( - parameters: List, - fuzzing: Fuzzing, - description: DESCRIPTION, - random: Random, - configuration: Configuration, - builder: Routine, - state: State, -): Node { - val typeCache = mutableMapOf>>() - val result = parameters.mapIndexed { index, type -> - val results = typeCache.computeIfAbsent(type) { mutableListOf() } - if (results.isNotEmpty() && random.flipCoin(configuration.probReuseGeneratedValueForSameType)) { - // we need to check cases when one value is passed for different arguments - results.random(random) - } else { - produce(type, fuzzing, description, random, configuration, state.copy { - parameterIndex = index - }).also { - results += it - } - } - } - // is not inlined to debug values generated for a concrete type - return Node(result, parameters, builder) -} - -private fun , FEEDBACK : Feedback> produce( - type: TYPE, - fuzzing: Fuzzing, - description: DESCRIPTION, - random: Random, - configuration: Configuration, - state: State, -): Result { - val scope = Scope(state.parameterIndex, state.recursionTreeDepth).apply { - fuzzing.enrich(description, type, this) - } - @Suppress("UNCHECKED_CAST") - val seeds = when { - scope.isNotEmpty() -> { - fuzzing.generate(description.clone(scope) as DESCRIPTION, type).toList() - } - else -> state.cache.computeIfAbsent(type) { - fuzzing.generate(description, it).toList() - } - } - if (seeds.isEmpty()) { - throw NoSeedValueException(type) - } - return seeds.random(random).let { - when (it) { - is Seed.Simple -> Result.Simple(it.value, it.mutation) - is Seed.Known -> it.asResult() - is Seed.Recursive -> reduce(it, fuzzing, description, random, configuration, state) - is Seed.Collection -> reduce(it, fuzzing, description, random, configuration, state) - } - } -} - -/** - * reduces [Seed.Collection] type. When `configuration.recursionTreeDepth` limit is reached it creates - * an empty collection and doesn't do any modification to it. - */ -private fun , FEEDBACK : Feedback> reduce( - task: Seed.Collection, - fuzzing: Fuzzing, - description: DESCRIPTION, - random: Random, - configuration: Configuration, - state: State, -): Result { - return if (state.recursionTreeDepth > configuration.recursionTreeDepth) { - Result.Empty { task.construct.builder(0) } - } else try { - val iterations = when { - state.iterations >= 0 && random.flipCoin(configuration.probCreateRectangleCollectionInsteadSawLike) -> state.iterations - random.flipCoin(configuration.probEmptyCollectionCreation) -> 0 - else -> random.nextInt(1, configuration.collectionIterations + 1) - } - Result.Collection( - construct = fuzz( - task.construct.types, - fuzzing, - description, - random, - configuration, - task.construct, - state.copy { - recursionTreeDepth++ - } - ), - modify = if (random.flipCoin(configuration.probCollectionDuplicationInsteadCreateNew)) { - val result = fuzz(task.modify.types, fuzzing, description, random, configuration, task.modify, state.copy { - recursionTreeDepth++ - this.iterations = iterations - parameterIndex = -1 - }) - List(iterations) { result } - } else { - (0 until iterations).map { - fuzz(task.modify.types, fuzzing, description, random, configuration, task.modify, state.copy { - recursionTreeDepth++ - this.iterations = iterations - }) - } - }, - iterations = iterations - ) - } catch (nsv: NoSeedValueException) { - @Suppress("UNCHECKED_CAST") - state.missedTypes[nsv.type as TYPE] = task - if (configuration.generateEmptyCollectionsForMissedTypes) { - Result.Empty { task.construct.builder(0) } - } else { - throw nsv - } - } -} - -/** - * reduces [Seed.Recursive] type. When `configuration.recursionTreeDepth` limit is reached it calls - * `Seed.Recursive#empty` routine to create an empty object. - */ -private fun , FEEDBACK : Feedback> reduce( - task: Seed.Recursive, - fuzzing: Fuzzing, - description: DESCRIPTION, - random: Random, - configuration: Configuration, - state: State, -): Result { - return if (state.recursionTreeDepth > configuration.recursionTreeDepth) { - Result.Empty { task.empty.builder() } - } else try { - Result.Recursive( - construct = fuzz( - task.construct.types, - fuzzing, - description, - random, - configuration, - task.construct, - state.copy { - recursionTreeDepth++ - iterations = -1 - parameterIndex = -1 - } - ), - modify = task.modify - .toMutableList() - .transformIfNotEmpty { - shuffle(random) - take(configuration.maxNumberOfRecursiveSeedModifications) - } - .mapTo(arrayListOf()) { routine -> - fuzz( - routine.types, - fuzzing, - description, - random, - configuration, - routine, - state.copy { - recursionTreeDepth++ - iterations = -1 - parameterIndex = -1 - } - ) - } - ) - } catch (nsv: NoSeedValueException) { - @Suppress("UNCHECKED_CAST") - state.missedTypes[nsv.type as TYPE] = task - if (configuration.generateEmptyRecursiveForMissedTypes) { - Result.Empty { task.empty.builder() } - } else { - throw nsv - } - } -} - - -/** - * Creates a real result. - * - * Fuzzing doesn't use real object because it mutates values by itself. - */ -@Suppress("UNCHECKED_CAST") -private fun create(result: Result): R = when(result) { - is Result.Simple -> result.result - is Result.Known -> (result.build as KnownValue<*>.() -> R)(result.value) - is Result.Recursive -> with(result) { - val obj: R = when (val c = construct.builder) { - is Routine.Create -> c(construct.result.map { create(it) }) - is Routine.Empty -> c() - else -> error("Undefined create method") - } - modify.forEach { func -> - when (val builder = func.builder) { - is Routine.Call -> builder(obj, func.result.map { create(it) }) - is PassRoutine -> logger.warn { "Routine pass: ${builder.description}" } - else -> error("Undefined object call method ${func.builder}") - } - } - obj - } - is Result.Collection -> with(result) { - val collection: R = when (val c = construct.builder) { - is Routine.Create -> c(construct.result.map { create(it) }) - is Routine.Empty -> c() - is Routine.Collection -> c(modify.size) - else -> error("Undefined create method") - } - modify.forEachIndexed { index, func -> - when (val builder = func.builder) { - is Routine.ForEach -> builder(collection, index, func.result.map { create(it) }) - is PassRoutine -> logger.warn { "Routine pass: ${builder.description}" } - else -> error("Undefined collection call method ${func.builder}") - } - } - collection - } - is Result.Empty -> result.build() -} - -/** - * Empty routine to start a recursion within [fuzz]. - */ -private data class PassRoutine(val description: String) : Routine(emptyList()) - -/** - * Internal state for one fuzzing run. - */ -private class State( - val cache: MutableMap>>, - val missedTypes: MissedSeed, - val recursionTreeDepth: Int = 1, - val iterations: Int = -1, - val parameterIndex: Int = -1, -) { - - fun copy(block: Builder.() -> Unit): State { - return Builder(this).apply(block).build() - } - - class Builder( - state: State - ) { - var recursionTreeDepth: Int = state.recursionTreeDepth - var cache: MutableMap>> = state.cache - var missedTypes: MissedSeed = state.missedTypes - var iterations: Int = state.iterations - var parameterIndex: Int = state.parameterIndex - - fun build(): State { - return State( - cache, - missedTypes, - recursionTreeDepth, - iterations, - parameterIndex, - ) - } - } -} - -/** - * The result of producing real values for the language. - */ -sealed interface Result { - - /** - * Simple result as is. - */ - class Simple(val result: RESULT, val mutation: (RESULT, random: Random) -> RESULT = emptyMutation()) : Result - - /** - * Known value. - */ - class Known>(val value: V, val build: (V) -> RESULT) : Result - /** - * A tree of object that has constructor and some modifications. - */ - class Recursive( - val construct: Node, - val modify: List>, - ) : Result - - /** - * A tree of collection-like structures and their modification. - */ - class Collection( - val construct: Node, - val modify: List>, - val iterations: Int, - ) : Result - - /** - * Empty result which just returns a value. - */ - class Empty( - val build: () -> RESULT - ) : Result -} - -/** - * Temporary object to storage information about partly calculated values tree. - */ -class Node( - val result: List>, - val parameters: List, - val builder: Routine, -) - -private class StatisticImpl>( - override var totalRuns: Long = 0, - override val startTime: Long = System.nanoTime(), - override var missedTypes: MissedSeed = MissedSeed(), - override val random: Random, - override val configuration: Configuration, -) : Statistic { - - constructor(source: Statistic) : this( - totalRuns = source.totalRuns, - startTime = source.startTime, - missedTypes = source.missedTypes, - random = source.random, - configuration = source.configuration.copy(), - ) - - override val elapsedTime: Long - get() = System.nanoTime() - startTime - private val seeds = linkedMapOf>() - private val count = linkedMapOf() - - fun put(random: Random, configuration: Configuration, feedback: FEEDBACK, seed: Node) { - if (random.flipCoin(configuration.probUpdateSeedInsteadOfKeepOld)) { - seeds[feedback] = seed - } else { - seeds.putIfAbsent(feedback, seed) - } - count[feedback] = count.getOrDefault(feedback, 0L) + 1L - } - - fun getRandomSeed(random: Random, configuration: Configuration): Node { - if (seeds.isEmpty()) error("Call `isNotEmpty` before getting the seed") - val entries = seeds.entries.toList() - val frequencies = DoubleArray(seeds.size).also { f -> - entries.forEachIndexed { index, (key, _) -> - f[index] = configuration.energyFunction(count.getOrDefault(key, 0L)) - } - } - val index = random.chooseOne(frequencies) - return entries[index].value - } - - fun isNotEmpty() = seeds.isNotEmpty() -} -///endregion - - -///region Utilities -@Suppress("UNCHECKED_CAST") -private fun > Seed.Known.asResult(): Result.Known { - val value: T = value as T - return Result.Known(value, build as KnownValue.() -> RESULT) -} -///endregion diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Configuration.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Configuration.kt deleted file mode 100644 index a6c19926..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Configuration.kt +++ /dev/null @@ -1,98 +0,0 @@ -package org.utbot.fuzzing - -import kotlin.math.pow - -/** - * Configures fuzzing behaviour. Usually, it is not required to tune anything. - */ -data class Configuration( - - /** - * Choose between already generated values and new generation of values. - */ - var probSeedRetrievingInsteadGenerating: Int = 70, - - /** - * Choose between generation and mutation. - */ - var probMutationRate: Int = 99, - - /** - * Fuzzer creates a tree of object for generating values. At some point this recursion should be stopped. - * - * To stop recursion [Seed.Recursive.empty] is called to create new values. - */ - var recursionTreeDepth: Int = 4, - - /** - * The limit of collection size to create. - */ - var collectionIterations: Int = 5, - - /** - * Energy function that is used to choose seeded value. - */ - var energyFunction: (x: Long) -> Double = { x -> 1 / x.coerceAtLeast(1L).toDouble().pow(2) }, - - /** - * Probability to prefer shuffling collection instead of mutation one value from modification - */ - var probCollectionShuffleInsteadResultMutation: Int = 75, - - /** - * Probability of creating shifted array values instead of generating new values for modification. - */ - var probCollectionDuplicationInsteadCreateNew: Int = 10, - - /** - * Probability of creating empty collections - */ - var probEmptyCollectionCreation: Int = 1, - - /** - * Probability to prefer change constructor instead of modification. - */ - var probConstructorMutationInsteadModificationMutation: Int = 30, - - /** - * Probability to a shuffle modification list of the recursive object - */ - var probShuffleAndCutRecursiveObjectModificationMutation: Int = 30, - - /** - * Probability to prefer create rectangle collections instead of creating saw-like one. - */ - var probCreateRectangleCollectionInsteadSawLike: Int = 80, - - /** - * Probability of updating old seed instead of leaving to the new one when [Feedback] has same key. - */ - var probUpdateSeedInsteadOfKeepOld: Int = 70, - - /** - * When mutating StringValue a new string will not exceed this value. - */ - var maxStringLengthWhenMutated: Int = 128, - - /** - * Probability of reusing same generated value when 2 or more parameters have the same type. - */ - var probReuseGeneratedValueForSameType: Int = 1, - - /** - * When true any [Seed.Collection] will not try - * to generate modification if a current type is already known to fail to generate values. - */ - var generateEmptyCollectionsForMissedTypes: Boolean = true, - - /** - * When true any [Seed.Recursive] will not try - * to generate a recursive object, but will use [Seed.Recursive.empty] instead. - */ - var generateEmptyRecursiveForMissedTypes: Boolean = true, - - /** - * Limits maximum number of recursive seed modifications - */ - var maxNumberOfRecursiveSeedModifications: Int = 10, -) \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Mutations.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Mutations.kt deleted file mode 100644 index 9868be39..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Mutations.kt +++ /dev/null @@ -1,334 +0,0 @@ -@file:Suppress("ReplaceRangeStartEndInclusiveWithFirstLast") - -package org.utbot.fuzzing - -import org.utbot.fuzzing.seeds.* -import org.utbot.fuzzing.utils.chooseOne -import org.utbot.fuzzing.utils.flipCoin -import kotlin.random.Random - -class MutationFactory { - - fun mutate(node: Node, random: Random, configuration: Configuration): Node { - if (node.result.isEmpty()) return node - val indexOfMutatedResult = random.chooseOne(node.result.map(::rate).toDoubleArray()) - val recursive: NodeMutation = NodeMutation { n, r, c -> - mutate(n, r, c) - } - val mutated = when (val resultToMutate = node.result[indexOfMutatedResult]) { - is Result.Simple -> Result.Simple(resultToMutate.mutation(resultToMutate.result, random), resultToMutate.mutation) - is Result.Known -> { - val mutations = resultToMutate.value.mutations() - if (mutations.isNotEmpty()) { - resultToMutate.mutate(mutations.random(random), random, configuration) - } else { - resultToMutate - } - } - is Result.Recursive -> { - when { - resultToMutate.modify.isEmpty() || random.flipCoin(configuration.probConstructorMutationInsteadModificationMutation) -> - RecursiveMutations.Constructor() - random.flipCoin(configuration.probShuffleAndCutRecursiveObjectModificationMutation) -> - RecursiveMutations.ShuffleAndCutModifications() - else -> - RecursiveMutations.Mutate() - }.mutate(resultToMutate, recursive, random, configuration) - } - is Result.Collection -> if (resultToMutate.modify.isNotEmpty()) { - when { - random.flipCoin(100 - configuration.probCollectionShuffleInsteadResultMutation) -> - CollectionMutations.Mutate() - else -> - CollectionMutations.Shuffle() - }.mutate(resultToMutate, recursive, random, configuration) - } else { - resultToMutate - } - is Result.Empty -> resultToMutate - } - return Node(node.result.toMutableList().apply { - set(indexOfMutatedResult, mutated) - }, node.parameters, node.builder) - } - - /** - * Rates somehow the result. - * - * For example, fuzzing should not try to mutate some empty structures, like empty collections or objects. - */ - private fun rate(result: Result): Double { - if (!canMutate(result)) { - return ALMOST_ZERO - } - return when (result) { - is Result.Recursive -> if (result.construct.parameters.isEmpty() and result.modify.isEmpty()) ALMOST_ZERO else 0.5 - is Result.Collection -> if (result.iterations == 0) return ALMOST_ZERO else 0.7 - is StringValue -> 2.0 - is Result.Known -> 1.2 - is Result.Simple -> 2.0 - is Result.Empty -> ALMOST_ZERO - } - } - - private fun canMutate(node: Result): Boolean { - return when (node) { - is Result.Simple -> node.mutation === emptyMutation() - is Result.Known -> node.value.mutations().isNotEmpty() - is Result.Recursive -> node.modify.isNotEmpty() - is Result.Collection -> node.modify.isNotEmpty() && node.iterations > 0 - is Result.Empty -> false - } - } - - @Suppress("UNCHECKED_CAST") - private fun > Result.Known.mutate(mutation: Mutation, random: Random, configuration: Configuration): Result.Known { - val source: T = value as T - val mutate = mutation.mutate(source, random, configuration) - return Result.Known( - mutate, - build as (T) -> RESULT - ) - } -} - -private const val ALMOST_ZERO = 1E-7 -private val IDENTITY_MUTATION: (Any, random: Random) -> Any = { f, _ -> f } - -fun emptyMutation(): (RESULT, random: Random) -> RESULT { - @Suppress("UNCHECKED_CAST") - return IDENTITY_MUTATION as (RESULT, random: Random) -> RESULT -} - -/** - * Mutations is an object which applies some changes to the source object - * and then returns a new object (or old one without changes). - */ -fun interface Mutation { - fun mutate(source: T, random: Random, configuration: Configuration): T -} - -sealed class BitVectorMutations : Mutation { - - abstract fun rangeOfMutation(source: BitVectorValue): IntRange - - override fun mutate(source: BitVectorValue, random: Random, configuration: Configuration): BitVectorValue { - with (rangeOfMutation(source)) { - val firstBits = random.nextInt(start, endInclusive.coerceAtLeast(1)) - return BitVectorValue(source, this@BitVectorMutations).apply { this[firstBits] = !this[firstBits] } - } - } - - object SlightDifferent : BitVectorMutations() { - override fun rangeOfMutation(source: BitVectorValue) = 0 .. source.size / 4 - } - - object DifferentWithSameSign : BitVectorMutations() { - override fun rangeOfMutation(source: BitVectorValue) = source.size / 4 .. source.size - } - - object ChangeSign : BitVectorMutations() { - override fun rangeOfMutation(source: BitVectorValue) = source.size - 1 .. source.size - } -} - -sealed interface IEEE754Mutations : Mutation { - - object ChangeSign : IEEE754Mutations { - override fun mutate(source: IEEE754Value, random: Random, configuration: Configuration): IEEE754Value { - return IEEE754Value(source, this).apply { - setRaw(0, !getRaw(0)) - } - } - } - - object Mantissa : IEEE754Mutations { - override fun mutate(source: IEEE754Value, random: Random, configuration: Configuration): IEEE754Value { - val i = random.nextInt(0, source.mantissaSize) - return IEEE754Value(source, this).apply { - setRaw(1 + exponentSize + i, !getRaw(1 + exponentSize + i)) - } - } - } - - object Exponent : IEEE754Mutations { - override fun mutate(source: IEEE754Value, random: Random, configuration: Configuration): IEEE754Value { - val i = random.nextInt(0, source.exponentSize) - return IEEE754Value(source, this).apply { - setRaw(1 + i, !getRaw(1 + i)) - } - } - } -} - -sealed interface StringMutations : Mutation { - - object AddCharacter : StringMutations { - override fun mutate(source: StringValue, random: Random, configuration: Configuration): StringValue { - val value = source.value - if (value.length >= configuration.maxStringLengthWhenMutated) { - return source - } - val position = random.nextInt(value.length + 1) - val charToMutate = if (value.isNotEmpty()) { - value.random(random) - } else { - // use any meaningful character from the ascii table - random.nextInt(33, 127).toChar() - } - val newString = buildString { - append(value.substring(0, position)) - // try to change char to some that is close enough to origin char - val charTableSpread = 64 - if (random.nextBoolean()) { - append(charToMutate - random.nextInt(1, charTableSpread)) - } else { - append(charToMutate + random.nextInt(1, charTableSpread)) - } - append(value.substring(position, value.length)) - } - return StringValue(newString, lastMutation = this, mutatedFrom = source) - } - } - - object RemoveCharacter : StringMutations { - override fun mutate(source: StringValue, random: Random, configuration: Configuration): StringValue { - val value = source.value - val position = random.nextInt(value.length + 1) - if (position >= value.length) return source - val toRemove = random.nextInt(value.length) - val newString = buildString { - append(value.substring(0, toRemove)) - append(value.substring(toRemove + 1, value.length)) - } - return StringValue(newString, this) - } - } - - object ShuffleCharacters : StringMutations { - override fun mutate(source: StringValue, random: Random, configuration: Configuration): StringValue { - return StringValue( - value = String(source.value.toCharArray().apply { shuffle(random) }), - lastMutation = this - ) - } - } -} - -fun interface NodeMutation : Mutation> - -sealed interface CollectionMutations : Mutation, NodeMutation>> { - - override fun mutate( - source: Pair, NodeMutation>, - random: Random, - configuration: Configuration - ): Pair, NodeMutation> { - return mutate(source.first, source.second, random, configuration) to source.second - } - - fun mutate( - source: Result.Collection, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ) : Result.Collection - - class Shuffle : CollectionMutations { - override fun mutate( - source: Result.Collection, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ): Result.Collection { - return Result.Collection( - construct = source.construct, - modify = source.modify.toMutableList().shuffled(random), - iterations = source.iterations - ) - } - } - - class Mutate : CollectionMutations { - override fun mutate( - source: Result.Collection, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ): Result.Collection { - return Result.Collection( - construct = source.construct, - modify = source.modify.toMutableList().apply { - val i = random.nextInt(0, source.modify.size) - set(i, recursive.mutate(source.modify[i], random, configuration)) - }, - iterations = source.iterations - ) - } - } -} - -sealed interface RecursiveMutations : Mutation, NodeMutation>> { - - override fun mutate( - source: Pair, NodeMutation>, - random: Random, - configuration: Configuration - ): Pair, NodeMutation> { - return mutate(source.first, source.second, random, configuration) to source.second - } - - fun mutate( - source: Result.Recursive, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ) : Result.Recursive - - - class Constructor : RecursiveMutations { - override fun mutate( - source: Result.Recursive, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ): Result.Recursive { - return Result.Recursive( - construct = recursive.mutate(source.construct,random, configuration), - modify = source.modify - ) - } - } - - class ShuffleAndCutModifications : RecursiveMutations { - override fun mutate( - source: Result.Recursive, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ): Result.Recursive { - return Result.Recursive( - construct = source.construct, - modify = source.modify.shuffled(random).take(random.nextInt(source.modify.size + 1)) - ) - } - } - - class Mutate : RecursiveMutations { - override fun mutate( - source: Result.Recursive, - recursive: NodeMutation, - random: Random, - configuration: Configuration - ): Result.Recursive { - return Result.Recursive( - construct = source.construct, - modify = source.modify.toMutableList().apply { - val i = random.nextInt(0, source.modify.size) - set(i, recursive.mutate(source.modify[i], random, configuration)) - } - ) - } - - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Providers.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Providers.kt deleted file mode 100644 index f64fb7d9..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Providers.kt +++ /dev/null @@ -1,228 +0,0 @@ -package org.utbot.fuzzing - -import mu.KotlinLogging -import kotlin.random.Random - -private val logger by lazy { KotlinLogging.logger {} } - -/** - * Entry point to run fuzzing. - */ -suspend fun , FEEDBACK : Feedback> runFuzzing( - provider: ValueProvider, - description: DESCRIPTION, - random: Random = Random(0), - configuration: Configuration = Configuration(), - handle: suspend (description: DESCRIPTION, values: List) -> FEEDBACK -) { - BaseFuzzing(listOf(provider), handle).fuzz(description, random, configuration) -} - -/** - * Implements base concepts that use providers to generate values for some types. - * - * @param providers is a list of "type to values" generator - * @param exec this function is called when fuzzer generates values of type R to run it with target program. - */ -class BaseFuzzing, F : Feedback>( - val providers: List>, - val exec: suspend (description: D, values: List) -> F -) : Fuzzing { - - constructor(vararg providers: ValueProvider, exec: suspend (description: D, values: List) -> F) : this(providers.toList(), exec) - - override fun enrich(description: D, type: T, scope: Scope) { - providers.asSequence().forEach { - it.enrich(description, type, scope) - } - } - - override fun generate(description: D, type: T): Sequence> { - return providers.asSequence().flatMap { provider -> - try { - if (provider.accept(type)) { - provider.generate(description, type) - } else { - emptySequence() - } - } catch (t: Throwable) { - logger.error(t) { "Error occurs in value provider: $provider" } - emptySequence() - } - } - } - - override suspend fun handle(description: D, values: List): F { - return exec(description, values) - } -} - -/** - * Value provider generates [Seed] and has other methods to combine providers. - */ -fun interface ValueProvider> { - - fun enrich(description: D, type: T, scope: Scope) {} - - /** - * Generate a sequence of [Seed] that is merged with values generated by other provider. - */ - fun generate(description: D, type: T): Sequence> - - /** - * Validates if this provider is applicable to some type. - */ - fun accept(type: T): Boolean = true - - /** - * Combines this model provider with `anotherValueProviders` into one instance. - * - * This model provider is called before `anotherValueProviders`. - */ - infix fun with(anotherValueProvider: ValueProvider): ValueProvider { - fun toList(m: ValueProvider) = if (m is Combined) m.providers else listOf(m) - return Combined(toList(this) + toList(anotherValueProvider)) - } - - /** - * Removes `anotherValueProviders): ValueProvider { - return except { it == anotherValueProvider } - } - - /** - * Removes `anotherValueProviders) -> Boolean): ValueProvider { - return if (this is Combined) { - Combined(providers.map { it.unwrapIfFallback() }.filterNot(filter)) - } else { - Combined(if (filter(unwrapIfFallback())) emptyList() else listOf(this)) - } - } - - /** - * Applies [transform] for current provider - */ - fun map(transform: (ValueProvider) -> ValueProvider): ValueProvider { - return if (this is Combined) { - Combined(providers.map(transform)) - } else { - transform(this) - } - } - - /** - * Uses fallback value provider in case when 'this' one failed to generate any value. - */ - fun withFallback(fallback: ValueProvider) : ValueProvider { - return Fallback(this, fallback) - } - - /** - * Creates a new value provider that creates default value if no values are generated by this provider. - */ - fun withFallback(fallbackSupplier: (T) -> Seed) : ValueProvider { - return withFallback { _, type -> - sequenceOf(fallbackSupplier(type)) - } - } - - fun letIf(flag: Boolean, block: (ValueProvider) -> ValueProvider) : ValueProvider { - return if (flag) block(this) else this - } - - /** - * Checks if current provider has fallback and return the initial provider. - * - * If the initial provider is also fallback, then it is unwrapped too. - * - * @return unwrapped provider or this if it is not fallback - */ - fun unwrapIfFallback(): ValueProvider { - return if (this is Fallback) { provider.unwrapIfFallback() } else { this } - } - - private class Fallback>( - val provider: ValueProvider, - val fallback: ValueProvider, - ): ValueProvider { - - override fun enrich(description: D, type: T, scope: Scope) { - provider.enrich(description, type, scope) - // Enriching scope by fallback value provider in this point is not quite right, - // but it doesn't look as a problem right now. - fallback.enrich(description, type, scope) - } - - override fun generate(description: D, type: T): Sequence> { - val default = if (provider.accept(type)) provider.generate(description, type) else emptySequence() - return if (default.iterator().hasNext()) { - default - } else if (fallback.accept(type)) { - fallback.generate(description, type) - } else { - emptySequence() - } - } - - } - - /** - * Wrapper class that delegates implementation to the [providers]. - */ - private class Combined>(providers: List>): ValueProvider { - val providers: List> - - init { - // Flattening to avoid Combined inside Combined (for correct work of except, map, etc.) - this.providers = providers.flatMap { - if (it is Combined) - it.providers - else - listOf(it) - } - } - - override fun enrich(description: D, type: T, scope: Scope) { - providers.forEach { it.enrich(description, type, scope) } - } - - override fun accept(type: T): Boolean { - return providers.any { it.accept(type) } - } - - override fun generate(description: D, type: T): Sequence> = sequence { - providers.asSequence().filter { it.accept(type) }.forEach { provider -> - provider.generate(description, type).forEach { - yield(it) - } - } - } - } - - companion object { - fun > of(valueProviders: List>): ValueProvider { - return Combined(valueProviders) - } - } -} - -/** - * Simple value provider for a concrete type. - * - * @param type that is used as a filter to call this provider - * @param generate yields values for the type - */ -class TypeProvider>( - val type: T, - val generate: suspend SequenceScope>.(description: D, type: T) -> Unit -) : ValueProvider { - override fun accept(type: T) = this.type == type - override fun generate(description: D, type: T) = sequence { - if (accept(type)) { - this.generate(description, type) - } - } -} diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Statistic.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Statistic.kt deleted file mode 100644 index 877937ce..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/Statistic.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.fuzzing - -import org.utbot.fuzzing.utils.MissedSeed -import kotlin.random.Random - -/** - * User class that holds data about current fuzzing running. - */ -interface Statistic { - val startTime: Long - val totalRuns: Long - val elapsedTime: Long - val missedTypes: MissedSeed - val random: Random - val configuration: Configuration -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/AbcFuzzing.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/AbcFuzzing.kt deleted file mode 100644 index 4969ccf7..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/AbcFuzzing.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.utbot.fuzzing.demo - -import org.utbot.fuzzing.* - -/** - * This example shows the minimal required implementation to start fuzzing any function. - * - * Assume, there's a function that returns some positive integer if one string is a substring. - * The value of this integer is maximum number of same characters, therefore, bigger is better. - * - * Lets fuzzing values for some given string to find out does the fuzzing can find the whole string or not. - */ -fun String.findMaxSubstring(s: String) : Int { - if (s.isEmpty()) return -1 - for (i in s.indices) { - if (s[i] != this[i]) return i - 1 - } - return s.length -} - -// the given string -private const val searchString = - "fun String.findMaxSubstring(s: String) : Int {\n" + - " if (s.isEmpty()) return -1\n" + - " for (i in s.indices) {\n" + - " if (s[i] != this[i]) return i - 1\n" + - " }\n" + - " return s.length\n" + - "}" - -suspend fun main() { - // Define fuzzing description to start searching. - object : Fuzzing, BaseFeedback> { - /** - * Generate method returns several samples or seeds which are used as a base for fuzzing. - * - * In this particular case only 1 value is provided which is an empty string. Also, a mutation - * is defined for any string value. This mutation adds a random character from ASCII table. - */ - override fun generate(description: Description, type: Unit) = sequenceOf>( - Seed.Simple("") { s, r -> s + Char(r.nextInt(1, 256)) } - ) - - /** - * After the fuzzing generates a new value it calls this method to execute target program and waits for feedback. - * - * This implementation just calls the target function and returns a result. After it returns an empty feedback. - * If some returned value equals to the length of the source string then feedback returns 'stop' signal. - */ - override suspend fun handle(description: Description, values: List): BaseFeedback { - check(values.size == 1) { - "Only one value must be generated because of `description.parameters.size = ${description.parameters.size}`" - } - val input = values.first() - val result = searchString.findMaxSubstring(input) - println("findMaxSubstring(\"$input\") = $result") - return BaseFeedback( - result = result, - control = if (result == searchString.length) Control.STOP else Control.CONTINUE - ) - } - }.fuzz(Description(listOf(Unit))) -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/ForkFuzzing.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/ForkFuzzing.kt deleted file mode 100644 index 99be17e1..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/ForkFuzzing.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.fuzzing.demo - -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking -import org.utbot.fuzzing.* -import java.util.concurrent.atomic.AtomicLong - -private enum class Type { - ANY, CONCRETE, MORE_CONCRETE -} - -fun main(): Unit = runBlocking { - launch { - object : Fuzzing, Feedback> { - - private val runs = mutableMapOf() - - override fun generate(description: Description, type: Type): Sequence> { - return sequenceOf(Seed.Simple(type.name)) - } - - override suspend fun handle(description: Description, values: List): Feedback { - description.parameters.forEach { - runs[it]!!.incrementAndGet() - } - println(values) - return emptyFeedback() - } - - override suspend fun afterIteration( - description: Description, - stats: Statistic, - ) { - if (stats.totalRuns % 10 == 0L && description.parameters.size == 1) { - val newTypes = when (description.parameters[0]) { - Type.ANY -> listOf(Type.CONCRETE) - Type.CONCRETE -> listOf(Type.MORE_CONCRETE) - Type.MORE_CONCRETE -> listOf() - } - if (newTypes.isNotEmpty()) { - val d = Description(newTypes) - fork(d, stats) - // Description can be used as a transfer object, - // that collects information about the current running. - println("Fork ended: ${d.parameters}") - } - } - } - - override suspend fun isCancelled(description: Description, stats: Statistic): Boolean { - println("info: ${description.parameters} runs ${stats.totalRuns}") - return description.parameters.all { runs.computeIfAbsent(it) { AtomicLong(0) }.get() >= 10 } - } - }.fuzz(Description(listOf(Type.ANY))) - } -// .cancel() -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/HttpRequest.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/HttpRequest.kt deleted file mode 100644 index 844336aa..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/HttpRequest.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.fuzzing.demo - -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withTimeout -import org.utbot.fuzzing.* -import java.util.concurrent.TimeUnit - -fun main() = runBlocking { - withTimeout(TimeUnit.SECONDS.toMillis(10)) { - object : Fuzzing, Feedback> { - override fun generate(description: Description, type: String) = sequence> { - when (type) { - "url" -> yield(Seed.Recursive( - construct = Routine.Create( - listOf("protocol", "host", "port", "path") - ) { - val (protocol, host, port, path) = it - "$protocol://$host${if (port.isNotBlank()) ":$port" else ""}/$path" - }, - empty = Routine.Empty { error("error") } - )) - "protocol" -> { - yield(Seed.Simple("http")) - yield(Seed.Simple("https")) - yield(Seed.Simple("ftp")) - } - "host" -> { - yield(Seed.Simple("localhost")) - yield(Seed.Simple("127.0.0.1")) - } - "port" -> { - yield(Seed.Simple("8080")) - yield(Seed.Simple("")) - } - "path" -> yield(Seed.Recursive( - construct = Routine.Create(listOf("page", "id")) { - it.joinToString("/") - }, - empty = Routine.Empty { error("error") } - )) - "page" -> { - yield(Seed.Simple("owners")) - yield(Seed.Simple("users")) - yield(Seed.Simple("admins")) - } - "id" -> (0..1000).forEach { yield(Seed.Simple(it.toString())) } - else -> error("unknown type '$type'") - } - } - - override suspend fun handle( - description: Description, - values: List - ): Feedback { - println(values[0]) - return BaseFeedback(values[0], Control.PASS) - } - }.fuzz(Description(listOf("url"))) - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/JavaFuzzing.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/JavaFuzzing.kt deleted file mode 100644 index 0d3d490d..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/JavaFuzzing.kt +++ /dev/null @@ -1,94 +0,0 @@ -package org.utbot.fuzzing.demo - -import org.utbot.fuzzing.* -import org.utbot.fuzzing.seeds.BitVectorValue -import org.utbot.fuzzing.seeds.Bool -import org.utbot.fuzzing.seeds.Signed -import org.utbot.fuzzing.seeds.StringValue - -/** - * This example implements some basics for Java fuzzing that supports only a few types: - * integers, strings, primitive arrays and user class [A]. - */ -object JavaFuzzing : Fuzzing, Any?, Description>, Feedback, Any?>> { - override fun generate(description: Description>, type: Class<*>) = sequence, Any?>> { - if (type == Boolean::class.javaPrimitiveType) { - yield(Seed.Known(Bool.TRUE.invoke()) { obj: BitVectorValue -> obj.toBoolean() }) - yield(Seed.Known(Bool.FALSE.invoke()) { obj: BitVectorValue -> obj.toBoolean() }) - } - if (type == String::class.java) { - yield(Seed.Known(StringValue(""), StringValue::value)) - yield(Seed.Known(StringValue("hello"), StringValue::value)) - } - for (signed in Signed.values()) { - if (type == Char::class.javaPrimitiveType) { - yield(Seed.Known(signed.invoke(8)) { obj: BitVectorValue -> obj.toCharacter() }) - } - if (type == Byte::class.javaPrimitiveType) { - yield(Seed.Known(signed.invoke(8)) { obj: BitVectorValue -> obj.toByte() }) - } - if (type == Short::class.javaPrimitiveType) { - yield(Seed.Known(signed.invoke(16)) { obj: BitVectorValue -> obj.toShort() }) - } - if (type == Int::class.javaPrimitiveType) { - yield(Seed.Known(signed.invoke(32)) { obj: BitVectorValue -> obj.toInt() }) - } - if (type == Long::class.javaPrimitiveType) { - yield(Seed.Known(signed.invoke(64)) { obj: BitVectorValue -> obj.toLong() }) - } - } - if (type == A::class.java) { - for (constructor in A::class.java.constructors) { - yield( - Seed.Recursive( - construct = Routine.Create(constructor.parameters.map { it.type }) { objects -> - constructor.newInstance(*objects.toTypedArray()) - }, - modify = type.fields.asSequence().map { field -> - Routine.Call(listOf(field.type)) { self: Any?, objects: List<*> -> - try { - field[self] = objects[0] - } catch (e: IllegalAccessException) { - throw RuntimeException(e) - } - } - }, - empty = Routine.Empty { null } - ) - ) - } - } - if (type.isArray) { - yield( - Seed.Collection( - construct = Routine.Collection { length: Int -> - java.lang.reflect.Array.newInstance(type.componentType, length) - }, - modify = Routine.ForEach(listOf(type.componentType)) { self: Any?, index: Int, objects: List<*> -> - java.lang.reflect.Array.set(self, index, objects[0]) - } - )) - } - } - - override suspend fun handle(description: Description>, values: List): Feedback, Any?> { - println(values.joinToString { - when (it) { - is BooleanArray -> it.contentToString() - is CharArray -> it.contentToString() - is ByteArray -> it.contentToString() - is ShortArray -> it.contentToString() - is IntArray -> it.contentToString() - is LongArray -> it.contentToString() - else -> it.toString() - } - }) - return emptyFeedback() - } -} - -suspend fun main() { - JavaFuzzing.fuzz( - Description(listOf(Int::class.javaPrimitiveType!!, CharArray::class.java, A::class.java)), - ) -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/JsonFuzzing.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/JsonFuzzing.kt deleted file mode 100644 index 80863e40..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/demo/JsonFuzzing.kt +++ /dev/null @@ -1,95 +0,0 @@ -package org.utbot.fuzzing.demo - -import org.utbot.fuzzing.* -import org.utbot.fuzzing.seeds.BitVectorValue -import org.utbot.fuzzing.seeds.Signed -import org.utbot.fuzzing.seeds.StringValue -import java.util.concurrent.atomic.AtomicLong -import kotlin.random.Random - -private enum class CustomType { - INT, STR, OBJ, LST -} - -private class JsonBuilder( - var before: String, - val children: MutableList = mutableListOf(), - var after: String = "", -) { - override fun toString(): String { - return buildString { - append(before) - append(children.joinToString(", ")) - append(after) - } - } -} - -/** - * This example shows how json based output can be built by fuzzer for some types. - * - * Also, some utility class such as [BaseFuzzing] and [TypeProvider] are used to start fuzzing without class inheritance. - */ -suspend fun main() { - var count = 0 - val set = mutableMapOf() - BaseFuzzing, Feedback>( - TypeProvider(CustomType.INT) { _, _ -> - for (b in Signed.values()) { - yield(Seed.Known(BitVectorValue(3, b)) { bvv -> - JsonBuilder((0 until bvv.size).joinToString(separator = "", prefix = "\"0b", postfix = "\"") { i -> - if (bvv[i]) "1" else "0" - }) - }) - } - }, - TypeProvider(CustomType.STR) { _, _ -> - listOf("Ted", "Mike", "John").forEach { n -> - yield(Seed.Known(StringValue(n)) { sv -> JsonBuilder("\"${sv.value}\"") }) - } - }, - TypeProvider(CustomType.OBJ) { _, _ -> - yield(Seed.Recursive( - construct = Routine.Create(listOf(CustomType.OBJ)) { - JsonBuilder(before = "{", after = "}") - }, - modify = sequence { - yield(Routine.Call(listOf(CustomType.INT)) { self, values -> - self.children += JsonBuilder("\"value\": ${values.joinToString(", ")}") - }) - yield(Routine.Call(listOf(CustomType.STR)) { self, values -> - self.children += JsonBuilder("\"name\": ${values.joinToString(", ")}") - }) - yield(Routine.Call(listOf(CustomType.OBJ)) { self, values -> - self.children += JsonBuilder("\"child\": ${values.joinToString(", ")}") - }) - }, - empty = Routine.Empty { - JsonBuilder("null") - } - )) - }, - TypeProvider(CustomType.LST) { _, _ -> - for (type in listOf(CustomType.INT, CustomType.STR)) { - yield(Seed.Collection( - construct = Routine.Collection { JsonBuilder(before = "[", after = "]") }, - modify = Routine.ForEach(listOf(type)) { self, _, values -> - self.children += JsonBuilder(values.joinToString(", ")) - } - )) - } - }, - ) { _, values -> - val result = values.toString() - println(result) - set.computeIfAbsent(result) { AtomicLong() }.incrementAndGet() - if (++count < 10000) emptyFeedback() else { - println("Unique ratio:" + set.size / count.toDouble()) - error("Forced from the example") - } - }.fuzz( - Description(listOf(CustomType.LST, CustomType.OBJ)), - Random(0), - Configuration(recursionTreeDepth = 2, collectionIterations = 2) - ) -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/BitVectorValue.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/BitVectorValue.kt deleted file mode 100644 index 895c677a..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/BitVectorValue.kt +++ /dev/null @@ -1,273 +0,0 @@ -package org.utbot.fuzzing.seeds - -import org.utbot.fuzzing.* -import org.utbot.fuzzing.utils.Endian -import java.math.BigInteger -import java.util.BitSet - -class BitVectorValue : KnownValue { - - /** - * Vector of value bits. - * - * Here, the base is 2 and the exponent for each member is equal to index of this member. - * Therefore, the values is stored using LE system. - */ - private val vector: BitSet - val size: Int - override val lastMutation: Mutation? - override val mutatedFrom: BitVectorValue? - - constructor(bits: Int, bound: Bound) { - vector = BitSet(bits).also { - for (i in 0 until bits) { - it[i] = bound.initializer(i, bits) - } - } - size = bits - lastMutation = null - mutatedFrom = null - } - - constructor(other: BitVectorValue, mutation: Mutation? = null) { - vector = other.vector.clone() as BitSet - size = other.size - lastMutation = mutation - mutatedFrom = other - } - - private constructor(size: Int, value: BitSet) : this(size, { i, _ -> value[i] }) - - operator fun get(index: Int): Boolean = vector[index] - - operator fun set(index: Int, value: Boolean) { - vector[index] = value - } - - /** - * Increase value by 1. - * - * @return true if integer overflow is occurred in sign values - */ - fun inc(): Boolean { - var shift = 0 - var carry = true - while (carry and (shift < size)) { - if (!vector[shift]) { - carry = false - } - vector[shift] = !vector[shift] - shift++ - } - return !carry && shift == size - } - - /** - * Decrease value by 1. - * - * @return true if integer underflow is occurred - */ - fun dec(): Boolean { - var shift = 0 - var carry = true - while (carry and (shift < size)) { - if (vector[shift]) { - carry = false - } - vector[shift] = !vector[shift] - shift++ - } - return !carry && shift == size - } - - override fun mutations() = listOf>( - BitVectorMutations.SlightDifferent, - BitVectorMutations.DifferentWithSameSign, - BitVectorMutations.ChangeSign - ) - - override fun equals(other: Any?): Boolean { - if (other !is BitVectorValue) return false - if (size != other.size) return false - for (i in 0 until size) { - if (vector[i] != other.vector[i]) return false - } - return true - } - - override fun hashCode(): Int { - return vector.hashCode() - } - - @Suppress("MemberVisibilityCanBePrivate") - fun toString(radix: Int, isUnsigned: Boolean = false): String { - return toBigInteger(isUnsigned).toString(radix) - } - - override fun toString() = toString(10) - - @Suppress("unused") - internal fun toBinaryString(endian: Endian) = buildString { - for (i in endian.range(0, size - 1)) { - append(if (this@BitVectorValue[i]) '1' else '0') - } - } - - private fun toLong(bits: Int, shift: Int = 0): Long { - assert(bits <= 64) { "Cannot convert to long vector with more than 64 bits, but $bits is requested" } - var result = 0L - for (i in shift until minOf(bits + shift, size)) { - result = result or ((if (vector[i]) 1L else 0L) shl (i - shift)) - } - return result - } - - private fun toBigInteger(isUnsigned: Boolean): BigInteger { - val size = if (isUnsigned) size + 1 else size - val array = ByteArray(size / 8 + if (size % 8 != 0) 1 else 0) { index -> - toLong(bits = 8, shift = index * 8).toByte() - } - array.reverse() - return BigInteger(array) - } - - fun toBigInteger() = toBigInteger(false) - - fun toBoolean() = vector[0] - - fun toByte() = toLong(8).toByte() - - fun toUByte() = toLong(8).toUByte() - - fun toShort() = toLong(16).toShort() - - fun toUShort() = toLong(16).toUShort() - - fun toInt() = toLong(32).toInt() - - fun toUInt() = toLong(32).toUInt() - - fun toLong() = toLong(64) - - fun toULong() = toLong(64).toULong() - - fun toCharacter() = Char(toUShort()) - - companion object { - fun fromValue(value: Any): BitVectorValue { - return when (value) { - is Char -> fromChar(value) - is Boolean -> fromBoolean(value) - is Byte -> fromByte(value) - is Short -> fromShort(value) - is Int -> fromInt(value) - is Long -> fromLong(value) - is BigInteger -> fromBigInteger(value) - else -> error("unknown type of value $value (${value::class})") - } - } - - fun fromBoolean(value: Boolean): BitVectorValue { - return BitVectorValue(1, if (value) Bool.TRUE else Bool.FALSE) - } - - fun fromByte(value: Byte): BitVectorValue { - return fromLong(8, value.toLong()) - } - - fun fromShort(value: Short): BitVectorValue { - return fromLong(16, value.toLong()) - } - - fun fromChar(value: Char): BitVectorValue { - return fromLong(16, value.code.toLong()) - } - - fun fromInt(value: Int): BitVectorValue { - return fromLong(32, value.toLong()) - } - - fun fromLong(value: Long): BitVectorValue { - return fromLong(64, value) - } - - private fun fromLong(size: Int, value: Long): BitVectorValue { - val vector = BitSet(size) - for (i in 0 until size) { - vector[i] = value and (1L shl i) != 0L - } - return BitVectorValue(size, vector) - } - - fun fromBigInteger(value: BigInteger): BitVectorValue { - val size = 128 - val bits = value.bitCount() - assert(bits <= size) { "This value $value is too big. Max value is 2^$bits." } - val vector = BitSet(size) - for (i in 0 until size) { - vector[i] = value.testBit(i) - } - return BitVectorValue(size, vector) - } - } -} - -fun interface Bound { - fun initializer(index: Int, size: Int): Boolean -} - -class DefaultBound private constructor(private val value: Long) : Bound { - - override fun initializer(index: Int, size: Int): Boolean { - return value and (1L shl index) != 0L - } - - @Suppress("unused") - companion object { - fun ofByte(value: Byte) = DefaultBound(value.toLong()) - - fun ofUByte(value: UByte) = DefaultBound(value.toLong()) - - fun ofShort(value: Short) = DefaultBound(value.toLong()) - - fun ofUShort(value: UShort) = DefaultBound(value.toLong()) - - fun ofInt(value: Int) = DefaultBound(value.toLong()) - - fun ofUInt(value: UInt) = DefaultBound(value.toLong()) - - fun ofLong(value: Long) = DefaultBound(value) - - fun ofULong(value: ULong) = DefaultBound(value.toLong()) - } -} - -enum class Signed : Bound { - ZERO { override fun initializer(index: Int, size: Int) = false }, - MIN { override fun initializer(index: Int, size: Int) = index == size - 1 }, - NEGATIVE { override fun initializer(index: Int, size: Int) = true }, - POSITIVE { override fun initializer(index: Int, size: Int) = index == 0 }, - MAX { override fun initializer(index: Int, size: Int) = index < size - 1 }, - ; - - operator fun invoke(size: Int) = BitVectorValue(size, this) - - fun test(value: BitVectorValue) = (0..value.size).all { value[it] == initializer(it, value.size) } -} - -enum class Unsigned : Bound { - ZERO { override fun initializer(index: Int, size: Int) = false }, - POSITIVE { override fun initializer(index: Int, size: Int) = index == 0 }, - MAX { override fun initializer(index: Int, size: Int) = true }, - ; - - operator fun invoke(size: Int) = BitVectorValue(size, this) -} - -enum class Bool : Bound { - FALSE { override fun initializer(index: Int, size: Int) = false }, - TRUE { override fun initializer(index: Int, size: Int) = true }, - ; - - operator fun invoke() = BitVectorValue(1, this) -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/IEEE754Value.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/IEEE754Value.kt deleted file mode 100644 index 0e444499..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/IEEE754Value.kt +++ /dev/null @@ -1,278 +0,0 @@ -package org.utbot.fuzzing.seeds - -import org.utbot.fuzzing.* -import kotlin.math.pow - -//val FLOAT_ZERO = DefaultFloatBound.ZERO(23, 8) -//val FLOAT_NAN = DefaultFloatBound.NAN(23, 8) -//val FLOAT_POSITIVE_INFINITY = DefaultFloatBound.POSITIVE_INFINITY(23, 8) -//val FLOAT_NEGATIVE_INFINITY = DefaultFloatBound.NEGATIVE_INFINITY(23, 8) -//val DOUBLE_ZERO = DefaultFloatBound.ZERO(52, 11) -//val DOUBLE_NAN = DefaultFloatBound.NAN(52, 11) -//val DOUBLE_POSITIVE_INFINITY = DefaultFloatBound.POSITIVE_INFINITY(52, 11) -//val DOUBLE_NEGATIVE_INFINITY = DefaultFloatBound.NEGATIVE_INFINITY(52, 11) - -class IEEE754Value : KnownValue { - - val isPositive: Boolean - get() = !vector[0] - - val bias: Int - get() = (2 shl (exponentSize - 2)) - 1 - - val exponent: Long - get() { - check(exponentSize <= 64) { "Exponent cannot be represented as long" } - var result = 0L - for (i in 0 until exponentSize) { - if (vector[exponentSize - i]) { - result += 1L shl i - } - } - return result - bias - } - - val mantissaSize: Int - val exponentSize: Int - override val lastMutation: Mutation? - override val mutatedFrom: IEEE754Value? - - private val vector: BitVectorValue - - constructor(mantissaSize: Int, exponentSize: Int, bound: FloatBound ) { - this.mantissaSize = mantissaSize - this.exponentSize = exponentSize - this.vector = BitVectorValue(1 + mantissaSize + exponentSize) { index, size -> - check(1 + exponentSize + mantissaSize == size) { "size exceeds" } - when { - index >= 1 + exponentSize + mantissaSize -> error("out of range") - index >= 1 + exponentSize -> bound.mantissa(index - 1 - exponentSize, mantissaSize) - index >= 1 -> bound.exponent(index - 1, exponentSize) - index == 0 -> bound.sign() - else -> error("out of range") - } - } - lastMutation = null - mutatedFrom = null - } - - constructor(value: IEEE754Value, mutation: Mutation? = null) { - this.vector = BitVectorValue(value.vector) - this.mantissaSize = value.mantissaSize - this.exponentSize = value.exponentSize - this.lastMutation = mutation - this.mutatedFrom = value - } - - fun getRaw(index: Int) = vector[index] - - fun setRaw(index: Int, value: Boolean) { - vector[index] = value - } - - fun toFloat(): Float { - DefaultFloatBound.values().forEach { - if (it.test(this)) when (it) { - DefaultFloatBound.ZERO -> return 0.0f - DefaultFloatBound.NAN -> return Float.NaN - DefaultFloatBound.POSITIVE_INFINITY -> return Float.POSITIVE_INFINITY - DefaultFloatBound.NEGATIVE_INFINITY -> return Float.NEGATIVE_INFINITY - else -> {} - } - } - var result = 0.0f - val e = exponent.toFloat() - result += 2.0f.pow(e) - for (i in 0 until mantissaSize) { - if (vector[1 + exponentSize + i]) { - result += 2.0f.pow(e - 1 - i) - } - } - return result * if (isPositive) 1.0f else -1.0f - } - - fun toDouble(): Double { - DefaultFloatBound.values().forEach { - if (it.test(this)) when (it) { - DefaultFloatBound.ZERO -> return 0.0 - DefaultFloatBound.NAN -> return Double.NaN - DefaultFloatBound.POSITIVE_INFINITY -> return Double.POSITIVE_INFINITY - DefaultFloatBound.NEGATIVE_INFINITY -> return Double.NEGATIVE_INFINITY - else -> {} - } - } - var result = 0.0 - val e = exponent.toDouble() - result += 2.0.pow(e) - for (i in 0 until mantissaSize) { - if (vector[1 + exponentSize + i]) { - result += 2.0.pow(e - 1 - i) - } - } - return result * if (isPositive) 1.0 else -1.0 - } - - fun is32Float(): Boolean { - return vector.size == 32 && mantissaSize == 23 && exponentSize == 8 - } - - fun is64Float(): Boolean { - return vector.size == 64 && mantissaSize == 52 && exponentSize == 11 - } - - override fun toString() = buildString { - for (i in 0 until vector.size) { - if (i == 1 || i == 1 + exponentSize) append(" ") - append(if (getRaw(i)) '1' else '0') - } - } - - override fun mutations() = listOf>( - IEEE754Mutations.ChangeSign, - IEEE754Mutations.Mantissa, - IEEE754Mutations.Exponent, - ) - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as IEEE754Value - - if (mantissaSize != other.mantissaSize) return false - if (exponentSize != other.exponentSize) return false - if (vector != other.vector) return false - - return true - } - - override fun hashCode(): Int { - var result = mantissaSize - result = 31 * result + exponentSize - result = 31 * result + vector.hashCode() - return result - } - - companion object { - fun fromValue(value: Any): IEEE754Value { - return when (value) { - is Float -> fromFloat(value) - is Double -> fromDouble(value) - else -> error("unknown type of value $value (${value::class})") - } - } - - fun fromFloat(value: Float): IEEE754Value { - return IEEE754Value(23, 8, object : FloatBound { - - val rawInt = value.toRawBits() - - override fun sign(): Boolean { - return rawInt and (1 shl 31) != 0 - } - - override fun mantissa(index: Int, size: Int): Boolean { - return rawInt and (1 shl (size - 1 - index)) != 0 - } - - override fun exponent(index: Int, size: Int): Boolean { - return rawInt and (1 shl (30 - index)) != 0 - } - - }) - } - - fun fromDouble(value: Double): IEEE754Value { - return IEEE754Value(52, 11, object : FloatBound { - - val rawLong = value.toRawBits() - - override fun sign(): Boolean { - return rawLong and (1L shl 63) != 0L - } - - override fun mantissa(index: Int, size: Int): Boolean { - return rawLong and (1L shl (size - 1 - index)) != 0L - } - - override fun exponent(index: Int, size: Int): Boolean { - return rawLong and (1L shl (62 - index)) != 0L - } - - }) - } - } -} - -interface FloatBound { - fun sign(): Boolean - fun mantissa(index: Int, size: Int): Boolean - fun exponent(index: Int, size: Int): Boolean -} - -private class CopyBound(val vector: IEEE754Value) : FloatBound { - override fun sign(): Boolean = vector.getRaw(0) - override fun exponent(index: Int, size: Int): Boolean = vector.getRaw(1 + index) - override fun mantissa(index: Int, size: Int): Boolean = vector.getRaw(1 + vector.exponentSize + index) -} - -enum class DefaultFloatBound : FloatBound { - ZERO { - override fun sign() = false - override fun mantissa(index: Int, size: Int) = false - override fun exponent(index: Int, size: Int) = false - }, - NAN { - override fun sign() = false - override fun mantissa(index: Int, size: Int) = index == size - 1 - override fun exponent(index: Int, size: Int) = true - }, - POSITIVE { - override fun sign() = false - override fun mantissa(index: Int, size: Int) = false - override fun exponent(index: Int, size: Int) = index != 0 - }, - NEGATIVE { - override fun sign() = true - override fun mantissa(index: Int, size: Int) = false - override fun exponent(index: Int, size: Int) = index != 0 - }, - POSITIVE_INFINITY { - override fun sign() = false - override fun mantissa(index: Int, size: Int) = false - override fun exponent(index: Int, size: Int) = true - }, - NEGATIVE_INFINITY { - override fun sign() = true - override fun mantissa(index: Int, size: Int) = false - override fun exponent(index: Int, size: Int) = true - }, - ; - - operator fun invoke(mantissaSize: Int, exponentSize: Int): IEEE754Value { - return IEEE754Value(mantissaSize, exponentSize, this) - } - - fun test(value: IEEE754Value): Boolean { - for (i in 0 until 1 + value.exponentSize + value.mantissaSize) { - @Suppress("KotlinConstantConditions") - val res = when { - i >= 1 + value.exponentSize -> mantissa(i - 1 - value.exponentSize, value.mantissaSize) - i >= 1 -> exponent(i - 1, value.exponentSize) - i == 0 -> sign() - else -> error("bad index $i") - } - if (value.getRaw(i) != res) return false - } - return true - } -} - -//fun main() { -// println(IEEE754Value.fromDouble(8.75).toFloat()) -// println(IEEE754Value.fromFloat(28.7f).toDouble()) -// println(28.7f.toDouble()) -// DefaultFloatBound.values().forEach { -// println(IEEE754Value(3, 3, it).toFloat()) -// } -//} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/KnownValue.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/KnownValue.kt deleted file mode 100644 index 19c5d45a..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/KnownValue.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.fuzzing.seeds - -import org.utbot.fuzzing.Mutation - -interface KnownValue> { - val lastMutation: Mutation? - get() = null - - val mutatedFrom: T? - get() = null - - fun mutations(): List> { - return emptyList() - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/RegexValue.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/RegexValue.kt deleted file mode 100644 index eb95e34a..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/RegexValue.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.fuzzing.seeds - -import org.cornutum.regexpgen.js.Provider -import org.cornutum.regexpgen.random.RandomBoundsGen -import org.utbot.fuzzing.Mutation -import kotlin.random.Random -import kotlin.random.asJavaRandom - -class RegexValue( - val pattern: String, - val random: Random, - val maxLength: Int = listOf(16, 256, 2048).random(random) -) : StringValue( - valueProvider = { - val matchingExact = Provider.forEcmaScript().matchingExact(pattern) - matchingExact.generate(RandomBoundsGen(random.asJavaRandom()), 1, maxLength) - } -) { - - override fun mutations(): List> { - return super.mutations() + Mutation { source, random, _ -> - RegexValue(source.pattern, random) - } - } -} - -fun String.isSupportedPattern(): Boolean { - if (isEmpty()) return false - return try { - Provider.forEcmaScript().matchingExact(this) - true - } catch (_: Throwable) { - false - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/StringValue.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/StringValue.kt deleted file mode 100644 index cd054754..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/seeds/StringValue.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.fuzzing.seeds - -import org.utbot.fuzzing.Mutation -import org.utbot.fuzzing.StringMutations - -open class StringValue( - val valueProvider: () -> String, - override val lastMutation: Mutation? = null, - override val mutatedFrom: StringValue? = null, -) : KnownValue { - - constructor( - value: String, - lastMutation: Mutation? = null, - mutatedFrom: StringValue? = null - ) : this(valueProvider = { value }, lastMutation, mutatedFrom) - - val value by lazy { valueProvider() } - - override fun mutations(): List> { - return listOf( - StringMutations.AddCharacter, - StringMutations.RemoveCharacter, - StringMutations.ShuffleCharacters, - ) - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/CartesianProduct.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/CartesianProduct.kt deleted file mode 100644 index 399f514c..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/CartesianProduct.kt +++ /dev/null @@ -1,101 +0,0 @@ -package org.utbot.fuzzing.utils - -import kotlin.jvm.Throws -import kotlin.random.Random - -/** - * Creates iterable for all values of cartesian product of `lists`. - */ -class CartesianProduct( - private val lists: List>, - private val random: Random? = null -): Iterable> { - - /** - * Estimated number of all combinations. - */ - val estimatedSize: Long - get() = Combinations(*lists.map { it.size }.toIntArray()).size - - @Throws(TooManyCombinationsException::class) - fun asSequence(): Sequence> { - val combinations = Combinations(*lists.map { it.size }.toIntArray()) - val sequence = if (random != null) { - sequence { - forEachChunk(Int.MAX_VALUE, combinations.size) { startIndex, combinationSize, _ -> - val permutation = PseudoShuffledIntProgression(combinationSize, random) - val temp = IntArray(size = lists.size) - for (it in 0 until combinationSize) { - yield(combinations[permutation[it] + startIndex, temp]) - } - } - } - } else { - combinations.asSequence() - } - return sequence.map { combination -> - combination.mapIndexedTo(ArrayList(combination.size)) { index, value -> lists[index][value] } - } - } - - override fun iterator(): Iterator> = asSequence().iterator() - - companion object { - /** - * Consumer for processing blocks of input larger block. - * - * If source example is sized to 12 and every block is sized to 5 then consumer should be called 3 times with these values: - * - * 1. start = 0, size = 5, remain = 7 - * 2. start = 5, size = 5, remain = 2 - * 3. start = 10, size = 2, remain = 0 - * - * The sum of start, size and remain should be equal to source block size. - */ - internal inline fun forEachChunk( - chunkSize: Int, - totalSize: Long, - block: (start: Long, size: Int, remain: Long) -> Unit - ) { - val iterationsCount = totalSize / chunkSize + if (totalSize % chunkSize == 0L) 0 else 1 - (0L until iterationsCount).forEach { iteration -> - val start = iteration * chunkSize - val size = minOf(chunkSize.toLong(), totalSize - start).toInt() - val remain = totalSize - size - start - block(start, size, remain) - } - } - } -} - -inline fun List>.cartesian(block: (List) -> Unit) { - cartesian().forEach(block) -} - -fun List>.cartesian(): Sequence> = sequence { - cartesian(this@cartesian, 0, IntArray(size)) -} - -private suspend fun SequenceScope>.cartesian(lists: List>, iteration: Int, array: IntArray) { - if (iteration == lists.size) { - yield(array.mapIndexed { l, v -> lists[l][v] }) - } else { - check(iteration < lists.size) - for (j in lists[iteration].indices) { - array[iteration] = j - cartesian(lists, iteration + 1, array) - } - } -} - -//private suspend fun SequenceScope>.cartesian(lists: List>, head: List) { -// if (head.size == lists.size) { -// yield(head) -// } else { -// check(head.size < lists.size) -// lists[head.size].forEach { -// val copy = head + it -// cartesian(lists, copy) -// } -// } -//} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Combinations.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Combinations.kt deleted file mode 100644 index 33908563..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Combinations.kt +++ /dev/null @@ -1,127 +0,0 @@ -package org.utbot.fuzzing.utils - -/** - * Enumerates all possible combinations for a given list of maximum numbers of elements for every position. - * - * For any index between 0 and [size] excluded it returns the unique combination as an array with - * values that are between 0 and corresponding maximum number from the `elementNumbers`. - * - * For example for a given list {2, 3} the following combinations get be found by corresponding index: - * - * ``` - * 0 - {0, 0} - * 1 - {0, 1} - * 2 - {0, 2} - * 3 - {1, 0} - * 4 - {1, 1} - * 5 - {1, 2} - * ``` - * - * Use this class to iterate through all combinations of some data, like this: - * - * ``` - * val dataList = arrayListOf( - * listOf("One", "Two"), - * listOf(1.0, 2.0, Double.NaN), - * ) - * Combinations(*dataList.map { it.size }.toIntArray()).forEach { combination -> - * println("${dataList[0][combination[0]]} ${dataList[1][combination[1]]}") - * } - * ``` - * - * This example iterates through all values that are result of cartesian product of input lists: - * - * ``` - * One 1.0 - * One 2.0 - * One NaN - * Two 1.0 - * Two 2.0 - * Two NaN - * ``` - * - * Simpler way to iterate through all combinations by using [CartesianProduct]: - * - * ``` - * CartesianProduct(listOf( - * listOf("One", "Two"), - * listOf(1.0, 2.0, Double.NaN) - * )).forEach { - * println("${it[0]} ${it[1]}") - * } - * ``` - */ -class Combinations(vararg elementNumbers: Int): Iterable { - /** - * Internal field that keeps a count of combinations for particular position. - * - * The count is calculated from left to right for, for example with a given elementNumbers [4, 6, 2] - * the result is: `[4 * 6 * 2, 6 * 2, 2] = [48, 12, 2]`. Therefore, the total count can be obtained for a subarray by index: - * - `[..., ..., 2] = count[2] = 2` - * - `[..., 12, 2] = count[1] = 12` - * - `[48, 12, 2] = count[0] = 48` - * - * The total count of all possible combinations is therefore `count[0]`. - */ - private val count: LongArray - val size: Long - get() = if (count.isEmpty()) 0 else count[0] - - init { - val badValue = elementNumbers.indexOfFirst { it <= 0 } - if (badValue >= 0) { - throw IllegalArgumentException("Max value must be at least 1 to build combinations, but ${elementNumbers[badValue]} is found at position $badValue (list: $elementNumbers)") - } - count = LongArray(elementNumbers.size) { elementNumbers[it].toLong() } - for (i in count.size - 2 downTo 0) { - try { - count[i] = StrictMath.multiplyExact(count[i], count[i + 1]) - } catch (e: ArithmeticException) { - throw TooManyCombinationsException("Long overflow: ${count[i]} * ${count[i + 1]}") - } - } - } - - override fun iterator(): Iterator { - return (0 until size).asSequence().map { get(it) }.iterator() - } - - /** - * Returns combination by its index. - * - * Algorithm is similar to base conversion. Thus [Combinations] can be used to generate all numbers with given - * number of digits. This example prints all numbers from 000 to 999: - * - * ``` - * Combinations(10, 10, 10).forEach { digits -> - * println(digits.joinToString(separator = "") { it.toString() }) - * } - * ``` - */ - operator fun get(value: Long, target: IntArray = IntArray(count.size)): IntArray { - if (value >= size) { - throw java.lang.IllegalArgumentException("Only $size values allowed") - } - if (target.size != count.size) { - throw java.lang.IllegalArgumentException("Different array sizes: ${target.size} != ${count.size} ") - } - var rem = value - for (i in target.indices) { - target[i] = if (i < target.size - 1) { - val res = checkBoundsAndCast(rem / count[i + 1]) - rem %= count[i + 1] - res - } else { - checkBoundsAndCast(rem) - } - } - return target - } - - private fun checkBoundsAndCast(value: Long): Int { - check(value >= 0 && value < Int.MAX_VALUE) { "Value is out of bounds: $value" } - return value.toInt() - } -} - -class TooManyCombinationsException(msg: String) : RuntimeException(msg) \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Functions.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Functions.kt deleted file mode 100644 index c2f9add1..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Functions.kt +++ /dev/null @@ -1,96 +0,0 @@ -@file:Suppress("unused") - -package org.utbot.fuzzing.utils - -import org.utbot.fuzzing.seeds.BitVectorValue - -internal fun T.toBinaryString( - size: Int, - endian: Endian = Endian.BE, - separator: String = " ", - format: (index: Int) -> Boolean = BinaryFormat.BYTE, - bit: (v: T, i: Int) -> Boolean -): String = buildString { - (endian.range(0, size - 1)).forEachIndexed { index, i -> - val b = if (bit(this@toBinaryString, i)) 1 else 0 - if (format(index)) append(separator) - append(b) - } - appendLine() -} - -internal fun UByte.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(8, endian, separator, format) { v, i -> v.toInt() and (1 shl i) != 0 } -} - -internal fun Byte.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(8, endian, separator, format) { v, i -> v.toInt() and (1 shl i) != 0 } -} - -internal fun UShort.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(16, endian, separator, format) { v, i -> v.toInt() and (1 shl i) != 0 } -} - -internal fun Short.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(16, endian, separator, format) { v, i -> v.toInt() and (1 shl i) != 0 } -} - -internal fun UInt.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(32, endian, separator, format) { v, i -> v and (1u shl i) != 0u } -} - -internal fun Int.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(32, endian, separator, format) { v, i -> v and (1 shl i) != 0 } -} - -internal fun ULong.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(64, endian, separator, format) { v, i -> v and (1uL shl i) != 0uL } -} - -internal fun Long.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = BinaryFormat.BYTE): String { - return toBinaryString(64, endian, separator, format) { v, i -> v and (1L shl i) != 0L } -} - -internal fun Float.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = { - when (endian) { - Endian.BE -> it == 1 || it == 9 - Endian.LE -> it == 31 || it == 23 - } -}): String { - return toRawBits().toBinaryString(endian, separator, format) -} - -internal fun Double.toBinaryString(endian: Endian = Endian.BE, separator: String = " ", format: (index: Int) -> Boolean = { - when (endian) { - Endian.BE -> it == 1 || it == 12 - Endian.LE -> it == 63 || it == 52 - } -}): String { - return toRawBits().toBinaryString(endian, separator, format) -} - -internal enum class Endian { - BE { override fun range(fromInclusive: Int, toInclusive: Int) = (toInclusive downTo fromInclusive) }, - LE { override fun range(fromInclusive: Int, toInclusive: Int) = (fromInclusive .. toInclusive) }; - abstract fun range(fromInclusive: Int, toInclusive: Int): IntProgression -} - -internal enum class BinaryFormat : (Int) -> Boolean { - HALF { override fun invoke(index: Int) = index % 4 == 0 && index != 0 }, - BYTE { override fun invoke(index: Int) = index % 8 == 0 && index != 0 }, - DOUBLE { override fun invoke(index: Int) = index % 16 == 0 && index != 0 }, -} - -internal fun MutableList.transformIfNotEmpty(transform: MutableList.() -> List): List { - return if (isNotEmpty()) transform() else this -} - -// todo move to tests -//fun main() { -// val endian = Endian.BE -// println(255.toUByte().toBinaryString(endian)) -// println(2.toBinaryString(endian)) -// println(BitVectorValue.fromInt(2).toBinaryString(endian)) -// print(8.75f.toBinaryString(endian)) -// print(8.75.toBinaryString(endian)) -//} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/MissedSeed.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/MissedSeed.kt deleted file mode 100644 index 26182385..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/MissedSeed.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.fuzzing.utils - -import org.utbot.fuzzing.Seed - -class MissedSeed : Iterable { - - private val values = hashMapOf>() - - operator fun set(value: T, seed: Seed) { - values[value] = seed - } - - operator fun get(value: T): Seed? { - return values[value] - } - - fun isEmpty(): Boolean { - return values.size == 0 - } - - fun isNotEmpty(): Boolean = !isEmpty() - - override fun iterator(): Iterator { - return values.keys.iterator() - } - -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/PseudoShuffledIntProgression.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/PseudoShuffledIntProgression.kt deleted file mode 100644 index 5d6ebdbc..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/PseudoShuffledIntProgression.kt +++ /dev/null @@ -1,237 +0,0 @@ -package org.utbot.fuzzing.utils - -import kotlin.math.sqrt -import kotlin.random.Random - -/** - * Generates pseudo random values from 0 to size exclusive. - * - * In general there are 2 ways to get random order for a given range: - * 1. Create an array of target size and shuffle values. - * 2. Create a set of generated values and generate new values until they're unique. - * - * Both cases cause high memory usage when target number of values is big. - * - * The memory usage can be reduced by using a pseudo-random sequence. - * - * Algorithm to create pseudo-random sequence of length L: - * 1. Take first K elements to create a matrix of size COLS × ROWS in such way that K = COLS * ROWS and ROWS >= L - K. - * 2. Move last L - K elements into a new array tail. - * 3. Any index N from [0, K) can be calculated by using 2 numbers: number of column (i) and number of row (j) as follows: - * `N = i * ROWS + j` where `i = N % COLS` and `j = N / COLS`. - * In such case the index N increases from top to bottom and left to right. - * 4. Tail contains all values from [K, L). - * 5. Shuffle matrix columns, matrix rows and the tail. - * 6. Add the tail as a column to the matrix. Since ROWS >= L - K there are missing values for i = COLS and j >= L - K. - * 7. Write down all values except missing from left to right and top to bottom. - * - * Example, input size = 23 - * ``` - * matrix tail - * ----------------------- - * 0 5 10 15 20 - * 1 6 11 16 21 - * 2 7 12 17 22 - * 3 8 13 18 - * 4 9 14 19 - * ``` - * Columns are shuffled: - * - * ``` - * matrix tail - * ----------------------- - * 10 5 15 0 20 - * 11 6 16 1 21 - * 12 7 17 2 22 - * 13 8 18 3 - * 14 9 19 4 - * ``` - * Rows and tail are shuffled - * ``` - * matrix tail - * ----------------------- - * 12 7 17 2 22 - * 13 8 18 3 20 - * 14 9 19 4 21 - * 10 5 15 0 - * 11 6 16 1 - * ``` - * Merge matrix and tail: - * ``` - * 12 7 17 2 22 - * 13 8 18 3 20 - * 14 9 19 4 21 - * 10 5 15 0 × - * 11 6 16 1 × - * ``` - * - * Write down the sequence: `[12, 7, 17, 2, 22, 13, 8, 18, 3, 20, 14, 9, 19, 4, 21, 10, 5, 15, 0, 11, 6, 16, 1]`. - * - * Instead of storing matrix itself only column and row numbers can be stored. Therefore, the 5th step of the algorithm - * can be changed into this: - * - * 5. Shuffle column numbers, row numbers and tail. - * - * In this case any value from the matrix can be calculated as follows: - * `N = column[i] * ROWS + rows[j]`, where column and rows are shuffled column and row numbers arrays. - * - * Using number arrays instead of the matrix this algorithm requires only - * `537 552 bytes (~ 550 KB)` compared to `Int.MAX_VALUE * 4 = 8 589 934 588 bytes (~ 8 GB)` - * when using simple array-shuffle algorithm. - */ -class PseudoShuffledIntProgression : Iterable { - private val columnNumber: IntArray - private val rowNumber: IntArray - private val tail: IntArray - - val size: Int - - constructor(size: Int, random: Random = Random) : this(size, random, { sqrt(it.toDouble()).toInt() }) - - /** - * Test only constructor - */ - internal constructor(size: Int, random: Random, columns: (Int) -> Int) { - check(size >= 0) { "Size must be positive or 0 but current value is $size" } - this.size = size - var cols = columns(size) - if (cols > 0 && cols > size / cols) { - cols = size / cols - } - check(cols > 0 || size == 0) { "Side of matrix must be greater than 0 but $cols <= 0" } - - columnNumber = IntArray(size = cols) { it }.apply { shuffle(random) } - rowNumber = IntArray(size = if (cols == 0) 0 else size / cols) { it }.apply { shuffle(random) } - check(columnNumber.size <= rowNumber.size) { "Error in internal array state: number of rows shouldn't be less than number of columns" } - - val rectangle = columnNumber.size * rowNumber.size - tail = IntArray(size - rectangle) { it + rectangle }.apply { shuffle(random) } - } - - /** - * Test only constructor - */ - internal constructor(columns: IntArray, rows: IntArray, tail: IntArray) { - check(rows.size >= tail.size) { "Tail cannot be placed into 1 column of the target matrix" } - this.columnNumber = columns - this.rowNumber = rows - this.tail = tail - this.size = columns.size * rows.size + tail.size - } - - /** - * Returns a unique pseudo-random index for the current one. - * - * To calculate correct value of the merged matrix as described before - * let's look at not shuffled merged matrix with size 2 × 6 and the tail with 2 elements. - * - * ``` - * 0 6 13 - * 1 7 14 - * 2 9 × - * 3 10 × - * 4 11 × - * 5 12 × - * ``` - * - * The index moves from left to right and top to bottom, so the result sequence should be - * `[0, 6, 13, 1, 7, 14, 2, 9, 3, 10, 4, 11, 5, 12]` - * but the correct index in this matrix cannot be calculated just as `i * ROWS + j` because of missing values. - * To correct the index a property shift should be used. Let's transform the matrix into a matrix of shift - * that should be added to the index for jumping over missing values: - * - * ``` - * 0 0 0 - * 0 0 0 - * 0 0 1 - * 1 2 2 - * 3 3 × - * × × × - * ``` - * - * The matrix can be divided into 3 parts that calculates correct indices: - * - * ``` - * 0 0 | 0 - * 0 0 | 0 - * _____|___ - * 0 0 1 - * 1 2 2 - * 3 3 × - * × × × - * ``` - * - * 1. Top left doesn't change the index and values are taken from the matrix. - * 2. Top right doesn't change the index and values are taken from the tail. - * 3. Bottom uses shifts to change index and values are taken from the matrix. - * - * To clarify general rule for calculating a shift let's look at merged matrix - * where every row has COLS values and TAILS missing values like this: - * ``` - * 1: N1 N2 N3 .. N_COLS | M1 M2 .. M_TAILS - * 2: N1 N2 N3 .. N_COLS | M1 M2 .. M_TAILS - * ... - * ROW: N1 N2 N3 .. N_COLS | M1 M2 .. M_TAILS - * ``` - * It can be shown that the shift changes every COLS values on TAILS, therefore the shift can be calculated as follows: - * ``` - * shift = (index / COLS) * TAILS - * ``` - * - * **Examples** - * - * COLS = 3, TAILS = 1: - * ``` - * 0 0 0 1 - * 1 1 2 2 - * 2 3 3 3 - * ... - * ``` - * - * COLS = 1, TAILS = 3 - * ``` - * 0 3 6 9 - * 12 15 18 21 - * 24 27 30 33 - * ... - * ``` - * - * COLS = 2, TAILS = 2 - * ``` - * 0 0 2 2 - * 4 4 6 6 - * 8 8 10 10 - * ... - * ``` - */ - operator fun get(index: Int): Int { - check(index in 0 until size) { "Index out of bounds: $index >= $size" } - val cols = columnNumber.size - val rows = rowNumber.size - val e = cols + 1 - var i = index % e - var j = index / e - return if (i == cols && j < tail.size) { - // top right case - tail[j] - } else { - // first tail.size * e values can be calculated without index shift - // o < 0 is the top left case - // o >= 0 is the bottom case with COLS = cols and TAILS = 1 - val o = ((index - tail.size * e) / cols).toLong() - if (o > 0) { - i = ((index + o) % e).toInt() - j = ((index + o) / e).toInt() - } - columnNumber[i] * rows + rowNumber[j] - } - } - - fun toArray(): IntArray = IntArray(size, this::get) - - override fun iterator(): IntIterator = object : IntIterator() { - var current = 0 - override fun hasNext() = current < size - override fun nextInt() = get(current++) - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/RandomExtensions.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/RandomExtensions.kt deleted file mode 100644 index 74e62210..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/RandomExtensions.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.fuzzing.utils - -import kotlin.random.Random - -/** - * Chooses a random value using frequencies. - * - * If value has greater frequency value then it would be chosen with greater probability. - * - * @return the index of the chosen item. - */ -fun Random.chooseOne(frequencies: DoubleArray): Int { - val total = frequencies.sum() - val value = nextDouble(total) - var nextBound = 0.0 - frequencies.forEachIndexed { index, bound -> - check(bound >= 0) { "Frequency must not be negative" } - nextBound += bound - if (value < nextBound) return index - } - error("Cannot find next index") -} - -/** - * Tries a value. - * - * If a random value is less than [probability] returns true. - */ -fun Random.flipCoin(probability: Int): Boolean { - if (probability == 0) return false - if (probability == 100) return true - check(probability in 0 .. 100) { "probability must in range [0, 100] but $probability is provided" } - return nextInt(1, 101) <= probability -} - -fun Long.invertBit(bitIndex: Int): Long { - return this xor (1L shl bitIndex) -} - -fun Int.hex(): String = - toString(16) diff --git a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Trie.kt b/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Trie.kt deleted file mode 100644 index 7bc4190f..00000000 --- a/utbot-fuzzing/src/main/kotlin/org/utbot/fuzzing/utils/Trie.kt +++ /dev/null @@ -1,184 +0,0 @@ -package org.utbot.fuzzing.utils - -fun trieOf(vararg values: Iterable): Trie = IdentityTrie().apply { - values.forEach(this::add) -} - -fun stringTrieOf(vararg values: String): StringTrie = StringTrie().apply { - values.forEach(this::add) -} - -class StringTrie : IdentityTrie() { - fun add(string: String) = super.add(string.toCharArray().asIterable()) - fun removeCompletely(string: String) = super.removeCompletely(string.toCharArray().asIterable()) - fun remove(string: String) = super.remove(string.toCharArray().asIterable()) - operator fun get(string: String) = super.get(string.toCharArray().asIterable()) - fun collect() = asSequence().map { String(it.toCharArray()) }.toSet() -} - -open class IdentityTrie : Trie({ it }) - -/** - * Implementation of a trie for any iterable values. - */ -open class Trie( - private val keyExtractor: (T) -> K -) : Iterable> { - - private val roots = HashMap>() - private val implementations = HashMap, NodeImpl>() - - /** - * Adds value into a trie. - * - * If value already exists then do nothing except increasing internal counter of added values. - * The counter can be returned by [Node.count]. - * - * @return corresponding [Node] of the last element in the `values` - */ - fun add(values: Iterable): Node { - val root = try { values.first() } catch (e: NoSuchElementException) { error("Empty list are not allowed") } - var key = keyExtractor(root) - var node = roots.computeIfAbsent(key) { NodeImpl(root, null) } - values.asSequence().drop(1).forEach { value -> - key = keyExtractor(value) - node = node.children.computeIfAbsent(key) { NodeImpl(value, node) } - } - node.count++ - implementations[node] = node - return node - } - - /** - * Decreases node counter value or removes the value completely if `counter == 1`. - * - * Use [removeCompletely] to remove the value from the trie regardless of counter value. - * - * @return removed node if value exists. - */ - fun remove(values: Iterable): Node? { - val node = findImpl(values) ?: return null - return when { - node.count == 1 -> removeCompletely(values) - node.count > 1 -> node.apply { count-- } - else -> throw IllegalStateException("count should be 1 or greater") - } - } - - /** - * Removes value from a trie. - * - * The value is removed completely from the trie. Thus, the next code is true: - * - * ``` - * trie.remove(someValue) - * trie.get(someValue) == null - * ``` - * - * Use [remove] to decrease counter value instead of removal. - * - * @return removed node if value exists - */ - fun removeCompletely(values: Iterable): Node? { - val node = findImpl(values) ?: return null - if (node.count > 0 && node.children.isEmpty()) { - var n: NodeImpl? = node - while (n != null) { - val key = keyExtractor(n.data) - n = n.parent - if (n == null) { - val removed = roots.remove(key) - check(removed != null) - } else { - val removed = n.children.remove(key) - check(removed != null) - if (n.count != 0) { - break - } - } - } - } - return if (node.count > 0) { - node.count = 0 - implementations.remove(node) - node - } else { - null - } - } - - operator fun get(values: Iterable): Node? { - return findImpl(values) - } - - operator fun get(node: Node): List? { - return implementations[node]?.let(this::buildValue) - } - - private fun findImpl(values: Iterable): NodeImpl? { - val root = try { values.first() } catch (e: NoSuchElementException) { return null } - var key = keyExtractor(root) - var node = roots[key] ?: return null - values.asSequence().drop(1).forEach { value -> - key = keyExtractor(value) - node = node.children[key] ?: return null - } - return node.takeIf { it.count > 0 } - } - - override fun iterator(): Iterator> { - return iterator { - roots.values.forEach { node -> - traverseImpl(node) - } - } - } - - private suspend fun SequenceScope>.traverseImpl(node: NodeImpl) { - val stack = ArrayDeque>() - stack.addLast(node) - while (stack.isNotEmpty()) { - val n = stack.removeLast() - if (n.count > 0) { - yield(buildValue(n)) - } - n.children.values.forEach(stack::addLast) - } - } - - private fun buildValue(node: NodeImpl): List { - return generateSequence(node) { it.parent }.map { it.data }.toList().asReversed() - } - - interface Node { - val data: T - val count: Int - } - - /** - * Trie node - * - * @param data data to be stored - * @param parent reference to the previous element of the value - * @param count number of value insertions - * @param children list of children mapped by their key - */ - private class NodeImpl( - override val data: T, - val parent: NodeImpl?, - override var count: Int = 0, - val children: MutableMap> = HashMap(), - ) : Node - - private object EmptyNode : Node { - override val data: Any - get() = error("empty node has no data") - override val count: Int - get() = 0 - } - - companion object { - @Suppress("UNCHECKED_CAST") - fun emptyNode() = EmptyNode as Node - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/FuzzerSmokeTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/FuzzerSmokeTest.kt deleted file mode 100644 index 260b8249..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/FuzzerSmokeTest.kt +++ /dev/null @@ -1,311 +0,0 @@ -package org.utbot.fuzzing - -import kotlinx.coroutines.* -import kotlinx.coroutines.flow.flow -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Assertions.fail -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.Timeout -import org.junit.jupiter.api.assertThrows -import org.utbot.fuzzing.seeds.BitVectorValue -import org.utbot.fuzzing.seeds.Signed -import java.util.concurrent.TimeUnit -import kotlin.reflect.KClass - -class FuzzerSmokeTest { - - @Test - fun `fuzzing runs with empty parameters`() { - runBlocking { - var count = 0 - runFuzzing, BaseFeedback>( - { _, _ -> sequenceOf() }, - Description(emptyList()) - ) { _, _ -> - count += 1 - BaseFeedback(Unit, Control.STOP) - } - Assertions.assertEquals(1, count) - } - } - - @Test - fun `fuzzing throws an exception if no values generated for some type`() { - assertThrows { - runBlocking { - var count = 0 - runFuzzing, BaseFeedback>( - provider = { _, _ -> sequenceOf() }, - description = Description(listOf(Unit)), - configuration = Configuration( - generateEmptyCollectionsForMissedTypes = false - ) - ) { _, _ -> - count += 1 - BaseFeedback(Unit, Control.STOP) - } - Assertions.assertEquals(0, count) - } - } - } - - @Test - fun `fuzzing stops on Control$STOP signal after one execution`() { - runBlocking { - var count = 0 - runFuzzing( - { _, _ -> sequenceOf(Seed.Simple(Unit)) }, - Description(listOf(Unit)) - ) { _, _ -> - count += 1 - BaseFeedback(Unit, Control.STOP) - } - Assertions.assertEquals(1, count) - } - } - - @Test - fun `fuzzing stops on Control$STOP signal after 3 execution`() { - runBlocking { - var count = 3 - var executions = 0 - runFuzzing( - { _, _ -> sequenceOf(Seed.Simple(Unit)) }, - Description(listOf(Unit)) - ) { _, _ -> - executions++ - BaseFeedback(Unit, if (--count == 0) Control.STOP else Control.CONTINUE) - } - Assertions.assertEquals(0, count) - Assertions.assertEquals(3, executions) - } - } - - @Test - fun `fuzzing runs value generation once per type by default`() { - runBlocking { - var count = 10 - var generations = 0 - runFuzzing( - { _, _ -> - generations++ - sequenceOf(Seed.Simple(Unit)) - }, - Description(listOf(Unit)) - ) { _, _ -> - BaseFeedback(Unit, if (--count == 0) Control.STOP else Control.CONTINUE) - } - Assertions.assertEquals(0, count) - Assertions.assertEquals(1, generations) - } - } - - @Test - fun `fuzzer rethrow exception from execution block`() { - class SpecialException : Exception() - runBlocking { - assertThrows { - withTimeout(1000) { - runFuzzing( - { _, _ -> sequenceOf(Seed.Simple(Unit)) }, - Description(listOf(Unit)) - ) { _, _ -> - throw SpecialException() - } - } - } - } - } - - @Test - fun `fuzzer generates recursive data with correct depth`() { - data class Node(val left: Node?, val right: Node?) - - runBlocking { - val configuration = Configuration( - recursionTreeDepth = 10 - ) - var depth = 0 - var count = 0 - runFuzzing( - ValueProvider, Node?, Description>> { _, _ -> - sequenceOf(Seed.Recursive( - construct = Routine.Create(listOf(Node::class, Node::class)) { v -> - Node(v[0], v[1]) - }, - empty = Routine.Empty { null } - )) - }, - Description(listOf(Node::class)), - configuration = configuration - ) { _, v -> - fun traverse(n: Node?, l: Int = 1) { - n ?: return - depth = maxOf(depth, l) - count++ - traverse(n.left, l + 1) - traverse(n.right, l + 1) - } - traverse(v.first()) - Assertions.assertEquals(configuration.recursionTreeDepth, depth) - Assertions.assertEquals((1 shl configuration.recursionTreeDepth) - 1, count) - BaseFeedback(this, Control.STOP) - } - } - } - - @Test - fun `fuzzer can be cancelled by timeout`() { - val start = System.currentTimeMillis() - runBlocking { - assertThrows { - withTimeout(1000) { - runFuzzing( - { _, _ -> sequenceOf(Seed.Simple(Unit)) }, - Description(listOf(Unit)) - ) { _, _ -> - if (System.currentTimeMillis() - start > 10_000) { - error("Fuzzer didn't stopped in 10 000 ms") - } - BaseFeedback(Unit, Control.CONTINUE) - } - } - } - } - } - - @Test - fun `fuzzer can be cancelled by coroutine`() { - runBlocking { - val deferred = async { - val start = System.currentTimeMillis() - runFuzzing( - { _, _ -> sequenceOf(Seed.Simple(Unit)) }, - Description(listOf(Unit)) - ) { _, _ -> - if (System.currentTimeMillis() - start > 10_000) { - error("Fuzzer didn't stopped in 10_000 ms") - } - BaseFeedback(Unit, Control.CONTINUE) - } - } - delay(1000) - deferred.cancel() - } - } - - @Test - fun `fuzzer generate same result when random is seeded`() { - data class B(var a: Int) - val provider = ValueProvider> { _, _ -> - sequenceOf( - Seed.Simple(B(0)) { p, r -> B(p.a + r.nextInt()) }, - Seed.Known(BitVectorValue(32, Signed.POSITIVE)) { B(it.toInt()) }, - Seed.Recursive( - construct = Routine.Create(listOf(Unit)) { _ -> B(2) }, - modify = sequenceOf( - Routine.Call(listOf(Unit)) { self, _ -> self.a = 3 }, - Routine.Call(listOf(Unit)) { self, _ -> self.a = 4 }, - Routine.Call(listOf(Unit)) { self, _ -> self.a = 5 }, - Routine.Call(listOf(Unit)) { self, _ -> self.a = 6 }, - ), - empty = Routine.Empty { B(7) } - ), - Seed.Collection( - construct = Routine.Collection { size -> B(size) }, - modify = Routine.ForEach(listOf(Unit)) { self, ind, v -> self.a = ind * self.a * v.first().a } - ) - ) - } - fun createValues(): MutableList { - val result = mutableListOf() - val probes = 1_000 - runBlocking { - runFuzzing(provider, Description(listOf(Unit))) { _, v -> - result.add(v.first().a) - BaseFeedback(Unit, if (result.size >= probes) Control.STOP else Control.CONTINUE) - } - } - return result - } - val firstRun = createValues() - val secondRun = createValues() - val thirdRun = createValues() - Assertions.assertEquals(firstRun, secondRun) - Assertions.assertEquals(firstRun, thirdRun) - Assertions.assertEquals(secondRun, thirdRun) - } - - @Test - fun `check flow invariant is not violated`() { - val timeConsumer: (Long) -> Unit = {} - runBlocking { - val deferred = async { - val start = System.currentTimeMillis() - flow { - runFuzzing( - { _, _ -> sequenceOf(Seed.Simple(Unit)) }, - Description(listOf(Unit)) - ) { _, _ -> - if (System.currentTimeMillis() - start > 10_000) { - error("Fuzzer didn't stopped in 10_000 ms") - } - emit(System.currentTimeMillis()) - BaseFeedback(Unit, Control.CONTINUE) - } - }.collect { - timeConsumer(it) - } - } - delay(1000) - deferred.cancel() - } - } - - @Test - fun `fuzzer can generate value without mutations`() { - runBlocking { - var seenEmpty = false - withTimeout(1000) { - runFuzzing( - { _, _ -> sequenceOf(Seed.Recursive( - construct = Routine.Create(emptyList()) { StringBuilder("") }, - modify = sequenceOf(Routine.Call(emptyList()) { s, _ -> s.append("1") }), - empty = Routine.Empty { fail("Empty is called despite construct requiring no args") } - )) }, - Description(listOf(Unit)) - ) { _, (s) -> - if (s.isEmpty()) { - seenEmpty = true - BaseFeedback(Unit, Control.STOP) - } else BaseFeedback(Unit, Control.CONTINUE) - } - } - Assertions.assertTrue(seenEmpty) { "Unmodified empty string wasn't generated" } - } - } - - @Test - @Timeout(10, unit = TimeUnit.SECONDS) // withTimeout(1000) works inconsistently - fun `fuzzer works when there are many recursive seeds`() { - class Node(val parent: Node?) - - runBlocking { - var seenAnything = false - withTimeout(1000) { - runFuzzing( - { _, _ -> List(100) {Seed.Recursive( - construct = Routine.Create(listOf(Unit)) { (parent) -> Node(parent) }, - modify = emptySequence(), - empty = Routine.Empty { null } - )}.asSequence() }, - Description(listOf(Unit)) - ) { _, _ -> - seenAnything = true - BaseFeedback(Unit, Control.STOP) - } - } - Assertions.assertTrue(seenAnything) { "Fuzzer hasn't generated any values" } - } - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/ProvidersTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/ProvidersTest.kt deleted file mode 100644 index 74b2d8c2..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/ProvidersTest.kt +++ /dev/null @@ -1,193 +0,0 @@ -package org.utbot.fuzzing - -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Test - -class ProvidersTest { - - private fun p(supplier: () -> T) : ValueProvider> { - return ValueProvider { _, _ -> sequenceOf(Seed.Simple(supplier())) } - } - - private fun p( - accept: () -> Boolean, - supplier: () -> T - ) : ValueProvider> { - return object : ValueProvider> { - override fun accept(type: Unit) = accept() - override fun generate(description: Description, type: Unit) = sequence> { - yield(Seed.Simple(supplier())) - } - } - } - - private val description = Description(listOf(Unit)) - - @Test - fun `test common provider API`() { - val provider = ValueProvider.of(listOf(p { 1 })) - (1..3).forEach { _ -> - val attempt = provider.generate(description, Unit).first() as Seed.Simple - Assertions.assertEquals(1, attempt.value) - } - } - - @Test - fun `test merging of providers`() { - var count = 0 - ValueProvider.of(listOf( - p { 1 }, p { 2 }, p { 3 } - )).generate(description, Unit) - .map { (it as Seed.Simple).value } - .forEachIndexed { index, result -> - count++ - Assertions.assertEquals(index + 1, result) - } - Assertions.assertEquals(3, count) - } - - @Test - fun `test merging of providers several times`() { - val p1 = p { 1 } - val p2 = p { 2 } - val p3 = p { 3 } - val p4 = p { 4 } - val m1 = ValueProvider.of(listOf(p1, p2)) - val m2 = p3 with p4 - val m3 = m1 with m2 - val m4 = m3 with ValueProvider.of(emptyList()) - - Assertions.assertEquals(1, p1.generate(description, Unit).count()) - Assertions.assertEquals(1, (p1.generate(description, Unit).first() as Seed.Simple).value) - - Assertions.assertEquals(1, p2.generate(description, Unit).count()) - Assertions.assertEquals(2, (p2.generate(description, Unit).first() as Seed.Simple).value) - - Assertions.assertEquals(1, p3.generate(description, Unit).count()) - Assertions.assertEquals(3, (p3.generate(description, Unit).first() as Seed.Simple).value) - - Assertions.assertEquals(1, p4.generate(description, Unit).count()) - Assertions.assertEquals(4, (p4.generate(description, Unit).first() as Seed.Simple).value) - - Assertions.assertEquals(2, m1.generate(description, Unit).count()) - Assertions.assertEquals(1, (m1.generate(description, Unit).first() as Seed.Simple).value) - Assertions.assertEquals(2, (m1.generate(description, Unit).drop(1).first() as Seed.Simple).value) - - Assertions.assertEquals(2, m2.generate(description, Unit).count()) - Assertions.assertEquals(3, (m2.generate(description, Unit).first() as Seed.Simple).value) - Assertions.assertEquals(4, (m2.generate(description, Unit).drop(1).first() as Seed.Simple).value) - - Assertions.assertEquals(4, m3.generate(description, Unit).count()) - Assertions.assertEquals(1, (m3.generate(description, Unit).first() as Seed.Simple).value) - Assertions.assertEquals(2, (m3.generate(description, Unit).drop(1).first() as Seed.Simple).value) - Assertions.assertEquals(3, (m3.generate(description, Unit).drop(2).first() as Seed.Simple).value) - Assertions.assertEquals(4, (m3.generate(description, Unit).drop(3).first() as Seed.Simple).value) - - Assertions.assertEquals(4, m4.generate(description, Unit).count()) - } - - @Test - fun `test merging of providers by with-method`() { - var count = 0 - p { 1 }.with(p { 2 }).with(p { 3 }).generate(description, Unit) - .map { (it as Seed.Simple).value } - .forEachIndexed { index, result -> - count++ - Assertions.assertEquals(index + 1, result) - } - Assertions.assertEquals(3, count) - } - - @Test - fun `test excepting from providers`() { - val provider = p { 2 } - val seq = ValueProvider.of(listOf( - p { 1 }, provider, p { 3 } - )).except { - it === provider - }.generate(description, Unit) - Assertions.assertEquals(2, seq.count()) - Assertions.assertEquals(1, (seq.first() as Seed.Simple).value) - Assertions.assertEquals(3, (seq.drop(1).first() as Seed.Simple).value) - } - - @Test - fun `test fallback unwrapping from providers`() { - val provider1 = p { 2 } - val provider2 = p { 3 } - val fallback = p { 4 } - val providers1 = ValueProvider.of(listOf( - provider1.withFallback(fallback), - provider2 - )) - val seq1 = providers1.generate(description, Unit).toSet() - Assertions.assertEquals(2, seq1.count()) - Assertions.assertEquals(2, (seq1.first() as Seed.Simple).value) - Assertions.assertEquals(3, (seq1.drop(1).first() as Seed.Simple).value) - - val providers2 = providers1.except(provider1) - - val seq2 = providers2.generate(description, Unit).toSet() - Assertions.assertEquals(1, seq2.count()) - Assertions.assertEquals(3, (seq2.first() as Seed.Simple).value) - } - - @Test - fun `provider is not called when accept-method returns false`() { - val seq = ValueProvider.of(listOf( - p({ true }, { 1 }), p({ false }, { 2 }), p({ true }, { 3 }), - )).generate(description, Unit) - Assertions.assertEquals(2, seq.count()) - Assertions.assertEquals(1, (seq.first() as Seed.Simple).value) - Assertions.assertEquals(3, (seq.drop(1).first() as Seed.Simple).value) - } - - @Test - fun `provider doesnt call fallback when values is generated`() { - val seq = ValueProvider.of(listOf( - p({ true }, { 1 }), p({ false }, { 2 }), p({ true }, { 3 }), - )).withFallback { - Seed.Simple(4) - }.generate(description, Unit) - Assertions.assertEquals(2, seq.count()) - Assertions.assertEquals(1, (seq.first() as Seed.Simple).value) - Assertions.assertEquals(3, (seq.drop(1).first() as Seed.Simple).value) - } - - @Test - fun `provider calls fallback when values are not generated`() { - val seq = ValueProvider.of(listOf( - p({ false }, { 1 }), p({ false }, { 2 }), p({ false }, { 3 }), - )).withFallback { - Seed.Simple(4) - }.generate(description, Unit) - Assertions.assertEquals(1, seq.count()) - Assertions.assertEquals(4, (seq.first() as Seed.Simple).value) - } - - @Test - fun `provider generates no values when fallback cannot accept value`() { - val seq = ValueProvider.of(listOf( - p({ false }, { 1 }), p({ false }, { 2 }), p({ false }, { 3 }), - )).withFallback( - object : ValueProvider> { - override fun accept(type: Unit) = false - override fun generate(description: Description, type: Unit) = emptySequence>() - } - ).generate(description, Unit) - Assertions.assertEquals(0, seq.count()) - } - - @Test - fun `type providers check exactly the type`() { - val seq1 = TypeProvider>('A') { _, _ -> - yield(Seed.Simple(2)) - }.generate(Description(listOf('A')), 'A') - Assertions.assertEquals(1, seq1.count()) - - val seq2 = TypeProvider>('A') { _, _ -> - yield(Seed.Simple(2)) - }.generate(Description(listOf('A')), 'B') - Assertions.assertEquals(0, seq2.count()) - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/providers/known/BitVectorValueTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/providers/known/BitVectorValueTest.kt deleted file mode 100644 index dc447931..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/providers/known/BitVectorValueTest.kt +++ /dev/null @@ -1,136 +0,0 @@ -package org.utbot.fuzzing.providers.known - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.utbot.fuzzing.seeds.BitVectorValue -import org.utbot.fuzzing.seeds.DefaultBound -import org.utbot.fuzzing.seeds.Signed -import org.utbot.fuzzing.seeds.Unsigned -import kotlin.random.Random - -class BitVectorValueTest { - - @Test - fun `convert default kotlin literals to vector`() { - for (i in Byte.MIN_VALUE..Byte.MAX_VALUE) { - assertEquals(i.toByte(), BitVectorValue(Byte.SIZE_BITS, DefaultBound.ofByte(i.toByte())).toByte()) - } - - for (i in Short.MIN_VALUE..Short.MAX_VALUE) { - assertEquals(i.toShort(), BitVectorValue(Short.SIZE_BITS, DefaultBound.ofShort(i.toShort())).toShort()) - } - - val randomIntSequence = with(Random(0)) { sequence { while (true) yield(nextInt()) } } - randomIntSequence.take(100_000).forEach { - assertEquals(it, BitVectorValue(Int.SIZE_BITS, DefaultBound.ofInt(it)).toInt()) - } - - val randomLongSequence = with(Random(0)) { sequence { while (true) yield(nextLong()) } } - randomLongSequence.take(100_000).forEach { - assertEquals(it, BitVectorValue(Long.SIZE_BITS, DefaultBound.ofLong(it)).toLong()) - } - } - - @Test - fun `test default bit vectors (byte)`() { - assertEquals(0, BitVectorValue(8, Signed.ZERO).toByte()) - assertEquals(-128, BitVectorValue(8, Signed.MIN).toByte()) - assertEquals(-1, BitVectorValue(8, Signed.NEGATIVE).toByte()) - assertEquals(1, BitVectorValue(8, Signed.POSITIVE).toByte()) - assertEquals(127, BitVectorValue(8, Signed.MAX).toByte()) - } - - @Test - fun `test default bit vectors (unsigned byte)`() { - assertEquals(0u.toUByte(), BitVectorValue(8, Unsigned.ZERO).toUByte()) - assertEquals(1u.toUByte(), BitVectorValue(8, Unsigned.POSITIVE).toUByte()) - assertEquals(255u.toUByte(), BitVectorValue(8, Unsigned.MAX).toUByte()) - } - - @Test - fun `test default bit vectors (short)`() { - assertEquals(0, BitVectorValue(16, Signed.ZERO).toShort()) - assertEquals(Short.MIN_VALUE, BitVectorValue(16, Signed.MIN).toShort()) - assertEquals(-1, BitVectorValue(16, Signed.NEGATIVE).toShort()) - assertEquals(1, BitVectorValue(16, Signed.POSITIVE).toShort()) - assertEquals(Short.MAX_VALUE, BitVectorValue(16, Signed.MAX).toShort()) - } - - @Test - fun `test default bit vectors (unsigned short)`() { - assertEquals(UShort.MIN_VALUE, BitVectorValue(16, Unsigned.ZERO).toUShort()) - assertEquals(1u.toUShort(), BitVectorValue(16, Unsigned.POSITIVE).toUShort()) - assertEquals(UShort.MAX_VALUE, BitVectorValue(16, Unsigned.MAX).toUShort()) - } - - @Test - fun `test default bit vectors (int)`() { - assertEquals(0, BitVectorValue(32, Signed.ZERO).toInt()) - assertEquals(Int.MIN_VALUE, BitVectorValue(32, Signed.MIN).toInt()) - assertEquals(-1, BitVectorValue(32, Signed.NEGATIVE).toInt()) - assertEquals(1, BitVectorValue(32, Signed.POSITIVE).toInt()) - assertEquals(Int.MAX_VALUE, BitVectorValue(32, Signed.MAX).toInt()) - } - - @Test - fun `test default bit vectors (unsigned int)`() { - assertEquals(UInt.MIN_VALUE, BitVectorValue(32, Unsigned.ZERO).toUInt()) - assertEquals(1u, BitVectorValue(32, Unsigned.POSITIVE).toUInt()) - assertEquals(UInt.MAX_VALUE, BitVectorValue(32, Unsigned.MAX).toUInt()) - } - - @Test - fun `test default bit vectors (long)`() { - assertEquals(0, BitVectorValue(64, Signed.ZERO).toLong()) - assertEquals(Long.MIN_VALUE, BitVectorValue(64, Signed.MIN).toLong()) - assertEquals(-1, BitVectorValue(64, Signed.NEGATIVE).toLong()) - assertEquals(1, BitVectorValue(64, Signed.POSITIVE).toLong()) - assertEquals(Long.MAX_VALUE, BitVectorValue(64, Signed.MAX).toLong()) - } - - @Test - fun `test default bit vectors (unsigned long)`() { - assertEquals(ULong.MIN_VALUE, BitVectorValue(64, Unsigned.ZERO).toULong()) - assertEquals(1uL, BitVectorValue(64, Unsigned.POSITIVE).toULong()) - assertEquals(ULong.MAX_VALUE, BitVectorValue(64, Unsigned.MAX).toULong()) - } - - @Test - fun `convert byte from and to`() { - for (i in Byte.MIN_VALUE..Byte.MAX_VALUE) { - assertEquals(i.toByte(), BitVectorValue.fromByte(i.toByte()).toByte()) - } - } - - @Test - fun `inc and dec byte`() { - for (i in Byte.MIN_VALUE..Byte.MAX_VALUE) { - val v = BitVectorValue.fromByte(i.toByte()) - assertEquals(i.toByte() == Byte.MAX_VALUE, v.inc()) { "$v" } - assertEquals((i + 1).toByte(), v.toByte()) - } - - for (i in Byte.MAX_VALUE downTo Byte.MIN_VALUE) { - val v = BitVectorValue.fromByte(i.toByte()) - assertEquals(i.toByte() == Byte.MIN_VALUE, v.dec()) { "$v" } - assertEquals((i - 1).toByte(), v.toByte()) - } - } - - @Test - fun `inc and dec long`() { - val r = with(Random(0)) { LongArray(1024) { nextLong() } } - r[0] = Long.MIN_VALUE - r[1] = Long.MAX_VALUE - r.forEach { l -> - val v = BitVectorValue.fromLong(l) - assertEquals(l == Long.MAX_VALUE, v.inc()) { "$v" } - assertEquals(l + 1, v.toLong()) - } - r.forEach { l -> - val v = BitVectorValue.fromLong(l) - assertEquals(l == Long.MIN_VALUE, v.dec()) { "$v" } - assertEquals(l - 1, v.toLong()) - } - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Arrays.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Arrays.java deleted file mode 100644 index 02520ef3..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Arrays.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.util.HashSet; -import java.util.Set; - -@SuppressWarnings({"unused", "ForLoopReplaceableByForEach"}) -public class Arrays { - - // should find identity matrix - public boolean isIdentityMatrix(int[][] matrix) { - if (matrix.length < 3) { - throw new IllegalArgumentException("matrix.length < 3"); - } - - for (int i = 0; i < matrix.length; i++) { - if (matrix[i].length != matrix.length) { - return false; - } - for (int j = 0; j < matrix[i].length; j++) { - if (i == j && matrix[i][j] != 1) { - return false; - } - - if (i != j && matrix[i][j] != 0) { - return false; - } - } - } - - return true; - } - - // should fail with OOME and should reveal some branches - public boolean isIdentityMatrix(int[][][] matrix) { - if (matrix.length < 3) { - throw new IllegalArgumentException("matrix.length < 3"); - } - - for (int i = 0; i < matrix.length; i++) { - if (matrix[i].length != matrix.length) { - return false; - } else { - for (int j = 0; j < matrix.length; j++) { - if (matrix[i][j].length != matrix[i].length) { - return false; - } - } - } - for (int j = 0; j < matrix[i].length; j++) { - for (int k = 0; k < matrix[i][j].length; k++) { - if (i == j && j == k && matrix[i][j][k] != 1) { - return false; - } - - if ((i != j || j != k) && matrix[i][j][k] != 0) { - return false; - } - } - } - } - - return true; - } - - public static class Point { - int x, y; - - public Point(int x, int y) { - this.x = x; - this.y = y; - } - - boolean equals(Point other) { - return (other.x == this.x && other.y == this.y); - } - } - - boolean checkAllSame(Integer[] a) { // Fuzzer should find parameters giving true as well as parameters giving false - if (a.length < 1) return true; - Set s = new HashSet<>(java.util.Arrays.asList(a)); - return (s.size() <= 1); - } - - public boolean checkAllSamePoints(Point[] a) { // Also works for classes - if (a.length == 4) { - return false; // Test with array of size 4 should be generated by fuzzer - } - for (int i = 1; i < a.length; i++) { - if (!a[i].equals(a[i - 1])) - return false; - } - return true; - } - - public boolean checkRowsWithAllSame2D(int[][] a, int y) { - int cntSame = 0; - for (int i = 0; i < a.length; i++) { - boolean same = true; - for (int j = 1; j < a[i].length; j++) { - if (a[i][j] != a[i][j - 1]) { - same = false; - break; - } - } - if (same) - cntSame++; - } - return (cntSame == y && y > 0 && y < a.length); - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Collections.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Collections.java deleted file mode 100644 index e26c7b6d..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Collections.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.StreamSupport; - -@SuppressWarnings({"unused", "RedundantIfStatement"}) -public class Collections { - /** - * Should create unsorted list that will be sorted as a result. - */ - public static Collection sorted(Collection source) { - if (source.size() < 2) throw new IllegalArgumentException(); - return source.stream().sorted().collect(Collectors.toList()); - } - - /** - * Should create at least both answers: one that finds the key, and another returns null. - */ - public static String getKeyForValue(Map map, Number value) { - for (Map.Entry entry : map.entrySet()) { - if (java.util.Objects.equals(entry.getValue(), value)) { - return entry.getKey(); - } - } - return null; - } - - /** - * Should find a branch that returns true and size of array is greater than 1 (non-trivial). - */ - public static boolean isDiagonal(Collection> matrix) { - int cols = matrix.size(); - if (cols <= 1) { - return false; - } - int i = 0; - for (Collection col : matrix) { - if (col.size() != cols) { - return false; - } - int j = 0; - for (Double value : col) { - if (i == j && value == 0.0) return false; - if (i != j && value != 0.0) return false; - j++; - } - i++; - } - return true; - } - - /** - * Checks that different collections can be created. Part 1 - */ - public boolean allCollectionAreSameSize1( - Collection c, - List l, - Set s, - SortedSet ss, - Deque d, - Iterable i - ) { - if (c.size() != l.size()) { - return false; - } - if (l.size() != s.size()) { - return false; - } - if (s.size() != ss.size()) { - return false; - } - if (ss.size() != d.size()) { - return false; - } - if (d.size() != StreamSupport.stream(i.spliterator(), false).count()) { - return false; - } - return true; - } - - /** - * Checks that different collections can be created. Part 2 - */ - public boolean allCollectionAreSameSize2( - Iterable i, - Stack st, - NavigableSet ns, - Map m, - SortedMap sm, - NavigableMap nm - ) { - if (StreamSupport.stream(i.spliterator(), false).count() != st.size()) { - return false; - } - if (st.size() != ns.size()) { - return false; - } - if (ns.size() != m.size()) { - return false; - } - if (m.size() != sm.size()) { - return false; - } - if (sm.size() != nm.size()) { - return false; - } - return true; - } - - /** - * Should create TreeSet without any modifications as T extends Number is not Comparable - */ - public boolean testTreeSetWithoutComparable(NavigableSet set) { - if (set.size() > 3) { - return true; - } - return false; - } - - /** - * Should create TreeSet with modifications as Integer is Comparable - */ - public boolean testTreeSetWithComparable(NavigableSet set) { - if (set.size() > 3) { - return true; - } - return false; - } - - public static class ConcreteList extends LinkedList { - public boolean equals(Collection collection) { - if (collection.size() != size()) { - return false; - } - int i = 0; - for (T t : collection) { - if (!java.util.Objects.equals(get(i), t)) { - return false; - } - } - return true; - } - } - - /** - * Should create concrete class - */ - public boolean testConcreteCollectionIsCreated(ConcreteList list) { - if (list.size() > 3) { - return true; - } - return false; - } - - public static class ConcreteMap extends HashMap { } - - /** - * Should create concrete class - */ - public boolean testConcreteMapIsCreated(ConcreteMap map) { - if (map.size() > 3) { - return true; - } - return false; - } - - /** - * Should create test with no error - */ - public boolean testNoErrorWithHashMap(HashMap map) { - if (map.size() > 5) { - return true; - } - return false; - } - - /** - * Should generate iterators with recursions - */ - public static > int size(Iterator some) { - int r = 0; - while (some.hasNext()) { - some.next(); - r++; - } - return r; - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Dates.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Dates.java deleted file mode 100644 index 3e0bb16a..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Dates.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; - -@SuppressWarnings({"unused", "RedundantIfStatement"}) -public class Dates { - public boolean getTime(Date date) { - return date.getTime() == 100; - } - - public boolean getTimeFormatted(Date date) throws ParseException { - boolean after = new SimpleDateFormat("dd-MM-yyyy").parse("10-06-2012").after(date); - if (after) { - return true; - } else { - return false; - } - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Enums.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Enums.java deleted file mode 100644 index 0a216f4a..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Enums.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings("unused") -public class Enums { - - public int test(int x) { - switch(x) { - case 1: - return 1; - case 2: - return 2; - case 3: - return 3; - } - return 0; - } - - public int test3(int x) { - switch(x) { - case 11: - return 1; - case 25: - return 2; - case 32: - return 3; - } - return 0; - } - - public int test4(S x) { - switch(x) { - case A: - return 1; - case B: - return 2; - case C: - return 3; - } - return 0; - } - - public enum S { - A, B, C - } - - public int test2(int x) { - int a = 0; - switch(x) { - case 1: - a = 1; - break; - case 2: - a = 2; - break; - case 3: - a = 3; - } - return a; - } - -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Floats.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Floats.java deleted file mode 100644 index 0f0917ff..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Floats.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings("unused") -public class Floats { - - // Should find the value between 0 and -1. - public int floatToInt(float x) { - if (x < 0) { - if ((int) x < 0) { - return 1; - } - return 2; // smth small to int zero - } - return 3; - } - - // should find all branches that return -2, -1, 0, 1, 2. - public int numberOfRootsInSquareFunction(double a, double b, double c) { - if (!Double.isFinite(a) || !Double.isFinite(b) || !Double.isFinite(c)) return -1; - if (a == 0.0 || b == 0.0 || c == 0.0) return -2; - double result = b * b - 4 * a * c; - if (result > 0) { - return 2; - } else if (result == 0) { - return 1; - } - return 0; - } - - // will never be succeeded to find the value because of floating precision - public void floatEq(float v) { - if (v == 28.7) { - throw new IllegalArgumentException(); - } - } - - // should generate double for constant float that equals to 28.700000762939453 - public void floatEq(double v) { - if (v == 28.7f) { - throw new IllegalArgumentException(); - } - } - -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Generics.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Generics.java deleted file mode 100644 index 381d71a7..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Generics.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings("unused") -public class Generics> { - - private final T[] value; - - public Generics(T[] value) { - this.value = value; - } - - // should generate data with numbers to sum it - public double getSum() { - double sum = 0; - for (T numbers : value) { - for (Number number : numbers) { - if (number.doubleValue() > 0) { - sum += number.doubleValue(); - } - } - } - if (sum == 0.0) { - throw new IllegalStateException(); - } - return sum; - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Integers.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Integers.java deleted file mode 100644 index d65dcbdf..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Integers.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings({"unused", "RedundantIfStatement"}) -public class Integers { - - public byte biting(byte a, byte b, boolean s) { - if (s) { - return a; - } else { - return b; - } - } - - // should cover 100% - public static void diff(int a) { - a = Math.abs(a); - while (a > 0) { - a = a % 2; - } - if (a < 0) { - throw new IllegalArgumentException(); - } - throw new RuntimeException(); - } - - // should cover 100% and better when values are close to constants, - // also should generate "this" empty object - public String extent(int a) { - if (a < -2.0) { - return "-1"; - } - if (a > 5) { - return "-2"; - } - if (a == 3) { - return "-3"; - } - if (4L < a) { - return "-4"; - } - return "0"; - } - - // should cover 100% with 3 tests - public static boolean isGreater(long a, short b, int c) { - if (b > a && a < c) { - return true; - } - return false; - } - - // should find a bad value with integer overflow - public boolean unreachable(int x) { - int y = x * x - 2 * x + 1; - if (y < 0) throw new IllegalArgumentException(); - return true; - } - - public boolean chars(char a) { - if (a >= 'a' && a <= 'z') { - return true; - } - return false; - } - -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Objects.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Objects.java deleted file mode 100644 index a6d640cc..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Objects.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.fuzzing.samples; - -import org.utbot.fuzzing.samples.data.Recursive; -import org.utbot.fuzzing.samples.data.UserDefinedClass; - -@SuppressWarnings({"unused", "RedundantIfStatement"}) -public class Objects { - - public int test(UserDefinedClass userDefinedClass) { - if (userDefinedClass.getX() > 5 && userDefinedClass.getY() < 10) { - return 1; - } else if (userDefinedClass.getZ() < 20) { - return 2; - } else { - return 3; - } - } - - public boolean testMe(Recursive r) { - if (r.val() > 10) { - return true; - } - return false; - } - - private int data; - - public static void foo(Objects a, Objects b) { - a.data = 1; - b.data = 2; - //noinspection ConstantValue - if (a.data == b.data) { - throw new IllegalArgumentException(); - } - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Strings.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Strings.java deleted file mode 100644 index 49ef688a..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/Strings.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.util.regex.Pattern; - -@SuppressWarnings({"unused", "SimplifiableConditionalExpression"}) -public class Strings { - - // should find a string that starts with "bad!" prefix - public static void test(String s) { - if (s.charAt(0) == "b".charAt(0)) { - if (s.charAt(1) == "a".charAt(0)) { - if (s.charAt(2) == "d".charAt(0)) { - if (s.charAt(3) == "!".charAt(0)) { - throw new IllegalArgumentException(); - } - } - } - } - } - - // should try to find the string with size 6 and with "!" in the end - public static void testStrRem(String str) { - if (!"world???".equals(str) && str.charAt(5) == '!' && str.length() == 6) { - throw new RuntimeException(); - } - } - - public boolean isValidUuid(String uuid) { - return isNotBlank(uuid) && uuid - .matches("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"); - } - - public boolean isValidUuidShortVersion(String uuid) { - return uuid != null && uuid.matches("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"); - } - - public boolean isValidDouble(String value) { - return value.matches("[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?([fFdD]?)") && value.contains("E") && value.contains("-"); - } - - static final String pattern = "\\d+"; - - public boolean isNumber(String s) { - return Pattern.matches(pattern, s) ? true : false; - } - - private static boolean isNotBlank(CharSequence cs) { - return !isBlank(cs); - } - - private static boolean isBlank(CharSequence cs) { - int strLen = length(cs); - if (strLen != 0) { - for (int i = 0; i < strLen; ++i) { - if (!Character.isWhitespace(cs.charAt(i))) { - return false; - } - } - - } - return true; - } - - private static int length(CharSequence cs) { - return cs == null ? 0 : cs.length(); - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/data/Recursive.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/data/Recursive.java deleted file mode 100644 index 9f3ab45d..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/data/Recursive.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.fuzzing.samples.data; - -@SuppressWarnings("unused") -public class Recursive { - - private final int a; - - public Recursive(int a) { - this.a = a; - } - - public Recursive(Recursive r) { - this.a = r.a; - } - - public int val() { - return a; - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/data/UserDefinedClass.java b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/data/UserDefinedClass.java deleted file mode 100644 index 5733a78c..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/samples/data/UserDefinedClass.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.fuzzing.samples.data; - -@SuppressWarnings("unused") -public class UserDefinedClass { - public int x; - private int y; - public int z; - - public int getX() { - return x; - } - - public int getY() { - return y; - } - - public UserDefinedClass setY(int y) { - this.y = y; - return this; - } - - public void setZ(int z) { - this.z = z; - } - - public int getZ() { - return z; - } - - public UserDefinedClass() { - } - - public UserDefinedClass(int x, int y) { - this.x = x; - this.y = y; - this.z = 0; - } - - public UserDefinedClass(int x, int y, int z) { - this.x = x; - this.y = y; - this.z = z; - } -} diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/CombinationsTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/CombinationsTest.kt deleted file mode 100644 index a1ae742b..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/CombinationsTest.kt +++ /dev/null @@ -1,299 +0,0 @@ -package org.utbot.fuzzing.utils - -import org.junit.jupiter.api.Assertions.assertArrayEquals -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertFalse -import org.junit.jupiter.api.Assertions.assertThrows -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertDoesNotThrow -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.ValueSource -import java.util.BitSet -import kotlin.math.pow -import kotlin.random.Random - -class CombinationsTest { - - @Test - fun testSpecification() { - val combinations = Combinations(2, 3) - assertArrayEquals(intArrayOf(0, 0), combinations[0]) - assertArrayEquals(intArrayOf(0, 1), combinations[1]) - assertArrayEquals(intArrayOf(0, 2), combinations[2]) - assertArrayEquals(intArrayOf(1, 0), combinations[3]) - assertArrayEquals(intArrayOf(1, 1), combinations[4]) - assertArrayEquals(intArrayOf(1, 2), combinations[5]) - } - - @Test - fun testCartesianProduct() { - val result: List> = CartesianProduct( - listOf( - listOf("x", "y", "z"), - listOf(1.0, 2.0, 3.0) - ) - ).toList() - assertEquals(9, result.size) - assertEquals(listOf("x", 1.0), result[0]) - assertEquals(listOf("x", 2.0), result[1]) - assertEquals(listOf("x", 3.0), result[2]) - assertEquals(listOf("y", 1.0), result[3]) - assertEquals(listOf("y", 2.0), result[4]) - assertEquals(listOf("y", 3.0), result[5]) - assertEquals(listOf("z", 1.0), result[6]) - assertEquals(listOf("z", 2.0), result[7]) - assertEquals(listOf("z", 3.0), result[8]) - } - - @Test - fun testCombinationsIsLazy() { - val combinations = Combinations(2, 2, 2) - val taken = combinations.take(3) - assertArrayEquals(intArrayOf(0, 0, 0), taken[0]) - assertArrayEquals(intArrayOf(0, 0, 1), taken[1]) - assertArrayEquals(intArrayOf(0, 1, 0), taken[2]) - } - - @Test - fun testDecimalNumbers() { - val array = intArrayOf(10, 10, 10) - val combinations = Combinations(*array) - combinations.forEachIndexed { i, c -> - var actual = 0L - for (pos in array.indices) { - actual += c[pos] * (10.0.pow(array.size - 1.0 - pos).toInt()) - } - assertEquals(i.toLong(), actual) - } - } - - @Test - fun testDecimalNumbersByString() { - Combinations(10, 10, 10).forEachIndexed { number, digits -> - assertEquals(String.format("%03d", number), digits.joinToString(separator = "") { it.toString() }) - } - } - - @Test - fun testSomeNumbers() { - val c = Combinations(3, 4, 2) - assertArrayEquals(intArrayOf(0, 3, 0), c[6]) - assertArrayEquals(intArrayOf(1, 0, 1), c[9]) - } - - @Test - fun testZeroValues() { - val c = Combinations() - assertEquals(0, c.size) - } - - @Test - fun testZeroValuesWithException() { - val c = Combinations() - assertThrows(IllegalArgumentException::class.java) { - @Suppress("UNUSED_VARIABLE") val result = c[0] - } - } - - @Test - fun testZeroAsMaxValues() { - assertThrows(java.lang.IllegalArgumentException::class.java) { - Combinations(0, 0, 0) - } - } - - @Test - fun testZeroInTheMiddle() { - assertThrows(IllegalArgumentException::class.java) { - Combinations(2, -1, 3) - } - } - - @ParameterizedTest(name = "testAllLongValues{arguments}") - @ValueSource(ints = [1, 100, Int.MAX_VALUE]) - fun testAllLongValues(value: Int) { - val combinations = Combinations(value, value, 2) - assertEquals(2L * value * value, combinations.size) - val array = combinations[combinations.size - 1] - assertEquals(value - 1, array[0]) - assertEquals(value - 1, array[1]) - assertEquals(1, array[2]) - } - - @Test - fun testCartesianFindsAllValues() { - val radix = 4 - val product = createIntCartesianProduct(radix, 10) - val total = product.estimatedSize - assertTrue(total < Int.MAX_VALUE) { "This test should generate less than Int.MAX_VALUE values but has $total" } - - val set = BitSet((total / 64).toInt()) - val updateSet: (List) -> Unit = { - val value = it.joinToString("").toLong(radix).toInt() - assertFalse(set[value]) - set.set(value) - } - val realCount = product.onEach(updateSet).count() - assertEquals(total, realCount.toLong()) - - for (i in 0 until total) { - assertTrue(set[i.toInt()]) { "Values is not listed for index = $i" } - } - for (i in total until set.size()) { - assertFalse(set[i.toInt()]) - } - } - - /** - * Creates all numbers from 0 to `radix^repeat`. - * - * For example: - * - * radix = 2, repeat = 2 -> {'0', '0'}, {'0', '1'}, {'1', '0'}, {'1', '1'} - * radix = 16, repeat = 1 -> {'0'}, {'1'}, {'2'}, {'3'}, {'4'}, {'5'}, {'6'}, {'7'}, {'8'}, {'9'}, {'a'}, {'b'}, {'c'}, {'d'}, {'e'}, {'f'} - */ - private fun createIntCartesianProduct(radix: Int, repeat: Int) = - CartesianProduct( - lists = (1..repeat).map { - Array(radix) { it.toString(radix) }.toList() - }, - random = Random(0) - ).apply { - assertEquals((1L..repeat).fold(1L) { acc, _ -> acc * radix }, estimatedSize) - } - - @Test - fun testCanCreateCartesianProductWithSizeGreaterThanMaxInt() { - val product = createIntCartesianProduct(5, 15) - assertTrue(product.estimatedSize > Int.MAX_VALUE) { "This test should generate more than Int.MAX_VALUE values but has ${product.estimatedSize}" } - assertDoesNotThrow { - product.first() - } - } - - @Test - fun testIterationWithChunksIsCorrect() { - val expected = mutableListOf( - Triple(0L, 5, 7L), - Triple(5L, 5, 2L), - Triple(10L, 2, 0L), - ) - CartesianProduct.forEachChunk(5, 12) { start, chunk, remain -> - assertEquals(expected.removeFirst(), Triple(start, chunk, remain)) - } - assertTrue(expected.isEmpty()) - } - - @Test - fun testIterationWithChunksIsCorrectWhenChunkIsIntMax() { - val total = 12 - val expected = mutableListOf( - Triple(0L, total, 0L) - ) - CartesianProduct.forEachChunk(Int.MAX_VALUE, total.toLong()) { start, chunk, remain -> - assertEquals(expected.removeFirst(), Triple(start, chunk, remain)) - } - assertTrue(expected.isEmpty()) - } - - @ParameterizedTest(name = "testIterationWithChunksIsCorrectWhenChunkIs{arguments}") - @ValueSource(ints = [1, 2, 3, 4, 6, 12]) - fun testIterationWithChunksIsCorrectWhenChunk(chunkSize: Int) { - val total = 12 - assertTrue(total % chunkSize == 0) { "Test requires values that are dividers of the total = $total, but it is not true for $chunkSize" } - val expected = (0 until total step chunkSize).map { it.toLong() }.map { - Triple(it, chunkSize, total - it - chunkSize) - }.toMutableList() - CartesianProduct.forEachChunk(chunkSize, total.toLong()) { start, chunk, remain -> - assertEquals(expected.removeFirst(), Triple(start, chunk, remain)) - } - assertTrue(expected.isEmpty()) - } - - @ParameterizedTest(name = "testIterationsWithChunksThroughLongWithRemainingIs{arguments}") - @ValueSource(longs = [1L, 200L, 307, Int.MAX_VALUE - 1L, Int.MAX_VALUE.toLong()]) - fun testIterationsWithChunksThroughLongTotal(remaining: Long) { - val expected = mutableListOf( - Triple(0L, Int.MAX_VALUE, Int.MAX_VALUE + remaining), - Triple(Int.MAX_VALUE.toLong(), Int.MAX_VALUE, remaining), - Triple(Int.MAX_VALUE * 2L, remaining.toInt(), 0L), - ) - CartesianProduct.forEachChunk(Int.MAX_VALUE, Int.MAX_VALUE * 2L + remaining) { start, chunk, remain -> - assertEquals(expected.removeFirst(), Triple(start, chunk, remain)) - } - assertTrue(expected.isEmpty()) - } - - @Test - fun testCartesianProductDoesNotThrowsExceptionBeforeOverflow() { - // We assume that a standard method has no more than 7 parameters. - // In this case every parameter can accept up to 511 values without Long overflow. - // CartesianProduct throws exception - val values = Array(511) { it }.toList() - val parameters = Array(7) { values }.toList() - assertDoesNotThrow { - CartesianProduct(parameters, Random(0)).asSequence() - } - } - - @Test - fun testCartesianProductThrowsExceptionOnOverflow() { - // We assume that a standard method has no more than 7 parameters. - // In this case every parameter can accept up to 511 values without Long overflow. - // CartesianProduct throws exception - val values = Array(512) { it }.toList() - val parameters = Array(7) { values }.toList() - assertThrows(TooManyCombinationsException::class.java) { - CartesianProduct(parameters, Random(0)).asSequence() - } - } - - @ParameterizedTest(name = "testCombinationHasValue{arguments}") - @ValueSource(ints = [1, Int.MAX_VALUE]) - fun testCombinationHasValue(value: Int) { - val combinations = Combinations(value) - assertEquals(value.toLong(), combinations.size) - assertEquals(value - 1, combinations[value - 1L][0]) - } - - @Test - fun testNoFailWhenMixedValues() { - val combinations = Combinations(2, Int.MAX_VALUE) - assertEquals(2 * Int.MAX_VALUE.toLong(), combinations.size) - assertArrayEquals(intArrayOf(0, 0), combinations[0L]) - assertArrayEquals(intArrayOf(0, Int.MAX_VALUE - 1), combinations[Int.MAX_VALUE - 1L]) - assertArrayEquals(intArrayOf(1, 0), combinations[Int.MAX_VALUE.toLong()]) - assertArrayEquals(intArrayOf(1, 1), combinations[Int.MAX_VALUE + 1L]) - assertArrayEquals(intArrayOf(1, Int.MAX_VALUE - 1), combinations[Int.MAX_VALUE * 2L - 1]) - } - - @Test - fun testLazyCartesian() { - val source = listOf( - (1..10).toList(), - listOf("a", "b", "c"), - listOf(true, false) - ) - val eager = CartesianProduct(source).asSequence().toList() - val lazy = source.cartesian().toList() - assertEquals(eager.size, lazy.size) - for (i in eager.indices) { - assertEquals(eager[i], lazy[i]) - } - } - - @Test - fun testLazyCartesian2() { - val source = listOf( - (1..10).toList(), - listOf("a", "b", "c"), - listOf(true, false) - ) - val eager = CartesianProduct(source).asSequence().toList() - var index = 0 - source.cartesian { - assertEquals(eager[index++], it) - } - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/PseudoShuffledIntProgressionTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/PseudoShuffledIntProgressionTest.kt deleted file mode 100644 index af48867f..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/PseudoShuffledIntProgressionTest.kt +++ /dev/null @@ -1,228 +0,0 @@ -package org.utbot.fuzzing.utils - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.ValueSource -import kotlin.random.Random - -class PseudoShuffledIntProgressionTest { - - @Test - fun testEmpty() { - val shuffle = PseudoShuffledIntProgression(0) - assertEquals(0, shuffle.size) - assertThrows(IllegalStateException::class.java) { - shuffle[1] - } - assertThrows(IllegalStateException::class.java) { - shuffle[-1] - } - } - - @Test - fun testBadSize() { - assertThrows(IllegalStateException::class.java) { - PseudoShuffledIntProgression(-1) - } - } - - @Test - fun testBadSideAndCorrectSize() { - assertThrows(IllegalStateException::class.java) { - PseudoShuffledIntProgression(100, Random) { -it } - } - } - - @Test - fun testSingleValue() { - val shuffle = PseudoShuffledIntProgression(1) - assertEquals(0, shuffle[0]) - } - - @Test - fun testSequent() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0), intArrayOf(0, 1, 2, 3), intArrayOf()) - assertEquals(4, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 1, 2, 3), result) - } - - @Test - fun testSquare2() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1), intArrayOf(0, 1), intArrayOf()) - assertEquals(4, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 2, 1, 3), result) - } - - @Test - fun testSquare3() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1, 2), intArrayOf(0, 1, 2), intArrayOf()) - assertEquals(9, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 3, 6, 1, 4, 7, 2, 5, 8), result) - } - - @Test - fun testSquare2WithTail1() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1), intArrayOf(0, 1), intArrayOf(5)) - assertEquals(5, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 2, 5, 1, 3), result) - } - - @Test - fun testSquare2WithTail1Reverse() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(1, 0), intArrayOf(1, 0), intArrayOf(5)) - assertEquals(5, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(3, 1, 5, 2, 0), result) - } - - @Test - fun testSquare3WithFullTailAndReverseOrder() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(2, 1, 0), intArrayOf(2, 1, 0), intArrayOf(10, 11, 12)) - assertEquals(12, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(8, 5, 2, 10, 7, 4, 1, 11, 6, 3, 0, 12), result) - } - - @Test - fun test2x6andNoTail() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1), intArrayOf(0, 1, 2, 3, 4, 5), intArrayOf()) - assertEquals(12, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 6, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11), result) - } - - @Test - fun test2x6and4Tail() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1), intArrayOf(0, 1, 2, 3, 4, 5), intArrayOf(20, 21, 22, 23)) - assertEquals(16, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 6, 20, 1, 7, 21, 2, 8, 22, 3, 9, 23, 4, 10, 5, 11), result) - } - - @Test - fun test6x2andNoTail() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1, 2, 3, 4, 5), intArrayOf(0, 1), intArrayOf()) - assertEquals(12, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 2, 4, 6, 8, 10, 1, 3, 5, 7, 9, 11), result) - } - - @Test - fun test6x2and4TailFailsBecauseItIsForbiddenSituation() { - assertThrows(IllegalStateException::class.java) { - PseudoShuffledIntProgression(intArrayOf(0, 1, 2, 3, 4, 5), intArrayOf(0, 1), intArrayOf(20, 21, 22, 23)) - } - } - - @Test - fun test6x2and1Tail() { - val shuffle = PseudoShuffledIntProgression(intArrayOf(0, 1, 2, 3, 4, 5), intArrayOf(0, 1), intArrayOf(20)) - assertEquals(13, shuffle.size) - val result = shuffle.toArray() - assertArrayEquals(intArrayOf(0, 2, 4, 6, 8, 10, 20, 1, 3, 5, 7, 9, 11), result) - } - - @Test - fun testIsShuffledAndNoDuplicatesForFirst1000() { - (2..1000).forEach { - val shuffle = PseudoShuffledIntProgression(it, Random(9)) - val result = (0 until shuffle.size).map(shuffle::get) - assertNotEquals(result.sorted(), result) - assertEquals(result.size, result.toSet().size) - } - } - - @Test - fun testIsRandom() { - val randomSeed = 10 - val size = 1000 - val expected = IntArray(size) { it }.apply { shuffle(Random(randomSeed)) } - val result = PseudoShuffledIntProgression(size, random = Random(randomSeed)) { it }.toArray() - - assertArrayEquals(expected, result) - } - - @Test - fun testForDifferentSides() { - val size = 10000 - (1 until size).forEach { side -> - val shuffle = PseudoShuffledIntProgression(size, Random) { side } - assertEquals(size, shuffle.size) - val values = shuffle.toArray().toSet() - assertEquals(values.size, shuffle.size) - } - } - - @ParameterizedTest(name = "testCorrectInternalArraysAreCreatedFor{arguments}DifferentSides") - @ValueSource(ints = [0, 1, 999, 1000]) - fun testCorrectInternalArraysAreCreatedForDifferentSides(size: Int) { - (1 until size / 2).forEach { side -> - val one = PseudoShuffledIntProgression(size, Random(98)) { side } - val two = PseudoShuffledIntProgression(size, Random(98)) { it / side } - assertEquals(one.size, two.size) - assertArrayEquals(one.toArray(), two.toArray()) { "Fails for side = $side" } - } - } - - @Test - fun testSpecification() { - val shuffle = PseudoShuffledIntProgression( - columns = intArrayOf(2, 1, 3, 0), - rows = intArrayOf(2, 3, 4, 0, 1), - tail = intArrayOf(22, 20, 21) - ) - assertArrayEquals( - intArrayOf(12, 7, 17, 2, 22, 13, 8, 18, 3, 20, 14, 9, 19, 4, 21, 10, 5, 15, 0, 11, 6, 16, 1), - shuffle.toArray() - ) - } - - @Test - fun testIterator() { - val shuffle = PseudoShuffledIntProgression( - columns = intArrayOf(2, 1, 3, 0), - rows = intArrayOf(2, 3, 4, 0, 1), - tail = intArrayOf(22, 20, 21) - ) - val expected = intArrayOf(12, 7, 17, 2, 22, 13, 8, 18, 3, 20, 14, 9, 19, 4, 21, 10, 5, 15, 0, 11, 6, 16, 1) - shuffle.forEachIndexed { index, value -> - assertEquals(expected[index], value) - } - } - - @Test - fun testIteratorIteratesAllValuesExclusively() { - val progression = PseudoShuffledIntProgression( - columns = intArrayOf(0, 1, 2, 3), - rows = intArrayOf(0, 1, 2), - tail = intArrayOf(12) - ) - val iterated = mutableListOf() - val iterator = progression.iterator() - while (iterator.hasNext()) { - iterated.add(iterator.nextInt()) - } - assertEquals(4 * 3 + 1, iterated.size) - assertEquals((0 until 4 * 3 + 1).toList(), iterated.sorted()) - } - - @Test - fun testNoIntOverflowWhenCalculateValue() { - assertDoesNotThrow { - PseudoShuffledIntProgression(Int.MAX_VALUE)[2147479015] - PseudoShuffledIntProgression(Int.MAX_VALUE)[Int.MAX_VALUE - 1] - } - } - - @Test - fun testNoDuplicates() { - val size = 2000 - val set = PseudoShuffledIntProgression(size).toSet() - assertEquals(size, set.size) - } -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/RandomExtensionsTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/RandomExtensionsTest.kt deleted file mode 100644 index ab83236b..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/RandomExtensionsTest.kt +++ /dev/null @@ -1,100 +0,0 @@ -package org.utbot.fuzzing.utils - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.ValueSource -import kotlin.math.abs -import kotlin.random.Random - -class RandomExtensionsTest { - - @Test - fun `default implementation always returns 0`() { - val frequencies = doubleArrayOf(1.0) - (0 until 1000).forEach { _ -> - assertEquals(0, Random.chooseOne(frequencies)) - } - } - - @ParameterizedTest(name = "seed{arguments}") - @ValueSource(ints = [0, 100, -123, 99999, 84]) - fun `with default forEach function frequencies is equal`(seed: Int) { - val random = Random(seed) - val frequencies = doubleArrayOf(10.0, 20.0, 30.0, 40.0) - val result = IntArray(frequencies.size) - assertEquals(100.0, frequencies.sum()) { "In this test every frequency value represents a percent. The sum must be equal to 100" } - val tries = 100_000 - val errors = tries / 100 // 1% - (0 until tries).forEach { _ -> - result[random.chooseOne(frequencies)]++ - } - val expected = frequencies.map { tries * it / 100} - result.forEachIndexed { index, value -> - assertTrue(abs(expected[index] - value) < errors) { - "The error should not extent $errors for $tries cases, but ${expected[index]} and $value too far" - } - } - } - - @Test - fun `inverting probabilities from the documentation`() { - val frequencies = doubleArrayOf(20.0, 80.0) - val random = Random(0) - val result = IntArray(frequencies.size) - val tries = 10_000 - val errors = tries / 100 // 1% - (0 until tries).forEach { _ -> - result[random.chooseOne(DoubleArray(frequencies.size) { 100.0 - frequencies[it] })]++ - } - result.forEachIndexed { index, value -> - val expected = frequencies[frequencies.size - 1 - index] * errors - assertTrue(abs(value - expected) < errors) { - "The error should not extent 100 for 10 000 cases, but $expected and $value too far" - } - } - } - - @Test - fun `flip the coin is fair enough`() { - val random = Random(0) - var result = 0 - val probability = 20 - val experiments = 1_000_000 - for (i in 0 until experiments) { - if (random.flipCoin(probability)) { - result++ - } - } - val error = experiments / 1000 // 0.1 % - assertTrue(abs(result - experiments * probability / 100) < error) - } - - @Test - fun `invert bit works for long`() { - var attempts = 100_000 - val random = Random(2210) - sequence { - while (true) { - yield(random.nextLong()) - } - }.forEach { value -> - if (attempts-- <= 0) { return } - for (bit in 0 until Long.SIZE_BITS) { - val newValue = value.invertBit(bit) - val oldBinary = value.toBinaryString() - val newBinary = newValue.toBinaryString() - assertEquals(oldBinary.length, newBinary.length) - for (test in Long.SIZE_BITS - 1 downTo 0) { - if (test != Long.SIZE_BITS - 1 - bit) { - assertEquals(oldBinary[test], newBinary[test]) { "$oldBinary : $newBinary for value $value" } - } else { - assertNotEquals(oldBinary[test], newBinary[test]) { "$oldBinary : $newBinary for value $value" } - } - } - } - } - } - - private fun Long.toBinaryString() = java.lang.Long.toBinaryString(this).padStart(Long.SIZE_BITS, '0') -} \ No newline at end of file diff --git a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/TrieTest.kt b/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/TrieTest.kt deleted file mode 100644 index cc3a6ba3..00000000 --- a/utbot-fuzzing/src/test/kotlin/org/utbot/fuzzing/utils/TrieTest.kt +++ /dev/null @@ -1,128 +0,0 @@ -package org.utbot.fuzzing.utils - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test - -class TrieTest { - - @Test - fun simpleTest() { - val trie = stringTrieOf() - assertThrows(java.lang.IllegalStateException::class.java) { - trie.add(emptyList()) - } - assertEquals(1, trie.add("Tree").count) - assertEquals(2, trie.add("Tree").count) - assertEquals(1, trie.add("Trees").count) - assertEquals(1, trie.add("Treespss").count) - assertEquals(1, trie.add("Game").count) - assertEquals(1, trie.add("Gamer").count) - assertEquals(1, trie.add("Games").count) - assertEquals(2, trie["Tree"]?.count) - assertEquals(1, trie["Trees"]?.count) - assertEquals(1, trie["Gamer"]?.count) - assertNull(trie["Treesp"]) - assertNull(trie["Treessss"]) - - assertEquals(setOf("Tree", "Trees", "Treespss", "Game", "Gamer", "Games"), trie.collect()) - } - - @Test - fun testSingleElement() { - val trie = trieOf(listOf(1)) - assertEquals(1, trie.toList().size) - } - - @Test - fun testRemoval() { - val trie = stringTrieOf() - trie.add("abc") - assertEquals(1, trie.toList().size) - trie.add("abcd") - assertEquals(2, trie.toList().size) - trie.add("abcd") - assertEquals(2, trie.toList().size) - trie.add("abcde") - assertEquals(3, trie.toList().size) - - assertNotNull(trie.removeCompletely("abcd")) - assertEquals(2, trie.toList().size) - - assertNull(trie.removeCompletely("ffff")) - assertEquals(2, trie.toList().size) - - assertNotNull(trie.removeCompletely("abcde")) - assertEquals(1, trie.toList().size) - - assertNotNull(trie.removeCompletely("abc")) - assertEquals(0, trie.toList().size) - } - - @Test - fun testSearchingAfterDeletion() { - val trie = stringTrieOf("abc", "abc", "abcde") - assertEquals(2, trie.toList().size) - assertEquals(2, trie["abc"]?.count) - - val removed1 = trie.remove("abc") - assertNotNull(removed1) - - val find = trie["abc"] - assertNotNull(find) - assertEquals(1, find!!.count) - - val removed2 = trie.remove("abc") - assertNotNull(removed2) - } - - @Test - fun testTraverse() { - val trie = Trie(Data::id).apply { - add((1..10).map { Data(it.toLong(), it) }) - add((1..10).mapIndexed { index, it -> if (index == 5) Data(3L, it) else Data(it.toLong(), it) }) - } - - val paths = trie.toList() - assertEquals(2, paths.size) - assertNotEquals(paths[0], paths[1]) - } - - @Test - fun testNoDuplications() { - val trie = trieOf( - (1..10), - (1..10), - (1..10), - (1..10), - (1..10), - ) - - assertEquals(1, trie.toList().size) - assertEquals(5, trie[(1..10)]!!.count) - } - - @Test - fun testAcceptsNulls() { - val trie = trieOf( - listOf(null), - listOf(null, null), - listOf(null, null, null), - ) - - assertEquals(3, trie.toList().size) - for (i in 1 .. 3) { - assertEquals(1, trie[(1..i).map { null }]!!.count) - } - } - - @Test - fun testAddPrefixAfterWord() { - val trie = stringTrieOf() - trie.add("Hello, world!") - trie.add("Hello") - - assertEquals(setOf("Hello, world!", "Hello"), trie.collect()) - } - - data class Data(val id: Long, val number: Int) -} \ No newline at end of file diff --git a/utbot-go/build.gradle.kts b/utbot-go/build.gradle.kts deleted file mode 100644 index 3a31276f..00000000 --- a/utbot-go/build.gradle.kts +++ /dev/null @@ -1,31 +0,0 @@ -val intellijPluginVersion: String? by rootProject -val kotlinLoggingVersion: String? by rootProject -val apacheCommonsTextVersion: String? by rootProject -val jacksonVersion: String? by rootProject -val ideType: String? by rootProject -val pythonCommunityPluginVersion: String? by rootProject -val pythonUltimatePluginVersion: String? by rootProject - -tasks { - compileKotlin { - kotlinOptions { - jvmTarget = "17" - freeCompilerArgs = freeCompilerArgs + listOf("-Xallow-result-return-type", "-Xsam-conversions=class") - allWarningsAsErrors = false - } - } - - test { - useJUnitPlatform() - } -} - -dependencies { - api(project(":utbot-fuzzing")) - api(project(":utbot-framework")) - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.1") - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") - - implementation("com.beust:klaxon:5.5") - implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) -} \ No newline at end of file diff --git a/utbot-go/docs/DEVELOPER_GUIDE.md b/utbot-go/docs/DEVELOPER_GUIDE.md deleted file mode 100644 index 86aea31c..00000000 --- a/utbot-go/docs/DEVELOPER_GUIDE.md +++ /dev/null @@ -1,61 +0,0 @@ -# UnitTestBot Go Developer Guide - -## Overview - -Here are the main stages of UnitTestBot Go test generation pipeline. - -```mermaid -flowchart TB - A["Target selection and configuration (IntelliJ IDEA plugin or CLI)"]:::someclass --> B(Go source code analysis) - classDef someclass fill:#b810 - - B --> C(Code instrumentation) - C --> D(Generation of arguments) - D --> E(Executing functions) - E --> F(Getting results) - F --> D - D ---> G(Test file generation) -``` - -### Target selection and configuration - -A user manually selects the target source file and functions to generate the tests for. -Test generation settings are also configured manually. - -### Code instrumentation - -After each line in a function, UnitTestBot Go adds logging about this line traversal during the execution. - -### Go source code analysis - -UnitTestBot Go gains information about the `int` or `uint` value size in bits, and information about the target functions: -* signatures and type information; -* constants in the function bodies. - -As a result, UnitTestBot Go gets an internal -representation of the target functions. - -### Generation of arguments - -At this stage, UnitTestBot Go generates the input values for the target functions. - -### Executing target functions - -UnitTestBot Go executes the target functions with the generated values as arguments. - -### Getting results - -The result of target function execution is sent to the fuzzer for analysis: -coverage rate information guides the following value generation process. -Based on remaining time, -the fuzzer decides whether it should continue or stop generating input values. - -### Test code generation - -Generating test source code requires support for Go language features (for example, the necessity to cast -constants to the desired type). -Extended support for various Go constructs is a future plan for us. - -## How to test UnitTestBot Go - -_**TODO**_ diff --git a/utbot-go/docs/FUTURE_PLANS.md b/utbot-go/docs/FUTURE_PLANS.md deleted file mode 100644 index d841237f..00000000 --- a/utbot-go/docs/FUTURE_PLANS.md +++ /dev/null @@ -1,13 +0,0 @@ -# UTBot Go: Future plans - -## Primarily - -_**TODO**_ - -## Afterwards - -_**TODO**_ - -## Maybe in the future - -_**TODO**_ diff --git a/utbot-go/docs/images/install-intellij-plugin-from-disk.png b/utbot-go/docs/images/install-intellij-plugin-from-disk.png deleted file mode 100644 index 1f0ceee7..00000000 Binary files a/utbot-go/docs/images/install-intellij-plugin-from-disk.png and /dev/null differ diff --git a/utbot-go/go-samples/go.mod b/utbot-go/go-samples/go.mod deleted file mode 100644 index 8f59b447..00000000 --- a/utbot-go/go-samples/go.mod +++ /dev/null @@ -1,13 +0,0 @@ -module go-samples - -go 1.19 - -require ( - github.com/pmezard/go-difflib v1.0.0 - github.com/stretchr/testify v1.8.1 -) - -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect -) diff --git a/utbot-go/go-samples/go.sum b/utbot-go/go-samples/go.sum deleted file mode 100644 index 2ec90f70..00000000 --- a/utbot-go/go-samples/go.sum +++ /dev/null @@ -1,17 +0,0 @@ -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/utbot-go/go-samples/simple/nested/nested.go b/utbot-go/go-samples/simple/nested/nested.go deleted file mode 100644 index 772d6cc2..00000000 --- a/utbot-go/go-samples/simple/nested/nested.go +++ /dev/null @@ -1,9 +0,0 @@ -package nested - -type unexportedStruct struct { - int -} - -type ExportedStruct struct { - unexportedStruct -} diff --git a/utbot-go/go-samples/simple/samples.go b/utbot-go/go-samples/simple/samples.go deleted file mode 100644 index 52e337bf..00000000 --- a/utbot-go/go-samples/simple/samples.go +++ /dev/null @@ -1,154 +0,0 @@ -// Most of the algorithm examples are taken from https://github.com/TheAlgorithms/Go - -package simple - -import ( - "errors" - "math" -) - -// DivOrPanic divides x by y or panics if y is 0 -func DivOrPanic(x int, y int) int { - if y == 0 { - panic("div by 0") - } - return x / y -} - -// Extended simple extended gcd -func Extended(a, b int64) (int64, int64, int64) { - if a == 0 { - return b, 0, 1 - } - gcd, xPrime, yPrime := Extended(b%a, a) - return gcd, yPrime - (b/a)*xPrime, xPrime -} - -func ArraySum(array [5]int) int { - sum := 0 - for _, elem := range array { - sum += elem - } - return sum -} - -func GenerateArrayOfIntegers(num int) [10]int { - result := [10]int{} - for i := range result { - result[i] = num - } - return result -} - -type Point struct { - x, y float64 -} - -func DistanceBetweenTwoPoints(a, b Point) float64 { - return math.Sqrt(math.Pow(a.x-b.x, 2) + math.Pow(a.y-b.y, 2)) -} - -func GetCoordinatesOfMiddleBetweenTwoPoints(a, b Point) (float64, float64) { - return (a.x + b.x) / 2, (a.y + b.y) / 2 -} - -func GetCoordinateSumOfPoints(points []Point) (float64, float64) { - sumX := 0.0 - sumY := 0.0 - for _, point := range points { - sumX += point.x - sumY += point.y - } - return sumX, sumY -} - -type Circle struct { - Center Point - Radius float64 -} - -func GetAreaOfCircle(circle Circle) float64 { - return math.Pi * math.Pow(circle.Radius, 2) -} - -func IsIdentity(matrix [3][3]int) bool { - for i := 0; i < 3; i++ { - for j := 0; j < 3; j++ { - if i == j && matrix[i][j] != 1 { - return false - } - - if i != j && matrix[i][j] != 0 { - return false - } - } - } - return true -} - -var ErrNotFound = errors.New("target not found in array") - -// Binary search for target within a sorted array by repeatedly dividing the array in half and comparing the midpoint with the target. -// This function uses recursive call to itself. -// If a target is found, the index of the target is returned. Else the function return -1 and ErrNotFound. -func Binary(array []int, target int, lowIndex int, highIndex int) (int, error) { - if highIndex < lowIndex { - return -1, ErrNotFound - } - mid := lowIndex + (highIndex-lowIndex)/2 - if array[mid] > target { - return Binary(array, target, lowIndex, mid-1) - } else if array[mid] < target { - return Binary(array, target, mid+1, highIndex) - } else { - return mid, nil - } -} - -func StringSearch(str string) bool { - if len(str) != 3 { - return false - } - if str[0] == 'A' { - if str[1] == 'B' { - if str[2] == 'C' { - return true - } - } - } - return false -} - -func SumOfChanElements(c <-chan int) int { - sum := 0 - for val := range c { - sum += val - } - return sum -} - -type List struct { - tail *List - val int -} - -func LenOfList(l *List) int { - if l == nil { - return 0 - } - length := 1 - for ; l.tail != nil; l = l.tail { - length++ - } - return length -} - -func GetLastNode(n *Node) *Node { - if n == nil { - return nil - } - for ; n.next != nil; n = n.next { - - } - return n -} diff --git a/utbot-go/go-samples/simple/samples_go_ut_test.go b/utbot-go/go-samples/simple/samples_go_ut_test.go deleted file mode 100644 index 1c5f5e99..00000000 --- a/utbot-go/go-samples/simple/samples_go_ut_test.go +++ /dev/null @@ -1,459 +0,0 @@ -package simple - -import ( - "github.com/stretchr/testify/assert" - "testing" -) - -func TestDivOrPanicByUtGoFuzzer(t *testing.T) { - x := 0 - y := 1 - - actualVal := DivOrPanic(x, y) - - expectedVal := 0 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestDivOrPanicPanicsByUtGoFuzzer(t *testing.T) { - x := 1 - y := 0 - - expectedVal := "div by 0" - - assert.PanicsWithValue(t, expectedVal, func() { - _ = DivOrPanic(x, y) - }) -} - -func TestExtendedByUtGoFuzzer1(t *testing.T) { - a := int64(1) - b := int64(3) - - actualVal0, actualVal1, actualVal2 := Extended(a, b) - - expectedVal0 := int64(1) - expectedVal1 := int64(1) - expectedVal2 := int64(0) - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal0, actualVal0) - assertMultiple.Equal(expectedVal1, actualVal1) - assertMultiple.Equal(expectedVal2, actualVal2) -} - -func TestExtendedByUtGoFuzzer2(t *testing.T) { - a := int64(0) - b := int64(0) - - actualVal0, actualVal1, actualVal2 := Extended(a, b) - - expectedVal0 := int64(0) - expectedVal1 := int64(0) - expectedVal2 := int64(1) - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal0, actualVal0) - assertMultiple.Equal(expectedVal1, actualVal1) - assertMultiple.Equal(expectedVal2, actualVal2) -} - -func TestArraySumByUtGoFuzzer(t *testing.T) { - array := [5]int{1, 1, 0, 0, 0} - - actualVal := ArraySum(array) - - expectedVal := 2 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestGenerateArrayOfIntegersByUtGoFuzzer(t *testing.T) { - num := 0 - - actualVal := GenerateArrayOfIntegers(num) - - expectedVal := [10]int{0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestDistanceBetweenTwoPointsByUtGoFuzzer(t *testing.T) { - a := Point{x: 2.0, y: 2.0} - b := Point{x: 2.0, y: 2.0} - - actualVal := DistanceBetweenTwoPoints(a, b) - - expectedVal := 0.0 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestGetCoordinatesOfMiddleBetweenTwoPointsByUtGoFuzzer(t *testing.T) { - a := Point{x: 2.0, y: 2.0} - b := Point{x: 2.0, y: 2.0} - - actualVal0, actualVal1 := GetCoordinatesOfMiddleBetweenTwoPoints(a, b) - - expectedVal0 := 2.0 - expectedVal1 := 2.0 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal0, actualVal0) - assertMultiple.Equal(expectedVal1, actualVal1) -} - -func TestGetCoordinateSumOfPointsByUtGoFuzzer1(t *testing.T) { - points := ([]Point)(nil) - - actualVal0, actualVal1 := GetCoordinateSumOfPoints(points) - - expectedVal0 := 0.0 - expectedVal1 := 0.0 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal0, actualVal0) - assertMultiple.Equal(expectedVal1, actualVal1) -} - -func TestGetCoordinateSumOfPointsByUtGoFuzzer2(t *testing.T) { - points := []Point{{}} - - actualVal0, actualVal1 := GetCoordinateSumOfPoints(points) - - expectedVal0 := 0.0 - expectedVal1 := 0.0 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal0, actualVal0) - assertMultiple.Equal(expectedVal1, actualVal1) -} - -func TestGetAreaOfCircleByUtGoFuzzer(t *testing.T) { - circle := Circle{Center: Point{x: 2.0, y: 2.0}, Radius: 2.0} - - actualVal := GetAreaOfCircle(circle) - - expectedVal := 12.566370614359172 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestIsIdentityByUtGoFuzzer1(t *testing.T) { - matrix := [3][3]int{{3, 0, 3}, {1, 0, 1}, {0, 0, 0}} - - actualVal := IsIdentity(matrix) - - assert.False(t, actualVal) -} - -func TestIsIdentityByUtGoFuzzer2(t *testing.T) { - matrix := [3][3]int{{1, 3, 0}, {0, 3, 0}, {0, 0, 3}} - - actualVal := IsIdentity(matrix) - - assert.False(t, actualVal) -} - -func TestIsIdentityByUtGoFuzzer3(t *testing.T) { - matrix := [3][3]int{{1, 0, 0}, {0, 0, 3}, {0, 3, 1}} - - actualVal := IsIdentity(matrix) - - assert.False(t, actualVal) -} - -func TestIsIdentityByUtGoFuzzer4(t *testing.T) { - matrix := [3][3]int{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}} - - actualVal := IsIdentity(matrix) - - assert.True(t, actualVal) -} - -func TestBinaryWithNonNilErrorByUtGoFuzzer1(t *testing.T) { - array := ([]int)(nil) - target := 2 - lowIndex := 2 - highIndex := 1 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := -1 - expectedErrorMessage := "target not found in array" - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.ErrorContains(actualErr, expectedErrorMessage) -} - -func TestBinaryWithNonNilErrorByUtGoFuzzer2(t *testing.T) { - array := []int{1} - target := 2 - lowIndex := 0 - highIndex := 0 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := -1 - expectedErrorMessage := "target not found in array" - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.ErrorContains(actualErr, expectedErrorMessage) -} - -func TestBinaryWithNonNilErrorByUtGoFuzzer3(t *testing.T) { - array := []int{1} - target := 0 - lowIndex := 0 - highIndex := 0 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := -1 - expectedErrorMessage := "target not found in array" - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.ErrorContains(actualErr, expectedErrorMessage) -} - -func TestBinaryWithNonNilErrorByUtGoFuzzer4(t *testing.T) { - array := []int{1, 33554433} - target := 16385 - lowIndex := 0 - highIndex := 1 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := -1 - expectedErrorMessage := "target not found in array" - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.ErrorContains(actualErr, expectedErrorMessage) -} - -func TestBinaryByUtGoFuzzer5(t *testing.T) { - array := []int{0} - target := 0 - lowIndex := 0 - highIndex := 0 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := 0 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.Nil(actualErr) -} - -func TestBinaryByUtGoFuzzer6(t *testing.T) { - array := []int{1, 65} - target := 1 - lowIndex := 0 - highIndex := 2 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := 0 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.Nil(actualErr) -} - -func TestBinaryByUtGoFuzzer7(t *testing.T) { - array := []int{0, 1, 2} - target := 1 - lowIndex := -1 - highIndex := 2 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := 1 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.Nil(actualErr) -} - -func TestBinaryByUtGoFuzzer8(t *testing.T) { - array := []int{-9151296850630803456, 0, 70} - target := 0 - lowIndex := -1 - highIndex := 5 - - actualVal, actualErr := Binary(array, target, lowIndex, highIndex) - - expectedVal := 1 - - assertMultiple := assert.New(t) - assertMultiple.Equal(expectedVal, actualVal) - assertMultiple.Nil(actualErr) -} - -func TestBinaryPanicsByUtGoFuzzer1(t *testing.T) { - array := ([]int)(nil) - target := 0 - lowIndex := 1 - highIndex := 1 - - expectedErrorMessage := "runtime error: index out of range [1] with length 0" - - assert.PanicsWithError(t, expectedErrorMessage, func() { - _, _ = Binary(array, target, lowIndex, highIndex) - }) -} - -func TestBinaryPanicsByUtGoFuzzer2(t *testing.T) { - array := []int{2} - target := 1 - lowIndex := -1 - highIndex := 1 - - expectedErrorMessage := "runtime error: index out of range [-1]" - - assert.PanicsWithError(t, expectedErrorMessage, func() { - _, _ = Binary(array, target, lowIndex, highIndex) - }) -} - -func TestBinaryPanicsByUtGoFuzzer3(t *testing.T) { - array := []int{0} - target := 2 - lowIndex := 0 - highIndex := 1 - - expectedErrorMessage := "runtime error: index out of range [1] with length 1" - - assert.PanicsWithError(t, expectedErrorMessage, func() { - _, _ = Binary(array, target, lowIndex, highIndex) - }) -} - -func TestStringSearchByUtGoFuzzer1(t *testing.T) { - str := "" - - actualVal := StringSearch(str) - - assert.False(t, actualVal) -} - -func TestStringSearchByUtGoFuzzer2(t *testing.T) { - str := "￸" - - actualVal := StringSearch(str) - - assert.False(t, actualVal) -} - -func TestStringSearchByUtGoFuzzer3(t *testing.T) { - str := "Aa." - - actualVal := StringSearch(str) - - assert.False(t, actualVal) -} - -func TestStringSearchByUtGoFuzzer4(t *testing.T) { - str := "AB~" - - actualVal := StringSearch(str) - - assert.False(t, actualVal) -} - -func TestStringSearchByUtGoFuzzer5(t *testing.T) { - str := "ABC" - - actualVal := StringSearch(str) - - assert.True(t, actualVal) -} - -func TestSumOfChanElementsByUtGoFuzzer1(t *testing.T) { - c := make(chan int, 1) - c <- 0 - close(c) - - actualVal := SumOfChanElements(c) - - expectedVal := 0 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSumOfChanElementsByUtGoFuzzer2(t *testing.T) { - c := make(chan int, 0) - close(c) - - actualVal := SumOfChanElements(c) - - expectedVal := 0 - - assert.Equal(t, expectedVal, actualVal) -} - -// SumOfChanElements((<-chan int)(nil)) exceeded 1000 ms timeout - -func TestLenOfListByUtGoFuzzer1(t *testing.T) { - l := (*List)(nil) - - actualVal := LenOfList(l) - - expectedVal := 0 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestLenOfListByUtGoFuzzer2(t *testing.T) { - l := &List{val: 1} - - actualVal := LenOfList(l) - - expectedVal := 1 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestLenOfListByUtGoFuzzer3(t *testing.T) { - l := &List{tail: &List{}} - - actualVal := LenOfList(l) - - expectedVal := 2 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestGetLastNodeByUtGoFuzzer1(t *testing.T) { - n := (*Node)(nil) - - actualVal := GetLastNode(n) - - assert.Nil(t, actualVal) -} - -func TestGetLastNodeByUtGoFuzzer2(t *testing.T) { - n := &Node{val: 1} - - actualVal := GetLastNode(n) - - expectedVal := &Node{val: 1} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestGetLastNodeByUtGoFuzzer3(t *testing.T) { - n := &Node{next: &Node{}} - - actualVal := GetLastNode(n) - - expectedVal := &Node{} - - assert.Equal(t, expectedVal, actualVal) -} diff --git a/utbot-go/go-samples/simple/supported_types.go b/utbot-go/go-samples/simple/supported_types.go deleted file mode 100644 index ebd01422..00000000 --- a/utbot-go/go-samples/simple/supported_types.go +++ /dev/null @@ -1,425 +0,0 @@ -package simple - -import ( - "errors" - "fmt" - "github.com/pmezard/go-difflib/difflib" - dif "github.com/pmezard/go-difflib/difflib" - "go-samples/simple/nested" - "math" -) - -func WithoutParametersAndReturnValues() { - print("Hello World") -} - -func Int(n int) int { - if n < 0 { - return -n - } - return n -} - -func Int8(n int8) int8 { - if n < 0 { - return -n - } - return n -} - -func Int16(n int16) int16 { - if n < 0 { - return -n - } - return n -} - -func Int32(n int32) int32 { - if n < 0 { - return -n - } - return n -} - -func Int64(n int64) int64 { - if n < 0 { - return -n - } - return n -} - -func Uint(n uint) uint { - return n -} - -func Uint8(n uint8) uint8 { - return n -} - -func Uint16(n uint16) uint16 { - return n -} - -func Uint32(n uint32) uint32 { - return n -} - -func Uint64(n uint64) uint64 { - return n -} - -func UintPtr(n uintptr) uintptr { - return n -} - -func Float32(n float32) float32 { - if math.IsInf(float64(n), 1) { - return n - } else if math.IsInf(float64(n), -1) { - return n - } else if math.IsNaN(float64(n)) { - return n - } - return n -} - -func Float64(n float64) float64 { - if math.IsInf(n, 1) { - return n - } else if math.IsInf(n, -1) { - return n - } else if math.IsNaN(n) { - return n - } - return n -} - -func Complex64(n complex64) complex64 { - return n -} - -func Complex128(n complex128) complex128 { - return n -} - -func Byte(n byte) byte { - return n -} - -func Rune(n rune) rune { - return n -} - -func String(n string) string { - return n -} - -func Bool(n bool) bool { - return n -} - -type Structure struct { - int - int8 - int16 - int32 - int64 - uint - uint8 - uint16 - uint32 - uint64 - uintptr - float32 - float64 - complex64 - complex128 - byte - rune - string - bool -} - -func Struct(s Structure) Structure { - return s -} - -func StructWithNan(s Structure) Structure { - s.float64 = math.NaN() - return s -} - -func ArrayOfInt(array [10]int) [10]int { - return array -} - -func ArrayOfUintPtr(array [10]uintptr) [10]uintptr { - return array -} - -func ArrayOfString(array [10]string) [10]string { - return array -} - -func ArrayOfStructs(array [10]Structure) [10]Structure { - return array -} - -func ArrayOfStructsWithNan(array [10]Structure) [10]Structure { - array[0].float64 = math.NaN() - return array -} - -func ArrayOfArrayOfUint(array [5][5]uint) [5][5]uint { - return array -} - -func ArrayOfArrayOfStructs(array [5][5]Structure) [5][5]Structure { - return array -} - -func ArrayOfSliceOfUint(array [5][]uint) [5][]uint { - return array -} - -func returnErrorOrNil(n int) error { - if n > 0 { - return errors.New("error") - } else { - return nil - } -} - -func ExternalStruct(match difflib.Match, structure Structure) Structure { - return structure -} - -func ExternalStructWithAlias(match dif.Match) difflib.Match { - return match -} - -func SliceOfInt(slice []int) []int { - if slice == nil { - return slice - } - return slice -} - -func SliceOfUintPtr(slice []uintptr) []uintptr { - if slice == nil { - return slice - } - return slice -} - -func SliceOfString(slice []string) []string { - if slice == nil { - return slice - } - return slice -} - -func SliceOfStructs(slice []Structure) []Structure { - if slice == nil { - return slice - } - return slice -} - -func SliceOfStructsWithNan(slice []Structure) []Structure { - if slice == nil { - return slice - } - slice[0].float64 = math.NaN() - return slice -} - -func SliceOfSliceOfByte(slice [][]byte) [][]byte { - if slice == nil { - return slice - } - return slice -} - -func SliceOfSliceOfStructs(slice [][]Structure) [][]Structure { - if slice == nil { - return slice - } - return slice -} - -func SliceOfArrayOfInt(slice [][5]int) [][5]int { - if slice == nil { - return slice - } - return slice -} - -func ExportedStructWithEmbeddedUnexportedStruct(exportedStruct nested.ExportedStruct) nested.ExportedStruct { - return exportedStruct -} - -type Type byte - -func NamedType(n Type) Type { - return n -} - -func ArrayOfNamedType(array [5]Type) [5]Type { - return array -} - -type T [5][5]Type - -func ArrayOfArrayOfNamedType(array [5][5]Type) T { - return array -} - -func SliceOfNamedType(slice []Type) []Type { - if slice == nil { - return slice - } - return slice -} - -type NA [5]uintptr - -func NamedArray(array NA) NA { - return array -} - -type NS []int - -func NamedSlice(slice NS) NS { - if slice == nil { - return slice - } - return slice -} - -type S struct { - t Type - T - n NA - NS -} - -func StructWithFieldsOfNamedTypes(s S) S { - return s -} - -func Map(table map[string]int) map[string]int { - return table -} - -func MapOfStructures(table map[Structure]Structure) map[Structure]Structure { - return table -} - -func MapOfSliceOfInt(table map[string][]int) map[string][]int { - return table -} - -func MapOfNamedType(table map[int]Type) map[int]Type { - return table -} - -func MapOfNamedSlice(table map[uint]NS) map[uint]NS { - return table -} - -type NM map[string]NA - -func NamedMap(n NM) NM { - return n -} - -func Channel(c chan Structure) { - if c == nil { - return - } -} - -func SendOnlyChannel(c chan<- int) { - if c == nil { - return - } -} - -func RecvOnlyChannel(c <-chan NM) { - if c == nil { - return - } -} - -func PointerToInt(n *int) *int { - if n == nil { - return n - } - return n -} - -func PointerToSlice(n *[]int) *[]int { - if n == nil { - return n - } - return n -} - -func PointerToArray(n *[3]int) *[3]int { - if n == nil { - return n - } - return n -} - -func PointerToMap(n *map[string]int) *map[string]int { - if n == nil { - return n - } - return n -} - -func PointerToStructure(n *Structure) *Structure { - if n == nil { - return n - } - return n -} - -func PointerToNamedType(n *Type) *Type { - if n == nil { - return n - } - return n -} - -type Node struct { - prev, next *Node - val int -} - -func PointerToRecursiveStruct(n *Node) *Node { - if n == nil { - return n - } - return n -} - -type I interface { - String() string -} - -func Interface(i I) { - if i != nil { - return - } - return -} - -func ExternalInterface(i fmt.Stringer) { - if i != nil { - return - } - return -} diff --git a/utbot-go/go-samples/simple/supported_types_go_ut_test.go b/utbot-go/go-samples/simple/supported_types_go_ut_test.go deleted file mode 100644 index 3a5fcf35..00000000 --- a/utbot-go/go-samples/simple/supported_types_go_ut_test.go +++ /dev/null @@ -1,941 +0,0 @@ -package simple - -import ( - "fmt" - "github.com/pmezard/go-difflib/difflib" - "github.com/stretchr/testify/assert" - "go-samples/simple/nested" - "math" - "testing" - "time" -) - -func TestWithoutParametersAndReturnValuesByUtGoFuzzer(t *testing.T) { - assert.NotPanics(t, func() { - WithoutParametersAndReturnValues() - }) -} - -func TestIntByUtGoFuzzer1(t *testing.T) { - n := 4 - - actualVal := Int(n) - - expectedVal := 4 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestIntByUtGoFuzzer2(t *testing.T) { - n := -1 - - actualVal := Int(n) - - expectedVal := 1 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt8ByUtGoFuzzer1(t *testing.T) { - n := int8(1) - - actualVal := Int8(n) - - expectedVal := int8(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt8ByUtGoFuzzer2(t *testing.T) { - n := int8(-3) - - actualVal := Int8(n) - - expectedVal := int8(3) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt16ByUtGoFuzzer1(t *testing.T) { - n := int16(2) - - actualVal := Int16(n) - - expectedVal := int16(2) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt16ByUtGoFuzzer2(t *testing.T) { - n := int16(-9) - - actualVal := Int16(n) - - expectedVal := int16(9) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt32ByUtGoFuzzer1(t *testing.T) { - n := int32(2) - - actualVal := Int32(n) - - expectedVal := int32(2) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt32ByUtGoFuzzer2(t *testing.T) { - n := int32(-3) - - actualVal := Int32(n) - - expectedVal := int32(3) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt64ByUtGoFuzzer1(t *testing.T) { - n := int64(-1) - - actualVal := Int64(n) - - expectedVal := int64(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestInt64ByUtGoFuzzer2(t *testing.T) { - n := int64(1) - - actualVal := Int64(n) - - expectedVal := int64(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestUintByUtGoFuzzer(t *testing.T) { - n := uint(5) - - actualVal := Uint(n) - - expectedVal := uint(5) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestUint8ByUtGoFuzzer(t *testing.T) { - n := uint8(2) - - actualVal := Uint8(n) - - expectedVal := uint8(2) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestUint16ByUtGoFuzzer(t *testing.T) { - n := uint16(1) - - actualVal := Uint16(n) - - expectedVal := uint16(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestUint32ByUtGoFuzzer(t *testing.T) { - n := uint32(8) - - actualVal := Uint32(n) - - expectedVal := uint32(8) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestUint64ByUtGoFuzzer(t *testing.T) { - n := uint64(4) - - actualVal := Uint64(n) - - expectedVal := uint64(4) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestUintPtrByUtGoFuzzer(t *testing.T) { - n := uintptr(4) - - actualVal := UintPtr(n) - - expectedVal := uintptr(4) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestFloat32ByUtGoFuzzer1(t *testing.T) { - n := float32(0.143228) - - actualVal := Float32(n) - - expectedVal := float32(0.143228) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestFloat32ByUtGoFuzzer2(t *testing.T) { - n := float32(math.Inf(-1)) - - actualVal := Float32(n) - - assert.True(t, math.IsInf(float64(actualVal), -1)) -} - -func TestFloat32ByUtGoFuzzer3(t *testing.T) { - n := float32(math.Inf(1)) - - actualVal := Float32(n) - - assert.True(t, math.IsInf(float64(actualVal), 1)) -} - -func TestFloat64ByUtGoFuzzer1(t *testing.T) { - n := 0.61258062787271 - - actualVal := Float64(n) - - expectedVal := 0.61258062787271 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestFloat64ByUtGoFuzzer2(t *testing.T) { - n := math.Inf(1) - - actualVal := Float64(n) - - assert.True(t, math.IsInf(actualVal, 1)) -} - -func TestFloat64ByUtGoFuzzer3(t *testing.T) { - n := math.Inf(-1) - - actualVal := Float64(n) - - assert.True(t, math.IsInf(actualVal, -1)) -} - -func TestComplex64ByUtGoFuzzer(t *testing.T) { - n := complex(float32(math.Inf(1)), float32(0.415752)) - - actualVal := Complex64(n) - - expectedVal := complex(float32(math.Inf(1)), float32(0.415752)) - - assertMultiple := assert.New(t) - assertMultiple.Equal(real(expectedVal), real(actualVal)) - assertMultiple.Equal(imag(expectedVal), imag(actualVal)) -} - -func TestComplex128ByUtGoFuzzer(t *testing.T) { - n := complex(0.2112353749298962, math.Inf(1)) - - actualVal := Complex128(n) - - expectedVal := complex(0.2112353749298962, math.Inf(1)) - - assertMultiple := assert.New(t) - assertMultiple.Equal(real(expectedVal), real(actualVal)) - assertMultiple.Equal(imag(expectedVal), imag(actualVal)) -} - -func TestByteByUtGoFuzzer(t *testing.T) { - n := byte(1) - - actualVal := Byte(n) - - expectedVal := byte(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestRuneByUtGoFuzzer(t *testing.T) { - n := rune(1) - - actualVal := Rune(n) - - expectedVal := rune(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestStringByUtGoFuzzer(t *testing.T) { - n := "" - - actualVal := String(n) - - expectedVal := "" - - assert.Equal(t, expectedVal, actualVal) -} - -func TestBoolByUtGoFuzzer(t *testing.T) { - n := true - - actualVal := Bool(n) - - assert.True(t, actualVal) -} - -func TestStructByUtGoFuzzer(t *testing.T) { - s := Structure{int32: int32(1), int64: int64(1), uint8: uint8(1), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.4714877), float64: 0.501834850205735, complex64: complex(float32(0.4714877), float32(0.4714877)), complex128: complex(0.501834850205735, 0.501834850205735), byte: byte(1)} - - actualVal := Struct(s) - - expectedVal := Structure{int32: int32(1), int64: int64(1), uint8: uint8(1), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.4714877), float64: 0.501834850205735, complex64: complex(float32(0.4714877), float32(0.4714877)), complex128: complex(0.501834850205735, 0.501834850205735), byte: byte(1)} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestStructWithNanByUtGoFuzzer(t *testing.T) { - s := Structure{int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(1), uint8: uint8(1), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.63904), float64: 0.2555253108964435, complex64: complex(float32(0.63904), float32(0.63904)), complex128: complex(0.2555253108964435, 0.2555253108964435), byte: byte(255), rune: rune(-1)} - - actualVal := StructWithNan(s) - - expectedVal := Structure{int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(1), uint8: uint8(1), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.63904), float64: math.NaN(), complex64: complex(float32(0.63904), float32(0.63904)), complex128: complex(0.2555253108964435, 0.2555253108964435), byte: byte(255), rune: rune(-1)} - - assert.NotEqual(t, expectedVal, actualVal) -} - -func TestArrayOfIntByUtGoFuzzer(t *testing.T) { - array := [10]int{0, 1, 1, 0, 1, 1, 0, 64, 0, 1} - - actualVal := ArrayOfInt(array) - - expectedVal := [10]int{0, 1, 1, 0, 1, 1, 0, 64, 0, 1} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfUintPtrByUtGoFuzzer(t *testing.T) { - array := [10]uintptr{1, 0, 1, 0, 1, 1, 0, 0, 1, 0} - - actualVal := ArrayOfUintPtr(array) - - expectedVal := [10]uintptr{1, 0, 1, 0, 1, 1, 0, 0, 1, 0} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfStringByUtGoFuzzer(t *testing.T) { - array := [10]string{"", "", "", "", "", "", "", "", "", ""} - - actualVal := ArrayOfString(array) - - expectedVal := [10]string{"", "", "", "", "", "", "", "", "", ""} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfStructsByUtGoFuzzer(t *testing.T) { - array := [10]Structure{{int8: int8(-1), int16: int16(-1), int32: int32(1), uint: uint(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), rune: rune(1), string: "hello"}, {int: -9223372036854775808, int8: int8(-1), int16: int16(1), int32: int32(1), int64: int64(-1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uint64: uint64(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), string: "hello"}, {int: -1, int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(1), uint: uint(18446744073709551615), uint32: uint32(1), uint64: uint64(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(255), rune: rune(1), string: "hello", bool: true}, {int: 9223372036854775807, int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(-9223372036854775808), uint8: uint8(1), uint16: uint16(65535), uint32: uint32(4294967295), uintptr: uintptr(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1)}, {int: -9223372036854775808, int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(-1), uint: uint(1), uint8: uint8(1), uint32: uint32(1), uintptr: uintptr(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), rune: rune(-2147483648)}, {int: -1, int16: int16(1), int32: int32(1), int64: int64(1), uint: uint(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(4294967295), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(255), rune: rune(1), string: "hello", bool: true}, {int: -9223372036854775808, int16: int16(1), int64: int64(1), uint: uint(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), rune: rune(2147483647), string: "hello"}, {int: 1, int8: int8(1), int16: int16(32767), int32: int32(2147483647), int64: int64(-9223372036854775808), uint: uint(1), uint8: uint8(255), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(255), rune: rune(-1), string: "hello", bool: true}, {int8: int8(127), int64: int64(-1), uint: uint(1), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), string: "hello"}, {int: -9223372036854775808, int8: int8(-1), int16: int16(32767), int32: int32(1), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(255), uint32: uint32(1), uintptr: uintptr(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), rune: rune(2147483647), bool: true}} - - actualVal := ArrayOfStructs(array) - - expectedVal := [10]Structure{{int8: int8(-1), int16: int16(-1), int32: int32(1), uint: uint(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), rune: rune(1), string: "hello"}, {int: -9223372036854775808, int8: int8(-1), int16: int16(1), int32: int32(1), int64: int64(-1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uint64: uint64(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), string: "hello"}, {int: -1, int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(1), uint: uint(18446744073709551615), uint32: uint32(1), uint64: uint64(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(255), rune: rune(1), string: "hello", bool: true}, {int: 9223372036854775807, int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(-9223372036854775808), uint8: uint8(1), uint16: uint16(65535), uint32: uint32(4294967295), uintptr: uintptr(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1)}, {int: -9223372036854775808, int8: int8(1), int16: int16(-1), int32: int32(-1), int64: int64(-1), uint: uint(1), uint8: uint8(1), uint32: uint32(1), uintptr: uintptr(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), rune: rune(-2147483648)}, {int: -1, int16: int16(1), int32: int32(1), int64: int64(1), uint: uint(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(4294967295), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(255), rune: rune(1), string: "hello", bool: true}, {int: -9223372036854775808, int16: int16(1), int64: int64(1), uint: uint(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(1), rune: rune(2147483647), string: "hello"}, {int: 1, int8: int8(1), int16: int16(32767), int32: int32(2147483647), int64: int64(-9223372036854775808), uint: uint(1), uint8: uint8(255), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), byte: byte(255), rune: rune(-1), string: "hello", bool: true}, {int8: int8(127), int64: int64(-1), uint: uint(1), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), string: "hello"}, {int: -9223372036854775808, int8: int8(-1), int16: int16(32767), int32: int32(1), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(255), uint32: uint32(1), uintptr: uintptr(18446744073709551615), float32: float32(0.5316085), float64: 0.3025369185032576, complex64: complex(float32(0.5316085), float32(0.5316085)), complex128: complex(0.3025369185032576, 0.3025369185032576), rune: rune(2147483647), bool: true}} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfStructsWithNanByUtGoFuzzer(t *testing.T) { - array := [10]Structure{{int: -9223372036854775808, int8: int8(-128), int16: int16(-1), int32: int32(-1), int64: int64(-9223372036854775808), uint: uint(18446744073709551615), uint8: uint8(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(-2147483648), bool: true}, {int: -1, int16: int16(-32768), int32: int32(2147483647), uint8: uint8(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754)}, {int: -1, int16: int16(-1), int64: int64(1), uint8: uint8(1), uint32: uint32(4294967295), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(2147483647), string: "hello", bool: true}, {int16: int16(-1), uint: uint(18446744073709551615), uint16: uint16(65535), uint32: uint32(4294967295), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(1), rune: rune(-2147483648)}, {int8: int8(1), int16: int16(-1), int32: int32(2147483647), uint: uint(18446744073709551615), uint32: uint32(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(1)}, {int32: int32(-1), int64: int64(1), uint8: uint8(1), uint16: uint16(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), rune: rune(2147483647)}, {int: -9223372036854775808, int8: int8(-128), int16: int16(32767), int64: int64(1), uint: uint(18446744073709551615), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(-1), bool: true}, {int: 1, int8: int8(127), int16: int16(32767), int32: int32(1), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(1), rune: rune(2147483647), string: "hello", bool: true}, {int: 1, int8: int8(127), int32: int32(1), uint: uint(18446744073709551615), uint8: uint8(1), uint64: uint64(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(1), string: "hello"}, {int: -9223372036854775808, int16: int16(32767), int32: int32(-2147483648), int64: int64(-1), uint: uint(1), uint16: uint16(65535), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), rune: rune(1)}} - - actualVal := ArrayOfStructsWithNan(array) - - expectedVal := [10]Structure{{int: -9223372036854775808, int8: int8(-128), int16: int16(-1), int32: int32(-1), int64: int64(-9223372036854775808), uint: uint(18446744073709551615), uint8: uint8(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: math.NaN(), complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(-2147483648), bool: true}, {int: -1, int16: int16(-32768), int32: int32(2147483647), uint8: uint8(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754)}, {int: -1, int16: int16(-1), int64: int64(1), uint8: uint8(1), uint32: uint32(4294967295), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(2147483647), string: "hello", bool: true}, {int16: int16(-1), uint: uint(18446744073709551615), uint16: uint16(65535), uint32: uint32(4294967295), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(1), rune: rune(-2147483648)}, {int8: int8(1), int16: int16(-1), int32: int32(2147483647), uint: uint(18446744073709551615), uint32: uint32(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(1)}, {int32: int32(-1), int64: int64(1), uint8: uint8(1), uint16: uint16(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), rune: rune(2147483647)}, {int: -9223372036854775808, int8: int8(-128), int16: int16(32767), int64: int64(1), uint: uint(18446744073709551615), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(-1), bool: true}, {int: 1, int8: int8(127), int16: int16(32767), int32: int32(1), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(1), rune: rune(2147483647), string: "hello", bool: true}, {int: 1, int8: int8(127), int32: int32(1), uint: uint(18446744073709551615), uint8: uint8(1), uint64: uint64(1), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), byte: byte(255), rune: rune(1), string: "hello"}, {int: -9223372036854775808, int16: int16(32767), int32: int32(-2147483648), int64: int64(-1), uint: uint(1), uint16: uint16(65535), float32: float32(0.9086392), float64: 0.977378020386754, complex64: complex(float32(0.9086392), float32(0.9086392)), complex128: complex(0.977378020386754, 0.977378020386754), rune: rune(1)}} - - assert.NotEqual(t, expectedVal, actualVal) -} - -func TestArrayOfArrayOfUintByUtGoFuzzer(t *testing.T) { - array := [5][5]uint{{0, 1, 0, 1, 1}, {1, 1, 0, 0, 0}, {1, 1, 0, 0, 0}, {0, 1, 0, 0, 18446744073709551615}, {1, 35184372088832, 1, 1, 0}} - - actualVal := ArrayOfArrayOfUint(array) - - expectedVal := [5][5]uint{{0, 1, 0, 1, 1}, {1, 1, 0, 0, 0}, {1, 1, 0, 0, 0}, {0, 1, 0, 0, 18446744073709551615}, {1, 35184372088832, 1, 1, 0}} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfArrayOfStructsByUtGoFuzzer(t *testing.T) { - array := [5][5]Structure{{{int: -9223372036854775808, int8: int8(-128), int16: int16(-32768), int32: int32(2147483647), int64: int64(1), uint64: uint64(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(1)}, {int8: int8(-1), int16: int16(-32768), int64: int64(9223372036854775807), uint8: uint8(255), uint16: uint16(65535), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(255), rune: rune(-1), bool: true}, {int: 1, int8: int8(-1), int16: int16(32767), int32: int32(2147483647), uint: uint(18446744073709551615), uint8: uint8(1), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(1), bool: true}, {int8: int8(127), int16: int16(-1), int32: int32(-1), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(1), uint32: uint32(4294967295), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(255), rune: rune(-2147483648)}, {int: 1, int8: int8(-128), int16: int16(32767), int64: int64(-1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), rune: rune(-1), string: "hello"}}, {{int: -9223372036854775808, int8: int8(127), int16: int16(-1), int32: int32(1), int64: int64(1), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint64: uint64(18446744073709551615), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), rune: rune(1), string: "hello"}, {int: -1, int8: int8(127), int16: int16(-1), int32: int32(2147483647), int64: int64(9223372036854775807), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(-2147483648), bool: true}, {int: -9223372036854775808, int8: int8(-128), int16: int16(32767), int32: int32(1), int64: int64(1), uint: uint(1), uint16: uint16(65535), uint32: uint32(4294967295), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(255), rune: rune(-1), bool: true}, {int: -1, int8: int8(1), int32: int32(-2147483648), int64: int64(1), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), string: "hello"}, {int: 1, int8: int8(-1), int16: int16(32767), int64: int64(-9223372036854775808), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(2147483647), string: "hello", bool: true}}, {{int: -9223372036854775808, int8: int8(1), int16: int16(1), int64: int64(1), uint: uint(1), uint16: uint16(65535), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(255), rune: rune(1)}, {int: 1, int8: int8(127), int16: int16(-1), int32: int32(1), int64: int64(-9223372036854775808), uint: uint(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(4294967295), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), rune: rune(2147483647), string: "hello"}, {int: 1, int8: int8(-128), int32: int32(-1), int64: int64(-1), uint: uint(18446744073709551615), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(2147483647), string: "hello"}, {int: -1, int16: int16(1), int32: int32(1), uint: uint(1), uint16: uint16(65535), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0))}, {int8: int8(-1), int16: int16(32767), int32: int32(-2147483648), int64: int64(-1), uint: uint(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), rune: rune(1), bool: true}}, {{int: -1, int8: int8(1), int16: int16(1), int32: int32(2147483647), int64: int64(-1), uint: uint(1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), bool: true}, {int: -9223372036854775808, int16: int16(32767), int32: int32(-1), int64: int64(9223372036854775807), uint16: uint16(65535), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(2147483647)}, {int: 1, int8: int8(127), int16: int16(1), int32: int32(-2147483648), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), bool: true}, {int: -9223372036854775808, int16: int16(1), int32: int32(1), uint: uint(1), uint8: uint8(1), uint16: uint16(65535), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(1), string: "hello", bool: true}, {int: -1, int8: int8(1), int16: int16(-32768), int32: int32(2147483647), int64: int64(1), uint16: uint16(65535), uint32: uint32(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(-1), string: "hello"}}, {{int: -1, int8: int8(-1), int16: int16(-1), int32: int32(-2147483648), int64: int64(9223372036854775807), uint: uint(1), uint8: uint8(255), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), rune: rune(-2147483648), string: "hello", bool: true}, {int: 1, int8: int8(-128), int16: int16(32767), int32: int32(2147483647), uint8: uint8(255), uint32: uint32(4294967295), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(1), rune: rune(1), bool: true}, {int16: int16(32767), int32: int32(2147483647), int64: int64(-1), uint32: uint32(1), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(255), rune: rune(-2147483648), string: "hello", bool: true}, {int: 1, int8: int8(-128), int16: int16(1), int32: int32(-2147483648), int64: int64(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), byte: byte(255), rune: rune(1)}, {int: 9223372036854775807, int8: int8(1), int16: int16(-32768), int32: int32(-2147483648), int64: int64(-9223372036854775808), uint8: uint8(1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, complex64: complex(float32(0.0), float32(0.0)), string: "hello", bool: true}}} - - actualVal := ArrayOfArrayOfStructs(array) - - expectedVal := [5][5]Structure{{{int: -9223372036854775808, int8: int8(-128), int16: int16(-32768), int32: int32(2147483647), int64: int64(1), uint64: uint64(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(1)}, {int8: int8(-1), int16: int16(-32768), int64: int64(9223372036854775807), uint8: uint8(255), uint16: uint16(65535), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(255), rune: rune(-1), bool: true}, {int: 1, int8: int8(-1), int16: int16(32767), int32: int32(2147483647), uint: uint(18446744073709551615), uint8: uint8(1), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(1), bool: true}, {int8: int8(127), int16: int16(-1), int32: int32(-1), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(1), uint32: uint32(4294967295), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(255), rune: rune(-2147483648)}, {int: 1, int8: int8(-128), int16: int16(32767), int64: int64(-1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, rune: rune(-1), string: "hello"}}, {{int: -9223372036854775808, int8: int8(127), int16: int16(-1), int32: int32(1), int64: int64(1), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint64: uint64(18446744073709551615), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, rune: rune(1), string: "hello"}, {int: -1, int8: int8(127), int16: int16(-1), int32: int32(2147483647), int64: int64(9223372036854775807), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(-2147483648), bool: true}, {int: -9223372036854775808, int8: int8(-128), int16: int16(32767), int32: int32(1), int64: int64(1), uint: uint(1), uint16: uint16(65535), uint32: uint32(4294967295), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(255), rune: rune(-1), bool: true}, {int: -1, int8: int8(1), int32: int32(-2147483648), int64: int64(1), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, string: "hello"}, {int: 1, int8: int8(-1), int16: int16(32767), int64: int64(-9223372036854775808), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(65535), uint32: uint32(1), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(2147483647), string: "hello", bool: true}}, {{int: -9223372036854775808, int8: int8(1), int16: int16(1), int64: int64(1), uint: uint(1), uint16: uint16(65535), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(255), rune: rune(1)}, {int: 1, int8: int8(127), int16: int16(-1), int32: int32(1), int64: int64(-9223372036854775808), uint: uint(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(4294967295), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, rune: rune(2147483647), string: "hello"}, {int: 1, int8: int8(-128), int32: int32(-1), int64: int64(-1), uint: uint(18446744073709551615), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(2147483647), string: "hello"}, {int: -1, int16: int16(1), int32: int32(1), uint: uint(1), uint16: uint16(65535), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884}, {int8: int8(-1), int16: int16(32767), int32: int32(-2147483648), int64: int64(-1), uint: uint(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, rune: rune(1), bool: true}}, {{int: -1, int8: int8(1), int16: int16(1), int32: int32(2147483647), int64: int64(-1), uint: uint(1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), bool: true}, {int: -9223372036854775808, int16: int16(32767), int32: int32(-1), int64: int64(9223372036854775807), uint16: uint16(65535), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(2147483647)}, {int: 1, int8: int8(127), int16: int16(1), int32: int32(-2147483648), int64: int64(-1), uint: uint(18446744073709551615), uint8: uint8(255), uint16: uint16(1), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), bool: true}, {int: -9223372036854775808, int16: int16(1), int32: int32(1), uint: uint(1), uint8: uint8(1), uint16: uint16(65535), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(1), string: "hello", bool: true}, {int: -1, int8: int8(1), int16: int16(-32768), int32: int32(2147483647), int64: int64(1), uint16: uint16(65535), uint32: uint32(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(-1), string: "hello"}}, {{int: -1, int8: int8(-1), int16: int16(-1), int32: int32(-2147483648), int64: int64(9223372036854775807), uint: uint(1), uint8: uint8(255), float32: float32(0.33522367), float64: 0.003913530617220884, rune: rune(-2147483648), string: "hello", bool: true}, {int: 1, int8: int8(-128), int16: int16(32767), int32: int32(2147483647), uint8: uint8(255), uint32: uint32(4294967295), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(1), rune: rune(1), bool: true}, {int16: int16(32767), int32: int32(2147483647), int64: int64(-1), uint32: uint32(1), uint64: uint64(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(255), rune: rune(-2147483648), string: "hello", bool: true}, {int: 1, int8: int8(-128), int16: int16(1), int32: int32(-2147483648), int64: int64(1), uint8: uint8(255), uint16: uint16(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.33522367), float64: 0.003913530617220884, byte: byte(255), rune: rune(1)}, {int: 9223372036854775807, int8: int8(1), int16: int16(-32768), int32: int32(-2147483648), int64: int64(-9223372036854775808), uint8: uint8(1), uint32: uint32(4294967295), uint64: uint64(1), uintptr: uintptr(18446744073709551615), float32: float32(0.33522367), float64: 0.003913530617220884, string: "hello", bool: true}}} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfSliceOfUintByUtGoFuzzer(t *testing.T) { - array := [5][]uint{nil, nil, nil, nil, nil} - - actualVal := ArrayOfSliceOfUint(array) - - expectedVal := [5][]uint{nil, nil, nil, nil, nil} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestReturnErrorOrNilWithNonNilErrorByUtGoFuzzer1(t *testing.T) { - n := 4 - - actualErr := returnErrorOrNil(n) - - expectedErrorMessage := "error" - - assert.ErrorContains(t, actualErr, expectedErrorMessage) -} - -func TestReturnErrorOrNilByUtGoFuzzer2(t *testing.T) { - n := 0 - - actualErr := returnErrorOrNil(n) - - assert.Nil(t, actualErr) -} - -func TestExternalStructByUtGoFuzzer(t *testing.T) { - match := difflib.Match{B: 1, Size: -1} - structure := Structure{int8: int8(1), int16: int16(32767), int32: int32(-1), int64: int64(1), uint: uint(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.37985808), float64: 0.4084964347010259, complex64: complex(float32(0.37985808), float32(0.37985808)), complex128: complex(0.4084964347010259, 0.4084964347010259), byte: byte(1), rune: rune(1), string: "hello"} - - actualVal := ExternalStruct(match, structure) - - expectedVal := Structure{int8: int8(1), int16: int16(32767), int32: int32(-1), int64: int64(1), uint: uint(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uintptr: uintptr(1), float32: float32(0.37985808), float64: 0.4084964347010259, complex64: complex(float32(0.37985808), float32(0.37985808)), complex128: complex(0.4084964347010259, 0.4084964347010259), byte: byte(1), rune: rune(1), string: "hello"} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestExternalStructWithAliasByUtGoFuzzer(t *testing.T) { - match := difflib.Match{A: 1, Size: 1} - - actualVal := ExternalStructWithAlias(match) - - expectedVal := difflib.Match{A: 1, Size: 1} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfIntByUtGoFuzzer1(t *testing.T) { - slice := ([]int)(nil) - - actualVal := SliceOfInt(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfIntByUtGoFuzzer2(t *testing.T) { - slice := []int{} - - actualVal := SliceOfInt(slice) - - expectedVal := []int{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfUintPtrByUtGoFuzzer1(t *testing.T) { - slice := []uintptr{} - - actualVal := SliceOfUintPtr(slice) - - expectedVal := []uintptr{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfUintPtrByUtGoFuzzer2(t *testing.T) { - slice := ([]uintptr)(nil) - - actualVal := SliceOfUintPtr(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfStringByUtGoFuzzer1(t *testing.T) { - slice := ([]string)(nil) - - actualVal := SliceOfString(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfStringByUtGoFuzzer2(t *testing.T) { - slice := []string{} - - actualVal := SliceOfString(slice) - - expectedVal := []string{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfStructsByUtGoFuzzer1(t *testing.T) { - slice := ([]Structure)(nil) - - actualVal := SliceOfStructs(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfStructsByUtGoFuzzer2(t *testing.T) { - slice := []Structure{} - - actualVal := SliceOfStructs(slice) - - expectedVal := []Structure{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfStructsWithNanByUtGoFuzzer1(t *testing.T) { - slice := ([]Structure)(nil) - - actualVal := SliceOfStructsWithNan(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfStructsWithNanByUtGoFuzzer2(t *testing.T) { - slice := []Structure{{int8: int8(-1), int32: int32(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uint64: uint64(1), float32: float32(0.6586717), float64: 0.5295327756124881, complex64: complex(float32(0.6586717), float32(0.6586717)), complex128: complex(0.5295327756124881, 0.5295327756124881), rune: rune(-1)}} - - actualVal := SliceOfStructsWithNan(slice) - - expectedVal := []Structure{{int8: int8(-1), int32: int32(1), uint8: uint8(1), uint16: uint16(1), uint32: uint32(1), uint64: uint64(1), float32: float32(0.6586717), float64: math.NaN(), complex64: complex(float32(0.6586717), float32(0.6586717)), complex128: complex(0.5295327756124881, 0.5295327756124881), rune: rune(-1)}} - - assert.NotEqual(t, expectedVal, actualVal) -} - -func TestSliceOfStructsWithNanPanicsByUtGoFuzzer(t *testing.T) { - slice := []Structure{} - - expectedErrorMessage := "runtime error: index out of range [0] with length 0" - - assert.PanicsWithError(t, expectedErrorMessage, func() { - _ = SliceOfStructsWithNan(slice) - }) -} - -func TestSliceOfSliceOfByteByUtGoFuzzer1(t *testing.T) { - slice := [][]byte{} - - actualVal := SliceOfSliceOfByte(slice) - - expectedVal := [][]byte{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfSliceOfByteByUtGoFuzzer2(t *testing.T) { - slice := ([][]byte)(nil) - - actualVal := SliceOfSliceOfByte(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfSliceOfStructsByUtGoFuzzer1(t *testing.T) { - slice := [][]Structure{} - - actualVal := SliceOfSliceOfStructs(slice) - - expectedVal := [][]Structure{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfSliceOfStructsByUtGoFuzzer2(t *testing.T) { - slice := ([][]Structure)(nil) - - actualVal := SliceOfSliceOfStructs(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfArrayOfIntByUtGoFuzzer1(t *testing.T) { - slice := ([][5]int)(nil) - - actualVal := SliceOfArrayOfInt(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfArrayOfIntByUtGoFuzzer2(t *testing.T) { - slice := [][5]int{} - - actualVal := SliceOfArrayOfInt(slice) - - expectedVal := [][5]int{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestExportedStructWithEmbeddedUnexportedStructByUtGoFuzzer(t *testing.T) { - exportedStruct := nested.ExportedStruct{} - - actualVal := ExportedStructWithEmbeddedUnexportedStruct(exportedStruct) - - expectedVal := nested.ExportedStruct{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestNamedTypeByUtGoFuzzer(t *testing.T) { - n := Type(1) - - actualVal := NamedType(n) - - expectedVal := Type(1) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfNamedTypeByUtGoFuzzer(t *testing.T) { - array := [5]Type{0, 0, 0, 1, 0} - - actualVal := ArrayOfNamedType(array) - - expectedVal := [5]Type{0, 0, 0, 1, 0} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestArrayOfArrayOfNamedTypeByUtGoFuzzer(t *testing.T) { - array := [5][5]Type{{255, 1, 1, 0, 1}, {0, 0, 0, 0, 0}, {1, 0, 0, 0, 1}, {1, 1, 255, 1, 0}, {1, 1, 0, 0, 0}} - - actualVal := ArrayOfArrayOfNamedType(array) - - expectedVal := T{{255, 1, 1, 0, 1}, {0, 0, 0, 0, 0}, {1, 0, 0, 0, 1}, {1, 1, 255, 1, 0}, {1, 1, 0, 0, 0}} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestSliceOfNamedTypeByUtGoFuzzer1(t *testing.T) { - slice := ([]Type)(nil) - - actualVal := SliceOfNamedType(slice) - - assert.Nil(t, actualVal) -} - -func TestSliceOfNamedTypeByUtGoFuzzer2(t *testing.T) { - slice := []Type{} - - actualVal := SliceOfNamedType(slice) - - expectedVal := []Type{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestNamedArrayByUtGoFuzzer(t *testing.T) { - array := NA{1, 1, 0, 1, 0} - - actualVal := NamedArray(array) - - expectedVal := NA{1, 1, 0, 1, 0} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestNamedSliceByUtGoFuzzer1(t *testing.T) { - slice := NS{} - - actualVal := NamedSlice(slice) - - expectedVal := NS{} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestNamedSliceByUtGoFuzzer2(t *testing.T) { - slice := NS(nil) - - actualVal := NamedSlice(slice) - - assert.Nil(t, actualVal) -} - -func TestStructWithFieldsOfNamedTypesByUtGoFuzzer(t *testing.T) { - s := S{n: NA{1, 0, 1, 0, 1}} - - actualVal := StructWithFieldsOfNamedTypes(s) - - expectedVal := S{n: NA{1, 0, 1, 0, 1}} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestMapByUtGoFuzzer(t *testing.T) { - table := (map[string]int)(nil) - - actualVal := Map(table) - - assert.Nil(t, actualVal) -} - -func TestMapOfStructuresByUtGoFuzzer(t *testing.T) { - table := (map[Structure]Structure)(nil) - - actualVal := MapOfStructures(table) - - assert.Nil(t, actualVal) -} - -func TestMapOfSliceOfIntByUtGoFuzzer(t *testing.T) { - table := (map[string][]int)(nil) - - actualVal := MapOfSliceOfInt(table) - - assert.Nil(t, actualVal) -} - -func TestMapOfNamedTypeByUtGoFuzzer(t *testing.T) { - table := (map[int]Type)(nil) - - actualVal := MapOfNamedType(table) - - assert.Nil(t, actualVal) -} - -func TestMapOfNamedSliceByUtGoFuzzer(t *testing.T) { - table := (map[uint]NS)(nil) - - actualVal := MapOfNamedSlice(table) - - assert.Nil(t, actualVal) -} - -func TestNamedMapByUtGoFuzzer(t *testing.T) { - n := NM(nil) - - actualVal := NamedMap(n) - - assert.Nil(t, actualVal) -} - -func TestChannelByUtGoFuzzer1(t *testing.T) { - c := make(chan Structure, 0) - close(c) - - assert.NotPanics(t, func() { - Channel(c) - }) -} - -func TestChannelByUtGoFuzzer2(t *testing.T) { - c := (chan Structure)(nil) - - assert.NotPanics(t, func() { - Channel(c) - }) -} - -func TestSendOnlyChannelByUtGoFuzzer1(t *testing.T) { - c := (chan<- int)(nil) - - assert.NotPanics(t, func() { - SendOnlyChannel(c) - }) -} - -func TestSendOnlyChannelByUtGoFuzzer2(t *testing.T) { - c := make(chan int, 0) - close(c) - - assert.NotPanics(t, func() { - SendOnlyChannel(c) - }) -} - -func TestRecvOnlyChannelByUtGoFuzzer1(t *testing.T) { - c := make(chan NM, 0) - close(c) - - assert.NotPanics(t, func() { - RecvOnlyChannel(c) - }) -} - -func TestRecvOnlyChannelByUtGoFuzzer2(t *testing.T) { - c := (<-chan NM)(nil) - - assert.NotPanics(t, func() { - RecvOnlyChannel(c) - }) -} - -func TestPointerToIntByUtGoFuzzer1(t *testing.T) { - n := (*int)(nil) - - actualVal := PointerToInt(n) - - assert.Nil(t, actualVal) -} - -func TestPointerToIntByUtGoFuzzer2(t *testing.T) { - n := new(int) - *n = 0 - - actualVal := PointerToInt(n) - - expectedVal := new(int) - *expectedVal = 0 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToSliceByUtGoFuzzer1(t *testing.T) { - n := (*[]int)(nil) - - actualVal := PointerToSlice(n) - - assert.Nil(t, actualVal) -} - -func TestPointerToSliceByUtGoFuzzer2(t *testing.T) { - n := new([]int) - - actualVal := PointerToSlice(n) - - expectedVal := new([]int) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToArrayByUtGoFuzzer1(t *testing.T) { - n := &[3]int{0, 1, 1} - - actualVal := PointerToArray(n) - - expectedVal := &[3]int{0, 1, 1} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToArrayByUtGoFuzzer2(t *testing.T) { - n := (*[3]int)(nil) - - actualVal := PointerToArray(n) - - assert.Nil(t, actualVal) -} - -func TestPointerToMapByUtGoFuzzer1(t *testing.T) { - n := (*map[string]int)(nil) - - actualVal := PointerToMap(n) - - assert.Nil(t, actualVal) -} - -func TestPointerToMapByUtGoFuzzer2(t *testing.T) { - n := new(map[string]int) - - actualVal := PointerToMap(n) - - expectedVal := new(map[string]int) - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToStructureByUtGoFuzzer1(t *testing.T) { - n := &Structure{int8: int8(-128), int16: int16(1), int64: int64(-1), uint: uint(1), uint8: uint8(255), float32: float32(0.5587146), float64: 0.745147167878201, complex64: complex(float32(0.5587146), float32(0.5587146)), complex128: complex(0.745147167878201, 0.745147167878201), byte: byte(1)} - - actualVal := PointerToStructure(n) - - expectedVal := &Structure{int8: int8(-128), int16: int16(1), int64: int64(-1), uint: uint(1), uint8: uint8(255), float32: float32(0.5587146), float64: 0.745147167878201, complex64: complex(float32(0.5587146), float32(0.5587146)), complex128: complex(0.745147167878201, 0.745147167878201), byte: byte(1)} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToStructureByUtGoFuzzer2(t *testing.T) { - n := (*Structure)(nil) - - actualVal := PointerToStructure(n) - - assert.Nil(t, actualVal) -} - -func TestPointerToNamedTypeByUtGoFuzzer1(t *testing.T) { - n := new(Type) - *n = 1 - - actualVal := PointerToNamedType(n) - - expectedVal := new(Type) - *expectedVal = 1 - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToNamedTypeByUtGoFuzzer2(t *testing.T) { - n := (*Type)(nil) - - actualVal := PointerToNamedType(n) - - assert.Nil(t, actualVal) -} - -func TestPointerToRecursiveStructByUtGoFuzzer1(t *testing.T) { - n := &Node{val: 4} - - actualVal := PointerToRecursiveStruct(n) - - expectedVal := &Node{val: 4} - - assert.Equal(t, expectedVal, actualVal) -} - -func TestPointerToRecursiveStructByUtGoFuzzer2(t *testing.T) { - n := (*Node)(nil) - - actualVal := PointerToRecursiveStruct(n) - - assert.Nil(t, actualVal) -} - -func TestInterfaceByUtGoFuzzer1(t *testing.T) { - i := I(nil) - - assert.NotPanics(t, func() { - Interface(i) - }) -} - -func TestInterfaceByUtGoFuzzer2(t *testing.T) { - i := time.Duration(1) - - assert.NotPanics(t, func() { - Interface(i) - }) -} - -func TestExternalInterfaceByUtGoFuzzer1(t *testing.T) { - i := time.Duration(1) - - assert.NotPanics(t, func() { - ExternalInterface(i) - }) -} - -func TestExternalInterfaceByUtGoFuzzer2(t *testing.T) { - i := fmt.Stringer(nil) - - assert.NotPanics(t, func() { - ExternalInterface(i) - }) -} diff --git a/utbot-go/src/main/kotlin/org/utbot/go/GoEngine.kt b/utbot-go/src/main/kotlin/org/utbot/go/GoEngine.kt deleted file mode 100644 index 0f2393f4..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/GoEngine.kt +++ /dev/null @@ -1,138 +0,0 @@ -package org.utbot.go - -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.channelFlow -import kotlinx.coroutines.launch -import mu.KotlinLogging -import org.utbot.fuzzing.BaseFeedback -import org.utbot.fuzzing.Control -import org.utbot.fuzzing.utils.Trie -import org.utbot.go.api.* -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.logic.TestsGenerationMode -import org.utbot.go.worker.GoWorker -import org.utbot.go.worker.convertRawExecutionResultToExecutionResult -import java.net.SocketException -import java.net.SocketTimeoutException -import java.util.concurrent.atomic.AtomicBoolean -import java.util.concurrent.atomic.AtomicInteger - -val logger = KotlinLogging.logger {} - -class GoEngine( - private var workers: List, - private val functionUnderTest: GoUtFunction, - private val needToCoverLines: Set, - private val aliases: Map, - private val functionExecutionTimeoutMillis: Long, - private val mode: TestsGenerationMode, - private val timeoutExceededOrIsCanceled: () -> Boolean -) { - var numberOfFunctionExecutions: AtomicInteger = AtomicInteger(0) - - fun fuzzing(): Flow> = channelFlow { - if (!functionUnderTest.isMethod && functionUnderTest.parameters.isEmpty()) { - val lengthOfParameters = workers[0].sendFuzzedParametersValues(functionUnderTest, emptyList(), emptyMap()) - val (executionResult, coverTab) = run { - val rawExecutionResult = workers[0].receiveRawExecutionResult() - numberOfFunctionExecutions.incrementAndGet() - convertRawExecutionResultToExecutionResult( - rawExecutionResult = rawExecutionResult, - functionResultTypes = functionUnderTest.results.map { it.type }, - timeoutMillis = functionExecutionTimeoutMillis, - ) to rawExecutionResult.coverTab - } - val fuzzedFunction = GoUtFuzzedFunction(functionUnderTest, emptyList()) - val testCase = GoUtFuzzedFunctionTestCase( - fuzzedFunction, executionResult - ) - send(mapOf(CoveredLines(coverTab.keys) to ExecutionResults(testCase, lengthOfParameters))) - } else { - val needToStop = AtomicBoolean() - workers.mapIndexed { index, worker -> - launch(Dispatchers.IO) { - val testCases = mutableMapOf() - try { - fuzzingProcessRoutine(needToStop, testCases, worker, index) - } finally { - send(testCases) - } - } - } - } - } - - private suspend fun fuzzingProcessRoutine( - needToStop: AtomicBoolean, - testCases: MutableMap, - worker: GoWorker, - index: Int - ) { - var attempts = 0 - val attemptsLimit = Int.MAX_VALUE - runGoFuzzing(functionUnderTest, worker, index) { description, values -> - try { - if (needToStop.get() || timeoutExceededOrIsCanceled()) { - return@runGoFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.STOP) - } - - val lengthOfParameters = - description.worker.sendFuzzedParametersValues(functionUnderTest, values, aliases) - val (executionResult, coverTab) = run { - val rawExecutionResult = description.worker.receiveRawExecutionResult() - numberOfFunctionExecutions.incrementAndGet() - convertRawExecutionResultToExecutionResult( - rawExecutionResult = rawExecutionResult, - functionResultTypes = functionUnderTest.results.map { it.type }, - timeoutMillis = functionExecutionTimeoutMillis, - ) to rawExecutionResult.coverTab - } - - if (coverTab.isEmpty()) { - logger.error { "Coverage is empty for [${functionUnderTest.name}] with $values}" } - return@runGoFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - } - - val coveredLines = CoveredLines(needToCoverLines.intersect(coverTab.keys)) - val fuzzedFunction = GoUtFuzzedFunction(functionUnderTest, values) - val testCase = GoUtFuzzedFunctionTestCase(fuzzedFunction, executionResult) - if (mode != TestsGenerationMode.FUZZING_MODE) { - if (testCases[coveredLines] == null) { - testCases[coveredLines] = ExecutionResults(testCase, lengthOfParameters) - } else { - testCases[coveredLines]!!.update(testCase, lengthOfParameters) - } - } - - val trieNode = description.coverage.add(coveredLines.lines.sorted()) - if (executionResult is GoUtTimeoutExceeded) { - description.worker.restartWorker() - return@runGoFuzzing BaseFeedback(result = trieNode, control = Control.PASS) - } - if (trieNode.count > 1) { - if (++attempts >= attemptsLimit) { - return@runGoFuzzing BaseFeedback( - result = Trie.emptyNode(), - control = Control.STOP - ) - } - return@runGoFuzzing BaseFeedback(result = trieNode, control = Control.CONTINUE) - } - - if (mode == TestsGenerationMode.FUZZING_MODE && executionResult !is GoUtExecutionSuccess) { - needToStop.set(true) - testCases[coveredLines] = ExecutionResults(testCase, lengthOfParameters) - return@runGoFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.STOP) - } - BaseFeedback(result = trieNode, control = Control.CONTINUE) - } catch (e: SocketTimeoutException) { - description.worker.restartWorker() - return@runGoFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - } catch (e: SocketException) { - description.worker.restartWorker() - return@runGoFuzzing BaseFeedback(result = Trie.emptyNode(), control = Control.PASS) - } - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/GoLanguage.kt b/utbot-go/src/main/kotlin/org/utbot/go/GoLanguage.kt deleted file mode 100644 index 99459ffb..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/GoLanguage.kt +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.go - -import org.utbot.fuzzing.* -import org.utbot.fuzzing.utils.IdentityTrie -import org.utbot.fuzzing.utils.Trie -import org.utbot.go.api.GoUtFunction -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel -import org.utbot.go.fuzzer.providers.* -import org.utbot.go.worker.GoWorker -import kotlin.random.Random - - -fun goDefaultValueProviders() = listOf( - GoPrimitivesValueProvider, - GoArrayValueProvider, - GoSliceValueProvider, - GoMapValueProvider, - GoChanValueProvider, - GoStructValueProvider, - GoConstantValueProvider, - GoNamedValueProvider, - GoNilValueProvider, - GoPointerValueProvider, - GoInterfaceValueProvider -) - -data class CoveredLines(val lines: Set) - -class GoDescription( - val worker: GoWorker, - val functionUnderTest: GoUtFunction, - val coverage: Trie, - val configuration: Configuration, -) : Description( - if (functionUnderTest.isMethod) { - listOf(functionUnderTest.receiver!!.type) + functionUnderTest.parameters.map { it.type }.toList() - } else { - functionUnderTest.parameters.map { it.type }.toList() - } -) - -suspend fun runGoFuzzing( - function: GoUtFunction, - worker: GoWorker, - index: Int, - providers: List> = goDefaultValueProviders(), - exec: suspend (description: GoDescription, values: List) -> BaseFeedback, GoTypeId, GoUtModel> -) { - val config = Configuration() - BaseFuzzing(providers, exec).fuzz( - description = GoDescription( - worker = worker, - functionUnderTest = function, - coverage = IdentityTrie(), - configuration = config - ), - random = Random(index), - configuration = config, - ) -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/api/GoTypesApi.kt b/utbot-go/src/main/kotlin/org/utbot/go/api/GoTypesApi.kt deleted file mode 100644 index 9244f819..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/api/GoTypesApi.kt +++ /dev/null @@ -1,238 +0,0 @@ -package org.utbot.go.api - -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId - -/** - * Represents real Go primitive type. - */ -class GoPrimitiveTypeId(name: String) : GoTypeId(name) { - override val canonicalName: String = when (name) { - "byte" -> "uint8" - "rune" -> "int32" - else -> name - } - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String = name - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoPrimitiveTypeId) return false - - return canonicalName == other.canonicalName - } - - override fun hashCode(): Int = name.hashCode() -} - -/** - * Class for Go struct field. - */ -data class GoFieldId( - val declaringType: GoTypeId, - val name: String, - val isExported: Boolean -) - -/** - * Represents real Go struct type. - */ -class GoStructTypeId( - name: String, - var fields: List, -) : GoTypeId(name) { - override val canonicalName: String = fields.joinToString(separator = ";", prefix = "struct{", postfix = "}") { - "${it.name} ${it.declaringType}" - } - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String = name - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoStructTypeId) return false - - return fields == other.fields - } - - override fun hashCode(): Int = fields.hashCode() -} - -/** - * Represents real Go array type. - */ -class GoArrayTypeId( - name: String, elementTypeId: GoTypeId, val length: Int -) : GoTypeId(name, elementTypeId = elementTypeId) { - override val canonicalName: String = "[$length]${elementTypeId}" - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String = - "[$length]${elementTypeId!!.getRelativeName(destinationPackage, aliases)}" - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoArrayTypeId) return false - - return elementTypeId == other.elementTypeId && length == other.length - } - - override fun hashCode(): Int = 31 * elementTypeId.hashCode() + length -} - -/** - * Represents real Go slice type. - */ -class GoSliceTypeId( - name: String, elementTypeId: GoTypeId, -) : GoTypeId(name, elementTypeId = elementTypeId) { - override val canonicalName: String = "[]${elementTypeId}" - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String = - "[]${elementTypeId!!.getRelativeName(destinationPackage, aliases)}" - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoSliceTypeId) return false - - return elementTypeId == other.elementTypeId - } - - override fun hashCode(): Int = elementTypeId.hashCode() -} - -/** - * Represents real Go map type. - */ -class GoMapTypeId( - name: String, val keyTypeId: GoTypeId, elementTypeId: GoTypeId, -) : GoTypeId(name, elementTypeId = elementTypeId) { - override val canonicalName: String = "map[${keyTypeId.canonicalName}]${elementTypeId.canonicalName}" - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String { - val keyType = keyTypeId.getRelativeName(destinationPackage, aliases) - val elementType = elementTypeId!!.getRelativeName(destinationPackage, aliases) - return "map[$keyType]$elementType" - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoMapTypeId) return false - - return keyTypeId == other.keyTypeId && elementTypeId == other.elementTypeId - } - - override fun hashCode(): Int = 31 * keyTypeId.hashCode() + elementTypeId.hashCode() -} - -/** - * Represents real Go chan type. - */ -class GoChanTypeId( - name: String, elementTypeId: GoTypeId, val direction: Direction, -) : GoTypeId(name, elementTypeId = elementTypeId) { - enum class Direction { - SENDONLY, RECVONLY, SENDRECV - } - - private val typeWithDirection = when (direction) { - Direction.RECVONLY -> "<-chan" - Direction.SENDONLY -> "chan<-" - Direction.SENDRECV -> "chan" - } - - override val canonicalName: String = "$typeWithDirection $elementTypeId" - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String { - val elementType = elementTypeId!!.getRelativeName(destinationPackage, aliases) - return "$typeWithDirection $elementType" - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoChanTypeId) return false - - return elementTypeId == other.elementTypeId && direction == other.direction - } - - override fun hashCode(): Int = 31 * elementTypeId.hashCode() + direction.hashCode() -} - -/** - * Represents real Go interface type. - */ -class GoInterfaceTypeId(name: String, val implementations: List) : GoTypeId(name) { - override val canonicalName: String = name - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String = name - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoInterfaceTypeId) return false - - return name == other.name - } - - override fun hashCode(): Int = name.hashCode() -} - -/** - * Represents real Go named type. - */ -class GoNamedTypeId( - name: String, override val sourcePackage: GoPackage, implementsError: Boolean, val underlyingTypeId: GoTypeId -) : GoTypeId(name, implementsError = implementsError) { - private val packageName: String = sourcePackage.name - private val packagePath: String = sourcePackage.path - override val canonicalName: String = if (sourcePackage.isBuiltin) { - name - } else { - "$packagePath/$packageName.$name" - } - - fun exported(): Boolean = name.first().isUpperCase() - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String { - val alias = aliases[sourcePackage] - return if (sourcePackage.isBuiltin || sourcePackage == destinationPackage || alias == ".") { - name - } else if (alias == null) { - "${packageName}.${name}" - } else { - "${alias}.${name}" - } - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoNamedTypeId) return false - - return sourcePackage == other.sourcePackage && name == other.name - } - - override fun hashCode(): Int { - var result = packagePath.hashCode() - result = 31 * result + packageName.hashCode() - result = 31 * result + name.hashCode() - return result - } -} - -/** - * Represents real Go pointer type. - */ -class GoPointerTypeId(name: String, elementTypeId: GoTypeId) : GoTypeId(name, elementTypeId = elementTypeId) { - override val canonicalName: String = "*$elementTypeId" - - override fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String { - val elementType = elementTypeId!!.getRelativeName(destinationPackage, aliases) - return "*$elementType" - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoPointerTypeId) return false - - return elementTypeId == other.elementTypeId - } - - override fun hashCode(): Int = elementTypeId.hashCode() -} diff --git a/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtExecutionResultsApi.kt b/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtExecutionResultsApi.kt deleted file mode 100644 index 4a4a0787..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtExecutionResultsApi.kt +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.go.api - -import org.utbot.go.framework.api.go.GoUtModel - -interface GoUtExecutionResult - -interface GoUtExecutionCompleted : GoUtExecutionResult { - val models: List -} - -data class GoUtExecutionSuccess(override val models: List) : GoUtExecutionCompleted - -data class GoUtExecutionWithNonNilError(override val models: List) : GoUtExecutionCompleted - -data class GoUtPanicFailure(val panicValue: GoUtModel, val panicValueIsErrorMessage: Boolean) : GoUtExecutionResult - -data class GoUtTimeoutExceeded(val timeoutMillis: Long) : GoUtExecutionResult - -class ExecutionResults(testCase: GoUtFuzzedFunctionTestCase, length: Int) { - private var successfulExecutionTestCaseWithLengthOfParameters: Pair? = null - private var executionWithErrorTestCaseWithLengthOfParameters: Pair? = null - private var panicFailureTestCaseWithLengthOfParameters: Pair? = null - private var timeoutExceededTestCaseWithLengthOfParameters: Pair? = null - - private fun Pair?.relax( - testCase: GoUtFuzzedFunctionTestCase, - length: Int - ): Pair = if (this == null || this.second > length) { - testCase to length - } else { - this - } - - private fun Pair?.relax( - testCaseAndLength: Pair?, - ): Pair? = if (testCaseAndLength != null) { - this.relax(testCaseAndLength.first, testCaseAndLength.second) - } else { - this - } - - init { - when (testCase.executionResult) { - is GoUtExecutionSuccess -> successfulExecutionTestCaseWithLengthOfParameters = testCase to length - is GoUtExecutionWithNonNilError -> executionWithErrorTestCaseWithLengthOfParameters = testCase to length - is GoUtPanicFailure -> panicFailureTestCaseWithLengthOfParameters = testCase to length - is GoUtTimeoutExceeded -> timeoutExceededTestCaseWithLengthOfParameters = testCase to length - } - } - - fun update(testCase: GoUtFuzzedFunctionTestCase, length: Int) = when (testCase.executionResult) { - is GoUtExecutionSuccess -> successfulExecutionTestCaseWithLengthOfParameters = - successfulExecutionTestCaseWithLengthOfParameters.relax(testCase, length) - - is GoUtExecutionWithNonNilError -> executionWithErrorTestCaseWithLengthOfParameters = - executionWithErrorTestCaseWithLengthOfParameters.relax(testCase, length) - - is GoUtPanicFailure -> panicFailureTestCaseWithLengthOfParameters = - panicFailureTestCaseWithLengthOfParameters.relax(testCase, length) - - is GoUtTimeoutExceeded -> timeoutExceededTestCaseWithLengthOfParameters = - timeoutExceededTestCaseWithLengthOfParameters.relax(testCase, length) - - else -> error("${testCase.executionResult.javaClass.name} is not supported") - } - - fun update(executionResults: ExecutionResults) { - successfulExecutionTestCaseWithLengthOfParameters = - successfulExecutionTestCaseWithLengthOfParameters.relax(executionResults.successfulExecutionTestCaseWithLengthOfParameters) - executionWithErrorTestCaseWithLengthOfParameters = - executionWithErrorTestCaseWithLengthOfParameters.relax(executionResults.executionWithErrorTestCaseWithLengthOfParameters) - panicFailureTestCaseWithLengthOfParameters = - panicFailureTestCaseWithLengthOfParameters.relax(executionResults.panicFailureTestCaseWithLengthOfParameters) - timeoutExceededTestCaseWithLengthOfParameters = - timeoutExceededTestCaseWithLengthOfParameters.relax(executionResults.timeoutExceededTestCaseWithLengthOfParameters) - } - - fun getTestCases(): List = listOfNotNull( - successfulExecutionTestCaseWithLengthOfParameters?.first, - executionWithErrorTestCaseWithLengthOfParameters?.first, - panicFailureTestCaseWithLengthOfParameters?.first, - timeoutExceededTestCaseWithLengthOfParameters?.first - ) -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtFunctionApi.kt b/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtFunctionApi.kt deleted file mode 100644 index 03711783..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtFunctionApi.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.go.api - -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel -import java.io.File -import java.nio.file.Paths - -data class GoUtFile(val absolutePath: String, val sourcePackage: GoPackage) { - val fileName: String get() = File(absolutePath).name - val fileNameWithoutExtension: String get() = File(absolutePath).nameWithoutExtension - val absoluteDirectoryPath: String get() = Paths.get(absolutePath).parent.toString() -} - -data class GoUtDeclaredVariable(val name: String, val type: GoTypeId) - -data class GoUtFunction( - val name: String, - val receiver: GoUtDeclaredVariable?, - val parameters: List, - val results: List, - val constants: Map>, - val sourceFile: GoUtFile -) { - val isMethod: Boolean = receiver != null -} - -data class GoUtFuzzedFunction(val function: GoUtFunction, val parametersValues: List) - -data class GoUtFuzzedFunctionTestCase( - val fuzzedFunction: GoUtFuzzedFunction, - val executionResult: GoUtExecutionResult, -) { - val function: GoUtFunction get() = fuzzedFunction.function - val parametersValues: List get() = fuzzedFunction.parametersValues -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtModelsApi.kt b/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtModelsApi.kt deleted file mode 100644 index cdc1fd5c..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/api/GoUtModelsApi.kt +++ /dev/null @@ -1,383 +0,0 @@ -@file:Suppress("MemberVisibilityCanBePrivate", "CanBeParameter") - -package org.utbot.go.api - -import org.utbot.go.api.util.* -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -// NEVER and DEPENDS difference is useful in code generation of assert.Equals(...). -enum class ExplicitCastMode { - REQUIRED, NEVER, DEPENDS -} - -/** - * Class for Go primitive model. - */ -open class GoUtPrimitiveModel( - val value: Any, - typeId: GoPrimitiveTypeId, - val explicitCastMode: ExplicitCastMode = if (typeId.neverRequiresExplicitCast) { - ExplicitCastMode.NEVER - } else { - ExplicitCastMode.DEPENDS - }, - private val requiredPackages: Set = emptySet(), -) : GoUtModel(typeId) { - override val typeId: GoPrimitiveTypeId - get() = super.typeId as GoPrimitiveTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set = requiredPackages - - override fun isComparable(): Boolean = true - - override fun toString(): String = if (typeId == goStringTypeId) "\"${value}\"" else "$value" - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtPrimitiveModel) return false - - return typeId == other.typeId && value == other.value - } - - override fun hashCode(): Int = 31 * value.hashCode() + typeId.hashCode() -} - -/** - * Class for Go struct model. - */ -class GoUtStructModel( - val value: LinkedHashMap, - typeId: GoStructTypeId, -) : GoUtModel(typeId) { - override val typeId: GoStructTypeId - get() = super.typeId as GoStructTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set = - value.values.fold(emptySet()) { acc, fieldModel -> - acc + fieldModel.getRequiredPackages(destinationPackage) - } - - override fun isComparable(): Boolean = value.values.all { it.isComparable() } - - override fun toString(): String = - value.entries.joinToString(prefix = "struct{", postfix = "}") { (fieldId, model) -> - "${fieldId.name}: $model" - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtStructModel) return false - - return typeId == other.typeId && value == other.value - } - - override fun hashCode(): Int = 31 * value.hashCode() + typeId.hashCode() -} - -/** - * Class for Go array model. - */ -class GoUtArrayModel( - val value: Array, - typeId: GoArrayTypeId, -) : GoUtModel(typeId) { - val length: Int = typeId.length - - override val typeId: GoArrayTypeId - get() = super.typeId as GoArrayTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set { - val elementNamedTypeId = typeId.elementTypeId as? GoNamedTypeId - val imports = elementNamedTypeId?.getRequiredPackages(destinationPackage) ?: emptySet() - return value.fold(imports) { acc, model -> - acc + model.getRequiredPackages(destinationPackage) - } - } - - override fun isComparable(): Boolean = value.all { it.isComparable() } - - fun getElements(): List = value.toList() - - override fun toString(): String = getElements().joinToString(prefix = "$typeId{", postfix = "}") { - it.toString() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtArrayModel) return false - - return typeId == other.typeId && value.contentEquals(other.value) && length == other.length - } - - override fun hashCode(): Int { - var result = value.hashCode() - result = 31 * result + length - result = 31 * result + typeId.hashCode() - return result - } -} - -/** - * Class for Go slice model. - */ -class GoUtSliceModel( - val value: Array, - typeId: GoSliceTypeId, - val length: Int, -) : GoUtModel(typeId) { - override val typeId: GoSliceTypeId - get() = super.typeId as GoSliceTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set { - val elementNamedTypeId = typeId.elementTypeId as? GoNamedTypeId - val imports = elementNamedTypeId?.getRequiredPackages(destinationPackage) ?: emptySet() - return value.filterNotNull().fold(imports) { acc, model -> - acc + model.getRequiredPackages(destinationPackage) - } - } - - override fun isComparable(): Boolean = value.all { it?.isComparable() ?: true } - - fun getElements(): List = value.map { - it ?: typeId.elementTypeId!!.goDefaultValueModel() - } - - override fun toString(): String = getElements().joinToString(prefix = "$typeId{", postfix = "}") { - it.toString() - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtSliceModel) return false - - return typeId == other.typeId && value.contentEquals(other.value) && length == other.length - } - - override fun hashCode(): Int { - var result = value.hashCode() - result = 31 * result + length - result = 31 * result + typeId.hashCode() - return result - } -} - -/** - * Class for Go map model. - */ -class GoUtMapModel( - val value: MutableMap, - typeId: GoMapTypeId, -) : GoUtModel(typeId) { - override val typeId: GoMapTypeId - get() = super.typeId as GoMapTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set { - val keyNamedTypeId = typeId.keyTypeId as? GoNamedTypeId - var imports = keyNamedTypeId?.getRequiredPackages(destinationPackage) ?: emptySet() - val elementNamedTypeId = typeId.elementTypeId as? GoNamedTypeId - imports = imports + (elementNamedTypeId?.getRequiredPackages(destinationPackage) ?: emptySet()) - return value.values.fold(imports) { acc, model -> - acc + model.getRequiredPackages(destinationPackage) - } - } - - override fun isComparable(): Boolean = - value.keys.all { it.isComparable() } && value.values.all { it.isComparable() } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtMapModel) return false - - return typeId == other.typeId && value == other.value - } - - override fun hashCode(): Int = 31 * value.hashCode() + typeId.hashCode() -} - -/** - * Class for Go chan model. - */ -class GoUtChanModel( - val value: Array, - typeId: GoChanTypeId -) : GoUtModel(typeId) { - override val typeId: GoChanTypeId - get() = super.typeId as GoChanTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set { - val elementNamedTypeId = typeId.elementTypeId as? GoNamedTypeId - val imports = elementNamedTypeId?.getRequiredPackages(destinationPackage) ?: emptySet() - return value.filterNotNull().fold(imports) { acc, model -> - acc + model.getRequiredPackages(destinationPackage) - } - } - - override fun isComparable(): Boolean = value.all { it?.isComparable() ?: true } - - fun getElements(): List = value.filterNotNull() - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtChanModel) return false - - return typeId == other.typeId && value.contentEquals(other.value) - } - - override fun hashCode(): Int = 31 * value.hashCode() + typeId.hashCode() -} - -/** - * Class for Go model with the IEEE 754 “not-a-number” value. - */ -class GoUtFloatNaNModel( - typeId: GoPrimitiveTypeId -) : GoUtPrimitiveModel( - "math.NaN()", - typeId, - explicitCastMode = if (typeId != goFloat64TypeId) { - ExplicitCastMode.REQUIRED - } else { - ExplicitCastMode.NEVER - }, - requiredPackages = setOf(GoPackage("math", "math")), -) { - override fun isComparable(): Boolean = false - - override fun equals(other: Any?): Boolean = this === other || other is GoUtFloatNaNModel - - override fun hashCode(): Int = typeId.hashCode() - - override fun toString(): String = "NaN" -} - -/** - * Class for Go model with infinity. - */ -class GoUtFloatInfModel( - val sign: Int, typeId: GoPrimitiveTypeId -) : GoUtPrimitiveModel( - "math.Inf($sign)", - typeId, - explicitCastMode = if (typeId != goFloat64TypeId) { - ExplicitCastMode.REQUIRED - } else { - ExplicitCastMode.NEVER - }, - requiredPackages = setOf(GoPackage("math", "math")), -) { - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtFloatInfModel) return false - - return sign == other.sign - } - - override fun hashCode(): Int = sign.hashCode() - - override fun toString(): String = if (sign >= 0) { - "+Inf" - } else { - "-Inf" - } -} - -/** - * Class for Go models with complex numbers. - */ -class GoUtComplexModel( - var realValue: GoUtPrimitiveModel, - var imagValue: GoUtPrimitiveModel, - typeId: GoPrimitiveTypeId, -) : GoUtPrimitiveModel( - "complex($realValue, $imagValue)", - typeId, - explicitCastMode = ExplicitCastMode.NEVER -) { - override fun getRequiredPackages(destinationPackage: GoPackage): Set = - realValue.getRequiredPackages(destinationPackage) + imagValue.getRequiredPackages(destinationPackage) - - override fun isComparable(): Boolean = realValue.isComparable() && imagValue.isComparable() - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtComplexModel) return false - - return realValue == other.realValue && imagValue == other.imagValue - } - - override fun hashCode(): Int = 31 * realValue.hashCode() + imagValue.hashCode() -} - -/** - * Class for Go model with nil. - */ -class GoUtNilModel( - typeId: GoTypeId -) : GoUtModel(typeId) { - override fun getRequiredPackages(destinationPackage: GoPackage): Set = emptySet() - - override fun isComparable(): Boolean = true - - override fun toString() = "nil" - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtNilModel) return false - - return typeId == other.typeId - } - - override fun hashCode(): Int = typeId.hashCode() -} - -/** - * Class for Go named model. - */ -class GoUtNamedModel( - var value: GoUtModel, - typeId: GoNamedTypeId, -) : GoUtModel(typeId) { - override val typeId: GoNamedTypeId - get() = super.typeId as GoNamedTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set = - typeId.getRequiredPackages(destinationPackage) + value.getRequiredPackages(destinationPackage) - - override fun isComparable(): Boolean = value.isComparable() - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtNamedModel) return false - - return typeId == other.typeId && value == other.value - } - - override fun hashCode(): Int = 31 * value.hashCode() + typeId.hashCode() -} - -/** - * Class for Go pointer model. - */ -class GoUtPointerModel( - var value: GoUtModel, - typeId: GoPointerTypeId -) : GoUtModel(typeId) { - override val typeId: GoPointerTypeId - get() = super.typeId as GoPointerTypeId - - override fun getRequiredPackages(destinationPackage: GoPackage): Set = - value.getRequiredPackages(destinationPackage) - - override fun isComparable(): Boolean = value.isComparable() - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other !is GoUtPointerModel) return false - - return typeId == other.typeId && value == other.value - } - - override fun hashCode(): Int = 31 * value.hashCode() + typeId.hashCode() -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/api/util/GoTypesApiUtil.kt b/utbot-go/src/main/kotlin/org/utbot/go/api/util/GoTypesApiUtil.kt deleted file mode 100644 index df2eba4a..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/api/util/GoTypesApiUtil.kt +++ /dev/null @@ -1,236 +0,0 @@ -package org.utbot.go.api.util - -import org.utbot.go.api.* -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel -import kotlin.properties.Delegates -import kotlin.reflect.KClass - -var intSize by Delegates.notNull() - -val goByteTypeId = GoPrimitiveTypeId("byte") -val goBoolTypeId = GoPrimitiveTypeId("bool") - -val goComplex64TypeId = GoPrimitiveTypeId("complex64") -val goComplex128TypeId = GoPrimitiveTypeId("complex128") - -val goFloat32TypeId = GoPrimitiveTypeId("float32") -val goFloat64TypeId = GoPrimitiveTypeId("float64") - -val goInt8TypeId = GoPrimitiveTypeId("int8") -val goInt16TypeId = GoPrimitiveTypeId("int16") -val goInt32TypeId = GoPrimitiveTypeId("int32") -val goIntTypeId = GoPrimitiveTypeId("int") -val goInt64TypeId = GoPrimitiveTypeId("int64") - -val goRuneTypeId = GoPrimitiveTypeId("rune") // = int32 -val goStringTypeId = GoPrimitiveTypeId("string") - -val goUint8TypeId = GoPrimitiveTypeId("uint8") -val goUint16TypeId = GoPrimitiveTypeId("uint16") -val goUint32TypeId = GoPrimitiveTypeId("uint32") -val goUintTypeId = GoPrimitiveTypeId("uint") -val goUint64TypeId = GoPrimitiveTypeId("uint64") -val goUintPtrTypeId = GoPrimitiveTypeId("uintptr") - -val goPrimitives = setOf( - goByteTypeId, - goBoolTypeId, - goComplex128TypeId, - goComplex64TypeId, - goFloat32TypeId, - goFloat64TypeId, - goIntTypeId, - goInt16TypeId, - goInt32TypeId, - goInt64TypeId, - goInt8TypeId, - goRuneTypeId, - goStringTypeId, - goUintTypeId, - goUint16TypeId, - goUint32TypeId, - goUint64TypeId, - goUint8TypeId, - goUintPtrTypeId, -) - -val goSupportedConstantTypes = setOf( - goByteTypeId, - goFloat32TypeId, - goFloat64TypeId, - goIntTypeId, - goInt8TypeId, - goInt16TypeId, - goInt32TypeId, - goInt64TypeId, - goRuneTypeId, - goStringTypeId, - goUintTypeId, - goUint8TypeId, - goUint16TypeId, - goUint32TypeId, - goUint64TypeId, - goUintPtrTypeId, -) - -private val goTypesNeverRequireExplicitCast = setOf( - goBoolTypeId, - goComplex128TypeId, - goComplex64TypeId, - goFloat64TypeId, - goIntTypeId, - goStringTypeId, -) - -val GoPrimitiveTypeId.neverRequiresExplicitCast: Boolean - get() = this in goTypesNeverRequireExplicitCast - -/** - * This method is useful for converting the string representation of a Go value to its more accurate representation. - */ -private fun GoPrimitiveTypeId.correspondingKClass(): KClass = when (this) { - goBoolTypeId -> Boolean::class - goFloat32TypeId -> Float::class - goFloat64TypeId -> Double::class - goInt8TypeId -> Byte::class - goInt16TypeId -> Short::class - goInt32TypeId, goRuneTypeId -> Int::class - goIntTypeId -> if (intSize == 32) Int::class else Long::class - goInt64TypeId -> Long::class - goStringTypeId -> String::class - goUint8TypeId, goByteTypeId -> UByte::class - goUint16TypeId -> UShort::class - goUint32TypeId -> UInt::class - goUintTypeId -> if (intSize == 32) UInt::class else ULong::class - goUint64TypeId -> ULong::class - goUintPtrTypeId -> if (intSize == 32) UInt::class else ULong::class - else -> String::class // default way to hold GoUtPrimitiveModel's value is to use String -} - -fun rawValueOfGoPrimitiveTypeToValue(typeId: GoPrimitiveTypeId, rawValue: String): Any = - when (typeId.correspondingKClass()) { - UByte::class -> rawValue.toUByte() - Boolean::class -> rawValue.toBoolean() - Float::class -> rawValue.toFloat() - Double::class -> rawValue.toDouble() - Int::class -> rawValue.toInt() - Short::class -> rawValue.toShort() - Long::class -> rawValue.toLong() - Byte::class -> rawValue.toByte() - UInt::class -> rawValue.toUInt() - UShort::class -> rawValue.toUShort() - ULong::class -> rawValue.toULong() - else -> rawValue - } - -/** - * This method is useful for creating a GoUtModel with a default value. - */ -fun GoTypeId.goDefaultValueModel(): GoUtModel = when (this) { - is GoPrimitiveTypeId -> when (this) { - goByteTypeId -> GoUtPrimitiveModel("0".toUByte(), this) - goBoolTypeId -> GoUtPrimitiveModel(false, this) - goComplex64TypeId -> GoUtComplexModel( - goFloat32TypeId.goDefaultValueModel() as GoUtPrimitiveModel, - goFloat32TypeId.goDefaultValueModel() as GoUtPrimitiveModel, - this - ) - - goComplex128TypeId -> GoUtComplexModel( - goFloat64TypeId.goDefaultValueModel() as GoUtPrimitiveModel, - goFloat64TypeId.goDefaultValueModel() as GoUtPrimitiveModel, - this - ) - - goFloat32TypeId -> GoUtPrimitiveModel(0.0f, this) - goFloat64TypeId -> GoUtPrimitiveModel(0.0, this) - goInt8TypeId -> GoUtPrimitiveModel("0".toByte(), this) - goInt16TypeId -> GoUtPrimitiveModel("0".toShort(), this) - goInt32TypeId -> GoUtPrimitiveModel("0".toInt(), this) - goIntTypeId -> if (intSize == 32) { - GoUtPrimitiveModel("0".toInt(), this) - } else { - GoUtPrimitiveModel("0".toLong(), this) - } - - goInt64TypeId -> GoUtPrimitiveModel("0".toLong(), this) - - goRuneTypeId -> GoUtPrimitiveModel("0".toInt(), this) - goStringTypeId -> GoUtPrimitiveModel("", this) - goUint8TypeId -> GoUtPrimitiveModel("0".toUByte(), this) - goUint16TypeId -> GoUtPrimitiveModel("0".toUShort(), this) - goUint32TypeId -> GoUtPrimitiveModel("0".toUInt(), this) - goUintTypeId -> if (intSize == 32) { - GoUtPrimitiveModel("0".toUInt(), this) - } else { - GoUtPrimitiveModel("0".toULong(), this) - } - - goUint64TypeId -> GoUtPrimitiveModel("0".toULong(), this) - goUintPtrTypeId -> GoUtPrimitiveModel("0".toULong(), this) - - else -> error("Generating Go default value model for ${this.javaClass} is not supported") - } - - is GoArrayTypeId -> GoUtArrayModel( - value = (0 until this.length) - .map { this.elementTypeId!!.goDefaultValueModel() } - .toTypedArray(), - typeId = this, - ) - - is GoStructTypeId -> GoUtStructModel(linkedMapOf(), this) - is GoSliceTypeId -> GoUtNilModel(this) - is GoMapTypeId -> GoUtNilModel(this) - is GoChanTypeId -> GoUtNilModel(this) - is GoPointerTypeId -> GoUtNilModel(this) - is GoNamedTypeId -> GoUtNamedModel(this.underlyingTypeId.goDefaultValueModel(), this) - is GoInterfaceTypeId -> GoUtNilModel(this) - else -> error("Generating Go default value model for ${this.javaClass} is not supported") -} - -fun GoTypeId.getAllVisibleNamedTypes(goPackage: GoPackage, visitedTypes: MutableSet): Set { - if (visitedTypes.contains(this)) { - return emptySet() - } - visitedTypes.add(this) - return when (this) { - is GoNamedTypeId -> if (this.sourcePackage == goPackage || this.sourcePackage.isBuiltin || this.exported()) { - setOf(this) + underlyingTypeId.getAllVisibleNamedTypes(goPackage, visitedTypes) - } else { - emptySet() - } - - is GoStructTypeId -> fields.fold(emptySet()) { acc: Set, field -> - acc + (field.declaringType).getAllVisibleNamedTypes(goPackage, visitedTypes) - } - - is GoArrayTypeId, is GoSliceTypeId, is GoChanTypeId, is GoPointerTypeId -> - elementTypeId!!.getAllVisibleNamedTypes(goPackage, visitedTypes) - - is GoMapTypeId -> keyTypeId.getAllVisibleNamedTypes(goPackage, visitedTypes) + - elementTypeId!!.getAllVisibleNamedTypes(goPackage, visitedTypes) - - is GoInterfaceTypeId -> implementations.fold(emptySet()) { acc, type -> - acc + type.getAllVisibleNamedTypes(goPackage, visitedTypes) - } - - else -> emptySet() - } -} - -fun List.getAllVisibleNamedTypes(goPackage: GoPackage): Set { - val visitedTypes = mutableSetOf() - return this.fold(emptySet()) { acc, type -> - acc + type.getAllVisibleNamedTypes(goPackage, visitedTypes) - } -} - -fun GoNamedTypeId.getRequiredPackages(destinationPackage: GoPackage): Set = - if (!this.sourcePackage.isBuiltin && this.sourcePackage != destinationPackage) { - setOf(this.sourcePackage) - } else { - emptySet() - } \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/api/util/GoUtModelsApiUtil.kt b/utbot-go/src/main/kotlin/org/utbot/go/api/util/GoUtModelsApiUtil.kt deleted file mode 100644 index e5a8635f..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/api/util/GoUtModelsApiUtil.kt +++ /dev/null @@ -1,93 +0,0 @@ -package org.utbot.go.api.util - -import org.utbot.go.api.* -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoUtModel -import org.utbot.go.worker.* - -fun GoUtModel.isNaNOrInf(): Boolean = this is GoUtFloatNaNModel || this is GoUtFloatInfModel - -fun GoUtModel.doesNotContainNaNOrInf(): Boolean { - if (this.isNaNOrInf()) return false - val asComplexModel = (this as? GoUtComplexModel) ?: return true - return !(asComplexModel.realValue.isNaNOrInf() || asComplexModel.imagValue.isNaNOrInf()) -} - -fun GoUtModel.containsNaNOrInf(): Boolean = !this.doesNotContainNaNOrInf() - -fun GoUtModel.convertToRawValue(destinationPackage: GoPackage, aliases: Map): RawValue = - when (val model = this) { - is GoUtComplexModel -> PrimitiveValue( - model.typeId.getRelativeName(destinationPackage, aliases), - "${model.realValue}@${model.imagValue}" - ) - - is GoUtFloatInfModel -> PrimitiveValue( - model.typeId.getRelativeName(destinationPackage, aliases), - this.toString() - ) - - is GoUtFloatNaNModel -> PrimitiveValue( - model.typeId.getRelativeName(destinationPackage, aliases), - this.toString() - ) - - is GoUtNamedModel -> NamedValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.value.convertToRawValue(destinationPackage, aliases) - ) - - is GoUtArrayModel -> ArrayValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.typeId.elementTypeId!!.getRelativeName(destinationPackage, aliases), - model.length, - model.getElements().map { it.convertToRawValue(destinationPackage, aliases) } - ) - - is GoUtSliceModel -> SliceValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.typeId.elementTypeId!!.getRelativeName(destinationPackage, aliases), - model.length, - model.getElements().map { it.convertToRawValue(destinationPackage, aliases) } - ) - - is GoUtMapModel -> MapValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.typeId.keyTypeId.getRelativeName(destinationPackage, aliases), - model.typeId.elementTypeId!!.getRelativeName(destinationPackage, aliases), - model.value.entries.map { - val key = it.key.convertToRawValue(destinationPackage, aliases) - val value = it.value.convertToRawValue(destinationPackage, aliases) - MapValue.KeyValue(key, value) - } - ) - - is GoUtStructModel -> StructValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.value.map { (fieldId, model) -> - StructValue.FieldValue( - fieldId.name, - model.convertToRawValue(destinationPackage, aliases), - fieldId.isExported - ) - } - ) - - is GoUtChanModel -> ChanValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.typeId.elementTypeId!!.getRelativeName(destinationPackage, aliases), - model.typeId.direction.name, - model.value.size, - model.getElements().map { it.convertToRawValue(destinationPackage, aliases) } - ) - - is GoUtPointerModel -> PointerValue( - model.typeId.getRelativeName(destinationPackage, aliases), - model.typeId.elementTypeId!!.getRelativeName(destinationPackage, aliases), - model.value.convertToRawValue(destinationPackage, aliases) - ) - - is GoUtPrimitiveModel -> PrimitiveValue(model.typeId.name, model.value.toString()) - is GoUtNilModel -> NilValue(model.typeId.getRelativeName(destinationPackage, aliases)) - else -> error("Converting ${model.javaClass} to RawValue is not supported") - } \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/framework/api/go/GoApi.kt b/utbot-go/src/main/kotlin/org/utbot/go/framework/api/go/GoApi.kt deleted file mode 100644 index 2602ed62..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/framework/api/go/GoApi.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.go.framework.api.go - -/** - * Parent class for all Go types. - * - * To see its children check GoTypesApi.kt at org.utbot.go.api. - */ -abstract class GoTypeId( - val name: String, - val elementTypeId: GoTypeId? = null, - val implementsError: Boolean = false -) { - open val sourcePackage: GoPackage = GoPackage("", "") - abstract val canonicalName: String - - abstract fun getRelativeName(destinationPackage: GoPackage, aliases: Map): String - override fun toString(): String = canonicalName -} - -/** - * Parent class for all Go models. - * - * To see its children check GoUtModelsApi.kt at org.utbot.go.api. - */ -abstract class GoUtModel( - open val typeId: GoTypeId, -) { - abstract fun getRequiredPackages(destinationPackage: GoPackage): Set - abstract fun isComparable(): Boolean -} - -/** - * Class for Go package. - */ -data class GoPackage( - val name: String, - val path: String -) { - val isBuiltin = name == "" && path == "" -} - -/** - * Class for Go import. - */ -data class GoImport( - val goPackage: GoPackage, - val alias: String? = null -) { - override fun toString(): String { - if (alias == null) { - return "\"${goPackage.path}\"" - } - return "$alias \"${goPackage.path}\"" - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoArrayValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoArrayValueProvider.kt deleted file mode 100644 index 5f68f1a8..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoArrayValueProvider.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoArrayTypeId -import org.utbot.go.api.GoUtArrayModel -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoArrayValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoArrayTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequence { - type.let { it as GoArrayTypeId }.also { arrayType -> - val elementType = arrayType.elementTypeId!! - yield( - Seed.Recursive( - construct = Routine.Create((0 until arrayType.length).map { elementType }) { values -> - GoUtArrayModel( - value = values.toTypedArray(), - typeId = arrayType, - ) - }, - modify = sequence { - val probShuffle = description.configuration.probCollectionShuffleInsteadResultMutation - val numberOfShuffles = if (probShuffle != 100) { - arrayType.length * probShuffle / (100 - probShuffle) - } else { - 1 - } - if (probShuffle != 100) { - (0 until arrayType.length).forEach { index -> - yield(Routine.Call(listOf(elementType)) { self, values -> - val model = self as GoUtArrayModel - val value = values.first() - model.value[index] = value - }) - } - } - repeat(numberOfShuffles) { - yield(Routine.Call(emptyList()) { self, _ -> - val model = self as GoUtArrayModel - model.value.shuffle() - }) - } - }, - empty = Routine.Empty { - arrayType.goDefaultValueModel() - } - ) - ) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoChanValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoChanValueProvider.kt deleted file mode 100644 index 2a5d211b..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoChanValueProvider.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoChanTypeId -import org.utbot.go.api.GoUtChanModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoChanValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoChanTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequence { - type.let { it as GoChanTypeId }.also { chanType -> - yield( - Seed.Collection( - construct = Routine.Collection { - GoUtChanModel( - value = arrayOfNulls(it), - typeId = chanType, - ) - }, - modify = Routine.ForEach(listOf(chanType.elementTypeId!!)) { self, i, values -> - val model = self as GoUtChanModel - model.value[i] = values.first() - } - ) - ) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoConstantValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoConstantValueProvider.kt deleted file mode 100644 index 7103ff0a..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoConstantValueProvider.kt +++ /dev/null @@ -1,148 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.seeds.BitVectorValue -import org.utbot.fuzzing.seeds.IEEE754Value -import org.utbot.fuzzing.seeds.StringValue -import org.utbot.go.GoDescription -import org.utbot.go.api.GoPrimitiveTypeId -import org.utbot.go.api.GoUtPrimitiveModel -import org.utbot.go.api.util.* -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoConstantValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type in goSupportedConstantTypes - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = sequence { - type.let { it as GoPrimitiveTypeId }.also { primitiveType -> - val constants = description.functionUnderTest.constants - val primitives: List> = (constants[primitiveType] ?: emptyList()).mapNotNull { - when (primitiveType) { - goRuneTypeId, goIntTypeId, goInt8TypeId, goInt16TypeId, goInt32TypeId, goInt64TypeId -> - when (primitiveType) { - goInt8TypeId -> Seed.Known(BitVectorValue.fromValue(it)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toByte(), - primitiveType - ) - } - - goInt16TypeId -> Seed.Known(BitVectorValue.fromValue(it)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toShort(), - primitiveType - ) - } - - goInt32TypeId, goRuneTypeId -> Seed.Known(BitVectorValue.fromValue(it)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toInt(), - primitiveType - ) - } - - goIntTypeId -> Seed.Known(BitVectorValue.fromValue(it)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - if (intSize == 32) obj.toInt() else obj.toLong(), - primitiveType - ) - } - - goInt64TypeId -> Seed.Known(BitVectorValue.fromValue(it)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toLong(), - primitiveType - ) - } - - else -> return@sequence - } - - goByteTypeId, goUintTypeId, goUintPtrTypeId, goUint8TypeId, goUint16TypeId, goUint32TypeId, goUint64TypeId -> - when (primitiveType) { - goByteTypeId, goUint8TypeId -> { - val uint8AsLong = (it as UByte).toLong() - Seed.Known(BitVectorValue.fromValue(uint8AsLong)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toUByte(), - primitiveType - ) - } - } - - goUint16TypeId -> { - val uint16AsLong = (it as UShort).toLong() - Seed.Known(BitVectorValue.fromValue(uint16AsLong)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toUShort(), - primitiveType - ) - } - } - - goUint32TypeId -> { - val uint32AsLong = (it as UInt).toLong() - Seed.Known(BitVectorValue.fromValue(uint32AsLong)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toUInt(), - primitiveType - ) - } - } - - goUintTypeId, goUintPtrTypeId -> { - val uintAsLong = if (intSize == 32) (it as UInt).toLong() else (it as ULong).toLong() - Seed.Known(BitVectorValue.fromValue(uintAsLong)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - if (intSize == 32) obj.toUInt() else obj.toULong(), - primitiveType - ) - } - } - - goUint64TypeId -> { - val uint64AsLong = (it as ULong).toLong() - Seed.Known(BitVectorValue.fromValue(uint64AsLong)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toULong(), - primitiveType - ) - } - } - - else -> return@sequence - } - - goFloat32TypeId -> Seed.Known(IEEE754Value.fromValue(it)) { obj: IEEE754Value -> - GoUtPrimitiveModel( - obj.toFloat(), - primitiveType - ) - } - - goFloat64TypeId -> Seed.Known(IEEE754Value.fromValue(it)) { obj: IEEE754Value -> - GoUtPrimitiveModel( - obj.toDouble(), - primitiveType - ) - } - - goStringTypeId -> Seed.Known(StringValue(it as String)) { obj: StringValue -> - GoUtPrimitiveModel( - obj.value, - primitiveType - ) - } - - else -> null - } - } - - primitives.forEach { seed -> - yield(seed) - } - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoInterfaceValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoInterfaceValueProvider.kt deleted file mode 100644 index 205488c7..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoInterfaceValueProvider.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoInterfaceTypeId -import org.utbot.go.api.GoUtNilModel -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoInterfaceValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoInterfaceTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = sequence { - type.let { it as GoInterfaceTypeId }.also { interfaceTypeId -> - interfaceTypeId.implementations.forEach { - yield(Seed.Recursive( - construct = Routine.Create(listOf(it)) { values -> - values.first() - }, - empty = Routine.Empty { - interfaceTypeId.goDefaultValueModel() - } - )) - } - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoMapValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoMapValueProvider.kt deleted file mode 100644 index bcf2ab1a..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoMapValueProvider.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoMapTypeId -import org.utbot.go.api.GoUtMapModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoMapValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoMapTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequence { - type.let { it as GoMapTypeId }.also { mapType -> - yield( - Seed.Collection( - construct = Routine.Collection { - GoUtMapModel( - value = mutableMapOf(), - typeId = mapType - ) - }, - modify = Routine.ForEach( - listOf( - mapType.keyTypeId, - mapType.elementTypeId!! - ) - ) { self, _, values -> - val model = self as GoUtMapModel - model.value[values[0]] = values[1] - } - ) - ) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoNamedValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoNamedValueProvider.kt deleted file mode 100644 index b4455a0e..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoNamedValueProvider.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoNamedTypeId -import org.utbot.go.api.GoUtNamedModel -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoNamedValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoNamedTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = sequence { - type.let { it as GoNamedTypeId }.also { namedType -> - yield(Seed.Recursive(construct = Routine.Create(listOf(namedType.underlyingTypeId)) { values -> - GoUtNamedModel( - value = values.first(), - typeId = namedType, - ) - }, modify = sequence { - yield(Routine.Call(listOf(namedType.underlyingTypeId)) { self, values -> - val model = self as GoUtNamedModel - val value = values.first() - model.value = value - }) - }, empty = Routine.Empty { - namedType.goDefaultValueModel() - })) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoNilValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoNilValueProvider.kt deleted file mode 100644 index cf9b9b55..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoNilValueProvider.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.* -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoNilValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = setOf( - GoSliceTypeId::class, - GoMapTypeId::class, - GoChanTypeId::class, - GoPointerTypeId::class, - GoInterfaceTypeId::class - ).any { type::class == it } - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequenceOf(Seed.Simple(GoUtNilModel(type))) -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoPointerValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoPointerValueProvider.kt deleted file mode 100644 index 17ca9812..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoPointerValueProvider.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoPointerTypeId -import org.utbot.go.api.GoUtNilModel -import org.utbot.go.api.GoUtPointerModel -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoPointerValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoPointerTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = sequence { - type.let { it as GoPointerTypeId }.also { pointerType -> - yield( - Seed.Recursive( - construct = Routine.Create(listOf(pointerType.elementTypeId!!)) { values -> - GoUtPointerModel(value = values.first(), typeId = pointerType) - }, - empty = Routine.Empty { - pointerType.goDefaultValueModel() - } - ) - ) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoPrimitivesValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoPrimitivesValueProvider.kt deleted file mode 100644 index b2b5eab5..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoPrimitivesValueProvider.kt +++ /dev/null @@ -1,214 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.seeds.* -import org.utbot.go.GoDescription -import org.utbot.go.api.* -import org.utbot.go.api.util.* -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel -import java.util.* -import kotlin.math.sign - -object GoPrimitivesValueProvider : ValueProvider { - private val random = Random(0) - - override fun accept(type: GoTypeId): Boolean = type in goPrimitives - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequence { - type.let { it as GoPrimitiveTypeId }.also { primitiveType -> - val primitives: List> = when (primitiveType) { - goBoolTypeId -> listOf( - Seed.Known(Bool.FALSE.invoke()) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toBoolean(), - primitiveType - ) - }, - Seed.Known(Bool.TRUE.invoke()) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toBoolean(), - primitiveType - ) - } - ) - - goRuneTypeId, goIntTypeId, goInt8TypeId, goInt16TypeId, goInt32TypeId, goInt64TypeId -> Signed.values() - .map { - when (type) { - goInt8TypeId -> Seed.Known(it.invoke(8)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toByte(), - primitiveType - ) - } - - goInt16TypeId -> Seed.Known(it.invoke(16)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toShort(), - primitiveType - ) - } - - goInt32TypeId, goRuneTypeId -> Seed.Known(it.invoke(32)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toInt(), - primitiveType - ) - } - - goIntTypeId -> Seed.Known(it.invoke(intSize)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - if (intSize == 32) obj.toInt() else obj.toLong(), - primitiveType - ) - } - - goInt64TypeId -> Seed.Known(it.invoke(64)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toLong(), - primitiveType - ) - } - - else -> return@sequence - } - } - - goByteTypeId, goUintTypeId, goUintPtrTypeId, goUint8TypeId, goUint16TypeId, goUint32TypeId, goUint64TypeId -> Unsigned.values() - .map { - when (type) { - goByteTypeId, goUint8TypeId -> Seed.Known(it.invoke(8)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toUByte(), - primitiveType - ) - } - - goUint16TypeId -> Seed.Known(it.invoke(16)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toUShort(), - primitiveType - ) - } - - goUint32TypeId -> Seed.Known(it.invoke(32)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toUInt(), - primitiveType - ) - } - - goUintTypeId, goUintPtrTypeId -> Seed.Known(it.invoke(intSize)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - if (intSize == 32) obj.toUInt() else obj.toULong(), - primitiveType - ) - } - - goUint64TypeId -> Seed.Known(it.invoke(64)) { obj: BitVectorValue -> - GoUtPrimitiveModel( - obj.toULong(), - primitiveType - ) - } - - else -> return@sequence - } - } - - goFloat32TypeId -> generateFloat32Seeds(primitiveType) - - goFloat64TypeId -> generateFloat64Seeds(primitiveType) - - goComplex64TypeId -> generateComplexSeeds(primitiveType, goFloat32TypeId) - - goComplex128TypeId -> generateComplexSeeds(primitiveType, goFloat64TypeId) - - goStringTypeId -> listOf( - Seed.Known(StringValue("")) { obj: StringValue -> - GoUtPrimitiveModel( - obj.value, - primitiveType - ) - }, - Seed.Known(StringValue("hello")) { obj: StringValue -> - GoUtPrimitiveModel( - obj.value, - primitiveType - ) - }) - - else -> emptyList() - } - - primitives.forEach { seed -> - yield(seed) - } - } - } - - private fun generateFloat32Seeds(typeId: GoPrimitiveTypeId): List> { - return listOf( - Seed.Known(IEEE754Value.fromFloat(random.nextFloat())) { obj: IEEE754Value -> - val d = obj.toFloat() - if (d.isInfinite()) { - GoUtFloatInfModel(d.sign.toInt(), typeId) - } else if (d.isNaN()) { - GoUtFloatNaNModel(typeId) - } else { - GoUtPrimitiveModel(d, typeId) - } - } - ) - } - - private fun generateFloat64Seeds(typeId: GoPrimitiveTypeId): List> { - return listOf( - Seed.Known(IEEE754Value.fromDouble(random.nextDouble())) { obj: IEEE754Value -> - val d = obj.toDouble() - if (d.isInfinite()) { - GoUtFloatInfModel(d.sign.toInt(), typeId) - } else if (d.isNaN()) { - GoUtFloatNaNModel(typeId) - } else { - GoUtPrimitiveModel(d, typeId) - } - } - ) - } - - private fun generateComplexSeeds( - typeId: GoPrimitiveTypeId, - floatTypeId: GoPrimitiveTypeId - ): List> { - return listOf( - Seed.Recursive( - construct = Routine.Create(listOf(floatTypeId, floatTypeId)) { values -> - GoUtComplexModel( - realValue = values[0] as GoUtPrimitiveModel, - imagValue = values[1] as GoUtPrimitiveModel, - typeId = typeId - ) - }, - modify = sequence { - yield(Routine.Call(listOf(floatTypeId)) { self, values -> - val model = self as GoUtComplexModel - val value = values.first() as GoUtPrimitiveModel - model.realValue = value - }) - }, - empty = Routine.Empty { - GoUtComplexModel( - realValue = GoUtPrimitiveModel(0.0, floatTypeId), - imagValue = GoUtPrimitiveModel(0.0, floatTypeId), - typeId = typeId - ) - } - ) - ) - } -} diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoSliceValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoSliceValueProvider.kt deleted file mode 100644 index 0aa5313f..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoSliceValueProvider.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoSliceTypeId -import org.utbot.go.api.GoUtSliceModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoSliceValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoSliceTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequence { - type.let { it as GoSliceTypeId }.also { sliceType -> - yield( - Seed.Collection( - construct = Routine.Collection { - GoUtSliceModel( - value = arrayOfNulls(it), - typeId = sliceType, - length = it, - ) - }, - modify = Routine.ForEach(listOf(sliceType.elementTypeId!!)) { self, i, values -> - val model = self as GoUtSliceModel - model.value[i] = values.first() - } - ) - ) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoStructValueProvider.kt b/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoStructValueProvider.kt deleted file mode 100644 index b9d9e136..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/fuzzer/providers/GoStructValueProvider.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.go.fuzzer.providers - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.go.GoDescription -import org.utbot.go.api.GoStructTypeId -import org.utbot.go.api.GoUtStructModel -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -object GoStructValueProvider : ValueProvider { - override fun accept(type: GoTypeId): Boolean = type is GoStructTypeId - - override fun generate(description: GoDescription, type: GoTypeId): Sequence> = - sequence { - type.let { it as GoStructTypeId }.also { structType -> - val fields = structType.fields - yield(Seed.Recursive( - construct = Routine.Create(fields.map { it.declaringType }) { values -> - GoUtStructModel( - value = linkedMapOf(*fields.zip(values).toTypedArray()), - typeId = structType, - ) - }, - modify = sequence { - fields.forEachIndexed { index, field -> - yield(Routine.Call(listOf(field.declaringType)) { self, values -> - val model = self as GoUtStructModel - val value = values.first() - model.value[fields[index]] = value - }) - } - }, - empty = Routine.Empty { - structType.goDefaultValueModel() - } - )) - } - } -} diff --git a/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/AnalysisResults.kt b/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/AnalysisResults.kt deleted file mode 100644 index e5262669..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/AnalysisResults.kt +++ /dev/null @@ -1,272 +0,0 @@ -package org.utbot.go.gocodeanalyzer - -import com.beust.klaxon.TypeAdapter -import com.beust.klaxon.TypeFor -import org.utbot.go.api.* -import org.utbot.go.api.util.goPrimitives -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId -import kotlin.reflect.KClass - -data class AnalyzedPrimitiveType( - override val name: String -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoPrimitiveTypeId(name = name) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedStructType( - override val name: String, - val fields: List -) : AnalyzedType(name) { - data class AnalyzedField( - val name: String, - val type: String, - val isExported: Boolean - ) - - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoStructTypeId( - name = name, - fields = emptyList() - ) - analyzedTypes[index] = result - result.fields = fields.map { (name, type, isExported) -> - val fieldType = typesToAnalyze[type]!!.toGoTypeId(type, analyzedTypes, typesToAnalyze) - GoFieldId(fieldType, name, isExported) - } - } - return result - } -} - -data class AnalyzedArrayType( - override val name: String, - val elementType: String, - val length: Int -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoArrayTypeId( - name = name, - elementTypeId = typesToAnalyze[elementType]!!.toGoTypeId(elementType, analyzedTypes, typesToAnalyze), - length = length - ) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedSliceType( - override val name: String, - val elementType: String, -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoSliceTypeId( - name = name, - elementTypeId = typesToAnalyze[elementType]!!.toGoTypeId(elementType, analyzedTypes, typesToAnalyze), - ) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedMapType( - override val name: String, - val keyType: String, - val elementType: String, -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoMapTypeId( - name = name, - keyTypeId = typesToAnalyze[keyType]!!.toGoTypeId(keyType, analyzedTypes, typesToAnalyze), - elementTypeId = typesToAnalyze[elementType]!!.toGoTypeId(elementType, analyzedTypes, typesToAnalyze), - ) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedChanType( - override val name: String, - val elementType: String, - val direction: GoChanTypeId.Direction, -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoChanTypeId( - name = name, - elementTypeId = typesToAnalyze[elementType]!!.toGoTypeId(elementType, analyzedTypes, typesToAnalyze), - direction = direction - ) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedInterfaceType( - override val name: String, - val implementations: List, -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoInterfaceTypeId( - name = name, - implementations = implementations.map { type -> - typesToAnalyze[type]!!.toGoTypeId( - type, - analyzedTypes, - typesToAnalyze - ) - }) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedNamedType( - override val name: String, - val sourcePackage: GoPackage, - val implementsError: Boolean, - val underlyingType: String -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoNamedTypeId( - name = name, - sourcePackage = sourcePackage, - implementsError = implementsError, - underlyingTypeId = typesToAnalyze[underlyingType]!!.toGoTypeId( - underlyingType, - analyzedTypes, - typesToAnalyze - ), - ) - analyzedTypes[index] = result - } - return result - } -} - -data class AnalyzedPointerType( - override val name: String, - val elementType: String -) : AnalyzedType(name) { - override fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId { - var result = analyzedTypes[index] - if (result == null) { - result = GoPointerTypeId( - name = name, - elementTypeId = typesToAnalyze[elementType]!!.toGoTypeId(elementType, analyzedTypes, typesToAnalyze), - ) - analyzedTypes[index] = result - } - return result - } -} - -@TypeFor(field = "name", adapter = AnalyzedTypeAdapter::class) -abstract class AnalyzedType(open val name: String) { - abstract fun toGoTypeId( - index: String, - analyzedTypes: MutableMap, - typesToAnalyze: Map - ): GoTypeId -} - -class AnalyzedTypeAdapter : TypeAdapter { - override fun classFor(type: Any): KClass { - val typeName = type as String - return when { - typeName == "interface{}" -> AnalyzedInterfaceType::class - typeName == "struct{}" -> AnalyzedStructType::class - typeName == "map" -> AnalyzedMapType::class - typeName == "[]" -> AnalyzedSliceType::class - typeName == "[_]" -> AnalyzedArrayType::class - typeName == "chan" -> AnalyzedChanType::class - typeName == "*" -> AnalyzedPointerType::class - goPrimitives.map { it.name }.contains(typeName) -> AnalyzedPrimitiveType::class - else -> AnalyzedNamedType::class - } - } -} - -internal data class AnalyzedVariable(val name: String, val type: String) - -internal data class AnalyzedFunction( - val name: String, - val types: Map, - val receiver: AnalyzedVariable?, - val parameters: List, - val resultTypes: List, - val constants: Map>, -) - -internal data class AnalysisResult( - val absoluteFilePath: String, - val sourcePackage: GoPackage, - val analyzedFunctions: List, - val notSupportedFunctionNames: List, - val notFoundFunctionNames: List -) - -internal data class AnalysisResults(val results: List, val intSize: Int) - -class GoParsingSourceCodeAnalysisResultException(s: String, t: Throwable) : Exception(s, t) \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/AnalysisTargets.kt b/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/AnalysisTargets.kt deleted file mode 100644 index cb825452..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/AnalysisTargets.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.go.gocodeanalyzer - -internal data class AnalysisTarget( - val absoluteFilePath: String, - val targetFunctionNames: List, - val targetMethodNames: List -) - -internal data class AnalysisTargets(val targets: List) \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/GoSourceCodeAnalyzer.kt b/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/GoSourceCodeAnalyzer.kt deleted file mode 100644 index e2272e2a..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/gocodeanalyzer/GoSourceCodeAnalyzer.kt +++ /dev/null @@ -1,165 +0,0 @@ -package org.utbot.go.gocodeanalyzer - -import com.beust.klaxon.KlaxonException -import org.utbot.common.FileUtil.extractDirectoryFromArchive -import org.utbot.common.scanForResourcesContaining -import org.utbot.go.api.GoPrimitiveTypeId -import org.utbot.go.api.GoUtDeclaredVariable -import org.utbot.go.api.GoUtFile -import org.utbot.go.api.GoUtFunction -import org.utbot.go.api.util.goSupportedConstantTypes -import org.utbot.go.api.util.intSize -import org.utbot.go.api.util.rawValueOfGoPrimitiveTypeToValue -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.util.executeCommandByNewProcessOrFail -import org.utbot.go.util.modifyEnvironment -import org.utbot.go.util.parseFromJsonOrFail -import org.utbot.go.util.writeJsonToFileOrFail -import java.io.File -import java.nio.file.Path - -object GoSourceCodeAnalyzer { - - data class GoSourceFileAnalysisResult( - val functions: List, - val notSupportedFunctionAndMethodNames: List, - val notFoundFunctionAndMethodNames: List - ) - - /** - * Takes maps from paths of Go source files to names of their selected functions and methods. - * - * Returns GoSourceCodeAnalyzerResult. - */ - fun analyzeGoSourceFilesForFunctions( - targetFunctionNamesBySourceFiles: Map>, - targetMethodNamesBySourceFiles: Map>, - goExecutableAbsolutePath: Path, - gopathAbsolutePath: Path - ): Map { - val analysisTargets = AnalysisTargets( - (targetFunctionNamesBySourceFiles.keys + targetMethodNamesBySourceFiles.keys).distinct().map { filePath -> - val targetFunctionNames = targetFunctionNamesBySourceFiles[filePath] ?: emptyList() - val targetMethodNames = targetMethodNamesBySourceFiles[filePath] ?: emptyList() - AnalysisTarget(filePath.toAbsolutePath().toString(), targetFunctionNames, targetMethodNames) - } - ) - val analysisTargetsFileName = createAnalysisTargetsFileName() - val analysisResultsFileName = createAnalysisResultsFileName() - - val goCodeAnalyzerSourceDir = extractGoCodeAnalyzerSourceDirectory() - val analysisTargetsFile = goCodeAnalyzerSourceDir.resolve(analysisTargetsFileName) - val analysisResultsFile = goCodeAnalyzerSourceDir.resolve(analysisResultsFileName) - - val goCodeAnalyzerRunCommand = listOf( - goExecutableAbsolutePath.toString(), "run" - ) + getGoCodeAnalyzerSourceFilesNames() + listOf( - "-targets", - analysisTargetsFileName, - "-results", - analysisResultsFileName, - ) - - try { - writeJsonToFileOrFail(analysisTargets, analysisTargetsFile) - val environment = modifyEnvironment(goExecutableAbsolutePath, gopathAbsolutePath) - executeCommandByNewProcessOrFail( - goCodeAnalyzerRunCommand, - goCodeAnalyzerSourceDir, - "GoSourceCodeAnalyzer for $analysisTargets", - environment - ) - val analysisResults = parseFromJsonOrFail(analysisResultsFile) - intSize = analysisResults.intSize - return analysisResults.results.map { analysisResult -> - GoUtFile(analysisResult.absoluteFilePath, analysisResult.sourcePackage) to analysisResult - }.associateBy({ (sourceFile, _) -> sourceFile }) { (sourceFile, analysisResult) -> - val functions = analysisResult.analyzedFunctions.map { analyzedFunction -> - val analyzedTypes = mutableMapOf() - analyzedFunction.types.keys.forEach { index -> - analyzedFunction.types[index]!!.toGoTypeId(index, analyzedTypes, analyzedFunction.types) - } - val receiver = analyzedFunction.receiver?.let { receiver -> - GoUtDeclaredVariable( - receiver.name, analyzedTypes[receiver.type]!! - ) - } - val parameters = analyzedFunction.parameters.map { parameter -> - GoUtDeclaredVariable( - parameter.name, analyzedTypes[parameter.type]!! - ) - } - val resultTypes = analyzedFunction.resultTypes.map { result -> - GoUtDeclaredVariable( - result.name, analyzedTypes[result.type]!!, - ) - } - val constants = mutableMapOf>() - analyzedFunction.constants.map { (type, rawValues) -> - val typeId = GoPrimitiveTypeId(type) - if (typeId !in goSupportedConstantTypes) { - error("Constants extraction: $type is a unsupported constant type") - } - val values = rawValues.map { rawValue -> - rawValueOfGoPrimitiveTypeToValue(typeId, rawValue) - } - constants.compute(typeId) { _, v -> if (v == null) values else v + values } - } - GoUtFunction( - analyzedFunction.name, - receiver, - parameters, - resultTypes, - constants, - sourceFile - ) - } - GoSourceFileAnalysisResult( - functions, - analysisResult.notSupportedFunctionNames, - analysisResult.notFoundFunctionNames - ) - } - } catch (exception: KlaxonException) { - throw GoParsingSourceCodeAnalysisResultException( - "An error occurred while parsing the result of the source code analysis.", exception - ) - } finally { - goCodeAnalyzerSourceDir.deleteRecursively() - } - } - - private fun extractGoCodeAnalyzerSourceDirectory(): File { - val sourceDirectoryName = "go_source_code_analyzer" - val classLoader = GoSourceCodeAnalyzer::class.java.classLoader - - val containingResourceFile = classLoader.scanForResourcesContaining(sourceDirectoryName).firstOrNull() ?: error( - "Can't find resource containing $sourceDirectoryName directory." - ) - if (containingResourceFile.extension != "jar") { - error("Resource for $sourceDirectoryName directory is expected to be JAR: others are not supported yet.") - } - - val archiveFilePath = containingResourceFile.toPath() - return extractDirectoryFromArchive(archiveFilePath, sourceDirectoryName)?.toFile() - ?: error("Can't find $sourceDirectoryName directory at the top level of JAR ${archiveFilePath.toAbsolutePath()}.") - } - - private fun getGoCodeAnalyzerSourceFilesNames(): List { - return listOf( - "main.go", - "analyzer_core.go", - "analysis_targets.go", - "analysis_results.go", - "constant_extractor.go" - ) - } - - private fun createAnalysisTargetsFileName(): String { - return "ut_go_analysis_targets.json" - } - - private fun createAnalysisResultsFileName(): String { - return "ut_go_analysis_results.json" - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/GoPackageInstrumentation.kt b/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/GoPackageInstrumentation.kt deleted file mode 100644 index 8ca0011a..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/GoPackageInstrumentation.kt +++ /dev/null @@ -1,86 +0,0 @@ -package org.utbot.go.gocodeinstrumentation - -import org.utbot.common.FileUtil -import org.utbot.common.scanForResourcesContaining -import org.utbot.go.util.executeCommandByNewProcessOrFail -import org.utbot.go.util.modifyEnvironment -import org.utbot.go.util.parseFromJsonOrFail -import org.utbot.go.util.writeJsonToFileOrFail -import java.io.File -import java.nio.file.Path - -object GoPackageInstrumentation { - - fun instrumentGoPackage( - testedFunctions: List, - absoluteDirectoryPath: String, - goExecutableAbsolutePath: Path, - gopathAbsolutePath: Path - ): InstrumentationResult { - val instrumentationTarget = InstrumentationTarget(absoluteDirectoryPath, testedFunctions) - val instrumentationTargetFileName = createInstrumentationTargetFileName() - val instrumentationResultFileName = createInstrumentationResultFileName() - - val goPackageInstrumentationSourceDir = extractGoPackageInstrumentationDirectory() - val instrumentationTargetFile = goPackageInstrumentationSourceDir.resolve(instrumentationTargetFileName) - val instrumentationResultFile = goPackageInstrumentationSourceDir.resolve(instrumentationResultFileName) - - val goPackageInstrumentationRunCommand = listOf( - goExecutableAbsolutePath.toString(), "run" - ) + getGoPackageInstrumentationFilesNames() + listOf( - "-target", - instrumentationTargetFile.absolutePath, - "-result", - instrumentationResultFile.absolutePath, - ) - - try { - writeJsonToFileOrFail(instrumentationTarget, instrumentationTargetFile) - val environment = modifyEnvironment(goExecutableAbsolutePath, gopathAbsolutePath) - executeCommandByNewProcessOrFail( - goPackageInstrumentationRunCommand, - goPackageInstrumentationSourceDir, - "GoPackageInstrumentation for $instrumentationTarget", - environment - ) - return parseFromJsonOrFail(instrumentationResultFile) - } finally { - instrumentationTargetFile.delete() - instrumentationResultFile.delete() - goPackageInstrumentationSourceDir.deleteRecursively() - } - } - - private fun extractGoPackageInstrumentationDirectory(): File { - val sourceDirectoryName = "go_package_instrumentation" - val classLoader = GoPackageInstrumentation::class.java.classLoader - - val containingResourceFile = classLoader.scanForResourcesContaining(sourceDirectoryName).firstOrNull() ?: error( - "Can't find resource containing $sourceDirectoryName directory." - ) - if (containingResourceFile.extension != "jar") { - error("Resource for $sourceDirectoryName directory is expected to be JAR: others are not supported yet.") - } - - val archiveFilePath = containingResourceFile.toPath() - return FileUtil.extractDirectoryFromArchive(archiveFilePath, sourceDirectoryName)?.toFile() - ?: error("Can't find $sourceDirectoryName directory at the top level of JAR ${archiveFilePath.toAbsolutePath()}.") - } - - private fun getGoPackageInstrumentationFilesNames(): List { - return listOf( - "main.go", - "instrumentator.go", - "instrumentation_target.go", - "instrumentation_result.go", - ) - } - - private fun createInstrumentationTargetFileName(): String { - return "ut_go_instrumentation_target.json" - } - - private fun createInstrumentationResultFileName(): String { - return "ut_go_instrumentation_result.json" - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/InstrumentationResult.kt b/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/InstrumentationResult.kt deleted file mode 100644 index 0e36539a..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/InstrumentationResult.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.go.gocodeinstrumentation - -data class InstrumentationResult( - val absolutePathToInstrumentedPackage: String, - val absolutePathToInstrumentedModule: String, - val testedFunctionsToCounters: Map> -) \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/InstrumentationTarget.kt b/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/InstrumentationTarget.kt deleted file mode 100644 index 2319b833..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/gocodeinstrumentation/InstrumentationTarget.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.utbot.go.gocodeinstrumentation - -internal data class InstrumentationTarget(val absolutePackagePath: String, val testedFunctions: List) \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/imports/GoImportsResolver.kt b/utbot-go/src/main/kotlin/org/utbot/go/imports/GoImportsResolver.kt deleted file mode 100644 index 1a20c3ef..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/imports/GoImportsResolver.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.go.imports - -import org.utbot.go.api.util.getAllVisibleNamedTypes -import org.utbot.go.framework.api.go.GoImport -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId - -object GoImportsResolver { - - fun resolveImportsBasedOnTypes( - types: List, - sourcePackage: GoPackage, - busyImports: Set = emptySet() - ): Set = resolveImportsBasedOnRequiredPackages( - types.getAllVisibleNamedTypes(sourcePackage).map { it.sourcePackage }.toSet(), sourcePackage, busyImports - ) - - fun resolveImportsBasedOnRequiredPackages( - requiredPackages: Set, - sourcePackage: GoPackage, - busyImports: Set = emptySet() - ): Set { - val result = busyImports.associateBy { it.goPackage }.toMutableMap() - val busyAliases = busyImports.map { it.alias ?: it.goPackage.name }.toMutableSet() - requiredPackages.distinct().filter { it != sourcePackage && !it.isBuiltin && it !in result } - .forEach { goPackage -> - val alias = if (goPackage.name in busyAliases) { - var n = 1 - while (goPackage.name + n in busyAliases) { - n++ - } - goPackage.name + n - } else { - null - } - busyAliases += alias ?: goPackage.name - result[goPackage] = GoImport(goPackage, alias) - } - return result.values.toSet() - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/logic/AbstractGoUtTestsGenerationController.kt b/utbot-go/src/main/kotlin/org/utbot/go/logic/AbstractGoUtTestsGenerationController.kt deleted file mode 100644 index 01adeea0..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/logic/AbstractGoUtTestsGenerationController.kt +++ /dev/null @@ -1,133 +0,0 @@ -package org.utbot.go.logic - -import org.utbot.go.api.GoUtFile -import org.utbot.go.api.GoUtFunction -import org.utbot.go.api.GoUtFuzzedFunctionTestCase -import org.utbot.go.api.util.intSize -import org.utbot.go.gocodeanalyzer.GoSourceCodeAnalyzer -import org.utbot.go.gocodeinstrumentation.GoPackageInstrumentation -import org.utbot.go.gocodeinstrumentation.InstrumentationResult -import org.utbot.go.simplecodegeneration.GoTestCasesCodeGenerator -import java.nio.file.Path - -abstract class AbstractGoUtTestsGenerationController { - - fun generateTests( - selectedFunctionNamesBySourceFiles: Map>, - selectedMethodNamesBySourceFiles: Map>, - testsGenerationConfig: GoUtTestsGenerationConfig, - isCanceled: () -> Boolean = { false } - ) { - if (!onSourceCodeAnalysisStart(selectedFunctionNamesBySourceFiles, selectedMethodNamesBySourceFiles)) return - val analysisResults = GoSourceCodeAnalyzer.analyzeGoSourceFilesForFunctions( - selectedFunctionNamesBySourceFiles, - selectedMethodNamesBySourceFiles, - testsGenerationConfig.goExecutableAbsolutePath, - testsGenerationConfig.gopathAbsolutePath - ) - - if (!onSourceCodeAnalysisFinished(analysisResults)) return - - if (!onPackageInstrumentationStart()) return - val instrumentationResults = mutableMapOf() - analysisResults.forEach { (file, analysisResult) -> - val absoluteDirectoryPath = file.absoluteDirectoryPath - if (instrumentationResults[absoluteDirectoryPath] == null) { - instrumentationResults[absoluteDirectoryPath] = GoPackageInstrumentation.instrumentGoPackage( - testedFunctions = analysisResult.functions.map { it.name }, - absoluteDirectoryPath = absoluteDirectoryPath, - goExecutableAbsolutePath = testsGenerationConfig.goExecutableAbsolutePath, - gopathAbsolutePath = testsGenerationConfig.gopathAbsolutePath - ) - } - } - if (!onPackageInstrumentationFinished()) return - - val numOfFunctions = analysisResults.values - .map { it.functions.size } - .reduce { acc, numOfFunctions -> acc + numOfFunctions } - val functionTimeoutStepMillis = testsGenerationConfig.allFunctionExecutionTimeoutMillis / numOfFunctions - var startTimeMillis = System.currentTimeMillis() - val testCasesBySourceFiles = analysisResults.mapValues { (sourceFile, analysisResult) -> - val functions = analysisResult.functions - if (!onTestCasesGenerationForGoSourceFileFunctionsStart(sourceFile, functions)) return - val (absolutePathToInstrumentedPackage, absolutePathToInstrumentedModule, needToCoverLines) = - instrumentationResults[sourceFile.absoluteDirectoryPath]!! - GoTestCasesGenerator.generateTestCasesForGoSourceFileFunctions( - sourceFile, - functions, - absolutePathToInstrumentedPackage, - absolutePathToInstrumentedModule, - needToCoverLines, - testsGenerationConfig - ) { index -> isCanceled() || System.currentTimeMillis() - (startTimeMillis + (index + 1) * functionTimeoutStepMillis) > 0 } - .also { - startTimeMillis += functionTimeoutStepMillis * functions.size - if (!onTestCasesGenerationForGoSourceFileFunctionsFinished(sourceFile, it)) return - } - } - - testCasesBySourceFiles.forEach { (sourceFile, testCases) -> - if (!onTestCasesFileCodeGenerationStart(sourceFile, testCases)) return - val generatedTestsFileCode = GoTestCasesCodeGenerator.generateTestCasesFileCode(sourceFile, testCases) - if (!onTestCasesFileCodeGenerationFinished(sourceFile, generatedTestsFileCode)) return - } - } - - protected abstract fun onSourceCodeAnalysisStart( - targetFunctionNamesBySourceFiles: Map>, - targetMethodNamesBySourceFiles: Map>, - ): Boolean - - protected abstract fun onSourceCodeAnalysisFinished( - analysisResults: Map - ): Boolean - - protected abstract fun onPackageInstrumentationStart(): Boolean - - protected abstract fun onPackageInstrumentationFinished(): Boolean - - protected abstract fun onTestCasesGenerationForGoSourceFileFunctionsStart( - sourceFile: GoUtFile, - functions: List - ): Boolean - - protected abstract fun onTestCasesGenerationForGoSourceFileFunctionsFinished( - sourceFile: GoUtFile, - testCases: List - ): Boolean - - protected abstract fun onTestCasesFileCodeGenerationStart( - sourceFile: GoUtFile, - testCases: List - ): Boolean - - protected abstract fun onTestCasesFileCodeGenerationFinished( - sourceFile: GoUtFile, - generatedTestsFileCode: String - ): Boolean - - protected fun generateMissingSelectedFunctionsListMessage( - analysisResults: Map, - ): String? { - val missingSelectedFunctions = analysisResults.filter { (_, analysisResult) -> - analysisResult.notSupportedFunctionAndMethodNames.isNotEmpty() || analysisResult.notFoundFunctionAndMethodNames.isNotEmpty() - } - if (missingSelectedFunctions.isEmpty()) { - return null - } - return missingSelectedFunctions.map { (sourceFile, analysisResult) -> - val notSupportedFunctions = analysisResult.notSupportedFunctionAndMethodNames.joinToString(separator = ", ") - val notFoundFunctions = analysisResult.notFoundFunctionAndMethodNames.joinToString(separator = ", ") - val messageSb = StringBuilder() - messageSb.append("File ${sourceFile.absolutePath}") - if (notSupportedFunctions.isNotEmpty()) { - messageSb.append("\n-- contains currently unsupported functions: $notSupportedFunctions") - } - if (notFoundFunctions.isNotEmpty()) { - messageSb.append("\n-- does not contain functions: $notFoundFunctions") - } - messageSb.toString() - }.joinToString(separator = "\n\n", prefix = "\n\n", postfix = "\n\n") - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/logic/GoTestCasesGenerator.kt b/utbot-go/src/main/kotlin/org/utbot/go/logic/GoTestCasesGenerator.kt deleted file mode 100644 index 5c26dc71..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/logic/GoTestCasesGenerator.kt +++ /dev/null @@ -1,159 +0,0 @@ -package org.utbot.go.logic - -import kotlinx.coroutines.* -import kotlinx.coroutines.flow.catch -import mu.KotlinLogging -import org.utbot.common.isWindows -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.go.CoveredLines -import org.utbot.go.GoEngine -import org.utbot.go.api.ExecutionResults -import org.utbot.go.api.GoUtFile -import org.utbot.go.api.GoUtFunction -import org.utbot.go.api.GoUtFuzzedFunctionTestCase -import org.utbot.go.imports.GoImportsResolver -import org.utbot.go.util.executeCommandByNewProcessOrFail -import org.utbot.go.util.modifyEnvironment -import org.utbot.go.worker.GoWorker -import org.utbot.go.worker.GoWorkerCodeGenerationHelper -import java.io.File -import java.net.ServerSocket -import java.nio.file.Path -import kotlin.system.measureTimeMillis - -val logger = KotlinLogging.logger {} - -object GoTestCasesGenerator { - - fun generateTestCasesForGoSourceFileFunctions( - sourceFile: GoUtFile, - functions: List, - absolutePathToInstrumentedPackage: String, - absolutePathToInstrumentedModule: String, - needToCoverLines: Map>, - testsGenerationConfig: GoUtTestsGenerationConfig, - timeoutExceededOrIsCanceled: (index: Int) -> Boolean = { false }, - ): List = ServerSocket(0).use { serverSocket -> - val allTestCases = mutableListOf() - var testFile: File? = null - try { - // creating files for workers - val types = functions.flatMap { it.parameters }.map { it.type } - val imports = GoImportsResolver.resolveImportsBasedOnTypes( - types, sourceFile.sourcePackage, GoWorkerCodeGenerationHelper.alwaysRequiredImports - ) - val aliases = imports.filter { it.alias != null }.associate { it.goPackage to it.alias } - GoWorkerCodeGenerationHelper.createFileToExecute( - sourceFile, - functions, - absolutePathToInstrumentedPackage, - testsGenerationConfig.eachFunctionExecutionTimeoutMillis, - serverSocket.localPort, - imports - ) - GoWorkerCodeGenerationHelper.createFileWithCoverTab( - sourceFile, absolutePathToInstrumentedPackage - ) - - // compiling the test binary - testFile = run { - if (isWindows) { - Path.of(sourceFile.absoluteDirectoryPath, "utbot_go_test.exe") - } else { - Path.of(sourceFile.absoluteDirectoryPath, "utbot_go_test") - } - }.toFile() - val buildCommand = listOf( - testsGenerationConfig.goExecutableAbsolutePath.toString(), "test", "-c", "-o", testFile.absolutePath - ) - val environment = modifyEnvironment( - testsGenerationConfig.goExecutableAbsolutePath, - testsGenerationConfig.gopathAbsolutePath - ) - logger.debug { "Compiling the test binary - started" } - val compilingTestBinaryTime = measureTimeMillis { - executeCommandByNewProcessOrFail( - buildCommand, - File(absolutePathToInstrumentedPackage), - "compiling the test binary to the $testFile file", - environment - ) - } - logger.debug { "Compiling the test binary - completed in [$compilingTestBinaryTime] (ms)" } - - // starting worker processes - logger.debug { "Creation of workers - started" } - val creationOfWorkersStartTime = System.currentTimeMillis() - val workers = runBlocking { - val testFunctionName = GoWorkerCodeGenerationHelper.workerTestFunctionName - val goPackage = sourceFile.sourcePackage - val sourceFileDir = File(sourceFile.absoluteDirectoryPath) - return@runBlocking (1..testsGenerationConfig.numberOfFuzzingProcess).map { - async(Dispatchers.IO) { - GoWorker.createWorker( - testFunctionName, - testFile.absolutePath, - goPackage, - testsGenerationConfig.goExecutableAbsolutePath, - testsGenerationConfig.gopathAbsolutePath, - sourceFileDir, - serverSocket - ) - } - }.awaitAll() - } - logger.debug { "Creation of workers - completed in [${System.currentTimeMillis() - creationOfWorkersStartTime}] (ms)" } - - // fuzzing - functions.forEachIndexed { index, function -> - if (timeoutExceededOrIsCanceled(index)) return@forEachIndexed - val coveredLinesToExecutionResults = mutableMapOf() - val engine = GoEngine( - workers = workers, - functionUnderTest = function, - needToCoverLines = needToCoverLines[function.name]!!.toSet(), - aliases = aliases, - functionExecutionTimeoutMillis = testsGenerationConfig.eachFunctionExecutionTimeoutMillis, - mode = testsGenerationConfig.mode, - ) { timeoutExceededOrIsCanceled(index) } - logger.info { "Fuzzing for function [${function.name}] - started" } - val totalFuzzingTime = runBlocking { - measureTimeMillis { - engine.fuzzing().catch { - logger.error { "Error in flow: ${it.message}" } - }.collect { - it.entries.forEach { (coveredLines, executionResults) -> - if (coveredLinesToExecutionResults[coveredLines] == null) { - coveredLinesToExecutionResults[coveredLines] = executionResults - } else { - coveredLinesToExecutionResults[coveredLines]!!.update(executionResults) - } - } - } - } - } - val numberOfExecutionsPerSecond = if (totalFuzzingTime / 1000 != 0L) { - (engine.numberOfFunctionExecutions.get() / (totalFuzzingTime / 1000)).toString() - } else { - ">${engine.numberOfFunctionExecutions}" - } - logger.debug { "Number of function executions - [${engine.numberOfFunctionExecutions}] ($numberOfExecutionsPerSecond/sec)" } - val testCases = coveredLinesToExecutionResults.values.flatMap { it.getTestCases() } - logger.info { "Fuzzing for function [${function.name}] - completed in [$totalFuzzingTime] (ms). Generated [${testCases.size}] test cases" } - allTestCases += testCases - } - runBlocking { - workers.map { launch(Dispatchers.IO) { it.close() } }.joinAll() - } - } catch (e: TimeoutException) { - logger.error { e.message } - } catch (e: RuntimeException) { - logger.error { e.message } - } finally { - // delete test file and directory with instrumented packages - testFile?.delete() - File(absolutePathToInstrumentedModule).delete() - } - return allTestCases - } -} diff --git a/utbot-go/src/main/kotlin/org/utbot/go/logic/GoUtTestsGenerationConfig.kt b/utbot-go/src/main/kotlin/org/utbot/go/logic/GoUtTestsGenerationConfig.kt deleted file mode 100644 index 40527f15..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/logic/GoUtTestsGenerationConfig.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.go.logic - -import java.nio.file.Path - -enum class TestsGenerationMode { - DEFAULT, FUZZING_MODE -} - -class GoUtTestsGenerationConfig( - val goExecutableAbsolutePath: Path, - val gopathAbsolutePath: Path, - val numberOfFuzzingProcess: Int, - val mode: TestsGenerationMode, - val eachFunctionExecutionTimeoutMillis: Long, - val allFunctionExecutionTimeoutMillis: Long -) { - - companion object Constants { - const val DEFAULT_NUMBER_OF_FUZZING_PROCESSES: Int = 8 - const val DEFAULT_ALL_EXECUTION_TIMEOUT_MILLIS: Long = 60000 - const val DEFAULT_EACH_EXECUTION_TIMEOUT_MILLIS: Long = 1000 - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoFileCodeBuilder.kt b/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoFileCodeBuilder.kt deleted file mode 100644 index a48fe781..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoFileCodeBuilder.kt +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.go.simplecodegeneration - -import org.utbot.go.framework.api.go.GoImport -import org.utbot.go.framework.api.go.GoPackage - -class GoFileCodeBuilder( - sourcePackage: GoPackage, - imports: Set, -) { - private val packageLine: String = "package ${sourcePackage.name}" - private val importLines: String = importLines(imports) - private val topLevelElements: MutableList = mutableListOf() - - private fun importLines(imports: Set): String { - if (imports.isEmpty()) return "" - if (imports.size == 1) { - return "import ${imports.first()}" - } - - return imports.sortedWith(compareBy { it.goPackage.path }.thenBy { it.alias }) - .joinToString(separator = "", prefix = "import (\n", postfix = ")") { - "\t$it\n" - } - } - - fun buildCodeString(): String { - if (importLines.isEmpty()) { - return "$packageLine\n\n${topLevelElements.joinToString(separator = "\n\n")}" - } - return "$packageLine\n\n$importLines\n\n${topLevelElements.joinToString(separator = "\n\n")}" - } - - fun addTopLevelElements(vararg elements: String) { - topLevelElements.addAll(elements) - } - - fun addTopLevelElements(elements: Iterable) { - topLevelElements.addAll(elements) - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoTestCasesCodeGenerator.kt b/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoTestCasesCodeGenerator.kt deleted file mode 100644 index cd7cbfdc..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoTestCasesCodeGenerator.kt +++ /dev/null @@ -1,455 +0,0 @@ -package org.utbot.go.simplecodegeneration - -import org.utbot.go.api.* -import org.utbot.go.api.util.containsNaNOrInf -import org.utbot.go.api.util.goBoolTypeId -import org.utbot.go.api.util.goFloat64TypeId -import org.utbot.go.api.util.goStringTypeId -import org.utbot.go.framework.api.go.GoImport -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel -import org.utbot.go.imports.GoImportsResolver - -object GoTestCasesCodeGenerator { - - private const val prefixOfVariableNames = "arg" - - private val alwaysRequiredImports = setOf( - GoImport(GoPackage("assert", "github.com/stretchr/testify/assert")), - GoImport(GoPackage("testing", "testing")) - ) - - private data class Variable(val name: String, val type: GoTypeId, val value: GoUtModel) - - fun generateTestCasesFileCode(sourceFile: GoUtFile, testCases: List): String { - val destinationPackage = sourceFile.sourcePackage - val imports = if (testCases.isEmpty() || testCases.all { it.executionResult is GoUtTimeoutExceeded }) { - emptySet() - } else { - val requiredPackages = mutableSetOf() - testCases.forEach { testCase -> - testCase.parametersValues.forEach { - requiredPackages += it.getRequiredPackages(destinationPackage) - } - when (val executionResult = testCase.executionResult) { - is GoUtExecutionCompleted -> executionResult.models.forEach { - requiredPackages += it.getRequiredPackages(destinationPackage) - } - - is GoUtPanicFailure -> requiredPackages += executionResult.panicValue.getRequiredPackages( - destinationPackage - ) - } - } - - GoImportsResolver.resolveImportsBasedOnRequiredPackages( - requiredPackages, destinationPackage, alwaysRequiredImports - ) - } - val fileBuilder = GoFileCodeBuilder(destinationPackage, imports) - val aliases = imports.associate { (goPackage, alias) -> goPackage to alias } - val goUtModelToCodeConverter = GoUtModelToCodeConverter(destinationPackage, aliases) - - fun List.generateTestFunctions( - generateTestFunctionForTestCase: (GoUtFuzzedFunctionTestCase, Int?, GoUtModelToCodeConverter) -> String, - ) { - this.forEachIndexed { testIndex, testCase -> - val testIndexToShow = if (this.size == 1) null else testIndex + 1 - val testFunctionCode = - generateTestFunctionForTestCase(testCase, testIndexToShow, goUtModelToCodeConverter) - fileBuilder.addTopLevelElements(testFunctionCode) - } - } - - testCases.groupBy { it.function }.forEach { (_, functionTestCases) -> - functionTestCases.filter { it.executionResult is GoUtExecutionCompleted } - .generateTestFunctions(::generateTestFunctionForCompletedExecutionTestCase) - functionTestCases.filter { it.executionResult is GoUtPanicFailure } - .generateTestFunctions(::generateTestFunctionForPanicFailureTestCase) - functionTestCases.filter { it.executionResult is GoUtTimeoutExceeded } - .generateTestFunctions(::generateTestFunctionForTimeoutExceededTestCase) - } - - return fileBuilder.buildCodeString() - } - - private fun generateTestFunctionForCompletedExecutionTestCase( - testCase: GoUtFuzzedFunctionTestCase, testIndexToShow: Int?, goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String { - val (fuzzedFunction, executionResult) = testCase - val function = fuzzedFunction.function - - val testFunctionNamePostfix = if (executionResult is GoUtExecutionWithNonNilError) { - "WithNonNilError" - } else { - "" - } - val testIndexToShowString = testIndexToShow ?: "" - val testFunctionSignatureDeclaration = - "func Test${function.name.replaceFirstChar(Char::titlecaseChar)}${testFunctionNamePostfix}ByUtGoFuzzer$testIndexToShowString(t *testing.T)" - - val variables: List = generateVariables(fuzzedFunction) - val variablesDeclarationAndInitialization = - generateVariablesDeclarationAndInitialization(variables, goUtModelToCodeConverter) - - if (function.results.isEmpty()) { - val actualFunctionCall = generateFuzzedFunctionCall(function, variables) - val testFunctionBody = buildString { - if (variablesDeclarationAndInitialization != "\n") { - append(variablesDeclarationAndInitialization) - } - appendLine("\tassert.NotPanics(t, func() {") - appendLine("\t\t$actualFunctionCall") - appendLine("\t})") - - } - return "$testFunctionSignatureDeclaration {\n$testFunctionBody}" - } - - val resultTypes = function.results.map { it.type } - val doResultTypesImplementError = resultTypes.map { it.implementsError } - val errorVariablesNumber = doResultTypesImplementError.count { it } - val commonVariablesNumber = resultTypes.size - errorVariablesNumber - val actualResultVariablesNames = run { - var errorVariablesIndex = 0 - var commonVariablesIndex = 0 - doResultTypesImplementError.map { implementsError -> - if (implementsError) { - "actualErr${if (errorVariablesNumber > 1) errorVariablesIndex++ else ""}" - } else { - "actualVal${if (commonVariablesNumber > 1) commonVariablesIndex++ else ""}" - } - } - } - val actualFunctionCall = generateFuzzedFunctionCallSavedToVariables( - actualResultVariablesNames, fuzzedFunction, variables - ) - - val expectedResultValues = (executionResult as GoUtExecutionCompleted).models - val expectedResultVariables = run { - var errorVariablesIndex = 0 - var commonVariablesIndex = 0 - resultTypes.zip(expectedResultValues).map { (type, value) -> - if (modelIsNilOrBoolOrFloatNanOrFloatInf(value)) { - return@map null - } - val name = if (type.implementsError) { - "expectedErrorMessage${if (errorVariablesNumber > 1) errorVariablesIndex++ else ""}" - } else { - "expectedVal${if (commonVariablesNumber > 1) commonVariablesIndex++ else ""}" - } - Variable(name, type, value) - } - } - - val expectedVariablesDeclarationAndInitialization = - generateVariablesDeclarationAndInitialization(expectedResultVariables, goUtModelToCodeConverter) - - val (assertionName, assertionTParameter) = if (expectedResultValues.size > 1 || expectedResultValues.any { it.isComplexModelAndNeedsSeparateAssertions() }) { - "assertMultiple" to "" - } else { - "assert" to "t, " - } - val allAssertionCalls = - actualResultVariablesNames.zip(expectedResultVariables.map { it?.name ?: "" }).zip(expectedResultValues) - .flatMap { (actualAndExpectedResultVariableName, expectedResultValue) -> - val (actualResultVariableName, expectedResultVariableName) = actualAndExpectedResultVariableName - - val assertionCalls = if (expectedResultValue.isComplexModelAndNeedsSeparateAssertions()) { - listOf( - generateCompletedExecutionAssertionCall( - expectedModel = expectedResultValue, - expectedResultCode = "real($expectedResultVariableName)", - actualResultCode = "real($actualResultVariableName)", - doesReturnTypeImplementError = expectedResultValue.typeId.implementsError, - assertionTParameter - ), generateCompletedExecutionAssertionCall( - expectedModel = expectedResultValue, - expectedResultCode = "imag($expectedResultVariableName)", - actualResultCode = "imag($actualResultVariableName)", - doesReturnTypeImplementError = expectedResultValue.typeId.implementsError, - assertionTParameter - ) - ) - } else { - listOf( - generateCompletedExecutionAssertionCall( - expectedModel = expectedResultValue, - expectedResultCode = expectedResultVariableName, - actualResultCode = actualResultVariableName, - doesReturnTypeImplementError = expectedResultValue.typeId.implementsError, - assertionTParameter - ) - ) - } - assertionCalls.map { "$assertionName.$it" } - } - - val testFunctionBody = buildString { - if (variablesDeclarationAndInitialization != "\n") { - append(variablesDeclarationAndInitialization) - } - append("\t$actualFunctionCall\n\n") - if (expectedVariablesDeclarationAndInitialization != "\n") { - append(expectedVariablesDeclarationAndInitialization) - } - if (expectedResultValues.size > 1 || expectedResultValues.any { it.isComplexModelAndNeedsSeparateAssertions() }) { - append("\tassertMultiple := assert.New(t)\n") - } - allAssertionCalls.forEach { - append("\t$it\n") - } - } - - return "$testFunctionSignatureDeclaration {\n$testFunctionBody}" - } - - private fun GoUtModel.isComplexModelAndNeedsSeparateAssertions(): Boolean = - this is GoUtComplexModel && this.containsNaNOrInf() - - private fun generateCompletedExecutionAssertionCall( - expectedModel: GoUtModel, - expectedResultCode: String, - actualResultCode: String, - doesReturnTypeImplementError: Boolean, - assertionTParameter: String, - ): String { - if (expectedModel is GoUtNilModel || (expectedModel is GoUtNamedModel && expectedModel.value is GoUtNilModel)) { - return "Nil($assertionTParameter$actualResultCode)" - } - if (doesReturnTypeImplementError && (expectedModel is GoUtNamedModel && expectedModel.value.typeId == goStringTypeId)) { - return "ErrorContains($assertionTParameter$actualResultCode, ${expectedResultCode})" - } - if (expectedModel is GoUtPrimitiveModel && expectedModel.typeId == goBoolTypeId) { - return if (expectedModel.value == true) { - "True($assertionTParameter$actualResultCode)" - } else { - "False($assertionTParameter$actualResultCode)" - } - } - if (expectedModel is GoUtFloatNaNModel) { - val castedActualResultCode = generateCastIfNeed(goFloat64TypeId, expectedModel.typeId, actualResultCode) - return "True(${assertionTParameter}math.IsNaN($castedActualResultCode))" - } - if (expectedModel is GoUtFloatInfModel) { - val castedActualResultCode = generateCastIfNeed(goFloat64TypeId, expectedModel.typeId, actualResultCode) - return "True(${assertionTParameter}math.IsInf($castedActualResultCode, ${expectedModel.sign}))" - } - val prefix = if (!expectedModel.isComparable()) "Not" else "" - return "${prefix}Equal($assertionTParameter$expectedResultCode, $actualResultCode)" - } - - private fun generateTestFunctionForPanicFailureTestCase( - testCase: GoUtFuzzedFunctionTestCase, testIndexToShow: Int?, goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String { - val (fuzzedFunction, executionResult) = testCase - val function = fuzzedFunction.function - - val testIndexToShowString = testIndexToShow ?: "" - val testFunctionSignatureDeclaration = - "func Test${function.name.replaceFirstChar(Char::titlecaseChar)}PanicsByUtGoFuzzer$testIndexToShowString(t *testing.T)" - - val variables: List = generateVariables(fuzzedFunction) - val variablesDeclaration = generateVariablesDeclarationAndInitialization(variables, goUtModelToCodeConverter) - - val actualFunctionCall = generateFuzzedFunctionCall(function, variables) - val actualFunctionCallLambda = buildString { - appendLine("func() {") - if (function.results.isNotEmpty()) { - appendLine("\t\t${function.results.joinToString { "_" }} = $actualFunctionCall") - } else { - appendLine("\t\t$actualFunctionCall") - } - append("\t}") - } - val testFunctionBodySb = StringBuilder(variablesDeclaration) - val (expectedPanicValue, isErrorMessage) = (executionResult as GoUtPanicFailure) - val panicValueIsComparable = expectedPanicValue.isComparable() - if (isErrorMessage) { - val errorMessageVariable = Variable("expectedErrorMessage", expectedPanicValue.typeId, expectedPanicValue) - - val errorMessageToGoCode = goUtModelToCodeConverter.toGoCode(errorMessageVariable.value) - testFunctionBodySb.append("\t${errorMessageVariable.name} := ${errorMessageToGoCode}\n\n") - testFunctionBodySb.append("\tassert.PanicsWithError(t, ${errorMessageVariable.name}, $actualFunctionCallLambda)\n") - } else if (panicValueIsComparable || expectedPanicValue is GoUtNilModel) { - val panicValueVariable = Variable("expectedVal", expectedPanicValue.typeId, expectedPanicValue) - - val panicValueToGoCode = goUtModelToCodeConverter.toGoCode(panicValueVariable.value) - testFunctionBodySb.append("\t${panicValueVariable.name} := $panicValueToGoCode\n\n") - testFunctionBodySb.append("\tassert.PanicsWithValue(t, ${panicValueVariable.name}, $actualFunctionCallLambda)\n") - } else { - testFunctionBodySb.append("\tassert.Panics(t, $actualFunctionCallLambda)\n") - } - - val testFunctionBody = testFunctionBodySb.toString() - return "$testFunctionSignatureDeclaration {\n$testFunctionBody}" - } - - private fun generateTestFunctionForTimeoutExceededTestCase( - testCase: GoUtFuzzedFunctionTestCase, - @Suppress("UNUSED_PARAMETER") testIndexToShow: Int?, - goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String { - val (fuzzedFunction, executionResult) = testCase - val functionName = fuzzedFunction.function.name - val fuzzedParametersToString = fuzzedFunction.parametersValues.joinToString { - goUtModelToCodeConverter.toGoCode(it) - } - val actualFunctionCall = "$functionName($fuzzedParametersToString)" - val exceededTimeoutMillis = (executionResult as GoUtTimeoutExceeded).timeoutMillis - return "// $actualFunctionCall exceeded $exceededTimeoutMillis ms timeout" - } - - private fun generateVariables(fuzzedFunction: GoUtFuzzedFunction): List { - val parameters = fuzzedFunction.function.let { function -> - if (function.isMethod) { - listOf(function.receiver!!) + function.parameters - } else { - function.parameters - } - } - val parameterNames = parameters.map { it.name } - val parameterValues = fuzzedFunction.parametersValues - val parametersTypes = parameters.map { it.type } - - val busyVariableNames = parameterNames.filter { it != "" && it != "_" }.toMutableSet() - val variablesNumber = parameterNames.filter { it == "" || it == "_" }.size - var variablesIndex = 1 - - return parameterNames.zip(parametersTypes).zip(parameterValues) - .map { (nameAndType, value) -> - val (name, type) = nameAndType - val variableName = if (name == "" || name == "_") { - if (variablesNumber == 1 && prefixOfVariableNames !in busyVariableNames) { - prefixOfVariableNames - } else { - while ("$prefixOfVariableNames$variablesIndex" in busyVariableNames) { - variablesIndex++ - } - "$prefixOfVariableNames$variablesIndex" - } - } else { - name - } - busyVariableNames.add(variableName) - Variable(variableName, type, value) - } - } - - private fun generateChannelInitialization( - nameOfVariable: String, - model: GoUtChanModel, - goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String = model.getElements().joinToString(separator = "") { - "\t$nameOfVariable <- ${goUtModelToCodeConverter.toGoCode(it)}\n" - } + "\tclose($nameOfVariable)\n" - - private fun generatePointerToPrimitiveInitialization( - nameOfVariable: String, - model: GoUtPrimitiveModel, - goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String = "\t*$nameOfVariable = ${goUtModelToCodeConverter.toGoCodeWithoutTypeName(model)}\n" - - private fun generateVariableDeclaration( - variable: Variable, - goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String { - val (name, type, value) = variable - return if (type.implementsError && (value is GoUtNamedModel && value.value.typeId == goStringTypeId)) { - "\t$name := ${goUtModelToCodeConverter.toGoCode(value.value)}\n" - } else { - "\t$name := ${goUtModelToCodeConverter.toGoCode(value)}\n" - } - } - - private fun generateVariableInitialization( - variable: Variable, - goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String { - val (name, _, value) = variable - return when (value) { - is GoUtChanModel -> generateChannelInitialization(name, value, goUtModelToCodeConverter) - - is GoUtNamedModel -> if (value.value is GoUtChanModel) { - generateChannelInitialization(name, value.value as GoUtChanModel, goUtModelToCodeConverter) - } else { - "" - } - - is GoUtPointerModel -> if (value.value is GoUtPrimitiveModel) { - generatePointerToPrimitiveInitialization( - name, - value.value as GoUtPrimitiveModel, - goUtModelToCodeConverter - ) - } else if (value.value is GoUtNamedModel && (value.value as GoUtNamedModel).value is GoUtPrimitiveModel) { - generatePointerToPrimitiveInitialization( - name, - (value.value as GoUtNamedModel).value as GoUtPrimitiveModel, - goUtModelToCodeConverter - ) - } else { - "" - } - - else -> "" - } - } - - private fun generateVariablesDeclarationAndInitialization( - variables: List, goUtModelToCodeConverter: GoUtModelToCodeConverter - ): String { - val vars = variables.filterNotNull() - return if (vars.isNotEmpty()) { - vars.joinToString(separator = "", postfix = "\n") { variable -> - val declaration = generateVariableDeclaration(variable, goUtModelToCodeConverter) - val initialization = generateVariableInitialization(variable, goUtModelToCodeConverter) - declaration + initialization - } - } else { - "" - } - } - - private fun generateFuzzedFunctionCall(function: GoUtFunction, variables: List): String { - return if (function.isMethod) { - val fuzzedParametersToString = variables.drop(1).joinToString(prefix = "(", postfix = ")") { - it.name - } - "${variables[0].name}.${function.name}$fuzzedParametersToString" - } else { - val fuzzedParametersToString = variables.joinToString(prefix = "(", postfix = ")") { - it.name - } - "${function.name}$fuzzedParametersToString" - } - } - - private fun generateVariablesDeclarationTo(variablesNames: List, expression: String): String { - val variables = variablesNames.joinToString() - return "$variables := $expression" - } - - private fun generateFuzzedFunctionCallSavedToVariables( - variablesNames: List, fuzzedFunction: GoUtFuzzedFunction, variables: List - ): String = generateVariablesDeclarationTo( - variablesNames, expression = generateFuzzedFunctionCall(fuzzedFunction.function, variables) - ) - - private fun modelIsNilOrBoolOrFloatNanOrFloatInf(value: GoUtModel): Boolean = value is GoUtNilModel - || (value is GoUtNamedModel && value.value is GoUtNilModel) - || value.typeId == goBoolTypeId - || value is GoUtFloatNaNModel - || value is GoUtFloatInfModel - - private fun generateCastIfNeed( - toTypeId: GoPrimitiveTypeId, expressionType: GoPrimitiveTypeId, expression: String - ): String { - return if (expressionType != toTypeId) { - "${toTypeId.name}($expression)" - } else { - expression - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoUtModelToCodeConverter.kt b/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoUtModelToCodeConverter.kt deleted file mode 100644 index 233cb674..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/simplecodegeneration/GoUtModelToCodeConverter.kt +++ /dev/null @@ -1,151 +0,0 @@ -package org.utbot.go.simplecodegeneration - -import org.utbot.go.api.* -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.api.util.goStringTypeId -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel - -class GoUtModelToCodeConverter( - private val destinationPackage: GoPackage, - private val aliases: Map -) { - - fun toGoCode(model: GoUtModel): String = when (model) { - is GoUtNilModel -> nilModelToGoCode(model) - - is GoUtPrimitiveModel -> when (model.explicitCastMode) { - ExplicitCastMode.REQUIRED, ExplicitCastMode.DEPENDS -> primitiveModelToCastedValueGoCode(model) - ExplicitCastMode.NEVER -> primitiveModelToValueGoCode(model) - } - - is GoUtArrayModel -> arrayModelToGoCode(model) - - is GoUtSliceModel -> sliceModelToGoCode(model) - - is GoUtMapModel -> mapModelToGoCode(model) - - is GoUtChanModel -> chanModelToGoCode(model) - - is GoUtNamedModel -> namedModelToGoCode(model) - - is GoUtPointerModel -> pointerModelToGoCode(model) - - else -> error("Converting a ${model.javaClass} to Go code isn't supported") - } - - fun toGoCodeWithoutTypeName(model: GoUtModel): String = when (model) { - is GoUtNilModel -> "nil" - - is GoUtPrimitiveModel -> when (model.explicitCastMode) { - ExplicitCastMode.REQUIRED -> primitiveModelToCastedValueGoCode(model) - ExplicitCastMode.DEPENDS, ExplicitCastMode.NEVER -> primitiveModelToValueGoCode(model) - } - - is GoUtStructModel -> structModelToGoCodeWithoutStructName(model) - - is GoUtArrayModel -> arrayModelToGoCodeWithoutTypeName(model) - - is GoUtSliceModel -> sliceModelToGoCodeWithoutTypeName(model) - - is GoUtMapModel -> mapModelToGoCodeWithoutTypeName(model) - - is GoUtNamedModel -> toGoCodeWithoutTypeName(model.value) - - is GoUtPointerModel -> pointerModelToGoCode(model) - - else -> error("Converting a ${model.javaClass} to Go code isn't supported") - } - - private fun nilModelToGoCode(model: GoUtNilModel): String { - val typeName = model.typeId.getRelativeName(destinationPackage, aliases) - return "($typeName)(nil)" - } - - private fun primitiveModelToValueGoCode(model: GoUtPrimitiveModel): String = when (model) { - is GoUtComplexModel -> complexModeToValueGoCode(model) - else -> if (model.typeId == goStringTypeId) "\"${model.value}\"" else "${model.value}" - } - - private fun primitiveModelToCastedValueGoCode(model: GoUtPrimitiveModel): String { - val typeName = model.typeId.getRelativeName(destinationPackage, aliases) - return "$typeName(${primitiveModelToValueGoCode(model)})" - } - - private fun complexModeToValueGoCode(model: GoUtComplexModel) = - "complex(${toGoCode(model.realValue)}, ${toGoCode(model.imagValue)})" - - private fun structModelToGoCodeWithoutStructName(model: GoUtStructModel): String = - model.value.entries.filter { (fieldId, model) -> model != fieldId.declaringType.goDefaultValueModel() } - .joinToString(prefix = "{", postfix = "}") { (fieldId, model) -> - "${fieldId.name}: ${toGoCode(model)}" - } - - private fun arrayModelToGoCode(model: GoUtArrayModel): String { - val typeName = model.typeId.getRelativeName(destinationPackage, aliases) - return typeName + arrayModelToGoCodeWithoutTypeName(model) - } - - private fun arrayModelToGoCodeWithoutTypeName(model: GoUtArrayModel): String = - model.getElements().joinToString(prefix = "{", postfix = "}") { - toGoCodeWithoutTypeName(it) - } - - private fun sliceModelToGoCode(model: GoUtSliceModel): String { - val typeName = model.typeId.getRelativeName(destinationPackage, aliases) - return typeName + sliceModelToGoCodeWithoutTypeName(model) - } - - private fun sliceModelToGoCodeWithoutTypeName(model: GoUtSliceModel): String = - model.getElements().joinToString(prefix = "{", postfix = "}") { - toGoCodeWithoutTypeName(it) - } - - private fun mapModelToGoCode(model: GoUtMapModel): String { - val typeName = model.typeId.getRelativeName(destinationPackage, aliases) - return typeName + mapModelToGoCodeWithoutTypeName(model) - } - - private fun mapModelToGoCodeWithoutTypeName(model: GoUtMapModel): String = - model.value.entries.joinToString(prefix = "{", postfix = "}") { - "${toGoCode(it.key)}: ${toGoCodeWithoutTypeName(it.value)}" - } - - private fun chanModelToGoCode(model: GoUtChanModel): String { - val elemTypeName = model.typeId.elementTypeId!!.getRelativeName(destinationPackage, aliases) - return "make(chan $elemTypeName, ${model.value.size})" - } - - private fun namedModelToGoCode(model: GoUtNamedModel): String { - if (model.value is GoUtNamedModel) { - return toGoCode(model.value) - } - val typeName = model.typeId.getRelativeName(destinationPackage, aliases) - return if (model.value is GoUtPrimitiveModel || model.value is GoUtNilModel) { - "$typeName(${toGoCodeWithoutTypeName(model.value)})" - } else { - "$typeName${toGoCodeWithoutTypeName(model.value)}" - } - } - - private fun pointerToZeroValueOfType(typeId: GoTypeId): String { - val typeName = typeId.getRelativeName(destinationPackage, aliases) - return "new($typeName)" - } - - private fun pointerModelToGoCode(model: GoUtPointerModel): String = when (val value = model.value) { - is GoUtNilModel -> pointerToZeroValueOfType(value.typeId) - is GoUtPrimitiveModel -> pointerToZeroValueOfType(value.typeId) - - is GoUtNamedModel -> { - if (value.value is GoUtPrimitiveModel) { - pointerToZeroValueOfType(value.typeId) - } else { - "&${toGoCode(value)}" - } - } - - else -> "&${toGoCode(value)}" - } -} diff --git a/utbot-go/src/main/kotlin/org/utbot/go/util/JsonUtil.kt b/utbot-go/src/main/kotlin/org/utbot/go/util/JsonUtil.kt deleted file mode 100644 index 47cf0927..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/util/JsonUtil.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.go.util - -import com.beust.klaxon.Klaxon -import java.io.File - -fun convertObjectToJsonString(targetObject: T): String = Klaxon().toJsonString(targetObject) - -fun writeJsonToFileOrFail(targetObject: T, jsonFile: File) { - val targetObjectAsJson = convertObjectToJsonString(targetObject) - jsonFile.writeText(targetObjectAsJson) -} - -inline fun parseFromJsonOrFail(jsonFile: File): T { - val result = Klaxon().parse(jsonFile) - if (result == null) { - val rawResults = try { - jsonFile.readText() - } catch (exception: Exception) { - null - } - throw RuntimeException( - "Failed to deserialize results: $rawResults" - ) - } - return result -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/util/ProcessExecutionUtil.kt b/utbot-go/src/main/kotlin/org/utbot/go/util/ProcessExecutionUtil.kt deleted file mode 100644 index 4f07143c..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/util/ProcessExecutionUtil.kt +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.go.util - -import java.io.File -import java.io.InputStreamReader -import java.nio.file.Path - -fun modifyEnvironment(goExecutableAbsolutePath: Path, gopathAbsolutePath: Path): MutableMap { - val environment = System.getenv().toMutableMap().apply { - this["Path"] = - listOfNotNull(goExecutableAbsolutePath.parent, this["Path"]).joinToString(separator = File.pathSeparator) - this["GOROOT"] = goExecutableAbsolutePath.parent.parent.toString() - this["GOPATH"] = gopathAbsolutePath.toString() - } - return environment -} - -fun executeCommandByNewProcessOrFail( - command: List, - workingDirectory: File, - executionTargetName: String, - environment: Map = System.getenv(), - helpMessage: String? = null -) { - val helpMessageLine = if (helpMessage == null) "" else "\n\nHELP: $helpMessage" - val executedProcess = runCatching { - val process = executeCommandByNewProcessOrFailWithoutWaiting(command, workingDirectory, environment) - process.waitFor() - process - }.getOrElse { - throw RuntimeException( - StringBuilder() - .append("Execution of $executionTargetName in child process failed with throwable: ") - .append("$it").append(helpMessageLine) - .toString() - ) - } - val exitCode = executedProcess.exitValue() - if (exitCode != 0) { - val processOutput = InputStreamReader(executedProcess.inputStream).readText() - throw RuntimeException( - StringBuilder() - .append("Execution of $executionTargetName in child process failed with non-zero exit code = $exitCode: ") - .append("\n$processOutput").append(helpMessageLine) - .toString() - ) - } -} - -fun executeCommandByNewProcessOrFailWithoutWaiting( - command: List, - workingDirectory: File, - environment: Map = System.getenv() -): Process { - val processBuilder = ProcessBuilder(command) - .redirectOutput(ProcessBuilder.Redirect.PIPE) - .redirectErrorStream(true) - .directory(workingDirectory) - processBuilder.environment().clear() - processBuilder.environment().putAll(environment) - return processBuilder.start() -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/worker/GoCodeTemplates.kt b/utbot-go/src/main/kotlin/org/utbot/go/worker/GoCodeTemplates.kt deleted file mode 100644 index ce227be1..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/worker/GoCodeTemplates.kt +++ /dev/null @@ -1,1431 +0,0 @@ -package org.utbot.go.worker - -import org.utbot.go.api.GoInterfaceTypeId -import org.utbot.go.api.GoNamedTypeId -import org.utbot.go.api.util.goDefaultValueModel -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.simplecodegeneration.GoUtModelToCodeConverter - -object GoCodeTemplates { - - private val errorMessages = """ - const ( - ErrParsingValue = "failed to parse %s value: %s" - ErrInvalidTypeName = "invalid type name: %s" - ErrStringToReflectTypeFailure = "failed to convert '%s' to reflect.Type: %s" - ErrRawValueToReflectValueFailure = "failed to convert RawValue to reflect.Value: %s" - ErrReflectValueToRawValueFailure = "failed to convert reflect.Value to RawValue: %s" - ) - """.trimIndent() - - private val typeOfExecutionResult = """ - type __TypeOfExecutionResult__ int - - const ( - Completed = iota - PanicFailure - TimeoutExceeded - ) - """.trimIndent() - - private val executionResultStruct = """ - type __ExecutionResult__ struct { - Type __TypeOfExecutionResult__ - ResultValues []reflect.Value - } - """.trimIndent() - - private val testInputStruct = """ - type __TestInput__ struct { - FunctionName string `json:"functionName"` - Arguments []map[string]interface{} `json:"arguments"` - } - """.trimIndent() - - private val rawValueInterface = """ - type __RawValue__ interface { - __toReflectValue__() (reflect.Value, error) - } - """.trimIndent() - - private val primitiveValueStruct = """ - type __PrimitiveValue__ struct { - Type string `json:"type"` - Value string `json:"value"` - } - """.trimIndent() - - - private val parseFloatFunction = """ - func __parseFloat__(s string, bitSize int) (float64, error) { - if s == "NaN" { - return math.NaN(), nil - } - - if s == "+Inf" { - return math.Inf(1), nil - } - - if s == "-Inf" { - return math.Inf(-1), nil - } - - value, err := strconv.ParseFloat(s, bitSize) - if err != nil { - return value, fmt.Errorf("failed to parse float: %s", s) - } - - return value, nil - } - """.trimIndent() - - private val primitiveValueToReflectValueMethod = """ - func (v __PrimitiveValue__) __toReflectValue__() (reflect.Value, error) { - - const complexPartsDelimiter = "@" - - switch v.Type { - case "bool": - value, err := strconv.ParseBool(v.Value) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(value), nil - case "int": - value, err := strconv.Atoi(v.Value) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(value), nil - case "int8": - value, err := strconv.ParseInt(v.Value, 10, 8) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(int8(value)), nil - case "int16": - value, err := strconv.ParseInt(v.Value, 10, 16) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(int16(value)), nil - case "int32": - value, err := strconv.ParseInt(v.Value, 10, 32) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(int32(value)), nil - case "rune": - value, err := strconv.ParseInt(v.Value, 10, 32) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(rune(value)), nil - case "int64": - value, err := strconv.ParseInt(v.Value, 10, 64) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(value), nil - case "byte": - value, err := strconv.ParseUint(v.Value, 10, 8) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(byte(value)), nil - case "uint": - value, err := strconv.ParseUint(v.Value, 10, strconv.IntSize) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(uint(value)), nil - case "uint8": - value, err := strconv.ParseUint(v.Value, 10, 8) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(uint8(value)), nil - case "uint16": - value, err := strconv.ParseUint(v.Value, 10, 16) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(uint16(value)), nil - case "uint32": - value, err := strconv.ParseUint(v.Value, 10, 32) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(uint32(value)), nil - case "uint64": - value, err := strconv.ParseUint(v.Value, 10, 64) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(value), nil - case "float32": - value, err := __parseFloat__(v.Value, 32) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(float32(value)), nil - case "float64": - value, err := __parseFloat__(v.Value, 64) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(value), nil - case "complex64": - splitValue := strings.Split(v.Value, complexPartsDelimiter) - if len(splitValue) != 2 { - return reflect.Value{}, fmt.Errorf("not correct complex64 value: %s", v.Value) - } - realPart, err := __parseFloat__(splitValue[0], 32) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - imaginaryPart, err := __parseFloat__(splitValue[1], 32) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(complex(float32(realPart), float32(imaginaryPart))), nil - case "complex128": - splitValue := strings.Split(v.Value, complexPartsDelimiter) - if len(splitValue) != 2 { - return reflect.Value{}, fmt.Errorf("not correct complex128 value: %s", v.Value) - } - - realPart, err := strconv.ParseFloat(splitValue[0], 64) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - imaginaryPart, err := strconv.ParseFloat(splitValue[1], 64) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(complex(realPart, imaginaryPart)), nil - case "string": - return reflect.ValueOf(v.Value), nil - case "uintptr": - value, err := strconv.ParseUint(v.Value, 10, strconv.IntSize) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrParsingValue, v.Type, err) - } - - return reflect.ValueOf(uintptr(value)), nil - } - return reflect.Value{}, fmt.Errorf("unsupported primitive type: '%s'", v.Type) - } - """.trimIndent() - - private val fieldValueStruct = """ - type __FieldValue__ struct { - Name string `json:"name"` - Value __RawValue__ `json:"value"` - IsExported bool `json:"isExported"` - } - """.trimIndent() - - private val structValueStruct = """ - type __StructValue__ struct { - Type string `json:"type"` - Value []__FieldValue__ `json:"value"` - } - """.trimIndent() - - private val structValueToReflectValueMethod = """ - func (v __StructValue__) __toReflectValue__() (reflect.Value, error) { - structType, err := __convertStringToReflectType__(v.Type) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.Type, err) - } - - structPtr := reflect.New(structType) - - for _, f := range v.Value { - field := structPtr.Elem().FieldByName(f.Name) - - reflectValue, err := f.Value.__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - if field.Type().Kind() == reflect.Uintptr { - reflect.NewAt(field.Type(), unsafe.Pointer(field.UnsafeAddr())).Elem().SetUint(reflectValue.Uint()) - } else { - reflect.NewAt(field.Type(), unsafe.Pointer(field.UnsafeAddr())).Elem().Set(reflectValue) - } - } - - return structPtr.Elem(), nil - } - """.trimIndent() - - private val arrayValueStruct = """ - type __ArrayValue__ struct { - Type string `json:"type"` - ElementType string `json:"elementType"` - Length int `json:"length"` - Value []__RawValue__ `json:"value"` - } - """.trimIndent() - - private val arrayValueToReflectValueMethod = """ - func (v __ArrayValue__) __toReflectValue__() (reflect.Value, error) { - elementType, err := __convertStringToReflectType__(v.ElementType) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.ElementType, err) - } - - arrayType := reflect.ArrayOf(v.Length, elementType) - arrayPtr := reflect.New(arrayType) - - for i := 0; i < v.Length; i++ { - element := arrayPtr.Elem().Index(i) - - reflectValue, err := v.Value[i].__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - element.Set(reflectValue) - } - - return arrayPtr.Elem(), nil - } - """.trimIndent() - - private val sliceValueStruct = """ - type __SliceValue__ struct { - Type string `json:"type"` - ElementType string `json:"elementType"` - Length int `json:"length"` - Value []__RawValue__ `json:"value"` - } - """.trimIndent() - - private val sliceValueToReflectValueMethod = """ - func (v __SliceValue__) __toReflectValue__() (reflect.Value, error) { - elementType, err := __convertStringToReflectType__(v.ElementType) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.ElementType, err) - } - - sliceType := reflect.SliceOf(elementType) - slice := reflect.MakeSlice(sliceType, v.Length, v.Length) - slicePtr := reflect.New(slice.Type()) - slicePtr.Elem().Set(slice) - - for i := 0; i < len(v.Value); i++ { - element := slicePtr.Elem().Index(i) - - reflectValue, err := v.Value[i].__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - element.Set(reflectValue) - } - - return slicePtr.Elem(), nil - } - """.trimIndent() - - private val keyValueStruct = """ - type __KeyValue__ struct { - Key __RawValue__ `json:"key"` - Value __RawValue__ `json:"value"` - } - """.trimIndent() - - private val mapValueStruct = """ - type __MapValue__ struct { - Type string `json:"type"` - KeyType string `json:"keyType"` - ElementType string `json:"elementType"` - Value []__KeyValue__ `json:"value"` - } - """.trimIndent() - - private val mapValueToReflectValueMethod = """ - func (v __MapValue__) __toReflectValue__() (reflect.Value, error) { - keyType, err := __convertStringToReflectType__(v.KeyType) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.KeyType, err) - } - - elementType, err := __convertStringToReflectType__(v.ElementType) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.ElementType, err) - } - - mapType := reflect.MapOf(keyType, elementType) - m := reflect.MakeMap(mapType) - for _, keyValue := range v.Value { - keyReflectValue, err := keyValue.Key.__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - valueReflectValue, err := keyValue.Value.__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - m.SetMapIndex(keyReflectValue, valueReflectValue) - } - return m, nil - } - """.trimIndent() - - private val chanValueStruct = """ - type __ChanValue__ struct { - Type string `json:"type"` - ElementType string `json:"elementType"` - Direction string `json:"direction"` - Length int `json:"length"` - Value []__RawValue__ `json:"value"` - } - """.trimIndent() - - private val chanValueToReflectValueMethod = """ - func (v __ChanValue__) __toReflectValue__() (reflect.Value, error) { - elementType, err := __convertStringToReflectType__(v.ElementType) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.ElementType, err) - } - - dir := reflect.BothDir - - chanType := reflect.ChanOf(dir, elementType) - channel := reflect.MakeChan(chanType, v.Length) - - for i := range v.Value { - reflectValue, err := v.Value[i].__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - channel.Send(reflectValue) - } - if v.Direction != "SENDONLY" { - channel.Close() - } - - return channel, nil - } - """.trimIndent() - - private val nilValueStruct = """ - type __NilValue__ struct { - Type string `json:"type"` - } - """.trimIndent() - - private val nilValueToReflectValueMethod = """ - func (v __NilValue__) __toReflectValue__() (reflect.Value, error) { - typ, err := __convertStringToReflectType__(v.Type) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.Type, err) - } - - return reflect.Zero(typ), nil - } - """.trimIndent() - - private val namedValueStruct = """ - type __NamedValue__ struct { - Type string `json:"type"` - Value __RawValue__ `json:"value"` - } - """.trimIndent() - - private val namedValueToReflectValueMethod = """ - func (v __NamedValue__) __toReflectValue__() (reflect.Value, error) { - typ, err := __convertStringToReflectType__(v.Type) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.Type, err) - } - - if n, ok := v.Value.(__NilValue__); ok && n.Type == "interface{}" { - return reflect.Zero(typ), nil - } - - value, err := v.Value.__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - return value.Convert(typ), nil - } - """.trimIndent() - - private val pointerValueStruct = """ - type __PointerValue__ struct { - Type string `json:"type"` - ElementType string `json:"elementType"` - Value __RawValue__ `json:"value"` - } - """.trimIndent() - - private val pointerValueToReflectValueMethod = """ - func (v __PointerValue__) __toReflectValue__() (reflect.Value, error) { - elementType, err := __convertStringToReflectType__(v.ElementType) - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrStringToReflectTypeFailure, v.Type, err) - } - - value, err := v.Value.__toReflectValue__() - if err != nil { - return reflect.Value{}, fmt.Errorf(ErrRawValueToReflectValueFailure, err) - } - - pointer := reflect.New(elementType) - pointer.Elem().Set(value) - - return pointer, nil - } - """.trimIndent() - - private fun convertStringToReflectTypeFunction( - namedTypes: Set, destinationPackage: GoPackage, aliases: Map - ): String { - val converter = GoUtModelToCodeConverter(destinationPackage, aliases) - return """ - func __convertStringToReflectType__(typeName string) (reflect.Type, error) { - var result reflect.Type - - switch { - case strings.HasPrefix(typeName, "map["): - index := strings.IndexRune(typeName, ']') - if index == -1 { - return nil, fmt.Errorf(ErrInvalidTypeName, typeName) - } - - keyTypeStr := typeName[4:index] - keyType, err := __convertStringToReflectType__(keyTypeStr) - if err != nil { - return nil, fmt.Errorf(ErrStringToReflectTypeFailure, keyTypeStr, err) - } - - elementTypeStr := typeName[index+1:] - elementType, err := __convertStringToReflectType__(elementTypeStr) - if err != nil { - return nil, fmt.Errorf(ErrStringToReflectTypeFailure, elementTypeStr, err) - } - - result = reflect.MapOf(keyType, elementType) - case strings.HasPrefix(typeName, "[]"): - index := strings.IndexRune(typeName, ']') - if index == -1 { - return nil, fmt.Errorf(ErrInvalidTypeName, typeName) - } - - res, err := __convertStringToReflectType__(typeName[index+1:]) - if err != nil { - return nil, fmt.Errorf(ErrInvalidTypeName, typeName) - } - - result = reflect.SliceOf(res) - case strings.HasPrefix(typeName, "["): - index := strings.IndexRune(typeName, ']') - if index == -1 { - return nil, fmt.Errorf(ErrInvalidTypeName, typeName) - } - - lengthStr := typeName[1:index] - length, err := strconv.Atoi(lengthStr) - if err != nil { - return nil, err - } - - res, err := __convertStringToReflectType__(typeName[index+1:]) - if err != nil { - return nil, fmt.Errorf(ErrStringToReflectTypeFailure, typeName[index+1:], err) - } - - result = reflect.ArrayOf(length, res) - case strings.HasPrefix(typeName, "<-chan") || strings.HasPrefix(typeName, "chan"): - dir := reflect.BothDir - index := 5 - if strings.HasPrefix(typeName, "<-chan") { - dir = reflect.RecvDir - index = 7 - } else if strings.HasPrefix(typeName, "chan<-") { - dir = reflect.SendDir - index = 7 - } - - elemType, err := __convertStringToReflectType__(typeName[index:]) - if err != nil { - return nil, fmt.Errorf(ErrStringToReflectTypeFailure, typeName[index:], err) - } - - result = reflect.ChanOf(dir, elemType) - case strings.HasPrefix(typeName, "*"): - elemType, err := __convertStringToReflectType__(typeName[1:]) - if err != nil { - return nil, fmt.Errorf(ErrStringToReflectTypeFailure, typeName[1:], err) - } - - result = reflect.PointerTo(elemType) - default: - switch typeName { - case "bool": - result = reflect.TypeOf(true) - case "int": - result = reflect.TypeOf(0) - case "int8": - result = reflect.TypeOf(int8(0)) - case "int16": - result = reflect.TypeOf(int16(0)) - case "int32": - result = reflect.TypeOf(int32(0)) - case "rune": - result = reflect.TypeOf(rune(0)) - case "int64": - result = reflect.TypeOf(int64(0)) - case "byte": - result = reflect.TypeOf(byte(0)) - case "uint": - result = reflect.TypeOf(uint(0)) - case "uint8": - result = reflect.TypeOf(uint8(0)) - case "uint16": - result = reflect.TypeOf(uint16(0)) - case "uint32": - result = reflect.TypeOf(uint32(0)) - case "uint64": - result = reflect.TypeOf(uint64(0)) - case "float32": - result = reflect.TypeOf(float32(0)) - case "float64": - result = reflect.TypeOf(float64(0)) - case "complex64": - result = reflect.TypeOf(complex(float32(0), float32(0))) - case "complex128": - result = reflect.TypeOf(complex(float64(0), float64(0))) - case "string": - result = reflect.TypeOf("") - case "uintptr": - result = reflect.TypeOf(uintptr(0)) - case "interface{}": - result = reflect.TypeOf((*interface{})(nil)).Elem() - ${ - namedTypes.joinToString(separator = "\n") { - val relativeName = it.getRelativeName(destinationPackage, aliases) - if (it.underlyingTypeId is GoInterfaceTypeId) { - "case \"${relativeName}\": result = reflect.TypeOf((*$relativeName)(nil)).Elem()" - } else { - "case \"${relativeName}\": result = reflect.TypeOf(${converter.toGoCode(it.goDefaultValueModel())})" - } - } - } - default: - return nil, fmt.Errorf("unsupported type: %s", typeName) - } - } - return result, nil - } - """.trimIndent() - } - - private val panicMessageStruct = """ - type __RawPanicMessage__ struct { - RawResultValue __RawValue__ `json:"rawResultValue"` - ImplementsError bool `json:"implementsError"` - } - """.trimIndent() - - private val rawExecutionResultStruct = """ - type __RawExecutionResult__ struct { - TimeoutExceeded bool `json:"timeoutExceeded"` - RawResultValues []__RawValue__ `json:"rawResultValues"` - PanicMessage *__RawPanicMessage__ `json:"panicMessage"` - CoverTab map[int]int `json:"coverTab"` - } - """.trimIndent() - - private val convertReflectValueOfDefinedTypeToRawValueFunction = """ - func __convertReflectValueOfDefinedTypeToRawValue__(v reflect.Value) (__RawValue__, error) { - value, err := __convertReflectValueOfPredeclaredOrNotDefinedTypeToRawValue__(v) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - return __NamedValue__{ - Type: v.Type().Name(), - Value: value, - }, nil - } - """.trimIndent() - - private val convertFloat64ValueToStringFunction = """ - func __convertFloat64ValueToString__(value float64) string { - const outputNaN = "NaN" - const outputPosInf = "+Inf" - const outputNegInf = "-Inf" - switch { - case math.IsNaN(value): - return fmt.Sprint(outputNaN) - case math.IsInf(value, 1): - return fmt.Sprint(outputPosInf) - case math.IsInf(value, -1): - return fmt.Sprint(outputNegInf) - default: - return fmt.Sprintf("%v", value) - } - } - """.trimIndent() - - private val convertReflectValueOfPredeclaredOrNotDefinedTypeToRawValueFunction = """ - func __convertReflectValueOfPredeclaredOrNotDefinedTypeToRawValue__(v reflect.Value) (__RawValue__, error) { - const outputComplexPartsDelimiter = "@" - - switch v.Kind() { - case reflect.Bool: - return __PrimitiveValue__{ - Type: v.Kind().String(), - Value: fmt.Sprintf("%#v", v.Bool()), - }, nil - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - return __PrimitiveValue__{ - Type: v.Kind().String(), - Value: fmt.Sprintf("%#v", v.Int()), - }, nil - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - return __PrimitiveValue__{ - Type: v.Kind().String(), - Value: fmt.Sprintf("%v", v.Uint()), - }, nil - case reflect.Float32, reflect.Float64: - return __PrimitiveValue__{ - Type: v.Kind().String(), - Value: __convertFloat64ValueToString__(v.Float()), - }, nil - case reflect.Complex64, reflect.Complex128: - value := v.Complex() - realPartString := __convertFloat64ValueToString__(real(value)) - imagPartString := __convertFloat64ValueToString__(imag(value)) - return __PrimitiveValue__{ - Type: v.Kind().String(), - Value: fmt.Sprintf("%v%v%v", realPartString, outputComplexPartsDelimiter, imagPartString), - }, nil - case reflect.String: - return __PrimitiveValue__{ - Type: reflect.String.String(), - Value: fmt.Sprintf("%v", v.String()), - }, nil - case reflect.Struct: - fields := reflect.VisibleFields(v.Type()) - resultValues := make([]__FieldValue__, 0, v.NumField()) - for _, field := range fields { - if len(field.Index) != 1 { - continue - } - - res, err := __convertReflectValueToRawValue__(v.FieldByName(field.Name)) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - resultValues = append(resultValues, __FieldValue__{ - Name: field.Name, - Value: res, - IsExported: field.IsExported(), - }) - } - return __StructValue__{ - Type: "struct{}", - Value: resultValues, - }, nil - case reflect.Array: - elem := v.Type().Elem() - elementType := elem.String() - arrayElementValues := make([]__RawValue__, 0, v.Len()) - for i := 0; i < v.Len(); i++ { - arrayElementValue, err := __convertReflectValueToRawValue__(v.Index(i)) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - arrayElementValues = append(arrayElementValues, arrayElementValue) - } - length := len(arrayElementValues) - return __ArrayValue__{ - Type: fmt.Sprintf("[%d]%s", length, elementType), - ElementType: elementType, - Length: length, - Value: arrayElementValues, - }, nil - case reflect.Slice: - if v.IsNil() { - return __NilValue__{Type: "nil"}, nil - } - elem := v.Type().Elem() - elementType := elem.String() - typeName := fmt.Sprintf("[]%s", elementType) - sliceElementValues := make([]__RawValue__, 0, v.Len()) - for i := 0; i < v.Len(); i++ { - sliceElementValue, err := __convertReflectValueToRawValue__(v.Index(i)) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - sliceElementValues = append(sliceElementValues, sliceElementValue) - } - length := len(sliceElementValues) - return __SliceValue__{ - Type: typeName, - ElementType: elementType, - Length: length, - Value: sliceElementValues, - }, nil - case reflect.Map: - if v.IsNil() { - return __NilValue__{Type: "nil"}, nil - } - key := v.Type().Key() - keyType := key.String() - elem := v.Type().Elem() - elementType := elem.String() - typeName := fmt.Sprintf("map[%s]%s", keyType, elementType) - mapValues := make([]__KeyValue__, 0, v.Len()) - for iter := v.MapRange(); iter.Next(); { - key, err := __convertReflectValueToRawValue__(iter.Key()) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - value, err := __convertReflectValueToRawValue__(iter.Value()) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - mapValues = append(mapValues, __KeyValue__{ - Key: key, - Value: value, - }) - } - return __MapValue__{ - Type: typeName, - KeyType: keyType, - ElementType: elementType, - Value: mapValues, - }, nil - case reflect.Chan: - if v.IsNil() { - return __NilValue__{Type: "nil"}, nil - } - typeName := v.Type().String() - elementType := v.Type().Elem().String() - dir := "SENDRECV" - if v.Type().ChanDir() == reflect.SendDir { - dir = "SENDONLY" - } else if v.Type().ChanDir() == reflect.RecvDir { - dir = "RECVONLY" - } - length := v.Len() - - chanElementValues := make([]__RawValue__, 0, v.Len()) - if dir != "SENDONLY" { - for v.Len() > 0 { - val, _ := v.Recv() - rawValue, err := __convertReflectValueToRawValue__(val) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - chanElementValues = append(chanElementValues, rawValue) - } - } - - return __ChanValue__{ - Type: typeName, - ElementType: elementType, - Direction: dir, - Length: length, - Value: chanElementValues, - }, nil - case reflect.Interface: - if v.Interface() == nil { - return __NilValue__{Type: "nil"}, nil - } - if e, ok := v.Interface().(error); ok { - value, err := __convertReflectValueOfPredeclaredOrNotDefinedTypeToRawValue__(reflect.ValueOf(e.Error())) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - return __NamedValue__{ - Type: "error", - Value: value, - }, nil - } - return nil, fmt.Errorf("unsupported result type: %s", v.Type().String()) - case reflect.Pointer: - if v.IsNil() { - return __NilValue__{Type: "nil"}, nil - } - typeName := v.Type().String() - elementType := v.Type().Elem().String() - - value, err := __convertReflectValueToRawValue__(v.Elem()) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - return __PointerValue__{ - Type: typeName, - ElementType: elementType, - Value: value, - }, nil - default: - return nil, fmt.Errorf("unsupported result type: %s", v.Type().String()) - } - } - """.trimIndent() - - private val convertReflectValueToRawValueFunction = """ - func __convertReflectValueToRawValue__(v reflect.Value) (__RawValue__, error) { - if v.Type().PkgPath() != "" { - return __convertReflectValueOfDefinedTypeToRawValue__(v) - } - return __convertReflectValueOfPredeclaredOrNotDefinedTypeToRawValue__(v) - } - """.trimIndent() - - private val executeFunctionFunction = """ - func __executeFunction__( - function reflect.Value, arguments []reflect.Value, timeout time.Duration, - ) __RawExecutionResult__ { - ctxWithTimeout, cancel := context.WithTimeout(context.Background(), timeout) - defer cancel() - - __CoverTab__ = make([]int, __CoverSize__) - - executionResult := make(chan __ExecutionResult__, 1) - go func() { - panicked := true - defer func() { - panicMessage := recover() - if panicked { - executionResult <- __ExecutionResult__{ - Type: PanicFailure, - ResultValues: []reflect.Value{reflect.ValueOf(panicMessage)}, - } - } - }() - - executionResult <- __ExecutionResult__{ - Type: Completed, - ResultValues: function.Call(arguments), - } - panicked = false - }() - - var result __ExecutionResult__ - select { - case result = <-executionResult: - case <-ctxWithTimeout.Done(): - result = __ExecutionResult__{Type: TimeoutExceeded} - } - - return __wrapExecutionResult__(result) - } - """.trimIndent() - - private val wrapExecutionResultFunction = """ - func __wrapExecutionResult__(executionResult __ExecutionResult__) __RawExecutionResult__ { - var result __RawExecutionResult__ - switch executionResult.Type { - case Completed: - resultValues, err := __wrapResultValues__(executionResult.ResultValues) - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Failed to wrap result values: %s", err) - os.Exit(1) - } - - result = __RawExecutionResult__{RawResultValues: resultValues} - case PanicFailure: - panicMessage := executionResult.ResultValues[0].Interface() - panicAsError, implementsError := panicMessage.(error) - var ( - resultValue __RawValue__ - err error - ) - if implementsError { - resultValue, err = __convertReflectValueToRawValue__(reflect.ValueOf(panicAsError.Error())) - } else { - resultValue, err = __convertReflectValueToRawValue__(reflect.ValueOf(panicMessage)) - } - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, ErrReflectValueToRawValueFailure, err) - os.Exit(1) - } - - result = __RawExecutionResult__{ - RawResultValues: []__RawValue__{}, - PanicMessage: &__RawPanicMessage__{ - RawResultValue: resultValue, - ImplementsError: implementsError, - }, - } - case TimeoutExceeded: - result = __RawExecutionResult__{ - TimeoutExceeded: true, - RawResultValues: []__RawValue__{}, - } - } - - coverTab := make(map[int]int, 256) - for i, v := range __CoverTab__ { - if v != 0 { - coverTab[i] = v - } - } - result.CoverTab = coverTab - - return result - } - """.trimIndent() - - private val wrapResultValuesForWorkerFunction = """ - func __wrapResultValues__(values []reflect.Value) ([]__RawValue__, error) { - rawValues := make([]__RawValue__, 0, len(values)) - for _, value := range values { - resultValue, err := __convertReflectValueToRawValue__(value) - if err != nil { - return nil, fmt.Errorf(ErrReflectValueToRawValueFailure, err) - } - - rawValues = append(rawValues, resultValue) - } - return rawValues, nil - } - """.trimIndent() - - private val convertRawValuesToReflectValuesFunction = """ - func __convertRawValuesToReflectValues__(values []__RawValue__) ([]reflect.Value, error) { - parameters := make([]reflect.Value, 0, len(values)) - - for _, value := range values { - reflectValue, err := value.__toReflectValue__() - if err != nil { - return nil, fmt.Errorf("failed to convert RawValue %s to reflect.Value: %s", value, err) - } - - parameters = append(parameters, reflectValue) - } - - return parameters, nil - } - """.trimIndent() - - private val parseTestInputFunction = """ - func __parseTestInput__(decoder *json.Decoder) (funcName string, rawValues []__RawValue__, err error) { - var testInput __TestInput__ - err = decoder.Decode(&testInput) - if err != nil { - return - } - - funcName = testInput.FunctionName - rawValues = make([]__RawValue__, 0, 10) - for _, arg := range testInput.Arguments { - var rawValue __RawValue__ - - rawValue, err = __parseRawValue__(arg, "") - if err != nil { - return "", nil, fmt.Errorf("failed to parse argument %s of function %s: %s", arg, funcName, err) - } - - rawValues = append(rawValues, rawValue) - } - - return - } - """.trimIndent() - - private val parseRawValueFunction = """ - func __parseRawValue__(rawValue map[string]interface{}, name string) (__RawValue__, error) { - typeName, ok := rawValue["type"] - if !ok { - return nil, fmt.Errorf("every RawValue must contain field 'type'") - } - typeNameStr, ok := typeName.(string) - if !ok { - return nil, fmt.Errorf("field 'type' must be string") - } - - v, ok := rawValue["value"] - if !ok { - return __NilValue__{Type: typeNameStr}, nil - } - - switch { - case typeNameStr == "struct{}": - if name == "" { - return nil, fmt.Errorf("anonymous structs is not supported") - } - - value, ok := v.([]interface{}) - if !ok { - return nil, fmt.Errorf("StructValue field 'value' must be array") - } - - values := make([]__FieldValue__, 0, len(value)) - for _, v := range value { - nextValue, err := __parseFieldValue__(v.(map[string]interface{})) - if err != nil { - return nil, fmt.Errorf("failed to parse field %s of struct: %s", v, err) - } - - values = append(values, nextValue) - } - - return __StructValue__{ - Type: name, - Value: values, - }, nil - case strings.HasPrefix(typeNameStr, "map["): - keyType, ok := rawValue["keyType"] - if !ok { - return nil, fmt.Errorf("MapValue must contain field 'keyType'") - } - keyTypeStr, ok := keyType.(string) - if !ok { - return nil, fmt.Errorf("MapValue field 'keyType' must be string") - } - - elementType, ok := rawValue["elementType"] - if !ok { - return nil, fmt.Errorf("MapValue must contain field 'elementType'") - } - elementTypeStr, ok := elementType.(string) - if !ok { - return nil, fmt.Errorf("MapValue field 'elementType' must be string") - } - - value, ok := v.([]interface{}) - if !ok { - return nil, fmt.Errorf("MapValue field 'value' must be array") - } - - values := make([]__KeyValue__, 0, len(value)) - for _, v := range value { - nextValue, err := __parseKeyValue__(v.(map[string]interface{})) - if err != nil { - return nil, fmt.Errorf("failed to parse KeyValue %s of map: %s", v, err) - } - - values = append(values, nextValue) - } - - return __MapValue__{ - Type: typeNameStr, - KeyType: keyTypeStr, - ElementType: elementTypeStr, - Value: values, - }, nil - case strings.HasPrefix(typeNameStr, "[]"): - elementType, ok := rawValue["elementType"] - if !ok { - return nil, fmt.Errorf("SliceValue must contain field 'elementType'") - } - elementTypeStr, ok := elementType.(string) - if !ok { - return nil, fmt.Errorf("SliceValue field 'elementType' must be string") - } - - if _, ok := rawValue["length"]; !ok { - return nil, fmt.Errorf("SliceValue must contain field 'length'") - } - length, ok := rawValue["length"].(float64) - if !ok { - return nil, fmt.Errorf("SliceValue field 'length' must be float64") - } - - value, ok := v.([]interface{}) - if !ok || len(value) != int(length) { - return nil, fmt.Errorf("SliceValue field 'value' must be array of length %d", int(length)) - } - - values := make([]__RawValue__, 0, len(value)) - for i, v := range value { - nextValue, err := __parseRawValue__(v.(map[string]interface{}), "") - if err != nil { - return nil, fmt.Errorf("failed to parse %d slice element: %s", i, err) - } - - values = append(values, nextValue) - } - - return __SliceValue__{ - Type: typeNameStr, - ElementType: elementTypeStr, - Length: int(length), - Value: values, - }, nil - case strings.HasPrefix(typeNameStr, "["): - elementType, ok := rawValue["elementType"] - if !ok { - return nil, fmt.Errorf("ArrayValue must contain field 'elementType'") - } - elementTypeStr, ok := elementType.(string) - if !ok { - return nil, fmt.Errorf("ArrayValue field 'elementType' must be string") - } - - if _, ok := rawValue["length"]; !ok { - return nil, fmt.Errorf("ArrayValue must contain field 'length'") - } - length, ok := rawValue["length"].(float64) - if !ok { - return nil, fmt.Errorf("ArrayValue field 'length' must be float64") - } - - value, ok := v.([]interface{}) - if !ok || len(value) != int(length) { - return nil, fmt.Errorf("ArrayValue field 'value' must be array of length %d", int(length)) - } - - values := make([]__RawValue__, 0, len(value)) - for i, v := range value { - nextValue, err := __parseRawValue__(v.(map[string]interface{}), "") - if err != nil { - return nil, fmt.Errorf("failed to parse %d array element: %s", i, err) - } - - values = append(values, nextValue) - } - - return __ArrayValue__{ - Type: typeNameStr, - ElementType: elementTypeStr, - Length: int(length), - Value: values, - }, nil - case strings.HasPrefix(typeNameStr, "<-chan") || strings.HasPrefix(typeNameStr, "chan"): - elementType, ok := rawValue["elementType"] - if !ok { - return nil, fmt.Errorf("ChanValue must contain field 'elementType'") - } - elementTypeStr, ok := elementType.(string) - if !ok { - return nil, fmt.Errorf("ChanValue field 'elementType' must be string") - } - - dir, ok := rawValue["direction"] - if !ok { - return nil, fmt.Errorf("ChanValue must contain field 'direction'") - } - direction, ok := dir.(string) - if !ok { - return nil, fmt.Errorf("ChanValue field 'direction' must be string") - } - - if _, ok := rawValue["length"]; !ok { - return nil, fmt.Errorf("ChanValue must contain field 'length'") - } - length, ok := rawValue["length"].(float64) - if !ok { - return nil, fmt.Errorf("ChanValue field 'length' must be float64") - } - - value, ok := v.([]interface{}) - if !ok || len(value) != int(length) { - return nil, fmt.Errorf("ChanValue field 'value' must be array of length %d", int(length)) - } - - values := make([]__RawValue__, 0, len(value)) - for i, v := range value { - nextValue, err := __parseRawValue__(v.(map[string]interface{}), "") - if err != nil { - return nil, fmt.Errorf("failed to parse %d chan element: %s", i, err) - } - - values = append(values, nextValue) - } - - return __ChanValue__{ - Type: typeNameStr, - ElementType: elementTypeStr, - Direction: direction, - Length: int(length), - Value: values, - }, nil - case strings.HasPrefix(typeNameStr, "*"): - elementType, ok := rawValue["elementType"] - if !ok { - return nil, fmt.Errorf("PointerValue must contain field 'elementType'") - } - elementTypeStr, ok := elementType.(string) - if !ok { - return nil, fmt.Errorf("PointerValue field 'elementType' must be string") - } - - value, err := __parseRawValue__(v.(map[string]interface{}), "") - if err != nil { - return nil, fmt.Errorf("failed to parse of PointerValue with type %s: %s", typeNameStr, err) - } - - return __PointerValue__{ - Type: typeNameStr, - ElementType: elementTypeStr, - Value: value, - }, nil - default: - switch typeNameStr { - case "bool", "rune", "int", "int8", "int16", "int32", "int64", "byte", "uint", "uint8", "uint16", "uint32", "uint64", "float32", "float64", "complex64", "complex128", "string", "uintptr": - value, ok := v.(string) - if !ok { - return nil, fmt.Errorf("PrimitiveValue field 'value' must be string") - } - - return __PrimitiveValue__{ - Type: typeNameStr, - Value: value, - }, nil - default: // named type - value, err := __parseRawValue__(v.(map[string]interface{}), typeNameStr) - if err != nil { - return nil, fmt.Errorf("failed to parse of NamedValue with type %s: %s", typeNameStr, err) - } - - return __NamedValue__{ - Type: typeNameStr, - Value: value, - }, nil - } - } - } - """.trimIndent() - - private val parseFieldValueFunction = """ - func __parseFieldValue__(p map[string]interface{}) (__FieldValue__, error) { - name, ok := p["name"] - if !ok { - return __FieldValue__{}, fmt.Errorf("FieldValue must contain field 'name'") - } - nameStr, ok := name.(string) - if !ok { - return __FieldValue__{}, fmt.Errorf("FieldValue 'name' must be string") - } - - if _, ok := p["value"]; !ok { - return __FieldValue__{}, fmt.Errorf("FieldValue must contain field 'value'") - } - value, err := __parseRawValue__(p["value"].(map[string]interface{}), "") - if err != nil { - return __FieldValue__{}, err - } - - isExported, ok := p["isExported"] - if !ok { - return __FieldValue__{}, fmt.Errorf("FieldValue must contain field 'isExported'") - } - isExportedBool, ok := isExported.(bool) - if !ok { - return __FieldValue__{}, fmt.Errorf("FieldValue 'isExported' must be bool") - } - - return __FieldValue__{ - Name: nameStr, - Value: value, - IsExported: isExportedBool, - }, nil - } - """.trimIndent() - - private val parseKeyValueFunction = """ - func __parseKeyValue__(p map[string]interface{}) (__KeyValue__, error) { - if _, ok := p["key"]; !ok { - return __KeyValue__{}, fmt.Errorf("KeyValue must contain field 'key'") - } - key, err := __parseRawValue__(p["key"].(map[string]interface{}), "") - if err != nil { - return __KeyValue__{}, err - } - - if _, ok := p["value"]; !ok { - return __KeyValue__{}, fmt.Errorf("KeyValue must contain field 'value'") - } - value, err := __parseRawValue__(p["value"].(map[string]interface{}), "") - if err != nil { - return __KeyValue__{}, err - } - - return __KeyValue__{ - Key: key, - Value: value, - }, nil - } - """.trimIndent() - - fun getTopLevelHelperStructsAndFunctionsForWorker( - namedTypes: Set, - destinationPackage: GoPackage, - aliases: Map, - ) = listOf( - errorMessages, - typeOfExecutionResult, - executionResultStruct, - testInputStruct, - rawValueInterface, - primitiveValueStruct, - parseFloatFunction, - primitiveValueToReflectValueMethod, - fieldValueStruct, - structValueStruct, - structValueToReflectValueMethod, - keyValueStruct, - mapValueStruct, - mapValueToReflectValueMethod, - arrayValueStruct, - arrayValueToReflectValueMethod, - sliceValueStruct, - sliceValueToReflectValueMethod, - chanValueStruct, - chanValueToReflectValueMethod, - nilValueStruct, - nilValueToReflectValueMethod, - namedValueStruct, - namedValueToReflectValueMethod, - pointerValueStruct, - pointerValueToReflectValueMethod, - convertStringToReflectTypeFunction(namedTypes, destinationPackage, aliases), - panicMessageStruct, - rawExecutionResultStruct, - convertReflectValueOfDefinedTypeToRawValueFunction, - convertFloat64ValueToStringFunction, - convertReflectValueOfPredeclaredOrNotDefinedTypeToRawValueFunction, - convertReflectValueToRawValueFunction, - executeFunctionFunction, - wrapExecutionResultFunction, - wrapResultValuesForWorkerFunction, - convertRawValuesToReflectValuesFunction, - parseTestInputFunction, - parseRawValueFunction, - parseFieldValueFunction, - parseKeyValueFunction - ) -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/worker/GoWorker.kt b/utbot-go/src/main/kotlin/org/utbot/go/worker/GoWorker.kt deleted file mode 100644 index e29b250f..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/worker/GoWorker.kt +++ /dev/null @@ -1,169 +0,0 @@ -package org.utbot.go.worker - -import com.beust.klaxon.Klaxon -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.go.api.GoUtFunction -import org.utbot.go.api.util.convertToRawValue -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.framework.api.go.GoUtModel -import org.utbot.go.util.convertObjectToJsonString -import org.utbot.go.util.executeCommandByNewProcessOrFailWithoutWaiting -import org.utbot.go.util.modifyEnvironment -import java.io.* -import java.net.ServerSocket -import java.net.Socket -import java.net.SocketTimeoutException -import java.nio.charset.StandardCharsets -import java.nio.file.Path -import java.util.concurrent.TimeUnit - -class GoWorker private constructor( - private var process: Process, - private var socket: Socket, - private val testFunctionName: String, - private val testFilePath: String, - private val goPackage: GoPackage, - private val goExecutableAbsolutePath: Path, - private val gopathAbsolutePath: Path, - private val workingDirectory: File, - private val serverSocket: ServerSocket, - private val readTimeoutMillis: Long, - private val connectionTimeoutMillis: Long, - private val endOfWorkerExecutionTimeoutMillis: Long -) : Closeable { - private var input: DataInputStream = DataInputStream(socket.getInputStream()) - private var output: DataOutputStream = DataOutputStream(socket.getOutputStream()) - - data class TestInput( - val functionName: String, val arguments: List - ) - - fun sendFuzzedParametersValues( - function: GoUtFunction, arguments: List, aliases: Map - ): Int { - val rawValues = arguments.map { it.convertToRawValue(goPackage, aliases) } - val testCase = TestInput(function.name, rawValues) - val json = convertObjectToJsonString(testCase) - output.write(json.encodeToByteArray()) - output.flush() - return json.length - } - - fun receiveRawExecutionResult(): RawExecutionResult { - socket.soTimeout = readTimeoutMillis.toInt() - val length = input.readInt() - val buffer = ByteArray(length) - input.read(buffer) - return Klaxon().parse(buffer.toString(StandardCharsets.UTF_8)) - ?: error("Error with parsing json as raw execution result") - } - - fun restartWorker() { - socket.close() - input.close() - output.close() - - process.destroy() - process = startWorkerProcess( - testFunctionName, testFilePath, goExecutableAbsolutePath, gopathAbsolutePath, workingDirectory - ) - - socket = connectingToWorker( - serverSocket, process, connectionTimeoutMillis, endOfWorkerExecutionTimeoutMillis - ) - input = DataInputStream(socket.getInputStream()) - output = DataOutputStream(socket.getOutputStream()) - } - - override fun close() { - socket.close() - input.close() - output.close() - - val processHasExited = process.waitFor(endOfWorkerExecutionTimeoutMillis, TimeUnit.MILLISECONDS) - if (!processHasExited) { - process.destroy() - val processOutput = InputStreamReader(process.inputStream).readText() - throw TimeoutException(buildString { - appendLine("Timeout exceeded: Worker didn't finish. Process output: ") - appendLine(processOutput) - }) - } - val exitCode = process.exitValue() - if (exitCode != 0) { - val processOutput = InputStreamReader(process.inputStream).readText() - throw RuntimeException(buildString { - appendLine("Execution of functions in child process failed with non-zero exit code = $exitCode: ") - appendLine(processOutput) - }) - } - } - - companion object { - private fun startWorkerProcess( - testFunctionName: String, - testFileName: String, - goExecutableAbsolutePath: Path, - gopathAbsolutePath: Path, - workingDirectory: File, - ): Process { - val environment = modifyEnvironment(goExecutableAbsolutePath, gopathAbsolutePath) - val command = listOf(testFileName, "--test.run", testFunctionName) - return executeCommandByNewProcessOrFailWithoutWaiting(command, workingDirectory, environment) - } - - private fun connectingToWorker( - serverSocket: ServerSocket, - process: Process, - connectionTimeoutMillis: Long, - endOfWorkerExecutionTimeout: Long, - ): Socket { - val workerSocket = try { - serverSocket.soTimeout = connectionTimeoutMillis.toInt() - serverSocket.accept() - } catch (e: SocketTimeoutException) { - val processHasExited = process.waitFor(endOfWorkerExecutionTimeout, TimeUnit.MILLISECONDS) - if (processHasExited) { - throw GoWorkerFailedException("An error occurred while starting the worker.") - } else { - process.destroy() - } - throw TimeoutException("Timeout exceeded: Worker not connected") - } - return workerSocket - } - - fun createWorker( - testFunctionName: String, - testFilePath: String, - goPackage: GoPackage, - goExecutableAbsolutePath: Path, - gopathAbsolutePath: Path, - workingDirectory: File, - serverSocket: ServerSocket, - connectionTimeoutMillis: Long = 10000, - endOfWorkerExecutionTimeout: Long = 5000, - ): GoWorker { - val workerProcess = startWorkerProcess( - testFunctionName, testFilePath, goExecutableAbsolutePath, gopathAbsolutePath, workingDirectory - ) - val workerSocket = connectingToWorker( - serverSocket, workerProcess, connectionTimeoutMillis, endOfWorkerExecutionTimeout - ) - return GoWorker( - process = workerProcess, - socket = workerSocket, - testFunctionName = testFunctionName, - testFilePath = testFilePath, - goPackage = goPackage, - goExecutableAbsolutePath = goExecutableAbsolutePath, - gopathAbsolutePath = gopathAbsolutePath, - workingDirectory = workingDirectory, - serverSocket = serverSocket, - readTimeoutMillis = 2 * endOfWorkerExecutionTimeout, - connectionTimeoutMillis = connectionTimeoutMillis, - endOfWorkerExecutionTimeoutMillis = endOfWorkerExecutionTimeout - ) - } - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/worker/GoWorkerCodeGenerationHelper.kt b/utbot-go/src/main/kotlin/org/utbot/go/worker/GoWorkerCodeGenerationHelper.kt deleted file mode 100644 index ae87fd13..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/worker/GoWorkerCodeGenerationHelper.kt +++ /dev/null @@ -1,205 +0,0 @@ -package org.utbot.go.worker - -import org.utbot.go.api.GoUtFile -import org.utbot.go.api.GoUtFunction -import org.utbot.go.api.util.getAllVisibleNamedTypes -import org.utbot.go.framework.api.go.GoImport -import org.utbot.go.framework.api.go.GoPackage -import org.utbot.go.simplecodegeneration.GoFileCodeBuilder -import java.io.File - -internal object GoWorkerCodeGenerationHelper { - - const val workerTestFunctionName = "TestGoFileFuzzedFunctionsByUtGoWorker" - - val alwaysRequiredImports = setOf( - GoPackage("io", "io"), - GoPackage("os", "os"), - GoPackage("context", "context"), - GoPackage("binary", "encoding/binary"), - GoPackage("json", "encoding/json"), - GoPackage("fmt", "fmt"), - GoPackage("math", "math"), - GoPackage("net", "net"), - GoPackage("reflect", "reflect"), - GoPackage("strconv", "strconv"), - GoPackage("strings", "strings"), - GoPackage("testing", "testing"), - GoPackage("time", "time"), - GoPackage("unsafe", "unsafe") - ).map { GoImport(it) }.toSet() - - fun createFileToExecute( - sourceFile: GoUtFile, - functions: List, - absoluteInstrumentedPackagePath: String, - eachExecutionTimeoutMillis: Long, - port: Int, - imports: Set - ): File { - val fileToExecuteName = createFileToExecuteName() - val sourceFileDir = File(absoluteInstrumentedPackagePath) - val fileToExecute = sourceFileDir.resolve(fileToExecuteName) - - val fileToExecuteGoCode = - generateWorkerTestFileGoCode( - sourceFile, - functions, - eachExecutionTimeoutMillis, - port, - imports - ) - fileToExecute.writeText(fileToExecuteGoCode) - return fileToExecute - } - - fun createFileWithCoverTab( - sourceFile: GoUtFile, - absoluteInstrumentedPackagePath: String, - ): File { - val fileWithCoverTabName = createFileWithCoverTabName() - val sourceFileDir = File(absoluteInstrumentedPackagePath) - val fileWithCoverTab = sourceFileDir.resolve(fileWithCoverTabName) - - val fileWithCoverTabGoCode = generateFileWithCoverTabGoCode(sourceFile.sourcePackage) - fileWithCoverTab.writeText(fileWithCoverTabGoCode) - return fileWithCoverTab - } - - private fun createFileToExecuteName(): String { - return "utbot_go_worker_test.go" - } - - private fun createFileWithCoverTabName(): String { - return "utbot_go_cover.go" - } - - private fun generateWorkerTestFileGoCode( - sourceFile: GoUtFile, - functions: List, - eachExecutionTimeoutMillis: Long, - port: Int, - imports: Set - ): String { - val destinationPackage = sourceFile.sourcePackage - val fileCodeBuilder = GoFileCodeBuilder(destinationPackage, imports) - - val types = functions.flatMap { - it.parameters + if (it.isMethod) listOf(it.receiver!!) else emptyList() - }.map { it.type } - val aliases = imports.associate { it.goPackage to it.alias } - val namedTypes = types.getAllVisibleNamedTypes(destinationPackage) - - val workerTestFunctionCode = generateWorkerTestFunctionCode( - functions, destinationPackage, aliases, eachExecutionTimeoutMillis, port - ) - fileCodeBuilder.addTopLevelElements( - GoCodeTemplates.getTopLevelHelperStructsAndFunctionsForWorker( - namedTypes, - destinationPackage, - aliases, - ) + workerTestFunctionCode - ) - - return fileCodeBuilder.buildCodeString() - } - - private fun generateFileWithCoverTabGoCode(goPackage: GoPackage): String = """ - package ${goPackage.name} - - const __CoverSize__ = 64 << 10 - - var __CoverTab__ []int - """.trimIndent() - - private fun generateWorkerTestFunctionCode( - functions: List, - destinationPackage: GoPackage, - aliases: Map, - eachExecutionTimeoutMillis: Long, - port: Int - ): String { - val functionNameToFunctionCall = functions.map { function -> - function.name to if (function.isMethod) { - "(${function.receiver!!.type.getRelativeName(destinationPackage, aliases)}).${function.name}" - } else { - function.name - } - } - return """ - func $workerTestFunctionName(t *testing.T) { - con, err := net.Dial("tcp", ":$port") - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Connection to server failed: %s", err) - os.Exit(1) - } - - defer func() { - err = con.Close() - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Closing connection failed: %s", err) - os.Exit(1) - } - }() - - jsonDecoder := json.NewDecoder(con) - for { - var ( - funcName string - rawValues []__RawValue__ - ) - funcName, rawValues, err = __parseTestInput__(jsonDecoder) - if err == io.EOF { - break - } - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Failed to parse test input: %s", err) - os.Exit(1) - } - - var arguments []reflect.Value - arguments, err = __convertRawValuesToReflectValues__(rawValues) - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Failed to convert slice of RawValue to slice of reflect.Value: %s", err) - os.Exit(1) - } - - var function reflect.Value - switch funcName { - ${ - functionNameToFunctionCall.joinToString(separator = "\n") { (functionName, functionCall) -> - "case \"${functionName}\": function = reflect.ValueOf($functionCall)" - } - } - default: - _, _ = fmt.Fprintf(os.Stderr, "Function %s not found", funcName) - os.Exit(1) - } - - executionResult := __executeFunction__(function, arguments, $eachExecutionTimeoutMillis*time.Millisecond) - - var jsonBytes []byte - jsonBytes, err = json.Marshal(executionResult) - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Failed to serialize execution result to json: %s", err) - os.Exit(1) - } - - bs := make([]byte, 4) - binary.BigEndian.PutUint32(bs, uint32(len(jsonBytes))) - _, err = con.Write(bs) - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Failed to send length of execution result: %s", err) - os.Exit(1) - } - - _, err = con.Write(jsonBytes) - if err != nil { - _, _ = fmt.Fprintf(os.Stderr, "Failed to send execution result: %s", err) - os.Exit(1) - } - } - } - """.trimIndent() - } -} \ No newline at end of file diff --git a/utbot-go/src/main/kotlin/org/utbot/go/worker/RawExecutionResults.kt b/utbot-go/src/main/kotlin/org/utbot/go/worker/RawExecutionResults.kt deleted file mode 100644 index 3fb23a76..00000000 --- a/utbot-go/src/main/kotlin/org/utbot/go/worker/RawExecutionResults.kt +++ /dev/null @@ -1,260 +0,0 @@ -package org.utbot.go.worker - -import com.beust.klaxon.TypeAdapter -import com.beust.klaxon.TypeFor -import org.utbot.go.api.* -import org.utbot.go.api.util.* -import org.utbot.go.framework.api.go.GoTypeId -import org.utbot.go.framework.api.go.GoUtModel -import kotlin.reflect.KClass - -data class PrimitiveValue( - override val type: String, - val value: String, -) : RawValue(type) - -data class NamedValue( - override val type: String, - val value: RawValue, -) : RawValue(type) - -data class StructValue( - override val type: String, - val value: List -) : RawValue(type) { - data class FieldValue( - val name: String, - val value: RawValue, - val isExported: Boolean - ) -} - -data class ArrayValue( - override val type: String, - val elementType: String, - val length: Int, - val value: List -) : RawValue(type) - -data class SliceValue( - override val type: String, - val elementType: String, - val length: Int, - val value: List -) : RawValue(type) - -data class MapValue( - override val type: String, - val keyType: String, - val elementType: String, - val value: List -) : RawValue(type) { - data class KeyValue( - val key: RawValue, - val value: RawValue - ) -} - -data class ChanValue( - override val type: String, - val elementType: String, - val direction: String, - val length: Int, - val value: List -) : RawValue(type) - -data class NilValue(override val type: String) : RawValue(type) - -data class InterfaceValue(override val type: String) : RawValue(type) - -data class PointerValue(override val type: String, val elementType: String, val value: RawValue) : RawValue(type) - -@TypeFor(field = "type", adapter = RawValueAdapter::class) -abstract class RawValue(open val type: String) - -class RawValueAdapter : TypeAdapter { - override fun classFor(type: Any): KClass { - val typeName = type as String - return when { - typeName == "nil" -> NilValue::class - typeName == "interface{}" -> InterfaceValue::class - typeName == "struct{}" -> StructValue::class - typeName.startsWith("map[") -> MapValue::class - typeName.startsWith("[]") -> SliceValue::class - typeName.startsWith("[") -> ArrayValue::class - typeName.startsWith("<-chan") || typeName.startsWith("chan") -> ChanValue::class - typeName.startsWith("*") -> PointerValue::class - goPrimitives.map { it.name }.contains(typeName) -> PrimitiveValue::class - else -> NamedValue::class - } - } -} - -data class RawPanicMessage( - val rawResultValue: RawValue, val implementsError: Boolean -) - -data class RawExecutionResult( - val timeoutExceeded: Boolean, - val rawResultValues: List, - val panicMessage: RawPanicMessage?, - val coverTab: Map -) - -private object RawValuesCodes { - const val NAN_VALUE = "NaN" - const val POS_INF_VALUE = "+Inf" - const val NEG_INF_VALUE = "-Inf" - const val COMPLEX_PARTS_DELIMITER = "@" -} - -class GoWorkerFailedException(s: String) : Exception(s) - -fun convertRawExecutionResultToExecutionResult( - rawExecutionResult: RawExecutionResult, functionResultTypes: List, timeoutMillis: Long -): GoUtExecutionResult { - if (rawExecutionResult.timeoutExceeded) { - return GoUtTimeoutExceeded(timeoutMillis) - } - if (rawExecutionResult.panicMessage != null) { - val (rawResultValue, implementsError) = rawExecutionResult.panicMessage - val panicValue = if (goPrimitives.map { it.name }.contains(rawResultValue.type)) { - createGoUtPrimitiveModelFromRawValue( - rawResultValue as PrimitiveValue, GoPrimitiveTypeId(rawResultValue.type) - ) - } else { - error("Only primitive panic value is currently supported") - } - return GoUtPanicFailure(panicValue, implementsError) - } - if (rawExecutionResult.rawResultValues.size != functionResultTypes.size) { - error("Function completed execution must have as many result raw values as result types.") - } - var executedWithNonNilErrorString = false - val resultValues = rawExecutionResult.rawResultValues.zip(functionResultTypes).map { (rawResultValue, resultType) -> - val model = createGoUtModelFromRawValue(rawResultValue, resultType) - if (resultType.implementsError && (model is GoUtNamedModel && model.value.typeId == goStringTypeId)) { - executedWithNonNilErrorString = true - } - return@map model - } - return if (executedWithNonNilErrorString) { - GoUtExecutionWithNonNilError(resultValues) - } else { - GoUtExecutionSuccess(resultValues) - } -} - -private fun createGoUtModelFromRawValue( - rawValue: RawValue, typeId: GoTypeId, -): GoUtModel = if (rawValue is NilValue) { - GoUtNilModel(typeId) -} else { - when (typeId) { - is GoNamedTypeId -> createGoUtNamedModelFromRawValue(rawValue as NamedValue, typeId) - // Only for error interface - is GoInterfaceTypeId -> GoUtPrimitiveModel((rawValue as PrimitiveValue).value, goStringTypeId) - - is GoStructTypeId -> createGoUtStructModelFromRawValue(rawValue as StructValue, typeId) - - is GoArrayTypeId -> createGoUtArrayModelFromRawValue(rawValue as ArrayValue, typeId) - - is GoSliceTypeId -> createGoUtSliceModelFromRawValue(rawValue as SliceValue, typeId) - - is GoMapTypeId -> createGoUtMapModelFromRawValue(rawValue as MapValue, typeId) - - is GoPrimitiveTypeId -> createGoUtPrimitiveModelFromRawValue(rawValue as PrimitiveValue, typeId) - - is GoPointerTypeId -> createGoUtPointerModelFromRawValue(rawValue as PointerValue, typeId) - - is GoChanTypeId -> createGoUtChanModelFromRawValue(rawValue as ChanValue, typeId) - - else -> error("Creating a model from raw value of [${typeId.javaClass}] type is not supported") - } -} - -private fun createGoUtPrimitiveModelFromRawValue( - resultValue: PrimitiveValue, typeId: GoPrimitiveTypeId, -): GoUtPrimitiveModel { - val rawValue = resultValue.value - if (typeId == goFloat64TypeId || typeId == goFloat32TypeId) { - return convertRawFloatValueToGoUtPrimitiveModel(rawValue, typeId) - } - if (typeId == goComplex128TypeId || typeId == goComplex64TypeId) { - val correspondingFloatType = if (typeId == goComplex128TypeId) goFloat64TypeId else goFloat32TypeId - val (realPartModel, imagPartModel) = rawValue.split(RawValuesCodes.COMPLEX_PARTS_DELIMITER).map { - convertRawFloatValueToGoUtPrimitiveModel(it, correspondingFloatType, typeId == goComplex64TypeId) - } - return GoUtComplexModel(realPartModel, imagPartModel, typeId) - } - val value = rawValueOfGoPrimitiveTypeToValue(typeId, rawValue) - return GoUtPrimitiveModel(value, typeId) -} - -private fun convertRawFloatValueToGoUtPrimitiveModel( - rawValue: String, typeId: GoPrimitiveTypeId, explicitCastRequired: Boolean = false -): GoUtPrimitiveModel { - return when (rawValue) { - RawValuesCodes.NAN_VALUE -> GoUtFloatNaNModel(typeId) - RawValuesCodes.POS_INF_VALUE -> GoUtFloatInfModel(1, typeId) - RawValuesCodes.NEG_INF_VALUE -> GoUtFloatInfModel(-1, typeId) - else -> { - val typedValue = if (typeId == goFloat64TypeId) rawValue.toDouble() else rawValue.toFloat() - if (explicitCastRequired) { - GoUtPrimitiveModel(typedValue, typeId, explicitCastMode = ExplicitCastMode.REQUIRED) - } else { - GoUtPrimitiveModel(typedValue, typeId) - } - } - } -} - -private fun createGoUtStructModelFromRawValue(resultValue: StructValue, resultTypeId: GoStructTypeId): GoUtStructModel { - val value = linkedMapOf(*resultValue.value.zip(resultTypeId.fields).map { (value, fieldId) -> - fieldId to createGoUtModelFromRawValue(value.value, fieldId.declaringType) - }.toTypedArray()) - return GoUtStructModel(value, resultTypeId) -} - -private fun createGoUtArrayModelFromRawValue(resultValue: ArrayValue, resultTypeId: GoArrayTypeId): GoUtArrayModel { - val value = resultValue.value.map { - createGoUtModelFromRawValue(it, resultTypeId.elementTypeId!!) - }.toTypedArray() - return GoUtArrayModel(value, resultTypeId) -} - -private fun createGoUtSliceModelFromRawValue(resultValue: SliceValue, resultTypeId: GoSliceTypeId): GoUtSliceModel { - val value = resultValue.value.map { - createGoUtModelFromRawValue(it, resultTypeId.elementTypeId!!) - }.toTypedArray() - return GoUtSliceModel(value, resultTypeId, resultValue.length) -} - -private fun createGoUtMapModelFromRawValue(resultValue: MapValue, resultTypeId: GoMapTypeId): GoUtMapModel { - val value = resultValue.value.associate { - val key = createGoUtModelFromRawValue(it.key, resultTypeId.keyTypeId) - val value = createGoUtModelFromRawValue(it.value, resultTypeId.elementTypeId!!) - key to value - }.toMutableMap() - return GoUtMapModel(value, resultTypeId) -} - -private fun createGoUtNamedModelFromRawValue(resultValue: NamedValue, resultTypeId: GoNamedTypeId): GoUtNamedModel { - val value = createGoUtModelFromRawValue(resultValue.value, resultTypeId.underlyingTypeId) - return GoUtNamedModel(value, resultTypeId) -} - -private fun createGoUtPointerModelFromRawValue( - resultValue: PointerValue, - resultTypeId: GoPointerTypeId -): GoUtPointerModel { - val value = createGoUtModelFromRawValue(resultValue.value, resultTypeId.elementTypeId!!) - return GoUtPointerModel(value, resultTypeId) -} - -private fun createGoUtChanModelFromRawValue(resultValue: ChanValue, resultTypeId: GoChanTypeId): GoUtChanModel { - val value = resultValue.value.map { - createGoUtModelFromRawValue(it, resultTypeId.elementTypeId!!) - }.toTypedArray() - return GoUtChanModel(value, resultTypeId) -} \ No newline at end of file diff --git a/utbot-go/src/main/resources/go_package_instrumentation/go.mod b/utbot-go/src/main/resources/go_package_instrumentation/go.mod deleted file mode 100644 index 0c811c65..00000000 --- a/utbot-go/src/main/resources/go_package_instrumentation/go.mod +++ /dev/null @@ -1,10 +0,0 @@ -module go_package_modifier - -go 1.18 - -require golang.org/x/tools v0.8.0 - -require ( - golang.org/x/mod v0.10.0 // indirect - golang.org/x/sys v0.7.0 // indirect -) diff --git a/utbot-go/src/main/resources/go_package_instrumentation/go.sum b/utbot-go/src/main/resources/go_package_instrumentation/go.sum deleted file mode 100644 index d84f5f10..00000000 --- a/utbot-go/src/main/resources/go_package_instrumentation/go.sum +++ /dev/null @@ -1,7 +0,0 @@ -golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= -golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= -golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= diff --git a/utbot-go/src/main/resources/go_package_instrumentation/instrumentation_result.go b/utbot-go/src/main/resources/go_package_instrumentation/instrumentation_result.go deleted file mode 100644 index 955303b4..00000000 --- a/utbot-go/src/main/resources/go_package_instrumentation/instrumentation_result.go +++ /dev/null @@ -1,7 +0,0 @@ -package main - -type InstrumentationResult struct { - AbsolutePathToInstrumentedPackage string `json:"absolutePathToInstrumentedPackage"` - AbsolutePathToInstrumentedModule string `json:"absolutePathToInstrumentedModule"` - TestedFunctionsToCounters map[string][]string `json:"testedFunctionsToCounters"` -} diff --git a/utbot-go/src/main/resources/go_package_instrumentation/instrumentation_target.go b/utbot-go/src/main/resources/go_package_instrumentation/instrumentation_target.go deleted file mode 100644 index bc98cece..00000000 --- a/utbot-go/src/main/resources/go_package_instrumentation/instrumentation_target.go +++ /dev/null @@ -1,6 +0,0 @@ -package main - -type InstrumentationTarget struct { - AbsolutePackagePath string `json:"absolutePackagePath"` - TestedFunctions []string `json:"testedFunctions"` -} diff --git a/utbot-go/src/main/resources/go_package_instrumentation/instrumentator.go b/utbot-go/src/main/resources/go_package_instrumentation/instrumentator.go deleted file mode 100644 index 1ec4dbbc..00000000 --- a/utbot-go/src/main/resources/go_package_instrumentation/instrumentator.go +++ /dev/null @@ -1,164 +0,0 @@ -package main - -import ( - "crypto/sha1" - "go/ast" - "go/token" - "strconv" -) - -type Instrumentator struct { - lineCounter int - currFunction string - testedFunctions map[string]bool - functionToCounters map[string][]string -} - -func NewInstrumentator(testedFunctions map[string]bool) Instrumentator { - return Instrumentator{ - testedFunctions: testedFunctions, - functionToCounters: make(map[string][]string), - } -} - -func (f *Instrumentator) Visit(node ast.Node) ast.Visitor { - switch n := node.(type) { - case *ast.FuncDecl: - n.Doc = nil - f.currFunction = n.Name.Name - case *ast.BlockStmt: - if n == nil { - n = &ast.BlockStmt{} - } - n.List = f.addCounter(n.List) - return nil - case *ast.IfStmt: - if n.Body == nil { - return nil - } - ast.Walk(f, n.Body) - if n.Else == nil { - n.Else = &ast.BlockStmt{} - } - switch stmt := n.Else.(type) { - case *ast.IfStmt: - n.Else = &ast.BlockStmt{List: []ast.Stmt{stmt}} - } - ast.Walk(f, n.Else) - return nil - case *ast.ForStmt: - if n.Body == nil { - return nil - } - ast.Walk(f, n.Body) - return nil - case *ast.RangeStmt: - if n.Body == nil { - return nil - } - ast.Walk(f, n.Body) - return nil - case *ast.SwitchStmt: - hasDefault := false - if n.Body == nil { - n.Body = &ast.BlockStmt{} - } - for _, stmt := range n.Body.List { - if cas, ok := stmt.(*ast.CaseClause); ok && cas.List == nil { - hasDefault = true - break - } - } - if !hasDefault { - n.Body.List = append(n.Body.List, &ast.CaseClause{}) - } - for _, stmt := range n.Body.List { - ast.Walk(f, stmt) - } - return nil - case *ast.TypeSwitchStmt: - hasDefault := false - if n.Body == nil { - n.Body = &ast.BlockStmt{} - } - for _, stmt := range n.Body.List { - if cas, ok := stmt.(*ast.CaseClause); ok && cas.List == nil { - hasDefault = true - break - } - } - if !hasDefault { - n.Body.List = append(n.Body.List, &ast.CaseClause{}) - } - for _, stmt := range n.Body.List { - ast.Walk(f, stmt) - } - return nil - case *ast.SelectStmt: - if n.Body == nil { - return nil - } - for _, stmt := range n.Body.List { - ast.Walk(f, stmt) - } - return nil - case *ast.CaseClause: - for _, expr := range n.List { - ast.Walk(f, expr) - } - n.Body = f.addCounter(n.Body) - return nil - case *ast.CommClause: - ast.Walk(f, n.Comm) - n.Body = f.addCounter(n.Body) - return nil - } - return f -} - -func (f *Instrumentator) addCounter(stmts []ast.Stmt) []ast.Stmt { - if len(stmts) == 0 { - return []ast.Stmt{f.newCounter()} - } - - var newList []ast.Stmt - for _, stmt := range stmts { - newList = append(newList, f.newCounter()) - ast.Walk(f, stmt) - newList = append(newList, stmt) - if _, ok := stmt.(*ast.ReturnStmt); ok { - break - } - } - return newList -} - -func (f *Instrumentator) getNextCounter() int { - f.lineCounter++ - id := f.lineCounter - buf := []byte{byte(id), byte(id >> 8), byte(id >> 16), byte(id >> 24)} - hash := sha1.Sum(buf) - return int(uint16(hash[0]) | uint16(hash[1])<<8) -} - -func (f *Instrumentator) newCounter() ast.Stmt { - cnt := strconv.Itoa(f.getNextCounter()) - - funcName := f.currFunction - if ok := f.testedFunctions[funcName]; ok { - f.functionToCounters[funcName] = append(f.functionToCounters[funcName], cnt) - } - - idx := &ast.BasicLit{ - Kind: token.INT, - Value: cnt, - } - counter := &ast.IndexExpr{ - X: ast.NewIdent("__CoverTab__"), - Index: idx, - } - return &ast.IncDecStmt{ - X: counter, - Tok: token.INC, - } -} diff --git a/utbot-go/src/main/resources/go_package_instrumentation/main.go b/utbot-go/src/main/resources/go_package_instrumentation/main.go deleted file mode 100644 index e59fea31..00000000 --- a/utbot-go/src/main/resources/go_package_instrumentation/main.go +++ /dev/null @@ -1,178 +0,0 @@ -package main - -import ( - "bytes" - "encoding/json" - "flag" - "fmt" - "go/ast" - "go/printer" - "golang.org/x/tools/go/packages" - "io" - "io/fs" - "os" - "path/filepath" - "strings" -) - -func failf(str string, args ...any) { - _, _ = fmt.Fprintf(os.Stderr, str+"\n", args...) - os.Exit(1) -} - -func instrument(astFile *ast.File, modifier *Instrumentator) { - ast.Walk(modifier, astFile) -} - -func copyFile(src, dst string) { - r, err := os.Open(src) - if err != nil { - failf("copyFile: could not read %v", src, err) - } - w, err := os.OpenFile(dst, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) - if err != nil { - failf("copyFile: could not write %v: %v", dst, err) - } - if _, err := io.Copy(w, r); err != nil { - failf("copyFile: copying failed: %v", err) - } - if err := r.Close(); err != nil { - failf("copyFile: closing %v failed: %v", src, err) - } - if err := w.Close(); err != nil { - failf("copyFile: closing %v failed: %v", dst, err) - } -} - -func main() { - var targetFilePath, resultFilePath string - flag.StringVar(&targetFilePath, "target", "", "path to JSON file to read instrumentation target from") - flag.StringVar(&resultFilePath, "result", "", "path to JSON file to write instrumentation result to") - flag.Parse() - - // read and deserialize targets - targetBytes, readErr := os.ReadFile(targetFilePath) - if readErr != nil { - failf("failed to read file %s: %s", targetFilePath, readErr) - } - var instrumentationTarget InstrumentationTarget - fromJsonErr := json.Unmarshal(targetBytes, &instrumentationTarget) - if fromJsonErr != nil { - failf("failed to parse instrumentation target: %s", fromJsonErr) - } - - // parse package - pkgPath := instrumentationTarget.AbsolutePackagePath - cfg := packages.Config{ - Mode: packages.NeedName | packages.NeedFiles | packages.NeedCompiledGoFiles | packages.NeedImports | - packages.NeedTypes | packages.NeedTypesSizes | packages.NeedSyntax | packages.NeedTypesInfo | - packages.NeedDeps | packages.NeedModule | packages.NeedEmbedFiles | packages.NeedEmbedPatterns | packages.NeedExportFile, - Dir: pkgPath, - } - cfg.Env = os.Environ() - pkgs, err := packages.Load(&cfg, pkgPath) - if err != nil { - failf("failed to parse package: %s", err) - } - if len(pkgs) != 1 { - failf("cannot build multiple packages: %s", err) - } - if packages.PrintErrors(pkgs) > 0 { - failf("typechecking of %s failed", pkgPath) - } - - targetPackage := pkgs[0] - module := targetPackage.Module - - workdir, err := os.MkdirTemp("", "utbot-go*") - if err != nil { - failf("failed to create temporary directory: %s", err) - } - - testedFunctions := make(map[string]bool, len(instrumentationTarget.TestedFunctions)) - for _, f := range instrumentationTarget.TestedFunctions { - testedFunctions[f] = true - } - modifier := NewInstrumentator(testedFunctions) - absolutePathToInstrumentedPackage := "" - visit := func(pkg *packages.Package) { - if pkg.Module == nil || pkg.Module.Path != module.Path { - return - } - for i, fullName := range pkg.CompiledGoFiles { - fname := strings.Replace(fullName, module.Dir, "", 1) - outpath := filepath.Join(workdir, fname) - if !strings.HasSuffix(fullName, ".go") { - continue - } - astFile := pkg.Syntax[i] - if pkg.PkgPath == targetPackage.PkgPath { - instrument(astFile, &modifier) - absolutePathToInstrumentedPackage = filepath.Dir(outpath) - } - buf := new(bytes.Buffer) - c := printer.Config{ - Mode: printer.TabIndent, - Tabwidth: 4, - Indent: 0, - } - err = c.Fprint(buf, pkg.Fset, astFile) - if err != nil { - failf("failed to fprint: %s", err) - } - err = os.MkdirAll(filepath.Dir(outpath), 0666) - if err != nil { - failf("failed to create directories: %s", err) - } - _, err = os.Create(outpath) - if err != nil { - failf("failed to create file: %s", err) - } - err = os.WriteFile(outpath, buf.Bytes(), 0666) - if err != nil { - failf("failed to write to file: %s", err) - } - } - } - packages.Visit(pkgs, nil, visit) - - err = filepath.Walk(module.Dir, func(path string, info fs.FileInfo, err error) error { - if info.IsDir() && info.Name() == ".git" { - return filepath.SkipDir - } - if info.IsDir() { - dname := strings.Replace(path, module.Dir, "", 1) - dirPath := filepath.Join(workdir, dname) - err = os.MkdirAll(dirPath, 0666) - return err - } - if !strings.HasSuffix(path, ".go") { - fname := strings.Replace(path, module.Dir, "", 1) - outpath := filepath.Join(workdir, fname) - err = os.Symlink(path, outpath) - if err != nil { - copyFile(path, outpath) - } - return nil - } - return nil - }) - if err != nil { - failf("failed to walk the module directory: %s", err) - } - - // serialize and write results - instrumentationResult := InstrumentationResult{ - AbsolutePathToInstrumentedPackage: absolutePathToInstrumentedPackage, - AbsolutePathToInstrumentedModule: workdir, - TestedFunctionsToCounters: modifier.functionToCounters, - } - jsonBytes, toJsonErr := json.MarshalIndent(instrumentationResult, "", " ") - if toJsonErr != nil { - failf("failed to serialize instrumentation result: %s", toJsonErr) - } - writeErr := os.WriteFile(resultFilePath, jsonBytes, os.ModePerm) - if writeErr != nil { - failf("failed to write instrumentation result: %s", writeErr) - } -} diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/analysis_results.go b/utbot-go/src/main/resources/go_source_code_analyzer/analysis_results.go deleted file mode 100644 index 7bfdeb45..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/analysis_results.go +++ /dev/null @@ -1,131 +0,0 @@ -package main - -import "go/token" - -type Package struct { - Name string `json:"name"` - Path string `json:"path"` -} - -type AnalyzedType interface { - GetName() string -} - -type AnalyzedNamedType struct { - Name string `json:"name"` - SourcePackage Package `json:"sourcePackage"` - ImplementsError bool `json:"implementsError"` - UnderlyingType string `json:"underlyingType"` -} - -func (t AnalyzedNamedType) GetName() string { - return t.Name -} - -type AnalyzedInterfaceType struct { - Name string `json:"name"` - Implementations []string `json:"implementations"` -} - -func (t AnalyzedInterfaceType) GetName() string { - return t.Name -} - -type AnalyzedPrimitiveType struct { - Name string `json:"name"` -} - -func (t AnalyzedPrimitiveType) GetName() string { - return t.Name -} - -type AnalyzedField struct { - Name string `json:"name"` - Type string `json:"type"` - IsExported bool `json:"isExported"` -} - -type AnalyzedStructType struct { - Name string `json:"name"` - Fields []AnalyzedField `json:"fields"` -} - -func (t AnalyzedStructType) GetName() string { - return t.Name -} - -type AnalyzedArrayType struct { - Name string `json:"name"` - ElementType string `json:"elementType"` - Length int64 `json:"length"` -} - -func (t AnalyzedArrayType) GetName() string { - return t.Name -} - -type AnalyzedSliceType struct { - Name string `json:"name"` - ElementType string `json:"elementType"` -} - -func (t AnalyzedSliceType) GetName() string { - return t.Name -} - -type AnalyzedMapType struct { - Name string `json:"name"` - KeyType string `json:"keyType"` - ElementType string `json:"elementType"` -} - -func (t AnalyzedMapType) GetName() string { - return t.Name -} - -type AnalyzedChanType struct { - Name string `json:"name"` - ElementType string `json:"elementType"` - Direction string `json:"direction"` -} - -func (t AnalyzedChanType) GetName() string { - return t.Name -} - -type AnalyzedPointerType struct { - Name string `json:"name"` - ElementType string `json:"elementType"` -} - -func (t AnalyzedPointerType) GetName() string { - return t.Name -} - -type AnalyzedVariable struct { - Name string `json:"name"` - Type string `json:"type"` -} - -type AnalyzedFunction struct { - Name string `json:"name"` - Types map[string]AnalyzedType `json:"types"` - Receiver *AnalyzedVariable `json:"receiver"` - Parameters []AnalyzedVariable `json:"parameters"` - ResultTypes []AnalyzedVariable `json:"resultTypes"` - Constants map[string][]string `json:"constants"` - position token.Pos -} - -type AnalysisResult struct { - AbsoluteFilePath string `json:"absoluteFilePath"` - SourcePackage Package `json:"sourcePackage"` - AnalyzedFunctions []AnalyzedFunction `json:"analyzedFunctions"` - NotSupportedFunctionNames []string `json:"notSupportedFunctionNames"` - NotFoundFunctionNames []string `json:"notFoundFunctionNames"` -} - -type AnalysisResults struct { - Results []AnalysisResult `json:"results"` - IntSize int `json:"intSize"` -} diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/analysis_targets.go b/utbot-go/src/main/resources/go_source_code_analyzer/analysis_targets.go deleted file mode 100644 index e7160052..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/analysis_targets.go +++ /dev/null @@ -1,11 +0,0 @@ -package main - -type AnalysisTarget struct { - AbsoluteFilePath string `json:"absoluteFilePath"` - TargetFunctionNames []string `json:"targetFunctionNames"` - TargetMethodNames []string `json:"targetMethodNames"` -} - -type AnalysisTargets struct { - Targets []AnalysisTarget `json:"targets"` -} diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/analyzer_core.go b/utbot-go/src/main/resources/go_source_code_analyzer/analyzer_core.go deleted file mode 100644 index 10475e3d..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/analyzer_core.go +++ /dev/null @@ -1,460 +0,0 @@ -package main - -import ( - "fmt" - "go/ast" - "go/token" - "go/types" - "sort" - "strconv" - "sync" -) - -var errorInterface = func() *types.Interface { - variable := types.NewVar(token.NoPos, nil, "", types.Typ[types.String]) - results := types.NewTuple(variable) - signature := types.NewSignatureType(nil, nil, nil, nil, results, false) - method := types.NewFunc(token.NoPos, nil, "Error", signature) - return types.NewInterfaceType([]*types.Func{method}, nil) -}() - -func implementsError(typ types.Type) bool { - return types.Implements(typ, errorInterface) -} - -func ChanDirToString(dir types.ChanDir) (string, error) { - switch dir { - case types.SendOnly: - return "SENDONLY", nil - case types.RecvOnly: - return "RECVONLY", nil - case types.SendRecv: - return "SENDRECV", nil - } - return "", fmt.Errorf("unsupported channel direction: %d", dir) -} - -func toAnalyzedType( - typ types.Type, - analyzedTypes map[string]AnalyzedType, - typeToIndex map[string]string, - sourcePackage Package, - currentPackage Package, - info *types.Info, -) string { - if index, ok := typeToIndex[typ.String()]; ok { - return index - } - - var result AnalyzedType - indexOfResult := strconv.Itoa(len(typeToIndex)) - typeToIndex[typ.String()] = indexOfResult - - switch t := typ.(type) { - case *types.Pointer: - indexOfElemType := toAnalyzedType(t.Elem(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - - result = AnalyzedPointerType{ - Name: "*", - ElementType: indexOfElemType, - } - case *types.Named: - name := t.Obj().Name() - - var pkg Package - if p := t.Obj().Pkg(); p != nil { - pkg.Name = p.Name() - pkg.Path = p.Path() - } - - isError := implementsError(t) - - indexOfUnderlyingType := toAnalyzedType(t.Underlying(), analyzedTypes, typeToIndex, sourcePackage, pkg, info) - - result = AnalyzedNamedType{ - Name: name, - SourcePackage: pkg, - ImplementsError: isError, - UnderlyingType: indexOfUnderlyingType, - } - case *types.Basic: - name := t.Name() - result = AnalyzedPrimitiveType{Name: name} - case *types.Struct: - println(t.String()) - fields := make([]AnalyzedField, 0, t.NumFields()) - for i := 0; i < t.NumFields(); i++ { - field := t.Field(i) - if currentPackage != sourcePackage && !field.Exported() { - continue - } - - fieldType := toAnalyzedType(field.Type(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - - fields = append(fields, AnalyzedField{field.Name(), fieldType, field.Exported()}) - } - - result = AnalyzedStructType{ - Name: "struct{}", - Fields: fields, - } - case *types.Array: - println(t.String()) - indexOfArrayElemType := toAnalyzedType(t.Elem(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - - length := t.Len() - - result = AnalyzedArrayType{ - Name: "[_]", - ElementType: indexOfArrayElemType, - Length: length, - } - case *types.Slice: - println(t.String()) - indexOfSliceElemType := toAnalyzedType(t.Elem(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - - result = AnalyzedSliceType{ - Name: "[]", - ElementType: indexOfSliceElemType, - } - case *types.Map: - println(t.String()) - indexOfKeyType := toAnalyzedType(t.Key(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - indexOfElemType := toAnalyzedType(t.Elem(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - - result = AnalyzedMapType{ - Name: "map", - KeyType: indexOfKeyType, - ElementType: indexOfElemType, - } - case *types.Chan: - println(t.String()) - indexOfElemType := toAnalyzedType(t.Elem(), analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - - chanDir, err := ChanDirToString(t.Dir()) - checkError(err) - - result = AnalyzedChanType{ - Name: "chan", - ElementType: indexOfElemType, - Direction: chanDir, - } - case *types.Interface: - implementations := make([]string, 0) - used := make(map[string]bool) - for _, typeAndValue := range info.Types { - switch typeAndValue.Type.(type) { - case *types.Struct, *types.Signature, *types.Tuple, *types.TypeParam, *types.Union: - continue - case *types.Basic: - b := typeAndValue.Type.(*types.Basic) - switch b.Kind() { - case types.UntypedBool, types.UntypedInt, types.UntypedRune, types.UntypedFloat, types.UntypedComplex, types.UntypedString, types.UntypedNil: - continue - } - } - if !types.IsInterface(typeAndValue.Type) && types.Implements(typeAndValue.Type, t) { - analyzedType := toAnalyzedType(typeAndValue.Type, analyzedTypes, typeToIndex, sourcePackage, currentPackage, info) - if used[analyzedType] { - continue - } - used[analyzedType] = true - implementations = append(implementations, analyzedType) - } - } - result = AnalyzedInterfaceType{ - Name: "interface{}", - Implementations: implementations, - } - default: - err := fmt.Errorf("unsupported type: %s", typ.Underlying()) - checkError(err) - } - analyzedTypes[indexOfResult] = result - return indexOfResult -} - -type ResultOfChecking int - -const ( - SupportedType = iota - Unknown - UnsupportedType -) - -func checkTypeIsSupported( - typ types.Type, - visited map[string]ResultOfChecking, - isResultType bool, - sourcePackage Package, - currentPackage Package, - depth int, -) ResultOfChecking { - if res, ok := visited[typ.String()]; ok { - return res - } - var result ResultOfChecking = Unknown - visited[typ.String()] = result - switch t := typ.(type) { - case *types.Pointer: - // no support for pointer to pointer and pointer to channel, - // support for pointer to primitive only if depth is 0 - switch t.Elem().Underlying().(type) { - case *types.Basic: - if depth == 0 { - result = SupportedType - } else { - result = UnsupportedType - } - case *types.Chan: - if depth == 0 && !isResultType { - result = SupportedType - } else { - result = UnsupportedType - } - case *types.Pointer: - result = UnsupportedType - default: - result = checkTypeIsSupported(t.Elem(), visited, isResultType, sourcePackage, currentPackage, depth+1) - } - case *types.Named: - var pkg Package - if p := t.Obj().Pkg(); p != nil { - pkg.Name = p.Name() - pkg.Path = p.Path() - } - result = checkTypeIsSupported(t.Underlying(), visited, isResultType, sourcePackage, pkg, depth+1) - case *types.Basic: - result = SupportedType - case *types.Struct: - for i := 0; i < t.NumFields(); i++ { - field := t.Field(i) - if currentPackage != sourcePackage && !field.Exported() { - continue - } - - if checkTypeIsSupported(field.Type(), visited, isResultType, sourcePackage, currentPackage, depth+1) == UnsupportedType { - visited[t.String()] = UnsupportedType - return UnsupportedType - } - } - result = SupportedType - case *types.Array: - result = checkTypeIsSupported(t.Elem(), visited, isResultType, sourcePackage, currentPackage, depth+1) - case *types.Slice: - result = checkTypeIsSupported(t.Elem(), visited, isResultType, sourcePackage, currentPackage, depth+1) - case *types.Map: - if checkTypeIsSupported(t.Key(), visited, isResultType, sourcePackage, currentPackage, depth+1) == UnsupportedType || - checkTypeIsSupported(t.Elem(), visited, isResultType, sourcePackage, currentPackage, depth+1) == UnsupportedType { - result = UnsupportedType - } else { - result = SupportedType - } - case *types.Chan: - if !isResultType && depth == 0 { - result = checkTypeIsSupported(t.Elem(), visited, isResultType, sourcePackage, currentPackage, depth+1) - } - case *types.Interface: - if isResultType { - if implementsError(t) && depth == 0 { - result = SupportedType - } else { - result = UnsupportedType - } - } else { - result = SupportedType - } - } - - if result == Unknown { - result = UnsupportedType - } - visited[typ.String()] = result - return visited[typ.String()] -} - -func checkIsSupported(signature *types.Signature, sourcePackage Package) bool { - if signature.TypeParams() != nil { // has type params - return false - } - if signature.Variadic() { // is variadic - return false - } - visited := make(map[string]ResultOfChecking, signature.Results().Len()+signature.Params().Len()) - if signature.Recv() != nil { - receiverType := signature.Recv().Type() - checkTypeIsSupported(receiverType, visited, false, sourcePackage, sourcePackage, 0) - if visited[receiverType.String()] == UnsupportedType { - return false - } - } - if results := signature.Results(); results != nil { - for i := 0; i < results.Len(); i++ { - resultType := results.At(i).Type().Underlying() - if _, ok := visited[resultType.String()]; ok { - continue - } - checkTypeIsSupported(resultType, visited, true, sourcePackage, sourcePackage, 0) - if visited[resultType.String()] == UnsupportedType { - return false - } - } - } - if parameters := signature.Params(); parameters != nil { - for i := 0; i < parameters.Len(); i++ { - paramType := parameters.At(i).Type().Underlying() - if _, ok := visited[paramType.String()]; ok { - continue - } - checkTypeIsSupported(paramType, visited, false, sourcePackage, sourcePackage, 0) - if visited[paramType.String()] == UnsupportedType { - return false - } - } - } - return true -} - -func extractConstants(info *types.Info, funcDecl *ast.FuncDecl) map[string][]string { - constantExtractor := ConstantExtractor{info: info, constants: map[string][]string{}} - ast.Walk(&constantExtractor, funcDecl) - return constantExtractor.constants -} - -func collectTargetAnalyzedFunctions( - info *types.Info, - targetFunctionNames []string, - targetMethodNames []string, - sourcePackage Package, -) ( - analyzedFunctions []AnalyzedFunction, - notSupportedFunctionNames []string, - notFoundFunctionNames []string, -) { - analyzedFunctions = []AnalyzedFunction{} - notSupportedFunctionNames = []string{} - notFoundFunctionNames = []string{} - - foundTargetFunctionNamesMap := map[string]bool{} - for _, functionName := range targetFunctionNames { - foundTargetFunctionNamesMap[functionName] = false - } - - foundTargetMethodNamesMap := map[string]bool{} - for _, functionName := range targetMethodNames { - foundTargetMethodNamesMap[functionName] = false - } - - var wg sync.WaitGroup - var mutex sync.Mutex - - for ident, obj := range info.Defs { - switch typedObj := obj.(type) { - case *types.Func: - wg.Add(1) - go func(ident *ast.Ident, typeObj *types.Func) { - defer wg.Done() - - analyzedFunction := AnalyzedFunction{ - Name: typedObj.Name(), - Parameters: []AnalyzedVariable{}, - ResultTypes: []AnalyzedVariable{}, - Constants: map[string][]string{}, - position: typedObj.Pos(), - } - - signature := typedObj.Type().(*types.Signature) - if signature.Recv() != nil { - mutex.Lock() - if isFound, ok := foundTargetMethodNamesMap[analyzedFunction.Name]; !ok || isFound { - mutex.Unlock() - return - } else { - foundTargetMethodNamesMap[analyzedFunction.Name] = true - mutex.Unlock() - } - } else { - mutex.Lock() - if isFound, ok := foundTargetFunctionNamesMap[analyzedFunction.Name]; !ok || isFound { - mutex.Unlock() - return - } else { - foundTargetFunctionNamesMap[analyzedFunction.Name] = true - mutex.Unlock() - } - } - - if !checkIsSupported(signature, sourcePackage) { - mutex.Lock() - notSupportedFunctionNames = append(notSupportedFunctionNames, analyzedFunction.Name) - mutex.Unlock() - return - } - analyzedTypes := make(map[string]AnalyzedType, signature.Params().Len()+signature.Results().Len()) - typeToIndex := make(map[string]string, signature.Params().Len()+signature.Results().Len()) - if receiver := signature.Recv(); receiver != nil { - receiverType := toAnalyzedType(receiver.Type(), analyzedTypes, typeToIndex, sourcePackage, sourcePackage, info) - analyzedFunction.Receiver = &AnalyzedVariable{ - Name: receiver.Name(), - Type: receiverType, - } - } - if parameters := signature.Params(); parameters != nil { - for i := 0; i < parameters.Len(); i++ { - parameter := parameters.At(i) - parameterType := toAnalyzedType(parameter.Type(), analyzedTypes, typeToIndex, sourcePackage, sourcePackage, info) - analyzedFunction.Parameters = append( - analyzedFunction.Parameters, - AnalyzedVariable{ - Name: parameter.Name(), - Type: parameterType, - }, - ) - } - } - if results := signature.Results(); results != nil { - for i := 0; i < results.Len(); i++ { - result := results.At(i) - resultType := toAnalyzedType(result.Type(), analyzedTypes, typeToIndex, sourcePackage, sourcePackage, info) - analyzedFunction.ResultTypes = append( - analyzedFunction.ResultTypes, - AnalyzedVariable{ - Name: result.Name(), - Type: resultType, - }, - ) - } - } - - if ident.Obj != nil { - funcDecl := ident.Obj.Decl.(*ast.FuncDecl) - analyzedFunction.Constants = extractConstants(info, funcDecl) - } - analyzedFunction.Types = analyzedTypes - - mutex.Lock() - analyzedFunctions = append(analyzedFunctions, analyzedFunction) - mutex.Unlock() - }(ident, typedObj) - } - } - - wg.Wait() - - for functionName, isFound := range foundTargetFunctionNamesMap { - if !isFound { - notFoundFunctionNames = append(notFoundFunctionNames, functionName) - } - } - for methodName, isFound := range foundTargetMethodNamesMap { - if !isFound { - notFoundFunctionNames = append(notFoundFunctionNames, methodName) - } - } - sort.Slice(analyzedFunctions, func(i, j int) bool { - return analyzedFunctions[i].position < analyzedFunctions[j].position - }) - sort.Strings(notSupportedFunctionNames) - sort.Strings(notFoundFunctionNames) - return -} diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/constant_extractor.go b/utbot-go/src/main/resources/go_source_code_analyzer/constant_extractor.go deleted file mode 100644 index b8f12389..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/constant_extractor.go +++ /dev/null @@ -1,54 +0,0 @@ -package main - -import ( - "fmt" - "go/ast" - "go/constant" - "go/types" -) - -type ConstantExtractor struct { - info *types.Info - constants map[string][]string -} - -func (e *ConstantExtractor) Visit(node ast.Node) ast.Visitor { - if _, ok := node.(*ast.BasicLit); !ok { - return e - } - - expr, ok := node.(ast.Expr) - if !ok { - return e - } - - typeAndValue, ok := e.info.Types[expr] - if !ok { - return e - } - - var t = typeAndValue.Type - basicType, ok := t.(*types.Basic) - if !ok { - return e - } - - switch basicType.Kind() { - case types.Int, types.Int8, types.Int16, types.Int32, types.Int64: - e.constants[basicType.Name()] = append(e.constants[basicType.Name()], typeAndValue.Value.String()) - case types.Uint, types.Uint8, types.Uint16, types.Uint32, types.Uint64, types.Uintptr: - e.constants[basicType.Name()] = append(e.constants[basicType.Name()], typeAndValue.Value.String()) - case types.Float32: - if f32, ok := constant.Float32Val(typeAndValue.Value); ok { - e.constants[basicType.Name()] = append(e.constants[basicType.Name()], fmt.Sprintf("%v", f32)) - } - case types.Float64: - if f64, ok := constant.Float64Val(typeAndValue.Value); ok { - e.constants[basicType.Name()] = append(e.constants[basicType.Name()], fmt.Sprintf("%v", f64)) - } - case types.String: - e.constants[basicType.Name()] = append(e.constants[basicType.Name()], constant.StringVal(typeAndValue.Value)) - } - - return e -} diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/go.mod b/utbot-go/src/main/resources/go_source_code_analyzer/go.mod deleted file mode 100644 index cd5711b4..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/go.mod +++ /dev/null @@ -1,10 +0,0 @@ -module go_source_code_analyzer - -go 1.18 - -require golang.org/x/tools v0.4.0 - -require ( - golang.org/x/mod v0.7.0 // indirect - golang.org/x/sys v0.3.0 // indirect -) diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/go.sum b/utbot-go/src/main/resources/go_source_code_analyzer/go.sum deleted file mode 100644 index a20f7377..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/go.sum +++ /dev/null @@ -1,7 +0,0 @@ -golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/tools v0.4.0 h1:7mTAgkunk3fr4GAloyyCasadO6h9zSsQZbwvcaIciV4= -golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= diff --git a/utbot-go/src/main/resources/go_source_code_analyzer/main.go b/utbot-go/src/main/resources/go_source_code_analyzer/main.go deleted file mode 100644 index efc8e166..00000000 --- a/utbot-go/src/main/resources/go_source_code_analyzer/main.go +++ /dev/null @@ -1,131 +0,0 @@ -package main - -import ( - "encoding/json" - "flag" - "fmt" - "log" - "os" - "path/filepath" - "strconv" - "sync" - - "golang.org/x/tools/go/packages" -) - -func checkError(err error) { - if err != nil { - log.Fatal(err.Error()) - } -} - -func analyzeTarget(target AnalysisTarget) (*AnalysisResult, error) { - if len(target.TargetFunctionNames) == 0 && len(target.TargetMethodNames) == 0 { - return nil, fmt.Errorf("target must contain target functions or methods") - } - - pkgPath := filepath.Dir(target.AbsoluteFilePath) - - dir, _ := filepath.Split(target.AbsoluteFilePath) - cfg := packages.Config{ - Mode: packages.NeedName | packages.NeedTypes | packages.NeedTypesInfo | packages.NeedDeps | - packages.NeedImports | packages.NeedSyntax | packages.NeedFiles | packages.NeedCompiledGoFiles, - Dir: dir, - } - cfg.Env = os.Environ() - pkgs, err := packages.Load(&cfg, pkgPath) - checkError(err) - if len(pkgs) != 1 { - return nil, fmt.Errorf("cannot build multiple packages: %s", err) - } - if packages.PrintErrors(pkgs) > 0 { - return nil, fmt.Errorf("typechecking of %s failed", pkgPath) - } - - targetPackage := pkgs[0] - if len(targetPackage.CompiledGoFiles) != len(targetPackage.Syntax) { - return nil, fmt.Errorf("parsing returned nil for some files") - } - index := 0 - for ; index < len(targetPackage.CompiledGoFiles); index++ { - p1, err := filepath.Abs(targetPackage.CompiledGoFiles[index]) - checkError(err) - p2, err := filepath.Abs(target.AbsoluteFilePath) - checkError(err) - - if p1 == p2 { - break - } - } - if index == len(targetPackage.CompiledGoFiles) { - return nil, fmt.Errorf("target file not found in compiled go files") - } - - // collect required info about selected functions - analyzedFunctions, notSupportedFunctionsNames, notFoundFunctionsNames := - collectTargetAnalyzedFunctions( - targetPackage.TypesInfo, - target.TargetFunctionNames, - target.TargetMethodNames, - Package{ - Name: targetPackage.Name, - Path: targetPackage.PkgPath, - }, - ) - - return &AnalysisResult{ - AbsoluteFilePath: target.AbsoluteFilePath, - SourcePackage: Package{ - Name: targetPackage.Name, - Path: targetPackage.PkgPath, - }, - AnalyzedFunctions: analyzedFunctions, - NotSupportedFunctionNames: notSupportedFunctionsNames, - NotFoundFunctionNames: notFoundFunctionsNames, - }, nil -} - -func main() { - var targetsFilePath, resultsFilePath string - flag.StringVar(&targetsFilePath, "targets", "", "path to JSON file to read analysis targets from") - flag.StringVar(&resultsFilePath, "results", "", "path to JSON file to write analysis results to") - flag.Parse() - - // read and deserialize targets - targetsBytes, readErr := os.ReadFile(targetsFilePath) - checkError(readErr) - - var analysisTargets AnalysisTargets - fromJsonErr := json.Unmarshal(targetsBytes, &analysisTargets) - checkError(fromJsonErr) - - // parse each requested Go source file - var wg sync.WaitGroup - - results := make([]AnalysisResult, len(analysisTargets.Targets)) - for i, target := range analysisTargets.Targets { - wg.Add(1) - go func(i int, target AnalysisTarget) { - defer wg.Done() - - result, err := analyzeTarget(target) - checkError(err) - - results[i] = *result - }(i, target) - } - - wg.Wait() - - analysisResults := AnalysisResults{ - Results: results, - IntSize: strconv.IntSize, - } - - // serialize and write results - jsonBytes, toJsonErr := json.MarshalIndent(analysisResults, "", " ") - checkError(toJsonErr) - - writeErr := os.WriteFile(resultsFilePath, jsonBytes, os.ModePerm) - checkError(writeErr) -} diff --git a/utbot-gradle/build.gradle b/utbot-gradle/build.gradle deleted file mode 100644 index 28693ce9..00000000 --- a/utbot-gradle/build.gradle +++ /dev/null @@ -1,99 +0,0 @@ -plugins { - id 'java-gradle-plugin' - id 'com.gradle.plugin-publish' version '0.18.0' - id 'com.github.johnrengelman.shadow' version '7.1.2' -} - -configurations { - fetchInstrumentationJar -} - -dependencies { - shadow gradleApi() - shadow localGroovy() - - implementation project(":utbot-framework") - implementation "io.github.microutils:kotlin-logging:$kotlinLoggingVersion" - - testImplementation "org.mockito:mockito-core:$mockitoVersion" - testImplementation "org.mockito:mockito-inline:$mockitoVersion" - - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') -} - -// needed to prevent inclusion of gradle-api into shadow JAR -configurations.api.dependencies.remove dependencies.gradleApi() - -configurations.all { - exclude group: "org.apache.logging.log4j", module: "log4j-slf4j-impl" -} - -configurations { - customCompile.extendsFrom api // then customCompile.setCanBeResolved == true -} - -/** - * Shadow plugin unpacks the nested `utbot-instrumentation-.jar`. - * But we need it to be packed. Workaround: double-nest the jar. - */ -task shadowBugWorkaround(type: Jar) { - destinationDirectory = layout.buildDirectory.dir('build/shadow-bug-workaround') - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} - -// Documentation: https://imperceptiblethoughts.com/shadow/ -shadowJar { - manifest { - // 'Fat JAR' is needed in org.utbot.framework.codegen.model.util.DependencyUtilsKt.checkDependencyIsFatJar - attributes 'JAR-Type': 'Fat JAR' - attributes 'Class-Path': project.configurations.customCompile.collect { it.getName() }.join(' ') - } - archiveClassifier.set('') - minimize() - from shadowBugWorkaround -} - -// no module metadata => no dependency on the `utbot-framework` -tasks.withType(GenerateModuleMetadata) { - enabled = false -} - -publishing { - publications { - pluginMaven(MavenPublication) { - pom.withXml { - // removing a dependency to `utbot-framework` from the list of dependencies - asNode().dependencies.dependency.each { dependency -> - if (dependency.artifactId[0].value() == 'utbot-framework') { - assert dependency.parent().remove(dependency) - } - } - } - } - } - repositories { - maven { - url = layout.buildDirectory.dir('repo') - } - } -} - -pluginBundle { - website = 'https://www.utbot.org/' - vcsUrl = 'https://github.com/UnitTestBot/UTBotJava/' - tags = ['java', 'unit-testing', 'tests-generation', 'sarif'] -} - -gradlePlugin { - plugins { - sarifReportPlugin { - version = '1.0.0-alpha' // last published version - id = 'org.utbot.gradle.plugin' - displayName = 'UnitTestBot gradle plugin' - description = 'The gradle plugin for generating tests and creating SARIF reports based on UnitTestBot' - implementationClass = 'org.utbot.gradle.plugin.SarifGradlePlugin' - } - } -} \ No newline at end of file diff --git a/utbot-gradle/docs/utbot-gradle.md b/utbot-gradle/docs/utbot-gradle.md deleted file mode 100644 index 4891d32c..00000000 --- a/utbot-gradle/docs/utbot-gradle.md +++ /dev/null @@ -1,248 +0,0 @@ -## Utbot gradle plugin - -Utbot Gradle Plugin is a gradle plugin for generating tests and creating SARIF-reports. - -The `generateTestsAndSarifReport` gradle task generates tests and SARIF-reports for all classes in your project (or only for classes specified in the configuration). -In addition, it creates one big SARIF-report containing the results from all the processed files. - - -### How to use - -Please, check for the available versions [here](https://plugins.gradle.org/plugin/org.utbot.gradle.plugin). - -- Apply the plugin: - - __Groovy:__ - ```Groovy - plugins { - id "org.utbot.gradle.plugin" version "..." - } - ``` - __Kotlin DSL:__ - ```Kotlin - plugins { - id("org.utbot.gradle.plugin") version "..." - } - ``` - -- Run gradle task `utbot/generateTestsAndSarifReport` to create a report. - - -### How to configure - -For example, the following configuration may be used: - -__Groovy:__ - ```Groovy - sarifReport { - targetClasses = ['com.abc.Main', 'com.qwerty.Util'] - projectRoot = 'C:/.../SomeDirectory' - generatedTestsRelativeRoot = 'build/generated/test' - sarifReportsRelativeRoot = 'build/generated/sarif' - markGeneratedTestsDirectoryAsTestSourcesRoot = true - testPrivateMethods = false - projectType = 'purejvm' - testFramework = 'junit5' - mockFramework = 'mockito' - generationTimeout = 60000L - codegenLanguage = 'java' - mockStrategy = 'other-packages' - staticsMocking = 'mock-statics' - forceStaticMocking = 'force' - classesToMockAlways = ['org.slf4j.Logger', 'java.util.Random'] - } - ``` -__Kotlin DSL:__ - ```Kotlin - configure { - targetClasses.set(listOf("com.abc.Main", "com.qwerty.Util")) - projectRoot.set("C:/.../SomeDirectory") - generatedTestsRelativeRoot.set("build/generated/test") - sarifReportsRelativeRoot.set("build/generated/sarif") - markGeneratedTestsDirectoryAsTestSourcesRoot.set(true) - testPrivateMethods.set(false) - projectType.set("purejvm") - testFramework.set("junit5") - mockFramework.set("mockito") - generationTimeout.set(60000L) - codegenLanguage.set("java") - mockStrategy.set("other-packages") - staticsMocking.set("mock-statics") - forceStaticMocking.set("force") - classesToMockAlways.set(listOf("org.slf4j.Logger", "java.util.Random")) - } - ``` - -Also, you can configure the task using `-P=` syntax. - -For example, -```Kotlin -generateTestsAndSarifReport - -PtargetClasses='[com.abc.Main, com.qwerty.Util]' - -PprojectRoot='C:/.../SomeDirectory' - -PgeneratedTestsRelativeRoot='build/generated/test' - -PsarifReportsRelativeRoot='build/generated/sarif' - -PtestPrivateMethods='false' - -PtestProjectType=purejvm - -PtestFramework=junit5 - -PmockFramework=mockito - -PgenerationTimeout=60000 - -PcodegenLanguage=java - -PmockStrategy='other-packages' - -PstaticsMocking='mock-statics' - -PforceStaticMocking=force - -PclassesToMockAlways='[org.slf4j.Logger, java.util.Random]' -``` - -**Note:** All configuration fields have default values, so there is no need to configure the plugin if you don't want to. - -**Description of fields:** -- `targetClasses` – - - Classes for which the SARIF-report will be created. - Uses all source classes from the user project if this list is empty. - - By default, an empty list is used. - -- `projectRoot` – - - **Absolute** path to the root of the relative paths in the SARIF-report. - - By default, the root of your project is used. - -- `generatedTestsRelativeRoot` – - - **Relative** path (against module root) to the root of the generated tests. - - By default, `'build/generated/test'` is used. - -- `sarifReportsRelativeRoot` – - - **Relative** path (against module root) to the root of the SARIF reports. - - By default, `'build/generated/sarif'` is used. - -- `markGeneratedTestsDirectoryAsTestSourcesRoot` – - - Mark the directory with generated tests as `test sources root` or not. - - By default, `true` is used. - -- `testPrivateMethods`– - - Generate tests for private methods or not. - - By default, `false` is used. - -- `projectType` – - - The type of project being analyzed. - - Can be one of: - - `'purejvm'` _(by default)_ - - `'spring'` - - `'python'` - - `'javascript'` - -- `testFramework` – - - The name of the test framework to be used. - - Can be one of: - - `'junit4'` - - `'junit5'` _(by default)_ - - `'testng'` - -- `mockFramework` – - - The name of the mock framework to be used. - - Can be one of: - - `'mockito'` _(by default)_ - -- `generationTimeout` – - - Time budget for generating tests for one class (in milliseconds). - - By default, 60 seconds is used. - -- `codegenLanguage` – - - The language of the generated tests. - - Can be one of: - - `'java'` _(by default)_ - - `'kotlin'` - -- `mockStrategy` – - - The mock strategy to be used. - - Can be one of: - - `'no-mocks'` – do not use mock frameworks at all - - `'other-packages'` – mock all classes outside the current package except system ones _(by default)_ - - `'other-classes'` – mock all classes outside the class under test except system ones - -- `staticsMocking` – - - Use static methods mocking or not. - - Can be one of: - - `'do-not-mock-statics'` - - `'mock-statics'` _(by default)_ - -- `forceStaticMocking` – - - Forces mocking static methods and constructors for `classesToMockAlways` classes or not. - - Can be one of: - - `'force'` _(by default)_ - - `'do-not-force'` - - **Note:** We force static mocking independently on this setting for some classes (e.g. `java.util.Random`). - -- `classesToMockAlways` – - - Classes to force mocking theirs static methods and constructors. - - By default, some internal classes are used. - - -### How to test - -If you want to change the source code of the plugin or even the whole utbot-project, -you need to do the following: - -- Publish plugin to the local maven repository: - `utbot-gradle/publishing/publishToMavenLocal` - -- Add to your build file: - - __Groovy:__ - ```Groovy - buildscript { - repositories { - mavenLocal() - } - dependencies { - classpath "org.utbot:utbot-gradle:1.0-SNAPSHOT" - } - } - ``` - __Kotlin DSL:__ - ```Kotlin - buildscript { - repositories { - mavenLocal() - } - dependencies { - classpath("org.utbot:utbot-gradle:1.0-SNAPSHOT") - } - } - ``` - -- Apply the plugin: - - __Groovy:__ - ```Groovy - apply plugin: 'org.utbot.gradle.plugin' - ``` - __Kotlin DSL:__ - ```Kotlin - apply(plugin = "org.utbot.gradle.plugin") - ``` - -### How to configure the log level - -To change the log level run the `generateTestsAndSarifReport` task with the appropriate flag. - -For example, `generateTestsAndSarifReport --debug` - -Note that the internal gradle log information will also be shown. - -Also note that the standard way to configure the log level (using the `log4j2.xml`) does not work from gradle. - -[Read more about gradle log levels](https://docs.gradle.org/current/userguide/logging.html) - -### Publishing - -1. Read the [documentation](https://docs.gradle.org/current/userguide/publishing_gradle_plugins.html) about plugin publishing -2. Sign in to our [account](https://plugins.gradle.org/u/utbot) to get API keys (if you don't have a password, please contact [Nikita Stroganov](https://github.com/IdeaSeeker)) -3. Run `utbot-gradle/plugin portal/publishPlugins` gradle task - -You can check the published artifacts in the [remote repository](https://plugins.gradle.org/m2/org/utbot/utbot-gradle/). - -Please note that the maximum archive size for publishing on the Gradle Plugin Portal is ~60Mb. - -### Requirements - -UTBot gradle plugin requires Gradle 7.4.2+ diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/GenerateTestsAndSarifReportTask.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/GenerateTestsAndSarifReportTask.kt deleted file mode 100644 index 1e5081a6..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/GenerateTestsAndSarifReportTask.kt +++ /dev/null @@ -1,137 +0,0 @@ -package org.utbot.gradle.plugin - -import mu.KLogger -import org.gradle.api.DefaultTask -import org.gradle.api.tasks.TaskAction -import org.utbot.common.measureTime -import org.utbot.common.debug -import org.utbot.framework.plugin.api.TestCaseGenerator -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.plugin.sarif.GenerateTestsAndSarifReportFacade -import org.utbot.gradle.plugin.extension.SarifGradleExtensionProvider -import org.utbot.gradle.plugin.wrappers.GradleProjectWrapper -import org.utbot.gradle.plugin.wrappers.SourceFindingStrategyGradle -import org.utbot.gradle.plugin.wrappers.SourceSetWrapper -import org.utbot.framework.plugin.sarif.TargetClassWrapper -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import java.io.File -import java.net.URLClassLoader -import javax.inject.Inject - -/** - * The main class containing the entry point [generateTestsAndSarifReport]. - * - * [Documentation](https://docs.gradle.org/current/userguide/custom_tasks.html) - */ -open class GenerateTestsAndSarifReportTask @Inject constructor( - private val sarifProperties: SarifGradleExtensionProvider -) : DefaultTask() { - - init { - group = "utbot" - description = "Generate a SARIF report" - } - - /** - * Entry point: called when the user starts this gradle task. - */ - @TaskAction - fun generateTestsAndSarifReport() { - // the user specifies the parameters using "-Pname=value" - sarifProperties.taskParameters = project.gradle.startParameter.projectProperties - val rootGradleProject = try { - GradleProjectWrapper(project, sarifProperties) - } catch (t: Throwable) { - logger.error(t) { "Unexpected error while configuring the gradle task" } - return - } - try { - - generateForProjectRecursively(rootGradleProject) - GenerateTestsAndSarifReportFacade.mergeReports( - sarifReports = rootGradleProject.collectReportsRecursively(), - mergedSarifReportFile = rootGradleProject.sarifReportFile - ) - } catch (t: Throwable) { - logger.error(t) { "Unexpected error while generating SARIF report" } - return - } - } - - // internal - - // overwriting the getLogger() function from the DefaultTask - private val logger: KLogger = org.utbot.gradle.plugin.logger - - private val dependencyPaths by lazy { - val thisClassLoader = this::class.java.classLoader as? URLClassLoader - ?: return@lazy System.getProperty("java.class.path") - thisClassLoader.urLs.joinToString(File.pathSeparator) { it.path } - } - - /** - * Generates tests and a SARIF report for classes in the [gradleProject] and in all its child projects. - */ - private fun generateForProjectRecursively(gradleProject: GradleProjectWrapper) { - gradleProject.sourceSets.forEach { sourceSet -> - generateForSourceSet(sourceSet) - } - gradleProject.childProjects.forEach { childProject -> - generateForProjectRecursively(childProject) - } - } - - /** - * Generates tests and a SARIF report for classes in the [sourceSet]. - */ - private fun generateForSourceSet(sourceSet: SourceSetWrapper) { - logger.debug().measureTime({ "Generating tests for the '${sourceSet.sourceSet.name}' source set" }) { - withUtContext(UtContext(sourceSet.classLoader)) { - val testCaseGenerator = - TestCaseGenerator( - listOf(sourceSet.workingDirectory), - sourceSet.runtimeClasspath, - dependencyPaths, - JdkInfoDefaultProvider().info - ) - sourceSet.targetClasses.forEach { targetClass -> - generateForClass(sourceSet, targetClass, testCaseGenerator) - } - } - } - } - - /** - * Generates tests and a SARIF report for the class [targetClass]. - */ - private fun generateForClass( - sourceSet: SourceSetWrapper, - targetClass: TargetClassWrapper, - testCaseGenerator: TestCaseGenerator, - ) { - logger.debug().measureTime({ "Generating tests for the $targetClass" }) { - val sourceFindingStrategy = SourceFindingStrategyGradle(sourceSet, targetClass.testsCodeFile.path) - GenerateTestsAndSarifReportFacade(sarifProperties, sourceFindingStrategy, testCaseGenerator) - .generateForClass(targetClass, sourceSet.workingDirectory) - } - } - - /** - * Returns SARIF reports created for this [GradleProjectWrapper] and for all its child projects. - */ - private fun GradleProjectWrapper.collectReportsRecursively(): List = - this.sourceSets.flatMap { sourceSetWrapper -> - sourceSetWrapper.collectReports() - } + this.childProjects.flatMap { childProject -> - childProject.collectReportsRecursively() - } - - /** - * Returns SARIF reports created for this [SourceSetWrapper]. - */ - private fun SourceSetWrapper.collectReports(): List = - this.targetClasses.map { targetClass -> - targetClass.sarifReportFile.readText() - } -} diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/SarifGradlePlugin.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/SarifGradlePlugin.kt deleted file mode 100644 index 0940353d..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/SarifGradlePlugin.kt +++ /dev/null @@ -1,146 +0,0 @@ -package org.utbot.gradle.plugin - -import mu.KotlinLogging -import org.gradle.api.Plugin -import org.gradle.api.Project -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.SourceSet -import org.gradle.api.tasks.TaskProvider -import org.utbot.gradle.plugin.extension.SarifGradleExtension -import org.utbot.gradle.plugin.extension.SarifGradleExtensionProvider -import java.io.File - -internal val logger = KotlinLogging.logger {} - -/** - * The main class containing the entry point [apply]. - * - * [Documentation](https://docs.gradle.org/current/userguide/custom_plugins.html) - */ -@Suppress("unused") -class SarifGradlePlugin : Plugin { - - /** - * The name of the gradle extension. - * @see [SarifGradleExtension] - */ - internal val sarifReportExtensionName = "sarifReport" - - /** - * The name of the gradle task. - * @see [GenerateTestsAndSarifReportTask] - */ - internal val generateTestsAndSarifReportTaskName = "generateTestsAndSarifReport" - - /** - * Entry point: called when the plugin is applied. - */ - override fun apply(project: Project) { - val sarifGradleExtension = project.extensions.create( - sarifReportExtensionName, - SarifGradleExtension::class.java - ) - val sarifGradleExtensionProvider = SarifGradleExtensionProvider( - project, - sarifGradleExtension - ) - - val generateTestsAndSarifReportTask = project.tasks.register( - generateTestsAndSarifReportTaskName, - GenerateTestsAndSarifReportTask::class.java, - sarifGradleExtensionProvider - ) - generateTestsAndSarifReportTask.addDependencyOnClassesTasksRecursively(project) - - markGeneratedTestsDirectoryIfNeededRecursively(project, sarifGradleExtensionProvider) - } - - // internal - - /** - * Applies [addDependencyOnClassesTasks] to the [project] and to all its child projects. - */ - private fun TaskProvider.addDependencyOnClassesTasksRecursively(project: Project) { - project.afterEvaluate { - addDependencyOnClassesTasks(project) - } - project.childProjects.values.forEach { childProject -> - addDependencyOnClassesTasksRecursively(childProject) - } - } - - /** - * Makes [GenerateTestsAndSarifReportTask] dependent on `classes` task - * of each source set from the [project], except `test` source set. - * - * The [project] should be evaluated because we need its `java` plugin. - * Therefore, it is recommended to call this function in the `project.afterEvaluate` block. - */ - private fun TaskProvider.addDependencyOnClassesTasks(project: Project) { - val javaPlugin = project.convention.findPlugin(JavaPluginConvention::class.java) - if (javaPlugin == null) { - logger.warn { - "JavaPlugin was not found for project '${project.name}' while adding dependencies on classes tasks" - } - return - } - val sourceSetsExceptTest = javaPlugin.sourceSets.filter { sourceSet -> - sourceSet.name != SourceSet.TEST_SOURCE_SET_NAME - } - logger.debug { "Found source sets in the '${project.name}': ${sourceSetsExceptTest.map { it.name }}" } - configure { generateTestsAndSarifReportTask -> - sourceSetsExceptTest.map { sourceSet -> - val classesTask = project.tasks.getByName(sourceSet.classesTaskName) - generateTestsAndSarifReportTask.dependsOn(classesTask) - logger.debug { "'generateTestsAndSarifReport' task now depends on the task '${classesTask.name}'" } - } - } - } - - /** - * Applies [markGeneratedTestsDirectoryIfNeeded] to the [project] and to all its child projects. - */ - private fun markGeneratedTestsDirectoryIfNeededRecursively( - project: Project, - sarifGradleExtensionProvider: SarifGradleExtensionProvider - ) { - project.afterEvaluate { - markGeneratedTestsDirectoryIfNeeded(project, sarifGradleExtensionProvider) - } - project.childProjects.values.forEach { childProject -> - markGeneratedTestsDirectoryIfNeededRecursively(childProject, sarifGradleExtensionProvider) - } - } - - /** - * Marks the directory `generatedTestsRelativeRoot` as `test sources root`. - * The directory is specified relative to the [project] root. - * Does nothing if markGeneratedTestsDirectoryAsTestSourcesRoot is false. - * - * The [project] should be evaluated because we need its `java` plugin. - * Therefore, it is recommended to call this function in the `project.afterEvaluate` block. - */ - private fun markGeneratedTestsDirectoryIfNeeded( - project: Project, - sarifGradleExtensionProvider: SarifGradleExtensionProvider - ) { - if (!sarifGradleExtensionProvider.markGeneratedTestsDirectoryAsTestSourcesRoot) - return - - val javaPlugin = project.convention.findPlugin(JavaPluginConvention::class.java) - if (javaPlugin == null) { - logger.warn { - "JavaPlugin was not found for project ${project.name} while marking the generated test folder" - } - return - } - - val generatedTestsDirectory = File(sarifGradleExtensionProvider.generatedTestsRelativeRoot) - javaPlugin.sourceSets.getByName(SourceSet.TEST_SOURCE_SET_NAME) { - it.java.setSrcDirs(it.java.srcDirs + generatedTestsDirectory) - logger.debug { - "The file '${generatedTestsDirectory.absolutePath}' has been added to srcDirs of the 'test' source set" - } - } - } -} diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtension.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtension.kt deleted file mode 100644 index 5fda6967..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtension.kt +++ /dev/null @@ -1,125 +0,0 @@ -package org.utbot.gradle.plugin.extension - -import org.gradle.api.provider.ListProperty -import org.gradle.api.provider.Property -import org.gradle.api.tasks.Input - -/** - * The class is used to configure the gradle plugin. - * [Documentation](https://docs.gradle.org/current/userguide/custom_plugins.html#sec:getting_input_from_the_build) - * - * See [SarifGradleExtensionProvider] for default values - */ -abstract class SarifGradleExtension { - - /** - * Classes for which the SARIF report will be created. - * Uses all classes from the user project if this list is empty. - */ - @get:Input - abstract val targetClasses: ListProperty - - /** - * Absolute path to the root of the relative paths in the SARIF report. - */ - @get:Input - abstract val projectRoot: Property - - /** - * Relative path (against module root) to the root of the generated tests. - */ - @get:Input - abstract val generatedTestsRelativeRoot: Property - - /** - * Relative path (against module root) to the root of the SARIF reports. - */ - @get:Input - abstract val sarifReportsRelativeRoot: Property - - /** - * Mark the directory with generated tests as `test sources root` or not. - */ - @get:Input - abstract val markGeneratedTestsDirectoryAsTestSourcesRoot: Property - - /** - * Generate tests for private methods or not. - */ - @get:Input - abstract val testPrivateMethods: Property - - /** - * Can be one of: 'purejvm', 'spring', 'python', 'javascript`. - */ - @get:Input - abstract val projectType: Property - - /** - * Can be one of: 'junit4', 'junit5', 'testng'. - */ - @get:Input - abstract val testFramework: Property - - /** - * Can be one of: 'mockito'. - */ - @get:Input - abstract val mockFramework: Property - - /** - * Maximum tests generation time for one class (in milliseconds). - */ - @get:Input - abstract val generationTimeout: Property - - /** - * Can be one of: 'java', 'kotlin'. - */ - @get:Input - abstract val codegenLanguage: Property - - /** - * Can be one of: 'no-mocks', 'other-packages', 'other-classes'. - */ - @get:Input - abstract val mockStrategy: Property - - /** - * Can be one of: 'do-not-mock-statics', 'mock-statics'. - */ - @get:Input - abstract val staticsMocking: Property - - /** - * Can be one of: 'force', 'do-not-force'. - */ - @get:Input - abstract val forceStaticMocking: Property - - /** - * Classes to force mocking theirs static methods and constructors. - */ - @get:Input - abstract val classesToMockAlways: ListProperty -} - -/* -Example configuration: - -sarifReport { - targetClasses = ['com.abc.Main'] - projectRoot = 'C:/.../SomeDirectory' - generatedTestsRelativeRoot = 'build/generated/test' - sarifReportsRelativeRoot = 'build/generated/sarif' - markGeneratedTestsDirectoryAsTestSourcesRoot = true - testFramework = 'junit5' - mockFramework = 'mockito' - generationTimeout = 60 * 1000L - codegenLanguage = 'java' - mockStrategy = 'no-mocks' - staticsMocking = 'do-not-mock-statics' - forceStaticMocking = 'force' - classesToMockAlways = ['org.utbot.api.mock.UtMock'] -} - */ diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtensionProvider.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtensionProvider.kt deleted file mode 100644 index de56527f..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtensionProvider.kt +++ /dev/null @@ -1,131 +0,0 @@ -package org.utbot.gradle.plugin.extension - -import org.gradle.api.Project -import org.utbot.common.PathUtil.toPath -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.sarif.SarifExtensionProvider -import java.io.File - -/** - * Provides all [SarifGradleExtension] fields in a convenient form: - * Defines default values and a transform function for these fields. - * Takes the fields from the [taskParameters] if they are available there, - * otherwise takes them from the [extension]. - */ -class SarifGradleExtensionProvider( - private val project: Project, - private val extension: SarifGradleExtension, - var taskParameters: Map = mapOf() -) : SarifExtensionProvider { - - override val targetClasses: List - get() = taskParameters["targetClasses"]?.transformKeywordAll()?.parseToList() - ?: extension.targetClasses.orNull - ?: listOf() - - override val projectRoot: File - get() = (taskParameters["projectRoot"] ?: extension.projectRoot.orNull) - ?.toPath()?.toFile() - ?: project.projectDir - - override val generatedTestsRelativeRoot: String - get() = taskParameters["generatedTestsRelativeRoot"] - ?: extension.generatedTestsRelativeRoot.orNull - ?: "build/generated/test" - - override val sarifReportsRelativeRoot: String - get() = taskParameters["sarifReportsRelativeRoot"] - ?: extension.sarifReportsRelativeRoot.orNull - ?: "build/generated/sarif" - - // We don't get this field from `taskParameters` because marking the directory - // as a test source root is possible while the gradle project is reloading, - // but `taskParameters` become available only when the user runs the gradle task - // `generateTestsAndSarifReport` (that is, after a reloading). - override val markGeneratedTestsDirectoryAsTestSourcesRoot: Boolean - get() = extension.markGeneratedTestsDirectoryAsTestSourcesRoot.orNull - ?: true - - override val testPrivateMethods: Boolean - get() = taskParameters["testPrivateMethods"]?.let { it == "true"} - ?: extension.testPrivateMethods.orNull - ?: false - - override val projectType: ProjectType - get() = (taskParameters["projectType"] ?: extension.projectType.orNull) - ?.let(::projectTypeParse) - ?: ProjectType.PureJvm - - override val testFramework: TestFramework - get() = (taskParameters["testFramework"] ?: extension.testFramework.orNull) - ?.let(::testFrameworkParse) - ?: TestFramework.defaultItem - - override val mockFramework: MockFramework - get() = (taskParameters["mockFramework"] ?: extension.mockFramework.orNull) - ?.let(::mockFrameworkParse) - ?: MockFramework.defaultItem - - override val generationTimeout: Long - get() = (taskParameters["generationTimeout"]?.toLongOrNull() ?: extension.generationTimeout.orNull) - ?.let(::generationTimeoutParse) - ?: (60 * 1000L) // 60 seconds - - override val codegenLanguage: CodegenLanguage - get() = (taskParameters["codegenLanguage"] ?: extension.codegenLanguage.orNull) - ?.let(::codegenLanguageParse) - ?: CodegenLanguage.defaultItem - - override val mockStrategy: MockStrategyApi - get() = (taskParameters["mockStrategy"] ?: extension.mockStrategy.orNull) - ?.let(::mockStrategyParse) - ?: MockStrategyApi.defaultItem - - override val staticsMocking: StaticsMocking - get() = (taskParameters["staticsMocking"] ?: extension.staticsMocking.orNull) - ?.let(::staticsMockingParse) - ?: StaticsMocking.defaultItem - - override val forceStaticMocking: ForceStaticMocking - get() = (taskParameters["forceStaticMocking"] ?: extension.forceStaticMocking.orNull) - ?.let(::forceStaticMockingParse) - ?: ForceStaticMocking.defaultItem - - override val classesToMockAlways: Set - get() = classesToMockAlwaysParse( - specifiedClasses = taskParameters["classesToMockAlways"]?.parseToList() - ?: extension.classesToMockAlways.orNull - ?: listOf() - ) - - /** - * SARIF report file containing static analysis information about all [targetClasses]. - */ - val mergedSarifReportFileName: String? - get() = taskParameters["mergedSarifReportFileName"] - - // internal - - /** - * Keyword "all" is the same as "[]" for [targetClasses], but more user-friendly. - */ - private fun String.transformKeywordAll(): String = - if (this == "all") "[]" else this - - /** - * Example: "[A, B, C]" -> ["A", "B", "C"]. - */ - private fun String.parseToList() = - this.removePrefix("[") - .removeSuffix("]") - .split(",") - .map { it.trim() } - .filter { it != "" } -} diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/GradleProjectWrapper.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/GradleProjectWrapper.kt deleted file mode 100644 index ad40f4dc..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/GradleProjectWrapper.kt +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.gradle.plugin.wrappers - -import org.gradle.api.Project -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.SourceSet -import org.utbot.common.FileUtil.createNewFileWithParentDirectories -import org.utbot.gradle.plugin.extension.SarifGradleExtensionProvider -import java.io.File -import java.nio.file.Paths - -/** - * Contains information about the gradle project for which we are creating a SARIF report. - */ -class GradleProjectWrapper( - val project: Project, - val sarifProperties: SarifGradleExtensionProvider -) { - - private val javaPlugin: JavaPluginConvention = - project.convention.getPlugin(JavaPluginConvention::class.java) - - /** - * Contains child projects (~ gradle modules) of the [project]. - */ - val childProjects: List by lazy { - project.childProjects.values.map { childProject -> - GradleProjectWrapper(childProject, sarifProperties) - } - } - - /** - * Contains source sets of the [project], except 'test' source set. - */ - val sourceSets: List by lazy { - javaPlugin.sourceSets.filter { sourceSet -> - sourceSet.name != SourceSet.TEST_SOURCE_SET_NAME - }.map { sourceSet -> - SourceSetWrapper(sourceSet, parentProject = this) - } - } - - /** - * Directory for generated tests. For example, "build/generated/test/". - */ - val generatedTestsDirectory: File by lazy { - project.projectDir.resolve(sarifProperties.generatedTestsRelativeRoot).apply { mkdirs() } - } - - /** - * Directory for created SARIF reports. For example, "build/generated/sarif/". - */ - val generatedSarifDirectory: File by lazy { - project.projectDir.resolve(sarifProperties.sarifReportsRelativeRoot).apply { mkdirs() } - } - - /** - * SARIF report file containing results from all other reports from the [project]. - */ - val sarifReportFile: File by lazy { - Paths.get( - generatedSarifDirectory.path, - sarifProperties.mergedSarifReportFileName ?: "${project.name}Report.sarif" - ).toFile().apply { - createNewFileWithParentDirectories() - } - } -} \ No newline at end of file diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/SourceFindingStrategyGradle.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/SourceFindingStrategyGradle.kt deleted file mode 100644 index 7f7fc5f0..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/SourceFindingStrategyGradle.kt +++ /dev/null @@ -1,51 +0,0 @@ -package org.utbot.gradle.plugin.wrappers - -import org.utbot.common.PathUtil -import org.utbot.common.PathUtil.toPath -import org.utbot.sarif.SourceFindingStrategy -import java.io.File - -/** - * The search strategy based on the information available to the Gradle. - * - * @param sourceSet the source set which contains all needed source files. - * @param testsFilePath absolute path to the file containing generated tests - * for the class for which we are creating the SARIF report. - * @param defaultExtension the file extension to be used in [getSourceRelativePath] - * if the source file was not found by the class qualified name - * and the `extension` parameter is null. - */ -class SourceFindingStrategyGradle( - private val sourceSet: SourceSetWrapper, - private val testsFilePath: String, - private val defaultExtension: String = ".java" -) : SourceFindingStrategy() { - - /** - * Returns the relative path (against [projectRootPath]) to the file with generated tests. - */ - override val testsRelativePath: String - get() = PathUtil.safeRelativize(projectRootPath, testsFilePath) - ?: testsFilePath.toPath().fileName.toString() - - /** - * Returns the relative path (against [projectRootPath]) to the source file containing the class [classFqn]. - */ - override fun getSourceRelativePath(classFqn: String, extension: String?): String { - val defaultPath = PathUtil.classFqnToPath(classFqn) + (extension ?: defaultExtension) - return sourceSet.findSourceCodeFile(classFqn)?.let { sourceCodeFile -> - PathUtil.safeRelativize(projectRootPath, sourceCodeFile.absolutePath) - } ?: defaultPath - } - - /** - * Finds the source file containing the class [classFqn]. - * Returns null if the file does not exist. - */ - override fun getSourceFile(classFqn: String, extension: String?): File? = - sourceSet.findSourceCodeFile(classFqn) - - // internal - - private val projectRootPath = sourceSet.parentProject.sarifProperties.projectRoot.absolutePath -} \ No newline at end of file diff --git a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/SourceSetWrapper.kt b/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/SourceSetWrapper.kt deleted file mode 100644 index 2b306a51..00000000 --- a/utbot-gradle/src/main/kotlin/org/utbot/gradle/plugin/wrappers/SourceSetWrapper.kt +++ /dev/null @@ -1,118 +0,0 @@ -package org.utbot.gradle.plugin.wrappers - -import org.gradle.api.tasks.SourceSet -import org.utbot.common.FileUtil.createNewFileWithParentDirectories -import org.utbot.common.FileUtil.findAllFilesOnly -import org.utbot.common.PathUtil.classFqnToPath -import org.utbot.common.PathUtil.replaceSeparator -import org.utbot.common.tryLoadClass -import org.utbot.framework.plugin.sarif.util.ClassUtil -import org.utbot.framework.plugin.sarif.TargetClassWrapper -import java.io.File -import java.net.URLClassLoader -import java.nio.file.Path -import java.nio.file.Paths - -class SourceSetWrapper( - val sourceSet: SourceSet, - val parentProject: GradleProjectWrapper -) { - - /** - * Runtime classpath of the [sourceSet]. - */ - val runtimeClasspath: String by lazy { - sourceSet.runtimeClasspath.filter { file -> - file.exists() - }.joinToString(File.pathSeparator) { file -> - replaceSeparator(file.absolutePath) - } - } - - /** - * ClassLoader that loaded classes from the [sourceSet]. - */ - val classLoader: URLClassLoader by lazy { - val urls = sourceSet.runtimeClasspath.map { file -> - file.toURI().toURL() - } - URLClassLoader(urls.toTypedArray()) - } - - /** - * Absolute path to the build directory. For example, "./build/classes/java/main". - */ - val workingDirectory: Path by lazy { - sourceSet.output.classesDirs.first { directory -> - directory.parentFile.name == "java" // only java is supported - }.toPath() - } - - /** - * List of declared in the [sourceSet] classes. - */ - val targetClasses: List by lazy { - parentProject.sarifProperties.targetClasses - .ifEmpty { - ClassUtil.findAllDeclaredClasses(classLoader, workingDirectory.toFile()) - } - .mapNotNull { classFqn -> - constructTargetClassWrapper(classFqn) - } - } - - /** - * Finds the source code file by the given class fully qualified name. - */ - fun findSourceCodeFile(classFqn: String): File? = - ClassUtil.findSourceCodeFile(classFqn, sourceCodeFiles, classLoader) - - // internal - - /** - * List of all source code files of this [sourceSet]. - */ - private val sourceCodeFiles: List = - sourceSet.java.srcDirs.flatMap { srcDir -> // only java is supported - srcDir.findAllFilesOnly() - } - - /** - * Constructs [TargetClassWrapper] by the given [classFqn]. - */ - private fun constructTargetClassWrapper(classFqn: String): TargetClassWrapper? { - val classUnderTest = classLoader.tryLoadClass(classFqn)?.kotlin - ?: return null // `classFqn` may be defined not in this source set - val sourceCodeFile = findSourceCodeFile(classFqn) - ?: error("The source code for the class $classFqn was not found") - return TargetClassWrapper( - classFqn, - classUnderTest, - sourceCodeFile, - createTestsCodeFile(classFqn), - createSarifReportFile(classFqn), - parentProject.sarifProperties.testPrivateMethods - ) - } - - /** - * Creates and returns a file for a future SARIF report. - * For example, ".../com/qwerty/MainReport.sarif". - */ - private fun createSarifReportFile(classFqn: String): File { - val relativePath = "${classFqnToPath(classFqn)}Report.sarif" - val absolutePath = Paths.get(parentProject.generatedSarifDirectory.path, relativePath) - return absolutePath.toFile().apply { createNewFileWithParentDirectories() } - } - - /** - * Creates and returns a file for future generated tests. - * For example, ".../com/qwerty/MainTest.java". - */ - private fun createTestsCodeFile(classFqn: String): File { - val fileExtension = parentProject.sarifProperties.codegenLanguage.extension - val relativePath = "${classFqnToPath(classFqn)}Test$fileExtension" - val absolutePath = Paths.get(parentProject.generatedTestsDirectory.path, relativePath) - return absolutePath.toFile().apply { createNewFileWithParentDirectories() } - } -} \ No newline at end of file diff --git a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/SarifGradlePluginTest.kt b/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/SarifGradlePluginTest.kt deleted file mode 100644 index 6451c75f..00000000 --- a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/SarifGradlePluginTest.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.gradle.plugin - -import org.junit.jupiter.api.Assertions.assertNotNull -import org.junit.jupiter.api.Test - -class SarifGradlePluginTest { - - @Test - fun `project should contain the sarif plugin`() { - val project = buildProject() - val sarifGradlePlugin = project.plugins.getPlugin(SarifGradlePlugin::class.java) - assertNotNull(sarifGradlePlugin) - } - - @Test - fun `plugin should register generateTestsAndSarifReport task`() { - val project = buildProject() - val sarifGradlePlugin = project.sarifGradlePlugin - val generateTestsAndSarifReportTask = project.tasks.getByName(sarifGradlePlugin.generateTestsAndSarifReportTaskName) - assertNotNull(generateTestsAndSarifReportTask) - } - - @Test - fun `plugin should register sarifReport extension`() { - val project = buildProject() - val sarifGradlePlugin = project.sarifGradlePlugin - val sarifReportExtension = project.extensions.getByName(sarifGradlePlugin.sarifReportExtensionName) - assertNotNull(sarifReportExtension) - } -} \ No newline at end of file diff --git a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/SarifGradleTestUtil.kt b/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/SarifGradleTestUtil.kt deleted file mode 100644 index 1ac58847..00000000 --- a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/SarifGradleTestUtil.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.gradle.plugin - -import org.gradle.api.Project -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.SourceSet -import org.gradle.testfixtures.ProjectBuilder - -internal fun buildProject(): Project { - val project = ProjectBuilder.builder().build() - project.pluginManager.apply("java") - project.pluginManager.apply("org.utbot.gradle.plugin") - return project -} - -internal val Project.sarifGradlePlugin: SarifGradlePlugin - get() = this.plugins.getPlugin(SarifGradlePlugin::class.java) - -internal val Project.javaPlugin: JavaPluginConvention - get() = this.convention.getPlugin(JavaPluginConvention::class.java) - -internal val Project.mainSourceSet: SourceSet - get() = this.javaPlugin.sourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME) diff --git a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtensionProviderTest.kt b/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtensionProviderTest.kt deleted file mode 100644 index 9432b519..00000000 --- a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/extension/SarifGradleExtensionProviderTest.kt +++ /dev/null @@ -1,756 +0,0 @@ -package org.utbot.gradle.plugin.extension - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows -import org.mockito.Mockito -import org.utbot.common.PathUtil.toPath -import org.utbot.engine.Mocker -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.Junit4 -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.MockitoStaticMocking -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.ProjectType.* -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.domain.TestNg -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.gradle.plugin.buildProject -import java.io.File - -class SarifGradleExtensionProviderTest { - - @Nested - @DisplayName("targetClasses") - inner class TargetClassesTest { - @Test - fun `should be an empty list by default`() { - setTargetClassesInExtension(null) - assertEquals(listOf(), extensionProvider.targetClasses) - } - - @Test - fun `should be provided from the extension`() { - val targetClasses = listOf("com.abc.Main") - setTargetClassesInExtension(targetClasses) - assertEquals(targetClasses, extensionProvider.targetClasses) - } - - @Test - fun `should be provided from the task parameters`() { - val targetClasses = listOf("com.abc.Main") - setTargetClassesInTaskParameters(targetClasses) - assertEquals(targetClasses, extensionProvider.targetClasses) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - val targetClasses = listOf("com.abc.Main") - val anotherTargetClasses = listOf("com.abc.Another") - setTargetClassesInTaskParameters(targetClasses) - setTargetClassesInExtension(anotherTargetClasses) - assertEquals(targetClasses, extensionProvider.targetClasses) - } - - @Test - fun `should be resolved from the keyword 'all'`() { - extensionProvider.taskParameters = mapOf("targetClasses" to "all") - assertEquals(listOf(), extensionProvider.targetClasses) - } - - private fun setTargetClassesInExtension(value: List?) { - Mockito.`when`(extensionMock.targetClasses).thenReturn(createListProperty(value)) - } - - private fun setTargetClassesInTaskParameters(value: List) { - extensionProvider.taskParameters = mapOf("targetClasses" to value.joinToString(",", "[", "]")) - } - } - - @Nested - @DisplayName("projectRoot") - inner class ProjectRootTest { - @Test - fun `should be projectDir by default`() { - setProjectRootInExtension(null) - assertEquals(project.projectDir, extensionProvider.projectRoot) - } - - @Test - fun `should be provided from the extension`() { - val projectRoot = "some/dir/" - setProjectRootInExtension(projectRoot) - assertEquals(File(projectRoot), extensionProvider.projectRoot) - } - - @Test - fun `should be provided from the task parameters`() { - val projectRoot = "some/directory/" - setProjectRootInTaskParameters(projectRoot) - assertEquals(File(projectRoot), extensionProvider.projectRoot) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - val projectRoot = "some/dir/" - val anotherProjectRoot = "another/dir/" - setProjectRootInTaskParameters(projectRoot) - setProjectRootInExtension(anotherProjectRoot) - assertEquals(File(projectRoot), extensionProvider.projectRoot) - } - - private fun setProjectRootInExtension(value: String?) { - Mockito.`when`(extensionMock.projectRoot).thenReturn(createStringProperty(value)) - } - - private fun setProjectRootInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("projectRoot" to value) - } - } - - @Nested - @DisplayName("generatedTestsRelativeRoot") - inner class GeneratedTestsRelativeRootTest { - @Test - fun `should be build generated test by default`() { - val testsRootExpected = "build/generated/test" - setGeneratedTestsRelativeRootInExtension(null) - assertEquals(testsRootExpected.toPath(), extensionProvider.generatedTestsRelativeRoot.toPath()) - } - - @Test - fun `should be provided from the extension`() { - val testsRoot = "some/dir/" - setGeneratedTestsRelativeRootInExtension(testsRoot) - assertEquals(testsRoot.toPath(), extensionProvider.generatedTestsRelativeRoot.toPath()) - } - - @Test - fun `should be provided from the task parameters`() { - val testsRoot = "some/directory/" - setGeneratedTestsRelativeRootInTaskParameters(testsRoot) - assertEquals(testsRoot.toPath(), extensionProvider.generatedTestsRelativeRoot.toPath()) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - val testsRoot = "some/dir/" - val anotherTestsRoot = "another/dir/" - setGeneratedTestsRelativeRootInTaskParameters(testsRoot) - setGeneratedTestsRelativeRootInExtension(anotherTestsRoot) - assertEquals(testsRoot.toPath(), extensionProvider.generatedTestsRelativeRoot.toPath()) - } - - private fun setGeneratedTestsRelativeRootInExtension(value: String?) { - Mockito.`when`(extensionMock.generatedTestsRelativeRoot).thenReturn(createStringProperty(value)) - } - - private fun setGeneratedTestsRelativeRootInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("generatedTestsRelativeRoot" to value) - } - } - - @Nested - @DisplayName("sarifReportsRelativeRoot") - inner class SarifReportsRelativeRootTest { - @Test - fun `should be build generated sarif by default`() { - setSarifReportsRelativeRootInExtension(null) - val sarifRoot = "build/generated/sarif" - assertEquals(sarifRoot.toPath(), extensionProvider.sarifReportsRelativeRoot.toPath()) - } - - @Test - fun `should be provided from the extension`() { - val sarifRoot = "some/dir/" - setSarifReportsRelativeRootInExtension(sarifRoot) - assertEquals(sarifRoot.toPath(), extensionProvider.sarifReportsRelativeRoot.toPath()) - } - - @Test - fun `should be provided from the task parameters`() { - val sarifRoot = "some/directory/" - setSarifReportsRelativeRootInTaskParameters(sarifRoot) - assertEquals(sarifRoot.toPath(), extensionProvider.sarifReportsRelativeRoot.toPath()) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - val sarifRoot = "some/dir/" - val anotherSarifRoot = "another/dir/" - setSarifReportsRelativeRootInTaskParameters(sarifRoot) - setSarifReportsRelativeRootInExtension(anotherSarifRoot) - assertEquals(sarifRoot.toPath(), extensionProvider.sarifReportsRelativeRoot.toPath()) - } - - private fun setSarifReportsRelativeRootInExtension(value: String?) { - Mockito.`when`(extensionMock.sarifReportsRelativeRoot).thenReturn(createStringProperty(value)) - } - - private fun setSarifReportsRelativeRootInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("sarifReportsRelativeRoot" to value) - } - } - - @Nested - @DisplayName("markGeneratedTestsDirectoryAsTestSourcesRoot") - inner class MarkGeneratedTestsDirectoryAsTestSourcesRootTest { - @Test - fun `should be true by default`() { - setMark(null) - assertEquals(true, extensionProvider.markGeneratedTestsDirectoryAsTestSourcesRoot) - } - - @Test - fun `should be provided from the extension`() { - setMark(false) - assertEquals(false, extensionProvider.markGeneratedTestsDirectoryAsTestSourcesRoot) - } - - private fun setMark(value: Boolean?) { - Mockito.`when`(extensionMock.markGeneratedTestsDirectoryAsTestSourcesRoot) - .thenReturn(createBooleanProperty(value)) - } - } - - @Nested - @DisplayName("testPrivateMethods") - inner class TestPrivateMethodsTest { - @Test - fun `should be false by default`() { - setTestPrivateMethodsInExtension(null) - assertEquals(false, extensionProvider.testPrivateMethods) - } - - @Test - fun `should be provided from the extension`() { - setTestPrivateMethodsInExtension(true) - assertEquals(true, extensionProvider.testPrivateMethods) - } - - @Test - fun `should be provided from the task parameters`() { - setTestPrivateMethodsInTaskParameters(true) - assertEquals(true, extensionProvider.testPrivateMethods) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setTestPrivateMethodsInTaskParameters(false) - setTestPrivateMethodsInExtension(true) - assertEquals(false, extensionProvider.testPrivateMethods) - } - - private fun setTestPrivateMethodsInExtension(value: Boolean?) { - Mockito.`when`(extensionMock.testPrivateMethods).thenReturn(createBooleanProperty(value)) - } - - private fun setTestPrivateMethodsInTaskParameters(value: Boolean) { - extensionProvider.taskParameters = mapOf("testPrivateMethods" to "$value") - } - } - - @Nested - @DisplayName("projectType") - inner class ProjectTypeTest { - @Test - fun `should be ProjectType defaultItem by default`() { - setProjectTypeInExtension(null) - assertEquals(PureJvm, extensionProvider.projectType) - } - - @Test - fun `should be equal to PureJvm`() { - setProjectTypeInExtension("purejvm") - assertEquals(PureJvm, extensionProvider.projectType) - } - - @Test - fun `should be equal to Spring`() { - setProjectTypeInExtension("spring") - assertEquals(Spring, extensionProvider.projectType) - } - - @Test - fun `should be equal to Python`() { - setProjectTypeInExtension("python") - assertEquals(Python, extensionProvider.projectType) - } - - @Test - fun `should be equal to JavaScript`() { - setProjectTypeInExtension("javascript") - assertEquals(JavaScript, extensionProvider.projectType) - } - - @Test - fun `should fail on unknown project type`() { - setProjectTypeInExtension("unknown") - assertThrows { - extensionProvider.projectType - } - } - - @Test - fun `should be provided from the task parameters`() { - setProjectTypeInTaskParameters("spring") - assertEquals(Spring, extensionProvider.projectType) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setProjectTypeInTaskParameters("python") - setProjectTypeInExtension("javascript") - assertEquals(Python, extensionProvider.projectType) - } - - private fun setProjectTypeInExtension(value: String?) { - Mockito.`when`(extensionMock.projectType).thenReturn(createStringProperty(value)) - } - - private fun setProjectTypeInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("projectType" to value) - } - } - - @Nested - @DisplayName("testFramework") - inner class TestFrameworkTest { - @Test - fun `should be TestFramework defaultItem by default`() { - setTestFrameworkInExtension(null) - assertEquals(TestFramework.defaultItem, extensionProvider.testFramework) - } - - @Test - fun `should be equal to Junit4`() { - setTestFrameworkInExtension("junit4") - assertEquals(Junit4, extensionProvider.testFramework) - } - - @Test - fun `should be equal to Junit5`() { - setTestFrameworkInExtension("junit5") - assertEquals(Junit5, extensionProvider.testFramework) - } - - @Test - fun `should be equal to TestNg`() { - setTestFrameworkInExtension("testng") - assertEquals(TestNg, extensionProvider.testFramework) - } - - @Test - fun `should fail on unknown test framework`() { - setTestFrameworkInExtension("unknown") - assertThrows { - extensionProvider.testFramework - } - } - - @Test - fun `should be provided from the task parameters`() { - setTestFrameworkInTaskParameters("junit4") - assertEquals(Junit4, extensionProvider.testFramework) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setTestFrameworkInTaskParameters("testng") - setTestFrameworkInExtension("junit5") - assertEquals(TestNg, extensionProvider.testFramework) - } - - private fun setTestFrameworkInExtension(value: String?) { - Mockito.`when`(extensionMock.testFramework).thenReturn(createStringProperty(value)) - } - - private fun setTestFrameworkInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("testFramework" to value) - } - } - - @Nested - @DisplayName("mockFramework") - inner class MockFrameworkTest { - @Test - fun `should be MockFramework defaultItem by default`() { - setMockFrameworkInExtension(null) - assertEquals(MockFramework.defaultItem, extensionProvider.mockFramework) - } - - @Test - fun `should be equal to MOCKITO`() { - setMockFrameworkInExtension("mockito") - assertEquals(MockFramework.MOCKITO, extensionProvider.mockFramework) - } - - @Test - fun `should fail on unknown mock framework`() { - setMockFrameworkInExtension("unknown") - assertThrows { - extensionProvider.mockFramework - } - } - - @Test - fun `should be provided from the task parameters`() { - setMockFrameworkInTaskParameters("mockito") - assertEquals(MockFramework.MOCKITO, extensionProvider.mockFramework) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setMockFrameworkInTaskParameters("unknown") - setMockFrameworkInExtension("mockito") - assertThrows { - extensionProvider.mockFramework - } - } - - private fun setMockFrameworkInExtension(value: String?) { - Mockito.`when`(extensionMock.mockFramework).thenReturn(createStringProperty(value)) - } - - private fun setMockFrameworkInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("mockFramework" to value) - } - } - - @Nested - @DisplayName("generationTimeout") - inner class GenerationTimeoutTest { - @Test - fun `should be 60 seconds by default`() { - setGenerationTimeoutInExtension(null) - assertEquals(60 * 1000L, extensionProvider.generationTimeout) - } - - @Test - fun `should be provided from the extension`() { - setGenerationTimeoutInExtension(100L) - assertEquals(100L, extensionProvider.generationTimeout) - } - - @Test - fun `should be provided from the task parameters`() { - setGenerationTimeoutInTaskParameters("100") - assertEquals(100L, extensionProvider.generationTimeout) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setGenerationTimeoutInTaskParameters("999") - setGenerationTimeoutInExtension(100L) - assertEquals(999L, extensionProvider.generationTimeout) - } - - @Test - fun `should fail on negative timeout`() { - setGenerationTimeoutInExtension(-1) - assertThrows { - extensionProvider.generationTimeout - } - } - - private fun setGenerationTimeoutInExtension(value: Long?) { - Mockito.`when`(extensionMock.generationTimeout).thenReturn(createLongProperty(value)) - } - - private fun setGenerationTimeoutInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("generationTimeout" to value) - } - } - - @Nested - @DisplayName("codegenLanguage") - inner class CodegenLanguageTest { - @Test - fun `should be CodegenLanguage defaultItem by default`() { - setCodegenLanguageInExtension(null) - assertEquals(CodegenLanguage.defaultItem, extensionProvider.codegenLanguage) - } - - @Test - fun `should be equal to JAVA`() { - setCodegenLanguageInExtension("java") - assertEquals(CodegenLanguage.JAVA, extensionProvider.codegenLanguage) - } - - @Test - fun `should be equal to KOTLIN`() { - setCodegenLanguageInExtension("kotlin") - assertEquals(CodegenLanguage.KOTLIN, extensionProvider.codegenLanguage) - } - - @Test - fun `should fail on unknown codegen language`() { - setCodegenLanguageInExtension("unknown") - assertThrows { - extensionProvider.codegenLanguage - } - } - - @Test - fun `should be provided from the task parameters`() { - setCodegenLanguageInTaskParameters("kotlin") - assertEquals(CodegenLanguage.KOTLIN, extensionProvider.codegenLanguage) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setCodegenLanguageInTaskParameters("java") - setCodegenLanguageInExtension("kotlin") - assertEquals(CodegenLanguage.JAVA, extensionProvider.codegenLanguage) - } - - private fun setCodegenLanguageInExtension(value: String?) { - Mockito.`when`(extensionMock.codegenLanguage).thenReturn(createStringProperty(value)) - } - - private fun setCodegenLanguageInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("codegenLanguage" to value) - } - } - - @Nested - @DisplayName("mockStrategy") - inner class MockStrategyTest { - @Test - fun `should be MockStrategyApi defaultItem by default`() { - setMockStrategyInExtension(null) - assertEquals(MockStrategyApi.defaultItem, extensionProvider.mockStrategy) - } - - @Test - fun `should be equal to NO_MOCKS`() { - setMockStrategyInExtension("no-mocks") - assertEquals(MockStrategyApi.NO_MOCKS, extensionProvider.mockStrategy) - } - - @Test - fun `should be equal to OTHER_PACKAGES`() { - setMockStrategyInExtension("other-packages") - assertEquals(MockStrategyApi.OTHER_PACKAGES, extensionProvider.mockStrategy) - } - - @Test - fun `should be equal to OTHER_CLASSES`() { - setMockStrategyInExtension("other-classes") - assertEquals(MockStrategyApi.OTHER_CLASSES, extensionProvider.mockStrategy) - } - - @Test - fun `should fail on unknown mock strategy`() { - setMockStrategyInExtension("unknown") - assertThrows { - extensionProvider.mockStrategy - } - } - - @Test - fun `should be provided from the task parameters`() { - setMockStrategyInTaskParameters("no-mocks") - assertEquals(MockStrategyApi.NO_MOCKS, extensionProvider.mockStrategy) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setMockStrategyInTaskParameters("other-packages") - setMockStrategyInExtension("other-classes") - assertEquals(MockStrategyApi.OTHER_PACKAGES, extensionProvider.mockStrategy) - } - - private fun setMockStrategyInExtension(value: String?) { - Mockito.`when`(extensionMock.mockStrategy).thenReturn(createStringProperty(value)) - } - - private fun setMockStrategyInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("mockStrategy" to value) - } - } - - @Nested - @DisplayName("staticsMocking") - inner class StaticsMockingTest { - @Test - fun `should be StaticsMocking defaultItem by default`() { - setStaticsMockingInExtension(null) - assertEquals(StaticsMocking.defaultItem, extensionProvider.staticsMocking) - } - - @Test - fun `should be equal to NoStaticMocking`() { - setStaticsMockingInExtension("do-not-mock-statics") - assertEquals(NoStaticMocking, extensionProvider.staticsMocking) - } - - @Test - fun `should be equal to`() { - setStaticsMockingInExtension("mock-statics") - assertEquals(MockitoStaticMocking, extensionProvider.staticsMocking) - } - - @Test - fun `should fail on unknown statics mocking`() { - setStaticsMockingInExtension("unknown") - assertThrows { - extensionProvider.staticsMocking - } - } - - @Test - fun `should be provided from the task parameters`() { - setStaticsMockingInTaskParameters("do-not-mock-statics") - assertEquals(NoStaticMocking, extensionProvider.staticsMocking) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setStaticsMockingInTaskParameters("mock-statics") - setStaticsMockingInExtension("do-not-mock-statics") - assertEquals(MockitoStaticMocking, extensionProvider.staticsMocking) - } - - private fun setStaticsMockingInExtension(value: String?) { - Mockito.`when`(extensionMock.staticsMocking).thenReturn(createStringProperty(value)) - } - - private fun setStaticsMockingInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("staticsMocking" to value) - } - } - - @Nested - @DisplayName("forceStaticMocking") - inner class ForceStaticMockingTest { - @Test - fun `should be ForceStaticMocking defaultItem by default`() { - setForceStaticMockingInExtension(null) - assertEquals(ForceStaticMocking.defaultItem, extensionProvider.forceStaticMocking) - } - - @Test - fun `should be equal to FORCE`() { - setForceStaticMockingInExtension("force") - assertEquals(ForceStaticMocking.FORCE, extensionProvider.forceStaticMocking) - } - - @Test - fun `should be equal to DO_NOT_FORCE`() { - setForceStaticMockingInExtension("do-not-force") - assertEquals(ForceStaticMocking.DO_NOT_FORCE, extensionProvider.forceStaticMocking) - } - - @Test - fun `should fail on unknown force static mocking`() { - setForceStaticMockingInExtension("unknown") - assertThrows { - extensionProvider.forceStaticMocking - } - } - - @Test - fun `should be provided from the task parameters`() { - setForceStaticMockingInTaskParameters("do-not-force") - assertEquals(ForceStaticMocking.DO_NOT_FORCE, extensionProvider.forceStaticMocking) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - setForceStaticMockingInTaskParameters("force") - setForceStaticMockingInExtension("do-not-force") - assertEquals(ForceStaticMocking.FORCE, extensionProvider.forceStaticMocking) - } - - private fun setForceStaticMockingInExtension(value: String?) { - Mockito.`when`(extensionMock.forceStaticMocking).thenReturn(createStringProperty(value)) - } - - private fun setForceStaticMockingInTaskParameters(value: String) { - extensionProvider.taskParameters = mapOf("forceStaticMocking" to value) - } - } - - @Nested - @DisplayName("classesToMockAlways") - inner class ClassesToMockAlwaysTest { - - private val defaultClasses = - Mocker.defaultSuperClassesToMockAlwaysNames.map(::ClassId).toSet() - - @Test - fun `should be defaultSuperClassesToMockAlwaysNames by default`() { - setClassesToMockAlwaysInExtension(null) - assertEquals(defaultClasses, extensionProvider.classesToMockAlways) - } - - @Test - fun `should be provided from the extension`() { - val classes = listOf("com.abc.Main") - val expectedClasses = classes.map(::ClassId).toSet() + defaultClasses - setClassesToMockAlwaysInExtension(classes) - assertEquals(expectedClasses, extensionProvider.classesToMockAlways) - } - - @Test - fun `should be provided from the task parameters`() { - val classes = listOf("com.abc.Main") - val expectedClasses = classes.map(::ClassId).toSet() + defaultClasses - setClassesToMockAlwaysInTaskParameters(classes) - assertEquals(expectedClasses, extensionProvider.classesToMockAlways) - } - - @Test - fun `should be provided from the task parameters, not from the extension`() { - val classes = listOf("com.abc.Main") - val anotherClasses = listOf("com.abc.Another") - val expectedClasses = classes.map(::ClassId).toSet() + defaultClasses - setClassesToMockAlwaysInTaskParameters(classes) - setClassesToMockAlwaysInExtension(anotherClasses) - assertEquals(expectedClasses, extensionProvider.classesToMockAlways) - } - - private fun setClassesToMockAlwaysInExtension(value: List?) = - Mockito.`when`(extensionMock.classesToMockAlways).thenReturn(createListProperty(value)) - - private fun setClassesToMockAlwaysInTaskParameters(value: List) { - extensionProvider.taskParameters = mapOf("classesToMockAlways" to value.joinToString(",", "[", "]")) - } - } - - // internal - - private val project = buildProject() - private val extensionMock = Mockito.mock(SarifGradleExtension::class.java) - private val extensionProvider = SarifGradleExtensionProvider(project, extensionMock) - - // properties - - private fun createBooleanProperty(value: Boolean?) = - project.objects.property(Boolean::class.java).apply { - set(value) - } - - private fun createLongProperty(value: Long?) = - project.objects.property(Long::class.java).apply { - set(value) - } - - private fun createStringProperty(value: String?) = - project.objects.property(String::class.java).apply { - set(value) - } - - private fun createListProperty(value: List?) = - project.objects.listProperty(String::class.java).apply { - set(value) - } -} \ No newline at end of file diff --git a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/GradleProjectWrapperTest.kt b/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/GradleProjectWrapperTest.kt deleted file mode 100644 index 8eb307b0..00000000 --- a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/GradleProjectWrapperTest.kt +++ /dev/null @@ -1,132 +0,0 @@ -package org.utbot.gradle.plugin.wrappers - -import org.gradle.api.Project -import org.gradle.api.tasks.SourceSet -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.mockito.Mockito -import org.utbot.gradle.plugin.buildProject -import org.utbot.gradle.plugin.extension.SarifGradleExtensionProvider -import java.io.File - -class GradleProjectWrapperTest { - - @Nested - @DisplayName("childProjects") - inner class ChildProjectsTest { - @Test - fun `should be empty by default`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - assertEquals(listOf(), gradleProject.childProjects) - } - } - - @Nested - @DisplayName("sourceSets") - inner class SourceSetsTest { - @Test - fun `should contain main source set`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - val mainSourceSet = gradleProject.sourceSets.firstOrNull { sourceSetWrapper -> - sourceSetWrapper.sourceSet.name == SourceSet.MAIN_SOURCE_SET_NAME - } - assertNotNull(mainSourceSet) - } - - @Test - fun `should not contain test source set`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - val testSourceSet = gradleProject.sourceSets.firstOrNull { sourceSetWrapper -> - sourceSetWrapper.sourceSet.name == SourceSet.TEST_SOURCE_SET_NAME - } - assertNull(testSourceSet) - } - } - - @Nested - @DisplayName("generatedTestsDirectory") - inner class GeneratedTestsDirectoryTest { - @Test - fun `should exist`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - - val testsRelativePath = "generated/test" - Mockito.`when`(sarifPropertiesMock.generatedTestsRelativeRoot).thenReturn(testsRelativePath) - - assert(gradleProject.generatedTestsDirectory.exists()) - } - - @Test - fun `should end with the path from sarifProperties`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - - val testsRelativePath = "generated/test" - Mockito.`when`(sarifPropertiesMock.generatedTestsRelativeRoot).thenReturn(testsRelativePath) - - assert(gradleProject.generatedTestsDirectory.endsWith(File(testsRelativePath))) - } - } - - @Nested - @DisplayName("generatedSarifDirectory") - inner class GeneratedSarifDirectoryTest { - @Test - fun `should exist`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - - val sarifRootRelativePath = "generated/sarif" - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn(sarifRootRelativePath) - - assert(gradleProject.generatedSarifDirectory.exists()) - } - - @Test - fun `should end with the path from sarifProperties`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - - val sarifRootRelativePath = "generated/sarif" - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn(sarifRootRelativePath) - - assert(gradleProject.generatedSarifDirectory.endsWith(File(sarifRootRelativePath))) - } - } - - @Nested - @DisplayName("sarifReportFile") - inner class SarifReportFileTest { - @Test - fun `should exist`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - - val sarifRootRelativePath = "generated/sarif" - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn(sarifRootRelativePath) - - assert(gradleProject.sarifReportFile.exists()) - } - - @Test - fun `should contain the project name`() { - val project = buildProject() - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - - val sarifRootRelativePath = "generated/sarif" - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn(sarifRootRelativePath) - - assert(gradleProject.sarifReportFile.name.contains(project.name)) - } - } - - // internal - - private val sarifPropertiesMock = Mockito.mock(SarifGradleExtensionProvider::class.java) -} \ No newline at end of file diff --git a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/SourceFindingStrategyGradleTest.kt b/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/SourceFindingStrategyGradleTest.kt deleted file mode 100644 index 2accab87..00000000 --- a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/SourceFindingStrategyGradleTest.kt +++ /dev/null @@ -1,76 +0,0 @@ -package org.utbot.gradle.plugin.wrappers - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.mockito.Mockito -import org.utbot.common.PathUtil.toPath -import java.nio.file.Paths - -class SourceFindingStrategyGradleTest { - - @Nested - @DisplayName("testsRelativePath") - inner class TestsRelativePathTest { - @Test - fun `should relativize correctly`() { - val projectRootPath = "./some/dir/" - val testsRelativePath = "src/test.java" - val testsAbsolutePath = "./some/dir/src/test.java" - val sourceSetWrapperMock = createSourceSetWrapperMock(projectRootPath) - - val strategy = SourceFindingStrategyGradle(sourceSetWrapperMock, testsAbsolutePath) - assertEquals(testsRelativePath.toPath(), strategy.testsRelativePath.toPath()) - } - - @Test - fun `should return the file name if relativization failed`() { - val projectRootPath = "./first/directory/" - val testsRelativePath = "test.java" // just the file name - val testsAbsolutePath = "./second/directory/src/test.java" - val sourceSetWrapperMock = createSourceSetWrapperMock(projectRootPath) - - val strategy = SourceFindingStrategyGradle(sourceSetWrapperMock, testsAbsolutePath) - assertEquals(testsRelativePath.toPath(), strategy.testsRelativePath.toPath()) - } - } - - @Nested - @DisplayName("getSourceRelativePath") - inner class GetSourceRelativePathTest { - @Test - fun `should find and relativize the path correctly`() { - val currentDirectory = "".toPath().toFile().absolutePath - val sourceSetWrapperMock = createSourceSetWrapperMock(currentDirectory) - val sourceFile = Paths.get(currentDirectory, "src", "com", "SomeClass.java").toFile() - Mockito.`when`(sourceSetWrapperMock.findSourceCodeFile("com.SomeClass")).thenReturn(sourceFile) - - val strategy = SourceFindingStrategyGradle(sourceSetWrapperMock, testsFilePath = "will not be used") - val sourcePathExpected = "src/com/SomeClass.java".toPath() - val sourcePathActual = strategy.getSourceRelativePath("com.SomeClass", ".java") - assertEquals(sourcePathExpected, sourcePathActual.toPath()) - } - - @Test - fun `should return the path with the package if relativization failed`() { - val projectRootPath = "./some/directory/" - val sourceSetWrapperMock = createSourceSetWrapperMock(projectRootPath) - val sourceFile = Paths.get("src", "com", "SomeClass.java").toFile() - Mockito.`when`(sourceSetWrapperMock.findSourceCodeFile("com.SomeClass")).thenReturn(sourceFile) - - val strategy = SourceFindingStrategyGradle(sourceSetWrapperMock, testsFilePath = "will not be used") - val sourcePathExpected = "com/SomeClass.java".toPath() // just the package with file name - val sourcePathActual = strategy.getSourceRelativePath("com.SomeClass", ".java") - assertEquals(sourcePathExpected, sourcePathActual.toPath()) - } - } - - // internal - - private fun createSourceSetWrapperMock(projectRootPath: String): SourceSetWrapper { - val sourceSetWrapperMock = Mockito.mock(SourceSetWrapper::class.java, Mockito.RETURNS_DEEP_STUBS) - Mockito.`when`(sourceSetWrapperMock.parentProject.sarifProperties.projectRoot.absolutePath).thenReturn(projectRootPath) - return sourceSetWrapperMock - } -} \ No newline at end of file diff --git a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/SourceSetWrapperTest.kt b/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/SourceSetWrapperTest.kt deleted file mode 100644 index e315c302..00000000 --- a/utbot-gradle/src/test/kotlin/org/utbot/gradle/plugin/wrappers/SourceSetWrapperTest.kt +++ /dev/null @@ -1,137 +0,0 @@ -package org.utbot.gradle.plugin.wrappers - -import org.gradle.api.Project -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.DisplayName -import org.junit.jupiter.api.Nested -import org.junit.jupiter.api.Test -import org.mockito.Mockito -import org.utbot.common.FileUtil.createNewFileWithParentDirectories -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.util.Snippet -import org.utbot.framework.util.compileClassFile -import org.utbot.gradle.plugin.buildProject -import org.utbot.gradle.plugin.extension.SarifGradleExtensionProvider -import org.utbot.gradle.plugin.mainSourceSet -import java.nio.file.Paths - -class SourceSetWrapperTest { - - @Nested - @DisplayName("targetClasses") - inner class TargetClassesTest { - @Test - fun `should provide sarifProperties targetClasses`() { - val project = buildProject() - val classNames = listOf("com.TestClassA", "org.TestClassB") - classNames.forEach { project.addEmptyClass(it) } - - Mockito.`when`(sarifPropertiesMock.targetClasses).thenReturn(classNames) - Mockito.`when`(sarifPropertiesMock.codegenLanguage).thenReturn(CodegenLanguage.JAVA) - Mockito.`when`(sarifPropertiesMock.generatedTestsRelativeRoot).thenReturn("test") - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn("sarif") - Mockito.`when`(sarifPropertiesMock.testPrivateMethods).thenReturn(true) - - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - val sourceSetWrapper = SourceSetWrapper(project.mainSourceSet, gradleProject) - val classNamesActual = sourceSetWrapper.targetClasses.map { it.qualifiedName }.toSet() - assertEquals(classNames.toSet(), classNamesActual) - } - - @Test - fun `should find all declared classes if sarifProperties targetClasses is empty`() { - val project = buildProject() - val classNames = listOf("com.TestClassA", "org.TestClassB") - classNames.forEach { project.addEmptyClass(it) } - - Mockito.`when`(sarifPropertiesMock.targetClasses).thenReturn(listOf()) // empty - Mockito.`when`(sarifPropertiesMock.codegenLanguage).thenReturn(CodegenLanguage.JAVA) - Mockito.`when`(sarifPropertiesMock.generatedTestsRelativeRoot).thenReturn("test") - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn("sarif") - Mockito.`when`(sarifPropertiesMock.testPrivateMethods).thenReturn(true) - - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - val sourceSetWrapper = SourceSetWrapper(project.mainSourceSet, gradleProject) - val classNamesActual = sourceSetWrapper.targetClasses.map { it.qualifiedName }.toSet() - assertEquals(classNames.toSet(), classNamesActual) - } - } - - @Nested - @DisplayName("findSourceCodeFile") - inner class FindSourceCodeFileTest { - @Test - fun `should find source code file by given fqn`() { - val project = buildProject() - val className = "com.TestClassA" - project.addEmptyClass(className, classFileNeeded = false) - - Mockito.`when`(sarifPropertiesMock.generatedTestsRelativeRoot).thenReturn("test") - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn("sarif") - Mockito.`when`(sarifPropertiesMock.testPrivateMethods).thenReturn(true) - - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - val sourceSetWrapper = SourceSetWrapper(project.mainSourceSet, gradleProject) - assertNotNull(sourceSetWrapper.findSourceCodeFile(className)) - } - - @Test - fun `should return null if class is not found`() { - val project = buildProject() - project.addEmptyClass(classFqn = "TestClass", classFileNeeded = false) - - Mockito.`when`(sarifPropertiesMock.generatedTestsRelativeRoot).thenReturn("test") - Mockito.`when`(sarifPropertiesMock.sarifReportsRelativeRoot).thenReturn("sarif") - Mockito.`when`(sarifPropertiesMock.testPrivateMethods).thenReturn(true) - - val gradleProject = GradleProjectWrapper(project, sarifPropertiesMock) - val sourceSetWrapper = SourceSetWrapper(project.mainSourceSet, gradleProject) - assertNull(sourceSetWrapper.findSourceCodeFile(classFqn = "AnotherClass")) - } - } - - // internal - - private val sarifPropertiesMock = Mockito.mock(SarifGradleExtensionProvider::class.java) - - private fun Project.addEmptyClass(classFqn: String, classFileNeeded: Boolean = true) { - val className = classFqn.substringAfterLast('.') - val classPackage = classFqn.substringBeforeLast('.').split('.').toTypedArray() - val sourceCode = """ - package ${classPackage.joinToString(".")}; - - public class $className { - public void function() {} - } - """.trimIndent() - this.addClass(classPackage, className, sourceCode, classFileNeeded) - } - - /** - * Creates a [className].java file with [sourceCode] in a special directory. - * Compiles [sourceCode] and creates a [className].class file if [classFileNeeded] is true. - */ - private fun Project.addClass( - classPackage: Array, - className: String, - sourceCode: String, - classFileNeeded: Boolean - ) { - if (classFileNeeded) { - // writing bytes of the compiled class to the needed file - val classesDir = mainSourceSet.output.classesDirs.asPath - val compiledClass = compileClassFile(className, Snippet(CodegenLanguage.JAVA, sourceCode)).readBytes() - Paths.get(classesDir, *classPackage, "$className.class").toFile().apply { - createNewFileWithParentDirectories() - writeBytes(compiledClass) - } - } - - // writing the source code to the needed file - val sourcesDir = mainSourceSet.java.srcDirs.first().path - Paths.get(sourcesDir, *classPackage, "$className.java").toFile().apply { - createNewFileWithParentDirectories() - writeText(sourceCode) - } - } -} diff --git a/utbot-instrumentation-tests/build.gradle b/utbot-instrumentation-tests/build.gradle deleted file mode 100644 index 99cc4d56..00000000 --- a/utbot-instrumentation-tests/build.gradle +++ /dev/null @@ -1,38 +0,0 @@ -compileKotlin { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} - -configurations { - fetchInstrumentationJar -} - -dependencies { - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') - implementation project(':utbot-framework-api') - - testImplementation configurations.fetchInstrumentationJar - testImplementation project(':utbot-sample') - testImplementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - implementation group: 'com.jetbrains.rd', name: 'rd-framework', version: rdVersion - implementation group: 'com.jetbrains.rd', name: 'rd-core', version: rdVersion -} - -processResources { - // We will extract this jar in `InstrumentedProcess` class. - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/ClassWithoutPackage.java b/utbot-instrumentation-tests/src/test/java/ClassWithoutPackage.java deleted file mode 100644 index ab741d47..00000000 --- a/utbot-instrumentation-tests/src/test/java/ClassWithoutPackage.java +++ /dev/null @@ -1,2 +0,0 @@ -public class ClassWithoutPackage { -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithInnerClasses.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithInnerClasses.java deleted file mode 100644 index 870a7742..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithInnerClasses.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.examples.samples; - -public class ClassWithInnerClasses { - int x; - - public ClassWithInnerClasses(int x) { - this.x = x; - } - - public class InnerClass { - public int sum(int a, int b) { - if (a + b == 4) { - return -1; - } - return x + a + b + InnerStaticClass.mul(a, b); - } - } - - public static class InnerStaticClass { - public static int mul(int a, int b) { - return a * b; - } - } - - public int doSomething(int a, int b) { - InnerClass innerClass = new InnerClass(); - return innerClass.sum(a, b); - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithMultipleConstructors.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithMultipleConstructors.java deleted file mode 100644 index 54b9c735..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithMultipleConstructors.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.examples.samples; - -public class ClassWithMultipleConstructors { - int sum; - - public ClassWithMultipleConstructors() { - sum = 0; - } - - public ClassWithMultipleConstructors(int x) { - this(); - sum = x; - } - - public ClassWithMultipleConstructors(int x, int y) { - this(x); - sum += y; - } - - public ClassWithMultipleConstructors(int x, int y, int z) { - this(x, y); - sum += z; - if (x * x < 0) { - throw new IllegalStateException("The square of a real number cannot be less than zero!"); - } - } - - public ClassWithMultipleConstructors(String x, String y) { - this(Integer.parseInt(x), Integer.parseInt(y)); - } - - public ClassWithMultipleConstructors(String x) { - switch (x) { - case "one": - sum = 1; - break; - case "two": - sum = 2; - break; - default: - sum = -1; - break; - } - } - - @Override - public String toString() { - return "sum=" + sum; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ClassWithMultipleConstructors that = (ClassWithMultipleConstructors) o; - return sum == that.sum; - } -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithSameMethodNames.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithSameMethodNames.java deleted file mode 100644 index 8674ffeb..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ClassWithSameMethodNames.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.samples; - -import java.util.Arrays; - -public class ClassWithSameMethodNames { - public static int sum(int a, int b) { - return a + b + 2; - } - - public static int sum(int a, int b, int c) { - return a + b + c + 3; - } - - public static int sum(int... values) { - int len = values.length; - if (len == 0) { - return 0; - } - return values[len - 1] + sum(Arrays.copyOf(values, len - 1)); - } -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ExampleClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ExampleClass.java deleted file mode 100644 index e0e1dcc1..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/ExampleClass.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.utbot.examples.samples; - -@SuppressWarnings("All") -public class ExampleClass { - int x1 = 1; - - boolean[] arr = new boolean[5]; - - boolean[] arr2 = new boolean[10]; - - public void bar(int x) { - if (x > 1) { - x1++; - x1++; - } else { - x1--; - x1--; - } - } - - public void kek2(int x) { - arr[x] = true; - } - - public int foo(int x) { - x1 = x ^ 2; - - boolean was = false; - - for (int i = 0; i < x; i++) { - was = true; - int x2 = 0; - if (i > 5) { - was = false; - x2 = 1; - } - if (was && x2 == 0) { - was = true; - } - } - - // empty lines - return was ? x1 : x1 + 1; - } - - public void dependsOnField() { - x1 = x1 ^ 1; - if ((x1 & 1) == 1) { - x1 += 4; - } else { - x1 += 2; - } - } - - public int dependsOnFieldReturn() { - x1 = x1 ^ 1; - if ((x1 & 1) == 1) { - x1 += 4; - } else { - x1 += 2; - } - return x1; - } - - public void emptyMethod() { - } - - @SuppressWarnings("unused") - public int use() { - return arr2.length; - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/benchmark/Fibonacci.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/benchmark/Fibonacci.java deleted file mode 100644 index 5bd44a12..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/benchmark/Fibonacci.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.samples.benchmark; - -import java.math.BigInteger; - -public class Fibonacci { - public static BigInteger calc(int init0, int init1, int n) { - assert (n >= 0); - if (n == 0) { - return BigInteger.valueOf(init0); - } - if (n == 1) { - return BigInteger.valueOf(init1); - } - return calc(init0, init1, n - 1).add(calc(init0, init1, n - 2)); - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassBinaryRecursionWithThrow.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassBinaryRecursionWithThrow.java deleted file mode 100644 index 1e5c7324..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassBinaryRecursionWithThrow.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassBinaryRecursionWithThrow { - public static void A(int v, int d, boolean bad) throws Exception { - if (d == 0) { - return; - } - if (v == 1) { - B(v * 2, d - 1, bad); - } else { - A(v * 2, d - 1, bad); - } - A(v * 2 + 1, d - 1, bad); - } - - private static void B(int v, int d, boolean bad) throws Exception { - if (d == 0) { - if (bad) { - throw new Exception(); - } - return; - } - A(v * 2, d - 1, bad); - try { - B(v * 2 + 1, d - 1, bad); - } catch (Exception e) { - String s = "catched"; - } - } -} - -// #1. A(1, 2, false) -// #2. A(1, 2, true) diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassBinaryRecursionWithTrickyThrow.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassBinaryRecursionWithTrickyThrow.java deleted file mode 100644 index f0846fc5..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassBinaryRecursionWithTrickyThrow.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassBinaryRecursionWithTrickyThrow { - public static int A(int l, int r, int x) { - if (x == 0) { - return (r - l); - } - int m = (l + r) / 2; - return A(l, m, x - 1) + A(m, r, x - 1); - } - - public static int A_catchesAll(boolean left, int y) { - if (y == 0) { - throw (left ? new IllegalArgumentException() : new ArithmeticException()); - } - if (left) { - int a = -1; - try { - a = A_catchesAll(true, y - 1); - - } catch (Exception exc) { - String s = "Catched!"; - } - int b = -1; - try { - b = A_catchesAll(false, y - 1); - } catch (Exception exc) { - String s = "Catched!"; - } - return a + b; - } else { - int a = A_catchesAll(true, y - 1); - int b = A_catchesAll(false, y - 1); - return a + b; - } - } - - public static void A_notAll(boolean left, int y) { - if (y == 0) { - throw (left ? new IllegalArgumentException() : new ArithmeticException()); - } - if (y == 1) { - try { - A_notAll(!left, 0); - } catch (IllegalArgumentException exc) { - String s = "Catched!"; - } - - try { - A_notAll(left, 0); - } catch (IllegalArgumentException exc) { - String s = "Catched!"; - } - } else { - try { - A_notAll(true, y - 1); - - } catch (ArithmeticException exc) { - String s = "Catched!"; - } - - try { - A_notAll(false, y - 1); - } catch (ArithmeticException exc) { - String s = "Catched!"; - } - } - } -} - -// #1. A(1, 10, 2) -// #2. A_catchesAll(true, 2) -// #3. A_notAll(false, 2) \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassMixedWithNotInstrumented_Instr.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassMixedWithNotInstrumented_Instr.java deleted file mode 100644 index a90d9c21..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassMixedWithNotInstrumented_Instr.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassMixedWithNotInstrumented_Instr { - static public void a(int x) { - ClassMixedWithNotInstrumented_Not_Instr.b(x); - } - - public static void a_throws(int x) { - if (x == 0) { - throw new IllegalArgumentException(); - } - ClassMixedWithNotInstrumented_Not_Instr.b_throws(x); - } -} - -// #1. a(2) B is not instrumented -// #2. a_throws(2) B is not instrumented diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassMixedWithNotInstrumented_Not_Instr.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassMixedWithNotInstrumented_Not_Instr.java deleted file mode 100644 index fda4cdfb..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassMixedWithNotInstrumented_Not_Instr.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassMixedWithNotInstrumented_Not_Instr { - static public void b(int x) { - if (x > 0) { - ClassMixedWithNotInstrumented_Instr.a(x - 1); - ClassMixedWithNotInstrumented_Instr.a(x - 1); - } - } - - public static void b_throws(int x) { - if (x == 2) { - try { - ClassMixedWithNotInstrumented_Instr.a_throws(x - 1); - ClassMixedWithNotInstrumented_Instr.a_throws(x - 1); - } catch (Exception ignored) { - - } - } else { - ClassMixedWithNotInstrumented_Instr.a_throws(x - 1); - ClassMixedWithNotInstrumented_Instr.a_throws(x - 1); - } - } -} - -// #1. a(2) B is not instrumented -// #2. a_throws(2) B is not instrumented diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimple.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimple.java deleted file mode 100644 index 4215100e..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimple.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassSimple { - static public void doesNotThrow() { - int y = 1; - } - - static public void alwaysThrows() throws Exception { - int y = 1; - throw new Exception(); - } - - static public void maybeThrows(int x) throws IllegalArgumentException { - int y = x; - if (x < 0) { - throw new IllegalArgumentException(); - } - } -} - -// -// #1. doesNotThrow -// #2. alwaysThrows -// #3. maybeThrows(-1) maybeThrows(0) diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleCatch.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleCatch.java deleted file mode 100644 index 530e8f8c..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleCatch.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassSimpleCatch { - public static void A() { - int x = B(); - } - - public static int B() { - return 1; - } - - public static void A_catches() { - try { - int x = B_throws(); - } catch (IndexOutOfBoundsException ignored) { - String s = "catched!"; - } - } - - public static void A_doesNotCatch() { - int x = B_throws(); - } - - public static void A_catchesWrongException() { - try { - int x = B_throws(); - } catch (IllegalArgumentException ignored) { - String s = "catched!"; - } - } - - public static int B_throws() { - int[] a = new int[15]; - a[20] = 1; - return a[20]; - } - - -} - -// #1. A -// #2. A_catches -// #3. A_doesNotCatch -// #4. A_catchesWrongException diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleNPE.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleNPE.java deleted file mode 100644 index ab67f356..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleNPE.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassSimpleNPE { - public void A(boolean bad) { - this.B(); - this.C(); - this.D(bad); - } - - int b = 1; - - public void B() { - while (b > 0) { - b--; - this.B(); - } - } - - int c = 1; - - public void C() { - while (c > 0) { - c--; - this.C(); - } - } - - int d = 2; - - public void D(boolean bad) { - ClassSimpleNPE kek = (bad ? null : this); - while (d > 0) { - d--; - kek.D(bad); - } - } -} - -// #1. A(false) -// #2. A(true) \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleRecursive.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleRecursive.java deleted file mode 100644 index 13222e5d..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/et/ClassSimpleRecursive.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.samples.et; - -public class ClassSimpleRecursive { - public static int A(int x) { - if (x == 1) { - return 42; - } - return A(x - 1); - } - - public static int A_recursive(int x, int y) { - if (x == 1) { - if (y == 1) { - throw new IllegalArgumentException(); - } - return 42; - } - - if (x == 2) { - try { - return A_recursive(x - 1, 1); - } catch (IllegalArgumentException ignored) { - String s = "catched!"; - throw new IndexOutOfBoundsException(); - } - } else { - if (y == 2) { - try { - return A_recursive(x - 1, y); - } catch (IndexOutOfBoundsException ignored) { - String s = "catched!"; - return 42; - } - } else { - return A_recursive(x - 1, y); - } - } - } -} - -// #1. A(3) -// #2. A_recursive(3, 2) A_recursive(3, 1) diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/ExceptionExamples.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/ExceptionExamples.java deleted file mode 100644 index ebc2d39c..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/ExceptionExamples.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.utbot.examples.samples.jacoco; - -public class ExceptionExamples { - public int initAnArray(int n) { - try { - int[] a = new int[n]; - a[n - 1] = n + 1; - a[n - 2] = n + 2; - return a[n - 1] + a[n - 2]; - } catch (NullPointerException e) { - return -1; // Unreachable branch - } catch (NegativeArraySizeException e) { - return -2; - } catch (IndexOutOfBoundsException e) { - return -3; - } - } - - public int nestedExceptions(int i) { - try { - return checkAll(i); - } catch (NullPointerException e) { - return 100; - } catch (RuntimeException e) { - return -100; - } - } - - public int doNotCatchNested(int i) { - return checkAll(i); - } - - private int checkAll(int i) { - if (i < 0) { - throw new IllegalArgumentException("Negative"); - } - return checkPositive(i); - } - - private int checkPositive(int i) { - if (i > 0) { - throw new NullPointerException("Positive"); - } - return 0; - } - - @SuppressWarnings({"CaughtExceptionImmediatelyRethrown", "finally", "ThrowFromFinallyBlock"}) - public int finallyThrowing(int i) { - try { - return checkPositive(i); - } catch (NullPointerException e) { - throw e; - } finally { - throw new IllegalStateException("finally"); - } - } - - public int finallyChanging(int i) { - int r = i * 2; - try { - checkPositive(r); - } catch (NullPointerException e) { - r += 100; - } finally { - r += 10; - } - return r; - } - - public int throwException(int i) { - int r = 1; - if (i > 0) { - r += 10; - System.mapLibraryName(null); - } else { - r += 100; - } - return r; - } - - public int catchDeepNestedThrow(int i) { - try { - return callNestedWithThrow(i); - } catch (Exception e) { - throw new NullPointerException(); - } - } - - public IllegalArgumentException createException() { - return new IllegalArgumentException("Here we are: " + Math.sqrt(10)); - } - - public int dontCatchDeepNestedThrow(int i) { - return callNestedWithThrow(i); - } - - private int callNestedWithThrow(int i) { - return nestedWithThrow(i); - } - - private int nestedWithThrow(int i) { - if (i < 0) { - throw new IllegalArgumentException("Negative"); - } - return i; - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/MonitorUsage.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/MonitorUsage.java deleted file mode 100644 index c5e84670..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/MonitorUsage.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.samples.jacoco; - -public class MonitorUsage { - public int simpleMonitor(int x) { - int y; - if (x > 0) { - synchronized (this) { - y = x + 2; - } - } else { - y = -1; - } - return y > 0 ? 1 : 0; - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/Recursion.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/Recursion.java deleted file mode 100644 index 8ad1bce6..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/jacoco/Recursion.java +++ /dev/null @@ -1,112 +0,0 @@ -package org.utbot.examples.samples.jacoco; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -public class Recursion { - public int factorial(int n) { - if (n < 0) { - throw new IllegalArgumentException(); - } - if (n == 0) { - return 1; - } - return n * factorial(n - 1); - } - - public int fib(int n) { - if (n < 0) throw new IllegalArgumentException(); - if (n == 0) return 0; - if (n == 1) return 1; - return fib(n - 1) + fib(n - 2); - } - - public int sum(int fst, int snd) { - if (snd == 0) { - return fst; - } - return sum(fst + (int) Math.signum(snd), snd - (int) Math.signum(snd)); - } - - public int pow(int a, int n) { - if (n < 0) { - throw new IllegalArgumentException(); - } - if (n == 0) { - return 1; - } - if (n % 2 == 1) { - return pow(a, n - 1) * a; - } else { - int b = pow(a, n / 2); - return b * b; - } - } - - public void infiniteRecursion(int i) { - if (i > 10000) { - throw new StackOverflowError(); - } - infiniteRecursion(i + 1); - } - - - private int dfs(int v, List> graph, List colors, List weight) { - if (colors.get(v) == 1) { - return 0; - } - colors.set(v, 1); - - int acc = weight.get(v); - for (int i = 0; i < graph.get(v).size(); i++) { - acc += dfs(graph.get(v).get(i), graph, colors, weight); - } - - return acc; - } - - public int vertexSum(int n) { - if (n <= 10) { - throw new IllegalArgumentException(); - } - List> to = new ArrayList<>(); - List colors = new ArrayList<>(); - List weight = new ArrayList<>(); - for (int i = 0; i < 5; i++) { - colors.add(0); - weight.add(new Random().nextInt(n)); - } - for (int i = 0; i < 5; i++) { - to.add(new ArrayList<>()); - } - to.get(0).add(1); - to.get(0).add(2); - to.get(1).add(3); - to.get(2).add(4); - to.get(4).add(0); - - return dfs(0, to, colors, weight); - } - - public void recursionWithException(int n) { - if (n < 42) { - recursionWithException(n + 1); - } - if (n > 42) { - recursionWithException(n - 1); - } - throw new IllegalArgumentException(); - } - - private void secondMethod(int n) { - firstMethod(n); - } - - public void firstMethod(int n) { - if (n < 4) { - return; - } - secondMethod(n - 1); - } -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/root/MyClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/root/MyClass.java deleted file mode 100644 index 48f335bd..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/root/MyClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.utbot.examples.samples.root; - -public class MyClass { -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/root/child/MyClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/root/child/MyClass.java deleted file mode 100644 index bb73e9a3..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/root/child/MyClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.utbot.examples.samples.root.child; - -public class MyClass { -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/InnerClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/InnerClass.java deleted file mode 100644 index 836f8448..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/InnerClass.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.examples.samples.staticenvironment; - -public class InnerClass { - public int x = 0; - public int y = 0; -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/MyHiddenClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/MyHiddenClass.java deleted file mode 100644 index f1213330..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/MyHiddenClass.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.examples.samples.staticenvironment; - -public class MyHiddenClass { - public static int var0 = 0; - public static String var1 = "I am string"; -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/ReferenceEqualityExampleClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/ReferenceEqualityExampleClass.java deleted file mode 100644 index db3ff3f4..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/ReferenceEqualityExampleClass.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.examples.samples.staticenvironment; - -public class ReferenceEqualityExampleClass { - public static InnerClass field1 = new InnerClass(); - public static InnerClass field2 = field1; - public static InnerClass field3 = new InnerClass(); - - public boolean test12() { - return field1 == field2; - } - - public boolean test23() { - return field2 == field3; - } - - public boolean test31() { - return field3 == field1; - } -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/StaticExampleClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/StaticExampleClass.java deleted file mode 100644 index 206d3449..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/StaticExampleClass.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.examples.samples.staticenvironment; - -import org.jetbrains.annotations.Nullable; - -import static java.lang.Math.max; - -public class StaticExampleClass { - public static int digit = 9; - public static String digitS = "9"; - public static int[] arr = new int[20]; - - public static int inc() { - if (Integer.parseInt(digitS) != digit) { - return 1; - } - - digit++; - if (digit == 10) { - digit = 0; - } - - digitS = String.valueOf(digit); - return 0; - } - - public static int plus(int times) { - int ok = 0; - for (int i = 0; i < times; i++) { - ok = max(0, inc()); - } - arr[5] = 10; - return ok; - } - - @Nullable - public static String canBeNull(int value, @Nullable String str) { - return value == 0 ? null : str; - } - - public static String canBeNullWithoutAnnotations(int value, String str) { - return value == 0 ? null : str; - } -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/TestedClass.java b/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/TestedClass.java deleted file mode 100644 index 665ebec6..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/examples/samples/staticenvironment/TestedClass.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.samples.staticenvironment; - -public class TestedClass { - public static int x = 10; - - public static int slomayInts() { - x++; - MyHiddenClass.var0++; - - return x + MyHiddenClass.var0; - } - - public static String slomayString() { - MyHiddenClass.var1 = "ha-ha"; - return MyHiddenClass.var1; - } -} diff --git a/utbot-instrumentation-tests/src/test/java/org/utbot/test/util/UtPair.java b/utbot-instrumentation-tests/src/test/java/org/utbot/test/util/UtPair.java deleted file mode 100644 index 08a71a31..00000000 --- a/utbot-instrumentation-tests/src/test/java/org/utbot/test/util/UtPair.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.test.util; - -import java.io.Serializable; - -@SuppressWarnings("All") -public class UtPair implements Serializable { - - private K key; - - public K getKey() { return key; } - - private V value; - - public V getValue() { return value; } - - public UtPair(K key, V value) { - this.key = key; - this.value = value; - } - - @Override - public String toString() { - return key + "=" + value; - } - - @Override - public int hashCode() { - return key.hashCode() * 13 + (value == null ? 0 : value.hashCode()); - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o instanceof UtPair) { - UtPair pair = (UtPair) o; - if (key != null ? !key.equals(pair.key) : pair.key != null) return false; - if (value != null ? !value.equals(pair.value) : pair.value != null) return false; - return true; - } - return false; - } -} - diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestConstructors.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestConstructors.kt deleted file mode 100644 index fea5acdb..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestConstructors.kt +++ /dev/null @@ -1,141 +0,0 @@ -package org.utbot.examples - -import org.utbot.examples.samples.ClassWithMultipleConstructors -import org.utbot.examples.samples.ClassWithSameMethodNames -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.instrumentation.et.ExecutionTraceInstrumentation -import org.utbot.instrumentation.instrumentation.et.convert -import org.utbot.instrumentation.instrumentation.et.function -import org.utbot.instrumentation.instrumentation.et.invoke -import org.utbot.instrumentation.instrumentation.et.pass -import org.utbot.instrumentation.instrumentation.et.ret -import org.utbot.instrumentation.withInstrumentation -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertFalse -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test - -class TestConstructors { - lateinit var utContext: AutoCloseable - - private val CLASSPATH = ClassWithSameMethodNames::class.java.protectionDomain.codeSource.location.path - - @Test - fun testDefaultConstructor() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - CLASSPATH - ).use { executor -> - val constructors = ClassWithMultipleConstructors::class.constructors - val constr = constructors.first { it.parameters.isEmpty() } - val res = executor.execute(constr, arrayOf()) - val checkClass = ClassWithMultipleConstructors() - assertEquals(checkClass, res.getOrNull()) - assertFalse(checkClass === res.getOrNull()) - } - } - - @Test - fun testIntConstructors() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - CLASSPATH - ).use { executor -> - val constructors = ClassWithMultipleConstructors::class.constructors - - val constrI = constructors.first { it.signature == "(I)V" } - val resI = executor.execute(constrI, arrayOf(1)) - assertEquals(ClassWithMultipleConstructors(1), resI.getOrNull()) - - val constrII = constructors.first { it.signature == "(II)V" } - val resII = executor.execute(constrII, arrayOf(1, 2)) - assertEquals(ClassWithMultipleConstructors(3), resII.getOrNull()) - - val constrIII = constructors.first { it.signature == "(III)V" } - val resIII = executor.execute(constrIII, arrayOf(1, 2, 3)) - assertEquals(ClassWithMultipleConstructors(6), resIII.getOrNull()) - } - } - - @Test - fun testStringConstructors() { - withInstrumentation( - InvokeInstrumentation.Factory, - CLASSPATH - ) { executor -> - val constructors = ClassWithMultipleConstructors::class.constructors - - val constrSS = constructors.first { it.parameters.size == 2 && it.signature != "(II)V" } - val resSS = executor.execute(constrSS, arrayOf("100", "23")) - assertEquals(ClassWithMultipleConstructors(123), resSS.getOrNull()) - - val constrS = constructors.first { it.parameters.size == 1 && it.signature != "(I)V" } - val resS1 = executor.execute(constrS, arrayOf("one")) - assertEquals(ClassWithMultipleConstructors(1), resS1.getOrNull()) - - val resS2 = executor.execute(constrS, arrayOf("kek")) - assertEquals(ClassWithMultipleConstructors(-1), resS2.getOrNull()) - } - } - - @Test - fun testCoverageConstructor() { - withInstrumentation( - CoverageInstrumentation.Factory, - CLASSPATH - ) { executor -> - val constructors = ClassWithMultipleConstructors::class.constructors - - val constrIII = constructors.first { it.signature == "(III)V" } - executor.execute(constrIII, arrayOf(1, 2, 3)) - - val coverage = executor.collectCoverage(ClassWithMultipleConstructors::class.java) - val method2instr = coverage.methodToInstrRange - assertTrue(method2instr["()V"]!!.minus(coverage.visitedInstrs).isEmpty()) - assertTrue(method2instr["(I)V"]!!.minus(coverage.visitedInstrs).isEmpty()) - assertTrue(method2instr["(II)V"]!!.minus(coverage.visitedInstrs).isEmpty()) - assertTrue(method2instr["(III)V"]!!.minus(coverage.visitedInstrs).toList() == (36..40).toList()) - } - } - - @Test - fun testExecutionTraceConstructor() { - withInstrumentation( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ) { executor -> - val constructors = ClassWithMultipleConstructors::class.constructors - - val constrIII = constructors.first { it.signature == "(III)V" } - val trace = executor.execute(constrIII, arrayOf(1, 2, 3)) - - assertEquals( - function("(III)V") { - pass() - invoke("(II)V") { - pass() - invoke("(I)V") { - pass() - invoke("()V") { - pass() - ret() - } - pass() - ret() - } - pass() - ret() - } - pass() - ret() - }, - convert(trace) - ) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestCoverageInstrumentation.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestCoverageInstrumentation.kt deleted file mode 100644 index 565ca75f..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestCoverageInstrumentation.kt +++ /dev/null @@ -1,199 +0,0 @@ -package org.utbot.examples - -import com.jetbrains.rd.util.reactive.RdFault -import org.utbot.examples.samples.ExampleClass -import org.utbot.examples.statics.substitution.StaticSubstitution -import org.utbot.examples.statics.substitution.StaticSubstitutionExamples -import org.utbot.framework.plugin.api.util.fieldId -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.util.InstrumentedProcessError -import org.utbot.instrumentation.util.StaticEnvironment -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertInstanceOf -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TestCoverageInstrumentation { - lateinit var utContext: AutoCloseable - - @Test - fun testCatchTargetException() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val res = it.execute(ExampleClass::kek2, arrayOf(testObject, 123)) - val coverageInfo = it.collectCoverage(ExampleClass::class.java) - - assertEquals(5, coverageInfo.visitedInstrs.size) - assertEquals(43..48, coverageInfo.methodToInstrRange[ExampleClass::kek2.signature]) - assertTrue(res.exceptionOrNull() is ArrayIndexOutOfBoundsException) - } - } - - @Test - fun testIfBranches() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - it.execute(ExampleClass::bar, arrayOf(testObject, 2)) - val coverageInfo1 = it.collectCoverage(ExampleClass::class.java) - - assertEquals(17, coverageInfo1.visitedInstrs.size) - assertEquals(14..42, coverageInfo1.methodToInstrRange[ExampleClass::bar.signature]) - - it.execute(ExampleClass::bar, arrayOf(testObject, 0)) - val coverageInfo2 = it.collectCoverage(ExampleClass::class.java) - - assertEquals(16, coverageInfo2.visitedInstrs.size) - assertEquals(14..42, coverageInfo2.methodToInstrRange[ExampleClass::bar.signature]) - } - } - - @Test - fun testWrongArgumentsException() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - val exc = assertThrows { - it.execute( - ExampleClass::bar, - arrayOf(testObject, 1, 2, 3) - ) - } - - assertInstanceOf( - RdFault::class.java, - exc.cause!! - ) - assertTrue((exc.cause as RdFault).reasonTypeFqn == "IllegalArgumentException") - } - } - - - @Test - fun testMultipleRunsInsideCoverage() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - val exc = assertThrows { - it.execute( - ExampleClass::bar, - arrayOf(testObject, 1, 2, 3) - ) - } - - assertInstanceOf( - RdFault::class.java, - exc.cause!! - ) - assertTrue((exc.cause as RdFault).reasonTypeFqn == "IllegalArgumentException") - - it.execute(ExampleClass::bar, arrayOf(testObject, 2)) - val coverageInfo1 = it.collectCoverage(ExampleClass::class.java) - - assertEquals(17, coverageInfo1.visitedInstrs.size) - assertEquals(14..42, coverageInfo1.methodToInstrRange[ExampleClass::bar.signature]) - - it.execute(ExampleClass::bar, arrayOf(testObject, 0)) - val coverageInfo2 = it.collectCoverage(ExampleClass::class.java) - - assertEquals(16, coverageInfo2.visitedInstrs.size) - assertEquals(14..42, coverageInfo2.methodToInstrRange[ExampleClass::bar.signature]) - } - } - - - @Test - fun testSameResult() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - it.execute(ExampleClass::dependsOnField, arrayOf(testObject)) - val coverageInfo1 = it.collectCoverage(ExampleClass::class.java) - - assertEquals(19, coverageInfo1.visitedInstrs.size) - assertEquals(90..115, coverageInfo1.methodToInstrRange[ExampleClass::dependsOnField.signature]) - - it.execute(ExampleClass::dependsOnField, arrayOf(testObject)) - val coverageInfo2 = it.collectCoverage(ExampleClass::class.java) - - assertEquals(19, coverageInfo2.visitedInstrs.size) - assertEquals(90..115, coverageInfo2.methodToInstrRange[ExampleClass::dependsOnField.signature]) - } - } - - @Test - fun testResult() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val res = it.execute(ExampleClass::foo, arrayOf(testObject, 3)) - val coverageInfo = it.collectCoverage(ExampleClass::class.java) - - assertEquals(1, res.getOrNull()) - assertEquals(33, coverageInfo.visitedInstrs.size) - assertEquals(49..89, coverageInfo.methodToInstrRange[ExampleClass::foo.signature]) - } - } - - @Test - fun testEmptyMethod() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val res = it.execute(ExampleClass::emptyMethod, arrayOf(testObject)) - val coverageInfo = it.collectCoverage(ExampleClass::class.java) - - assertEquals(Unit::class, res.getOrNull()!!::class) - assertEquals(1, coverageInfo.visitedInstrs.size) - } - } - - @Test - fun testTernaryOperator() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - StaticSubstitutionExamples::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = StaticSubstitutionExamples() - - val emptyStaticEnvironment = StaticEnvironment() - - val res1 = it.execute(StaticSubstitutionExamples::lessThanZero, arrayOf(testObject), parameters = emptyStaticEnvironment) - - val staticEnvironment = StaticEnvironment( - StaticSubstitution::mutableValue.fieldId to -1 - ) - val res2 = it.execute(StaticSubstitutionExamples::lessThanZero, arrayOf(testObject), parameters = staticEnvironment) - val coverageInfo = it.collectCoverage(StaticSubstitutionExamples::class.java) - - assertEquals(res1.getOrNull(), 5) - assertEquals(res2.getOrNull(), 0) - assertEquals(coverageInfo.visitedInstrs, (3..10).toList()) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestGetSourceFileName.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestGetSourceFileName.kt deleted file mode 100644 index 866d243b..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestGetSourceFileName.kt +++ /dev/null @@ -1,104 +0,0 @@ -package org.utbot.examples - -import ClassWithoutPackage -import org.utbot.examples.samples.ClassWithInnerClasses -import org.utbot.examples.samples.ExampleClass -import org.utbot.examples.samples.wrongpackage.ClassWithWrongPackage -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter -import java.nio.file.Paths -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Test - -class TestGetSourceFileName { - private lateinit var cookie: AutoCloseable - - @BeforeEach - fun setup() { - cookie = UtContext.setUtContext(UtContext(ClassLoader.getSystemClassLoader())) - } - - @AfterEach - fun tearDown() { - cookie.close() - } - - @Test - fun testThis() { - assertEquals("TestGetSourceFileName.kt", Instrumenter.adapter.computeSourceFileName(TestGetSourceFileName::class.java)) - } - - @Test - fun testJavaExample1() { - assertEquals("ExampleClass.java", Instrumenter.adapter.computeSourceFileName(ExampleClass::class.java)) - } - - @Test - fun testJavaExample2() { - assertEquals( - "ClassWithInnerClasses.java", - Instrumenter.adapter.computeSourceFileName(ClassWithInnerClasses::class.java) - ) - } - - @Test - fun testInnerClass() { - assertEquals( - "ClassWithInnerClasses.java", - Instrumenter.adapter.computeSourceFileName(ClassWithInnerClasses.InnerStaticClass::class.java) - ) - } - - @Test - fun testSameNameButDifferentPackages() { - assertEquals( - true, - Instrumenter.adapter.computeSourceFileByClass(org.utbot.examples.samples.root.MyClass::class.java)?.toPath() - ?.endsWith(Paths.get("root", "MyClass.java")) - ) - assertEquals( - true, - Instrumenter.adapter.computeSourceFileByClass(org.utbot.examples.samples.root.child.MyClass::class.java) - ?.toPath()?.endsWith(Paths.get("root", "child", "MyClass.java")) - ) - } - - @Test - fun testEmptyPackage() { - assertEquals( - true, - Instrumenter.adapter.computeSourceFileByClass(ClassWithoutPackage::class.java)?.toPath() - ?.endsWith("java/ClassWithoutPackage.java") - ) - } - - @Test - fun testPackageDoesNotMatchDir() { - assertEquals( - true, - Instrumenter.adapter.computeSourceFileByClass(ClassWithWrongPackage::class.java)?.toPath() - ?.endsWith("org/utbot/examples/samples/ClassWithWrongPackage.kt") - ) - } - - @Test - fun testSearchDir() { - assertEquals( - null, - Instrumenter.adapter.computeSourceFileByClass( - org.utbot.examples.samples.root.MyClass::class.java, - Paths.get("src/test/kotlin") - )?.name - ) - - assertEquals( - "MyClass.java", - Instrumenter.adapter.computeSourceFileByClass( - org.utbot.examples.samples.root.MyClass::class.java, - Paths.get("src/test") - )?.name - ) - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestInvokeInstrumentation.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestInvokeInstrumentation.kt deleted file mode 100644 index a585b2f4..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestInvokeInstrumentation.kt +++ /dev/null @@ -1,158 +0,0 @@ -package org.utbot.examples - -import com.jetbrains.rd.util.reactive.RdFault -import org.utbot.examples.samples.ClassWithSameMethodNames -import org.utbot.examples.samples.ExampleClass -import org.utbot.examples.samples.staticenvironment.StaticExampleClass -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.util.InstrumentedProcessError -import kotlin.reflect.full.declaredMembers -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertInstanceOf -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertThrows - -class TestInvokeInstrumentation { - lateinit var utContext: AutoCloseable - - @Test - fun testCatchTargetException() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - - val testObject = ExampleClass() - - val res = it.execute(ExampleClass::kek2, arrayOf(testObject, 123)) - - assertTrue(res.exceptionOrNull() is ArrayIndexOutOfBoundsException) - } - } - - @Test - fun testWrongArgumentsException() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - val exc = assertThrows { - it.execute( - ExampleClass::bar, - arrayOf(testObject, 1, 2, 3) - ) - } - assertInstanceOf( - RdFault::class.java, - exc.cause!! - ) - assertTrue((exc.cause as RdFault).reasonTypeFqn == "IllegalArgumentException") - } - } - - @Test - fun testSameResult() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val res1 = it.execute(ExampleClass::dependsOnFieldReturn, arrayOf(testObject)) - assertEquals(2, res1.getOrNull()) - - val res2 = it.execute(ExampleClass::dependsOnFieldReturn, arrayOf(testObject)) - assertEquals(2, res2.getOrNull()) - } - } - - @Test - fun testEmptyMethod() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val res = it.execute(ExampleClass::emptyMethod, arrayOf(testObject)) - - assertEquals(Unit::class, res.getOrNull()!!::class) - } - } - - @Test - fun testStaticMethodCall() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val res1 = it.execute(StaticExampleClass::inc, arrayOf()) - assertEquals(0, res1.getOrNull()) - - val res2 = it.execute( - StaticExampleClass::plus, - arrayOf(5) - ) - - assertEquals(0, res2.getOrNull()) - } - } - - @Test - fun testNullableMethod() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val res1 = it.execute( - StaticExampleClass::canBeNull, - arrayOf(10, - "123") - ) - assertEquals("123", res1.getOrNull()) - - val res2 = it.execute( - StaticExampleClass::canBeNull, - arrayOf(0, - "kek") - ) - - assertEquals(null, res2.getOrNull()) - - val res3 = it.execute( - StaticExampleClass::canBeNull, - arrayOf(1, - null) - ) - - assertEquals(null, res3.getOrNull()) - } - } - - @Test - fun testDifferentSignaturesButSameMethodNames() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ClassWithSameMethodNames::class.java.protectionDomain.codeSource.location.path - ).use { - val clazz = ClassWithSameMethodNames::class - - val sumVararg = clazz.declaredMembers.first { it.parameters.size == 1 } - val sum2 = clazz.declaredMembers.first { it.parameters.size == 2 } - val sum3 = clazz.declaredMembers.first { it.parameters.size == 3 } - - val resVararg = it.execute(sumVararg, arrayOf(intArrayOf(1, 2, 3, 4, 5))) - assertEquals(Result.success(15), resVararg) - - val resSum2 = it.execute(sum2, arrayOf(1, 5)) - assertEquals(Result.success(8), resSum2) - - val resSum3 = it.execute(sum3, arrayOf(1, 5, 4)) - assertEquals(Result.success(13), resSum3) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestInvokeWithStaticsInstrumentation.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestInvokeWithStaticsInstrumentation.kt deleted file mode 100644 index c06143e3..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestInvokeWithStaticsInstrumentation.kt +++ /dev/null @@ -1,139 +0,0 @@ -package org.utbot.examples - -import org.utbot.examples.samples.staticenvironment.InnerClass -import org.utbot.examples.samples.staticenvironment.MyHiddenClass -import org.utbot.examples.samples.staticenvironment.ReferenceEqualityExampleClass -import org.utbot.examples.samples.staticenvironment.StaticExampleClass -import org.utbot.examples.samples.staticenvironment.TestedClass -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.fieldId -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.InvokeWithStaticsInstrumentation -import org.utbot.instrumentation.util.StaticEnvironment -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test - -class TestInvokeWithStaticsInstrumentation { - lateinit var utContext: AutoCloseable - - @BeforeEach - fun initContext() { - utContext = UtContext.setUtContext(UtContext(ClassLoader.getSystemClassLoader())) - } - - @AfterEach - fun closeConctext() { - utContext.close() - } - - val CLASSPATH = StaticExampleClass::class.java.protectionDomain.codeSource.location.path - - @Test - fun testIfBranches() { - ConcreteExecutor( - InvokeWithStaticsInstrumentation.Factory, - CLASSPATH - ).use { - val res = it.execute(StaticExampleClass::inc, arrayOf(), null) - assertEquals(0, res.getOrNull()) - - val staticEnvironment = StaticEnvironment( - StaticExampleClass::digit.fieldId to 5, - ) - val resWithStatics = it.execute(StaticExampleClass::inc, arrayOf(), parameters = staticEnvironment) - assertEquals(1, resWithStatics.getOrNull()) - } - } - - @Test - fun testHiddenClass1() { - ConcreteExecutor( - InvokeWithStaticsInstrumentation.Factory, - CLASSPATH - ).use { - val res = it.execute(TestedClass::slomayInts, arrayOf(), null) - assertEquals(12, res.getOrNull()) - - val se = StaticEnvironment( - TestedClass::x.fieldId to 0, - MyHiddenClass::var0.fieldId to 0 - ) - val resWithStatics = it.execute(TestedClass::slomayInts, arrayOf(), parameters = se) - assertEquals(2, resWithStatics.getOrNull()) - } - } - - @Disabled("Question: What to do when user hasn't provided all the used static fields?") - @Test - fun testHiddenClassRepeatCall() { - ConcreteExecutor( - InvokeWithStaticsInstrumentation.Factory, - CLASSPATH - ).use { - val se = StaticEnvironment( - TestedClass::x.fieldId to 0, - MyHiddenClass::var0.fieldId to 0 - ) - val resWithStatics = it.execute(TestedClass::slomayInts, arrayOf(), parameters = se) - assertEquals(2, resWithStatics.getOrNull()) - - val resAgain = it.execute(TestedClass::slomayInts, arrayOf(), null) - assertEquals(12, resAgain.getOrNull()) - } - } - - @Test - fun testReferenceEquality() { - ConcreteExecutor( - InvokeWithStaticsInstrumentation.Factory, - CLASSPATH - ).use { - - val thisObject = ReferenceEqualityExampleClass() - - val res12 = it.execute(ReferenceEqualityExampleClass::test12, arrayOf(thisObject), null) - val res23 = it.execute(ReferenceEqualityExampleClass::test23, arrayOf(thisObject), null) - val res31 = it.execute(ReferenceEqualityExampleClass::test31, arrayOf(thisObject), null) - - assertEquals(true, res12.getOrNull()) - assertEquals(false, res23.getOrNull()) - assertEquals(false, res31.getOrNull()) - - val ic1 = InnerClass() - - val se = StaticEnvironment( - ReferenceEqualityExampleClass::field1.fieldId to ic1, - ReferenceEqualityExampleClass::field2.fieldId to ic1, - ReferenceEqualityExampleClass::field3.fieldId to ic1 - ) - - val res12_2 = it.execute(ReferenceEqualityExampleClass::test12, arrayOf(thisObject), parameters = se) - val res23_2 = it.execute(ReferenceEqualityExampleClass::test23, arrayOf(thisObject), parameters = se) - val res31_2 = it.execute(ReferenceEqualityExampleClass::test31, arrayOf(thisObject), parameters = se) - - assertEquals(true, res12_2.getOrNull()) - assertEquals(true, res23_2.getOrNull()) - assertEquals(true, res31_2.getOrNull()) - - val ic2 = InnerClass() - val ic3 = InnerClass() - - val se2 = StaticEnvironment( - ReferenceEqualityExampleClass::field1.fieldId to ic3, - ReferenceEqualityExampleClass::field2.fieldId to ic2, - ReferenceEqualityExampleClass::field3.fieldId to ic3 - ) - val res12_3 = it.execute(ReferenceEqualityExampleClass::test12, arrayOf(thisObject), parameters = se2) - val res23_3 = it.execute(ReferenceEqualityExampleClass::test23, arrayOf(thisObject), parameters = se2) - val res31_3 = it.execute(ReferenceEqualityExampleClass::test31, arrayOf(thisObject), parameters = se2) - - assertEquals(false, res12_3.getOrNull()) - assertEquals(false, res23_3.getOrNull()) - assertEquals(true, res31_3.getOrNull()) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestIsolated.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestIsolated.kt deleted file mode 100644 index 96b3047f..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestIsolated.kt +++ /dev/null @@ -1,137 +0,0 @@ -package org.utbot.examples - -import com.jetbrains.rd.util.reactive.RdFault -import org.utbot.examples.samples.ExampleClass -import org.utbot.examples.samples.staticenvironment.StaticExampleClass -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.util.InstrumentedProcessError -import org.utbot.instrumentation.util.Isolated -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertInstanceOf -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.assertDoesNotThrow -import org.junit.jupiter.api.assertThrows - -class TestIsolated { - lateinit var utContext: AutoCloseable - - @Test - fun testCatchTargetException() { - val javaClass = ExampleClass::class.java - ConcreteExecutor( - InvokeInstrumentation.Factory, - javaClass.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val isolatedFunction = Isolated(ExampleClass::kek2, it) - - val res = isolatedFunction(testObject, 123) - - assertTrue(res.exceptionOrNull() is ArrayIndexOutOfBoundsException) - } - } - - @Test - fun testWrongArgumentsException() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - val isolatedFunction = Isolated(ExampleClass::bar, it) - - assertDoesNotThrow { - isolatedFunction(testObject, 1) - } - - - val exc = assertThrows { - isolatedFunction(testObject, 1, 2, 3) - } - - assertInstanceOf( - RdFault::class.java, - exc.cause!! - ) - assertTrue((exc.cause as RdFault).reasonTypeFqn == "IllegalArgumentException") - } - } - - @Test - fun testSameResult() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val isolatedFunction = Isolated(ExampleClass::dependsOnFieldReturn, it) - - val res1 = isolatedFunction(testObject) - assertEquals(2, res1.getOrNull()) - - val res2 = isolatedFunction(testObject) - assertEquals(2, res2.getOrNull()) - } - } - - @Test - fun testEmptyMethod() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - ExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val testObject = ExampleClass() - - val isolatedFunction = Isolated(ExampleClass::emptyMethod, it) - - val res = isolatedFunction(testObject) - - assertEquals(Unit::class, res.getOrNull()!!::class) - } - } - - @Test - fun testStaticMethodCall() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val isolatedFunctionInc = Isolated(StaticExampleClass::inc, it) - - val res1 = isolatedFunctionInc() - assertEquals(0, res1.getOrNull()) - - val isolatedFunctionPlus = Isolated(StaticExampleClass::plus, it) - - val res2 = isolatedFunctionPlus(5) - - assertEquals(0, res2.getOrNull()) - } - } - - @Test - fun testNullableMethod() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val isolatedFunction = Isolated(StaticExampleClass::canBeNull, it) - - val res1 = isolatedFunction(10, "123") - - assertEquals("123", res1.getOrNull()) - - val res2 = isolatedFunction(0, "kek") - - assertEquals(null, res2.getOrNull()) - - val res3 = isolatedFunction(1, null) - - assertEquals(null, res3.getOrNull()) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestStaticMethods.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestStaticMethods.kt deleted file mode 100644 index 0a752926..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestStaticMethods.kt +++ /dev/null @@ -1,105 +0,0 @@ -package org.utbot.examples - -import org.utbot.examples.samples.staticenvironment.StaticExampleClass -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test - - -class TestStaticMethods { - lateinit var utContext: AutoCloseable - - @Test - fun testStaticMethodCall() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val res1 = it.execute(StaticExampleClass::inc, arrayOf()) - val coverageInfo1 = it.collectCoverage(StaticExampleClass::class.java) - - assertEquals(0, res1.getOrNull()) - assertEquals((3..6).toList() + (9..22).toList(), coverageInfo1.visitedInstrs) - - val res2 = it.execute( - StaticExampleClass::plus, - arrayOf(5) - ) - val coverageInfo2 = it.collectCoverage(StaticExampleClass::class.java) - - assertEquals(0, res2.getOrNull()) - assertTrue( - coverageInfo2.methodToInstrRange[StaticExampleClass::plus.signature]!!.toList() - .subtract(coverageInfo2.visitedInstrs) - .isEmpty() - ) - } - } - - @Test - fun testNullableMethod() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val res1 = it.execute( - StaticExampleClass::canBeNull, - arrayOf(10, - "123") - ) - assertEquals("123", res1.getOrNull()) - - val res2 = it.execute( - StaticExampleClass::canBeNull, - arrayOf(0, - "kek") - ) - - assertEquals(null, res2.getOrNull()) - - val res3 = it.execute( - StaticExampleClass::canBeNull, - arrayOf(1, - null) - ) - - assertEquals(null, res3.getOrNull()) - } - } - - @Test - fun testNullableMethodWithoutAnnotations() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ).use { - val res1 = it.execute( - StaticExampleClass::canBeNullWithoutAnnotations, - arrayOf(10, - "123") - ) - assertEquals("123", res1.getOrNull()) - - val res2 = it.execute( - StaticExampleClass::canBeNullWithoutAnnotations, - arrayOf(0, - "kek") - ) - - assertEquals(null, res2.getOrNull()) - - val res3 = it.execute( - StaticExampleClass::canBeNullWithoutAnnotations, - arrayOf(1, - null) - ) - - assertEquals(null, res3.getOrNull()) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestWithInstrumentation.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestWithInstrumentation.kt deleted file mode 100644 index ae00e0f7..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/TestWithInstrumentation.kt +++ /dev/null @@ -1,90 +0,0 @@ -package org.utbot.examples - -import org.utbot.examples.samples.ClassWithInnerClasses -import org.utbot.examples.samples.ClassWithSameMethodNames -import org.utbot.examples.samples.staticenvironment.StaticExampleClass -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.withInstrumentation -import kotlin.reflect.full.declaredMembers -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Test - -class TestWithInstrumentation { - lateinit var utContext: AutoCloseable - - @Test - fun testStaticMethodCall() { - withInstrumentation( - CoverageInstrumentation.Factory, - StaticExampleClass::class.java.protectionDomain.codeSource.location.path - ) { executor -> - val res1 = executor.execute(StaticExampleClass::inc, arrayOf()) - val coverageInfo1 = executor.collectCoverage(StaticExampleClass::class.java) - - assertEquals(0, res1.getOrNull()) - assertEquals((3..6).toList() + (9..22).toList(), coverageInfo1.visitedInstrs) - - val res2 = executor.execute( - StaticExampleClass::plus, - arrayOf(5) - ) - val coverageInfo2 = executor.collectCoverage(StaticExampleClass::class.java) - - assertEquals(0, res2.getOrNull()) - Assertions.assertTrue( - coverageInfo2.methodToInstrRange[StaticExampleClass::plus.signature]!!.toList() - .subtract(coverageInfo2.visitedInstrs) - .isEmpty() - ) - } - } - - @Test - fun testDifferentSignaturesButSameMethodNames() { - withInstrumentation( - InvokeInstrumentation.Factory, - ClassWithSameMethodNames::class.java.protectionDomain.codeSource.location.path - ) { executor -> - val clazz = ClassWithSameMethodNames::class - - val sumVararg = clazz.declaredMembers.first { it.parameters.size == 1 } - val sum2 = clazz.declaredMembers.first { it.parameters.size == 2 } - val sum3 = clazz.declaredMembers.first { it.parameters.size == 3 } - - val resVararg = executor.execute(sumVararg, arrayOf(intArrayOf(1, 2, 3, 4, 5))) - assertEquals(Result.success(15), resVararg) - - val resSum2 = executor.execute(sum2, arrayOf(1, 5)) - assertEquals(Result.success(8), resSum2) - - val resSum3 = executor.execute(sum3, arrayOf(1, 5, 4)) - assertEquals(Result.success(13), resSum3) - } - } - - @Test - fun testInnerClasses() { - withInstrumentation( - CoverageInstrumentation.Factory, - ClassWithInnerClasses::class.java.protectionDomain.codeSource.location.path - ) { executor -> - val innerClazz = ClassWithInnerClasses.InnerClass::class.java - val innerStaticClazz = ClassWithInnerClasses.InnerStaticClass::class.java - - val classWithInnerClasses = ClassWithInnerClasses(5) - val res = executor.execute(ClassWithInnerClasses::doSomething, arrayOf(classWithInnerClasses, 1, 1)) - assertEquals(8, res.getOrNull()) - - val coverageInnerClass = executor.collectCoverage(innerClazz) - assertEquals((0..24).toList().minus(listOf(11, 12)), coverageInnerClass.visitedInstrs) - - val coverageInnerStaticClazz = executor.collectCoverage(innerStaticClazz) - assertEquals((3..6).toList(), coverageInnerStaticClazz.visitedInstrs) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/Benchmark.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/Benchmark.kt deleted file mode 100644 index d4e9ba20..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/Benchmark.kt +++ /dev/null @@ -1,85 +0,0 @@ -package org.utbot.examples.benchmark - -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.util.Isolated -import kotlin.system.measureNanoTime -import org.junit.jupiter.api.Assertions.assertEquals - - -fun getBasicCoverageTime(count: Int): Double { - var time: Long - ConcreteExecutor( - CoverageInstrumentation.Factory, - Repeater::class.java.protectionDomain.codeSource.location.path - ).use { executor -> - val dc0 = Repeater(", ") - val concat = Isolated(Repeater::concat, executor) - - for (i in 0..20000) { - val res = concat(dc0, "flex", "mega-", 10) - assertEquals("mega-mega-mega-mega-mega-mega-mega-mega-mega-mega-flex", res.getOrNull()) - } - - time = measureNanoTime { - for (i in 0..count) { - val res = concat(dc0, "flex", "mega-", 10) - assertEquals("mega-mega-mega-mega-mega-mega-mega-mega-mega-mega-flex", res.getOrNull()) - } - executor.collectCoverage(Repeater::class.java) - } - } - return time / 1e6 -} - -fun getNativeCallTime(count: Int): Double { - val dc0 = Repeater(", ") - for (i in 0..20000) { - val res0 = dc0.concat("flex", "mega-", 10) - assertEquals("mega-mega-mega-mega-mega-mega-mega-mega-mega-mega-flex", res0) - } - val time = measureNanoTime { - for (i in 0..count) { - dc0.concat("flex", "mega-", 10) - } - } - return time / 1e6 -} - -fun getJustResultTime(count: Int): Double { - var time: Long - ConcreteExecutor( - InvokeInstrumentation.Factory, - Repeater::class.java.protectionDomain.codeSource.location.path - ).use { - val dc0 = Repeater(", ") - val concat = Isolated(Repeater::concat, it) - - for (i in 0..20000) { - val res = concat(dc0, "flex", "mega-", 10) - assertEquals("mega-mega-mega-mega-mega-mega-mega-mega-mega-mega-flex", res.getOrNull()) - } - - time = measureNanoTime { - for (i in 0..count) { - concat(dc0, "flex", "mega-", 10) - } - } - } - return time / 1e6 -} - -fun main() { - val callsCount = 400_000 - - val nativeCallTime = getNativeCallTime(callsCount) - val basicCoverageTime = getBasicCoverageTime(callsCount) - val justResultTime = getJustResultTime(callsCount) - - println("Running results on $callsCount method calls") - println("nativeCall: $nativeCallTime ms") - println("basicCoverage: $basicCoverageTime ms, overhead per call: ${(basicCoverageTime - nativeCallTime) / callsCount} ms") - println("justResult: $justResultTime ms, overhead per call: ${(justResultTime - nativeCallTime) / callsCount} ms") -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/BenchmarkFibonacci.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/BenchmarkFibonacci.kt deleted file mode 100644 index 07d788e4..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/BenchmarkFibonacci.kt +++ /dev/null @@ -1,81 +0,0 @@ -package org.utbot.examples.benchmark - -import org.utbot.examples.samples.benchmark.Fibonacci -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.util.Isolated -import kotlin.system.measureNanoTime - -fun getBasicCoverageTime_fib(count: Int): Double { - var time: Long - ConcreteExecutor( - CoverageInstrumentation.Factory, - Fibonacci::class.java.protectionDomain.codeSource.location.path - ).use { - val fib = Isolated(Fibonacci::calc, it) - for (i in 0..20_000) { - fib(1, 1, 13) - } - - time = measureNanoTime { - for (i in 0..count) { - fib(1, 1, 13) - } - it.collectCoverage(Fibonacci::class.java) - } - } - return time / 1e6 -} - -fun getNativeCallTime_fib(count: Int): Double { - for (i in 0..20_000) { - Fibonacci.calc(1, 1, 13) - - } - val time = measureNanoTime { - for (i in 0..count) { - Fibonacci.calc(1, 1, 13) - } - } - return time / 1e6 -} - -fun getJustResultTime_fib(count: Int): Double { - var time: Long - ConcreteExecutor( - InvokeInstrumentation.Factory, - Fibonacci::class.java.protectionDomain.codeSource.location.path - ).use { - val fib = Isolated(Fibonacci::calc, it) - - for (i in 0..20_000) { - fib(1, 1, 13) - } - - time = measureNanoTime { - for (i in 0..count) { - fib(1, 1, 13) - } - } - } - return time / 1e6 -} - -fun main() { - withUtContext(UtContext(ClassLoader.getSystemClassLoader())) { - val callsCount = 300_000 - - val nativeCallTime = getNativeCallTime_fib(callsCount) - val basicCoverageTime = getBasicCoverageTime_fib(callsCount) - val justResultTime = getJustResultTime_fib(callsCount) - - println("Running results on $callsCount method calls") - println("nativeCall: $nativeCallTime ms") - println("basicCoverage: $basicCoverageTime ms, overhead per call: ${(basicCoverageTime - nativeCallTime) / callsCount} ms") - println("justResult: $justResultTime ms, overhead per call: ${(justResultTime - nativeCallTime) / callsCount} ms") - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/Classes.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/Classes.kt deleted file mode 100644 index 44494916..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/Classes.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.benchmark - -import org.utbot.test.util.UtPair - -class Repeater(var sep: String) { - /* public DifferentClass0() { - this.sep = "-"; - }*/ - fun repeat(str: String?, times: Int): String { - return concat(sep, str, times) - } - - fun concat(x: String?, y: String?, times: Int): String { - val sb = StringBuilder() - for (i in 0 until times) { - sb.append(y) - } - sb.append(x) - return sb.toString() - } -} - -class Unzipper { - var dc0 = Repeater("-") - fun unzip(chars: Array>): String { - val sb = java.lang.StringBuilder() - for (pr in chars) { - sb.append(dc0.repeat(pr.value.toString(), pr.key!!)) - } - return sb.toString() - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/TestBenchmarkClasses.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/TestBenchmarkClasses.kt deleted file mode 100644 index f189907c..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/benchmark/TestBenchmarkClasses.kt +++ /dev/null @@ -1,51 +0,0 @@ -package org.utbot.examples.benchmark - -import org.utbot.examples.samples.benchmark.Fibonacci -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import java.math.BigInteger -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.test.util.UtPair - -class TestBenchmarkClasses { - lateinit var utContext: AutoCloseable - - @Test - @Disabled("Ask Sergey to check") - fun testRepeater() { - ConcreteExecutor( - CoverageInstrumentation.Factory, - Repeater::class.java.protectionDomain.codeSource.location.path - ).use { - val dc0 = Repeater(", ") - val res0 = it.execute(Repeater::concat, arrayOf(dc0, "flex", "mega-", 2)) - assertEquals("mega-mega-flex", res0.getOrNull()) - - - val dc1 = Unzipper() - val arr = arrayOf(UtPair(1, 'h'), UtPair(1, 'e'), UtPair(2, 'l'), UtPair(1, 'o')) - val res1 = it.execute(Unzipper::unzip, arrayOf(dc1, arr)) - assertEquals("h-e-ll-o-", res1.getOrNull()) - } - } - - @Test - fun testFibonacci() { - ConcreteExecutor( - InvokeInstrumentation.Factory, - Fibonacci::class.java.protectionDomain.codeSource.location.path - ).use { - val res = - it.execute( - Fibonacci::calc, - arrayOf(1, 1, 10) - ) - assertEquals(Result.success(BigInteger.valueOf(89)), res) - } - } -} - diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestMixedExTrace.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestMixedExTrace.kt deleted file mode 100644 index c5ecefed..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestMixedExTrace.kt +++ /dev/null @@ -1,54 +0,0 @@ -package org.utbot.examples.et - -import org.utbot.examples.samples.et.ClassMixedWithNotInstrumented_Instr -import org.utbot.examples.samples.et.ClassMixedWithNotInstrumented_Not_Instr -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.et.ExecutionTraceInstrumentation -import org.utbot.instrumentation.instrumentation.et.convert -import org.utbot.instrumentation.instrumentation.et.function -import org.utbot.instrumentation.instrumentation.et.invoke -import org.utbot.instrumentation.instrumentation.et.pass -import org.utbot.instrumentation.instrumentation.et.ret -import org.utbot.instrumentation.util.Isolated -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test - -class TestMixedExTrace { - lateinit var utContext: AutoCloseable - - - val CLASSPATH = ClassMixedWithNotInstrumented_Instr::class.java.protectionDomain.codeSource.location.path - - @Disabled("The execution trace of mixed calls is not properly supported yet") - // `mixed calls` means such calls: A -> {B -> {A -> ...}, ... }, where A has been instrumented but B has not. - @Test - fun testMixedDoesNotThrow() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val A = Isolated(ClassMixedWithNotInstrumented_Instr::a, it) - val B = Isolated(ClassMixedWithNotInstrumented_Not_Instr::b, it) - - val res = A(1) - assertEquals( - function(A.signature) { - pass() - invoke(B.signature) { // TODO: think on clear DSL API for not instrumented calls - invoke(A.signature) { - pass() - ret() - } - invoke(A.signature) { - pass() - ret() - } - } - ret() - }, - convert(res) - ) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestSimpleExTrace.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestSimpleExTrace.kt deleted file mode 100644 index f8b7224d..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestSimpleExTrace.kt +++ /dev/null @@ -1,525 +0,0 @@ -package org.utbot.examples.et - -import org.utbot.examples.samples.et.ClassBinaryRecursionWithThrow -import org.utbot.examples.samples.et.ClassBinaryRecursionWithTrickyThrow -import org.utbot.examples.samples.et.ClassSimple -import org.utbot.examples.samples.et.ClassSimpleCatch -import org.utbot.examples.samples.et.ClassSimpleNPE -import org.utbot.examples.samples.et.ClassSimpleRecursive -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.instrumentation.et.ExecutionTraceInstrumentation -import org.utbot.instrumentation.instrumentation.et.convert -import org.utbot.instrumentation.instrumentation.et.explThr -import org.utbot.instrumentation.instrumentation.et.function -import org.utbot.instrumentation.instrumentation.et.implThr -import org.utbot.instrumentation.instrumentation.et.invoke -import org.utbot.instrumentation.instrumentation.et.pass -import org.utbot.instrumentation.instrumentation.et.ret -import org.utbot.instrumentation.util.Isolated -import kotlin.reflect.full.declaredFunctions -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Test - - -class TestSimpleExTrace { - lateinit var utContext: AutoCloseable - - val CLASSPATH = ClassSimple::class.java.protectionDomain.codeSource.location.path - - /** - * #1. doesNotThrow - * #2. alwaysThrows - * #3. maybeThrows(-1) maybeThrows(0) - */ - @Test - fun testClassSimple() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val alwaysThrows = Isolated(ClassSimple::alwaysThrows, it) - val maybeThrows = Isolated(ClassSimple::maybeThrows, it) - val doesNotThrow = Isolated(ClassSimple::doesNotThrow, it) - - val et1 = doesNotThrow() - assertEquals( - function(doesNotThrow.signature) { - pass() - ret() - }, - convert(et1) - ) - - val et2 = alwaysThrows() - assertEquals( - function(alwaysThrows.signature) { - pass() - explThr() - }, - convert(et2) - ) - - val et3 = maybeThrows(-1) - assertEquals( - function(maybeThrows.signature) { - pass() - explThr() - }, - convert(et3) - ) - - val et4 = maybeThrows(0) - assertEquals( - function(maybeThrows.signature) { - pass() - ret() - }, - convert(et4) - ) - } - } - - - /** - * #1. A - * #2. A_catches - * #3. A_doesNotCatch - * #4. A_catchesWrongException - */ - @Test - fun testClasSimpleCatch() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val A = Isolated(ClassSimpleCatch::A, it) - val A_catches = Isolated(ClassSimpleCatch::A_catches, it) - val A_catchesWrongException = Isolated(ClassSimpleCatch::A_catchesWrongException, it) - val A_doesNotCatch = Isolated(ClassSimpleCatch::A_doesNotCatch, it) - - val B = Isolated(ClassSimpleCatch::B, it) - val B_throws = Isolated(ClassSimpleCatch::B_throws, it) - - - val et1 = A() - assertEquals( - function(A.signature) { - invoke(B.signature) { - pass() - ret() - } - pass() - ret() - }, - convert(et1) - ) - - val et2 = A_catches() - assertEquals( - function(A_catches.signature) { - invoke(B_throws.signature) { - pass() - implThr() - } - pass() - ret() - }, - convert(et2) - ) - - val et3 = A_catchesWrongException() - assertEquals( - function(A_catchesWrongException.signature) { - invoke(B_throws.signature) { - pass() - implThr() - } - }, - convert(et3) - ) - - val et4 = A_doesNotCatch() - assertEquals( - function(A_doesNotCatch.signature) { - invoke(B_throws.signature) { - pass() - implThr() - } - }, - convert(et4) - ) - } - } - - /** - * #1. A(3) - * #2. A_recursive(3, 2) - * #3. A_recursive(3, 1) - */ - @Test - fun testClassSimpleRecursive() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val A = Isolated(ClassSimpleRecursive::A, it) - val A_recursive = Isolated(ClassSimpleRecursive::A_recursive, it) - - val et1 = A(3) - assertEquals( - function(A.signature) { - pass() - invoke(A.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - ret() - } - ret() - }, - convert(et1) - ) - - val et2 = A_recursive(3, 2) - assertEquals( - function(A_recursive.signature) { - pass() - invoke(A_recursive.signature) { - pass() - invoke(A_recursive.signature) { - pass() - explThr() - } - pass() - explThr() - } - pass() - ret() - }, - convert(et2) - ) - - val et3 = A_recursive(3, 1) - assertEquals( - function(A_recursive.signature) { - pass() - invoke(A_recursive.signature) { - pass() - invoke(A_recursive.signature) { - pass() - explThr() - } - pass() - explThr() - } - }, - convert(et3) - ) - } - } - - /** - * #1. A(1, 10, 2) - * #2. A_catchesAll(true, 2) - * #3. A_notAll(right, 2) - */ - @Test - fun testClassBinaryRecursionWithTrickyThrow() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val A = Isolated(ClassBinaryRecursionWithTrickyThrow::A, it) - val A_catchesAll = Isolated(ClassBinaryRecursionWithTrickyThrow::A_catchesAll, it) - val A_notAll = Isolated(ClassBinaryRecursionWithTrickyThrow::A_notAll, it) - - val et1 = A(1, 10, 2) - assertEquals( - function(A.signature) { - pass() - invoke(A.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - ret() - }, - convert(et1) - ) - - val et2 = A_catchesAll(true, 2) - - assertEquals( - function(A_catchesAll.signature) { - pass() - invoke(A_catchesAll.signature) { - pass() - invoke(A_catchesAll.signature) { - pass() - explThr() - } - pass() - invoke(A_catchesAll.signature) { - pass() - explThr() - } - pass() - ret() - } - pass() - invoke(A_catchesAll.signature) { - pass() - invoke(A_catchesAll.signature) { - pass() - explThr() - } - } - pass() - ret() - }, - convert(et2) - ) - - val et3 = A_notAll(false, 2) - assertEquals( - function(A_notAll.signature) { - pass() - invoke(A_notAll.signature) { - pass() - invoke(A_notAll.signature) { - pass() - explThr() - } - } - pass() - invoke(A_notAll.signature) { - pass() - invoke(A_notAll.signature) { - pass() - explThr() - } - pass() - invoke(A_notAll.signature) { - pass() - explThr() - } - } - pass() - ret() - }, - convert(et3) - ) - } - } - - - /** - * #1. A(1, 2, false) - * #2. A(1, 2, true) - */ - @Test - fun testClassBinaryRecursionWithThrow() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val A = Isolated(ClassBinaryRecursionWithThrow::A, it) - val B = Isolated(ClassBinaryRecursionWithThrow::class.declaredFunctions.first { it.name == "B" }, it) - - val et1 = A(1, 2, false) - assertEquals( - function(A.signature) { - pass() - invoke(B.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - invoke(B.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - ret() - } - ret() - } - ret() - }, - convert(et1) - ) - - val et2 = A(1, 2, true) - assertEquals( - function(A.signature) { - pass() - invoke(B.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - invoke(B.signature) { - pass() - explThr() - } - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - invoke(A.signature) { - pass() - ret() - } - pass() - invoke(A.signature) { - pass() - ret() - } - ret() - } - ret() - }, - convert(et2) - ) - } - } - - /** - * #1. A(false) - * #2. A(true) - */ - @Test - fun testClassSimpleNPE() { - ConcreteExecutor( - ExecutionTraceInstrumentation.Factory, - CLASSPATH - ).use { - val A = Isolated(ClassSimpleNPE::A, it) - val B = Isolated(ClassSimpleNPE::B, it) - val C = Isolated(ClassSimpleNPE::C, it) - val D = Isolated(ClassSimpleNPE::D, it) - - val thisObject = ClassSimpleNPE() - - val et1 = A(thisObject, false) - assertEquals( - function(A.signature) { - pass() - invoke(B.signature) { - pass() - invoke(B.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - invoke(C.signature) { - pass() - invoke(C.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - invoke(D.signature) { - pass() - invoke(D.signature) { - pass() - invoke(D.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - ret() - } - ret() - }, - convert(et1) - ) - - val et2 = A(thisObject, true) - assertEquals( - function(A.signature) { - pass() - invoke(B.signature) { - pass() - invoke(B.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - invoke(C.signature) { - pass() - invoke(C.signature) { - pass() - ret() - } - pass() - ret() - } - pass() - invoke(D.signature) { - pass() - implThr() - } - }, - convert(et2) - ) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestStaticsUsage.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestStaticsUsage.kt deleted file mode 100644 index 22ade07a..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/et/TestStaticsUsage.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.examples.et - -import org.utbot.examples.objects.ObjectWithStaticFieldsClass -import org.utbot.examples.objects.ObjectWithStaticFieldsExample -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.jField -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.et.ExecutionTraceInstrumentation -import org.utbot.instrumentation.withInstrumentation -import kotlin.reflect.jvm.javaField -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.Test - -class StaticsUsageDetectionTest { - lateinit var utContext: AutoCloseable - - @BeforeEach - fun initContext() { - utContext = UtContext.setUtContext(UtContext(ClassLoader.getSystemClassLoader())) - } - - @AfterEach - fun closeConctext() { - utContext.close() - } - - - @Test - fun testStaticsUsageOneUsage() { - withInstrumentation( - ExecutionTraceInstrumentation.Factory, - ObjectWithStaticFieldsExample::class.java.protectionDomain.codeSource.location.path - ) { - val instance = ObjectWithStaticFieldsExample() - val classInstance = ObjectWithStaticFieldsClass() - classInstance.x = 200 - classInstance.y = 200 - val result = it.execute(ObjectWithStaticFieldsExample::setStaticField, arrayOf(instance, classInstance)) - assertEquals(ObjectWithStaticFieldsClass::staticValue.javaField, result.usedStatics.single().jField) - } - } - - @Test - fun testStaticsUsageZeroUsages() { - withInstrumentation( - ExecutionTraceInstrumentation.Factory, - ObjectWithStaticFieldsExample::class.java.protectionDomain.codeSource.location.path - ) { - val instance = ObjectWithStaticFieldsExample() - val classInstance = ObjectWithStaticFieldsClass() - val result = it.execute(ObjectWithStaticFieldsExample::setStaticField, arrayOf(instance, classInstance)) - assertTrue(result.usedStatics.isEmpty()) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/jacoco/TestSameAsJaCoCo.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/jacoco/TestSameAsJaCoCo.kt deleted file mode 100644 index a289e1d5..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/jacoco/TestSameAsJaCoCo.kt +++ /dev/null @@ -1,214 +0,0 @@ -package org.utbot.examples.jacoco - -import org.utbot.common.Reflection -import org.utbot.examples.samples.jacoco.ExceptionExamples -import org.utbot.examples.samples.jacoco.MonitorUsage -import org.utbot.examples.samples.jacoco.Recursion -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.execute -import org.utbot.instrumentation.instrumentation.ArgumentList -import org.utbot.instrumentation.instrumentation.coverage.CoverageInfo -import org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation -import org.utbot.instrumentation.instrumentation.coverage.collectCoverage -import org.utbot.instrumentation.withInstrumentation -import java.io.InputStream -import java.lang.reflect.InvocationTargetException -import kotlin.reflect.KCallable -import kotlin.reflect.KClass -import kotlin.reflect.full.declaredFunctions -import kotlin.reflect.full.instanceParameter -import org.jacoco.core.analysis.Analyzer -import org.jacoco.core.analysis.CoverageBuilder -import org.jacoco.core.analysis.IClassCoverage -import org.jacoco.core.data.ExecutionDataStore -import org.jacoco.core.data.SessionInfoStore -import org.jacoco.core.instr.Instrumenter -import org.jacoco.core.runtime.IRuntime -import org.jacoco.core.runtime.LoggerRuntime -import org.jacoco.core.runtime.RuntimeData -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test - -class TestSameAsJaCoCo { - private fun checkSame(kClass: KClass<*>, method: KCallable<*>, executions: List) { - val methodCoverageJaCoCo = methodCoverageWithJaCoCo(kClass, method, executions) - val methodCoverageOur = methodCoverage(kClass, method, executions) - - Assertions.assertTrue(methodCoverageJaCoCo.first <= methodCoverageOur.first) { - "JaCoCo (${methodCoverageJaCoCo.first} should not cover more instructions than we cover" + - "(${methodCoverageOur.first})" - } - Assertions.assertEquals(methodCoverageJaCoCo, methodCoverageOur) - } - - @Test - @Disabled( - "Synchronized causes the creation of extra bytecode instructions by java compiler." + - "JaCoCo ignores them, but we do not." - ) - fun testSimpleMonitor() { - val monitorUsage = MonitorUsage() - val executions = listOf(listOf(monitorUsage, 1), listOf(monitorUsage, -1), listOf(monitorUsage, 0)) - - checkSame(MonitorUsage::class, MonitorUsage::simpleMonitor, executions) - } - - @Test - @Disabled( - "Finally block is copied into each catch branch, so instructions are duplicated." + - "JaCoCo treats such instructions as one instruction, but we treat them as separate." - ) - fun testFinallyChanging() { - val exceptionExamples = ExceptionExamples() - val executions = listOf(listOf(exceptionExamples, 0)) - - checkSame(ExceptionExamples::class, ExceptionExamples::finallyChanging, executions) - } - - @Test - @Disabled("If an exception happens, JaCoCo ignores passed instructions before the exception, but we do not.") - fun testThrowException() { - val exceptionExamples = ExceptionExamples() - val executions = listOf(listOf(exceptionExamples, -1), listOf(exceptionExamples, 1)) - - checkSame(ExceptionExamples::class, ExceptionExamples::throwException, executions) - } - - - @Test - @Disabled("For some reason (?), JaCoCo sometimes ignores instructions.") - fun recursionWithExceptionTest() { - val recursion = Recursion() - val executions = listOf(listOf(recursion, 41), listOf(recursion, 42), listOf(recursion, 43)) - - checkSame(Recursion::class, Recursion::recursionWithException, executions) - } - - @Test - @Disabled("For some reason (?), JaCoCo doesn't count instructions, even they were executed successfully.") - fun infiniteRecursionTest() { - val recursion = Recursion() - val executions = listOf(listOf(recursion, 0)) - - checkSame(Recursion::class, Recursion::infiniteRecursion, executions) - } -} - -private fun methodCoverageWithJaCoCo(kClass: KClass<*>, method: KCallable<*>, executions: List): Pair { - val methodSignature = method.signature - val coverage = calculateCoverage(kClass) { clazz -> - val instrumentedMethod = clazz.declaredFunctions.single { it.signature == methodSignature } - val onInstance = instrumentedMethod.instanceParameter != null - for (execution in executions) { - try { - if (onInstance) { - instrumentedMethod.call(clazz.java.anyInstance, *execution.drop(1).toTypedArray()) - } else { - instrumentedMethod.call(*execution.toTypedArray()) - } - } catch (_: InvocationTargetException) { - } - } - } - val methodCoverage = coverage.classes - .single { it.qualifiedName == kClass.qualifiedName } - .methods - .single { - "${it.name}${it.desc}" == methodSignature - } - - return methodCoverage.instructionCounter.let { it.coveredCount to it.coveredCount } -} - -private fun methodCoverage(kClass: KClass<*>, method: KCallable<*>, executions: List): Pair { - return withInstrumentation( - CoverageInstrumentation.Factory, - kClass.java.protectionDomain.codeSource.location.path - ) { executor -> - for (execution in executions) { - executor.execute(method, execution.toTypedArray()) - } - - val methodSignature = method.signature - val coverage = executor.collectCoverage(kClass.java) - coverage.toMethodCoverage(methodSignature) - } -} - -private fun CoverageInfo.toMethodCoverage(methodSignature: String): Pair { - val methodRange = methodToInstrRange[methodSignature]!! - val visitedCount = visitedInstrs.filter { it in methodRange }.size - return visitedCount to methodRange.count() -} - -// The following helper functions for counting JaCoCo coverage were copied from `utbot-framework`. - -private fun calculateCoverage(clazz: KClass<*>, block: (KClass<*>) -> Unit): CoverageBuilder { - val targetName = clazz.qualifiedName!! - - // IRuntime instance to collect execution data - val runtime: IRuntime = LoggerRuntime() - - // create a modified version of target class with probes - val instrumenter = Instrumenter(runtime) - val instrumented = instrument(clazz, instrumenter) - - // startup the runtime - val data = RuntimeData() - runtime.startup(data) - - // load class from byte[] instances - val memoryClassLoader = MemoryClassLoader() - memoryClassLoader.addDefinition(targetName, instrumented) - val targetClass = memoryClassLoader.loadClass(targetName).kotlin - - // execute code - block(targetClass) - - // shutdown the runtime - val executionData = ExecutionDataStore() - val sessionInfos = SessionInfoStore() - data.collect(executionData, sessionInfos, false) - runtime.shutdown() - - // calculate coverage - return CoverageBuilder().apply { - val analyzer = Analyzer(executionData, this) - clazz.asInputStream().use { - analyzer.analyzeClass(it, targetName) - } - } -} - -private fun instrument(clazz: KClass<*>, instrumenter: Instrumenter): ByteArray = - clazz.asInputStream().use { - instrumenter.instrument(it, clazz.qualifiedName) - } - -private fun KClass<*>.asInputStream(): InputStream = - java.getResourceAsStream("/${qualifiedName!!.replace('.', '/')}.class")!! - -private class MemoryClassLoader : ClassLoader() { - private val definitions: MutableMap = mutableMapOf() - - fun addDefinition(name: String, bytes: ByteArray) { - definitions[name] = bytes - } - - override fun loadClass(name: String, resolve: Boolean): Class<*> { - val bytes = definitions[name] - return if (bytes != null) { - defineClass(name, bytes, 0, bytes.size) - } else super.loadClass(name, resolve) - } -} - -private val IClassCoverage.qualifiedName: String - get() = this.name.replace('/', '.') - -@Suppress("DEPRECATION") -private val Class<*>.anyInstance: Any - get() { - return Reflection.unsafe.allocateInstance(this) - } \ No newline at end of file diff --git a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/samples/ClassWithWrongPackage.kt b/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/samples/ClassWithWrongPackage.kt deleted file mode 100644 index 62638aa4..00000000 --- a/utbot-instrumentation-tests/src/test/kotlin/org/utbot/examples/samples/ClassWithWrongPackage.kt +++ /dev/null @@ -1,4 +0,0 @@ -package org.utbot.examples.samples.wrongpackage - -class ClassWithWrongPackage { -} \ No newline at end of file diff --git a/utbot-instrumentation/build.gradle.kts b/utbot-instrumentation/build.gradle.kts deleted file mode 100644 index 718aa6b2..00000000 --- a/utbot-instrumentation/build.gradle.kts +++ /dev/null @@ -1,107 +0,0 @@ -import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer - -val projectType: String by rootProject -val ultimateEdition: String by rootProject -val springEdition: String by rootProject -val languagesEdition: String by rootProject -val pureJavaEdition: String by rootProject - -val asmVersion: String by rootProject -val kryoVersion: String by rootProject -val kryoSerializersVersion: String by rootProject -val kotlinLoggingVersion: String by rootProject -val rdVersion: String by rootProject -val mockitoVersion: String by rootProject -val mockitoInlineVersion: String by rootProject - -plugins { - id("com.github.johnrengelman.shadow") version "7.1.2" - id("java") - application -} - -tasks.compileKotlin { - kotlinOptions { - jvmTarget = "1.8" - } -} - -tasks.compileTestKotlin { - kotlinOptions { - jvmTarget = "1.8" - } -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} - -application { - mainClass.set("org.utbot.instrumentation.process.InstrumentedProcessMainKt") -} - -val fetchSpringCommonsJar: Configuration by configurations.creating { - isCanBeResolved = true - isCanBeConsumed = false -} - -dependencies { - implementation(project(":utbot-framework-api")) - implementation(project(":utbot-rd")) - - implementation("org.ow2.asm:asm:$asmVersion") - implementation("org.ow2.asm:asm-commons:$asmVersion") - implementation("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") - - implementation("com.jetbrains.rd:rd-framework:$rdVersion") - implementation("com.jetbrains.rd:rd-core:$rdVersion") - implementation("net.java.dev.jna:jna-platform:5.5.0") - - // TODO: this is necessary for inline classes mocking in UtExecutionInstrumentation - implementation("org.mockito:mockito-core:$mockitoVersion") - implementation("org.mockito:mockito-inline:$mockitoInlineVersion") - - implementation(project(":utbot-spring-commons-api")) - if (projectType == springEdition || projectType == ultimateEdition) { - fetchSpringCommonsJar(project(":utbot-spring-commons", configuration = "springCommonsJar")) - } -} - -/** - * Shadow plugin unpacks the nested `utbot-spring-commons-shadow.jar`. - * But we need it to be packed. Workaround: double-nest the jar. - */ -val shadowJarUnpackWorkaround by tasks.register("shadowBugWorkaround") { - destinationDirectory.set(layout.buildDirectory.dir("build/shadow-bug-workaround")) - from(fetchSpringCommonsJar) { - into("lib") - } -} - -tasks.shadowJar { - dependsOn(shadowJarUnpackWorkaround) - - from(shadowJarUnpackWorkaround) { - into("lib") - } - - manifest { - attributes( - "Main-Class" to "org.utbot.instrumentation.process.InstrumentedProcessMainKt", - "Premain-Class" to "org.utbot.instrumentation.agent.Agent", - ) - } - - transform(Log4j2PluginsCacheFileTransformer::class.java) - archiveFileName.set("utbot-instrumentation-shadow.jar") -} - -val instrumentationArchive: Configuration by configurations.creating { - isCanBeResolved = false - isCanBeConsumed = true -} - -artifacts { - add(instrumentationArchive.name, tasks.shadowJar) -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/ConcreteExecutor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/ConcreteExecutor.kt deleted file mode 100644 index 5f80edec..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/ConcreteExecutor.kt +++ /dev/null @@ -1,315 +0,0 @@ -package org.utbot.instrumentation - -import com.jetbrains.rd.util.lifetime.LifetimeDefinition -import com.jetbrains.rd.util.lifetime.isAlive -import com.jetbrains.rd.util.lifetime.throwIfNotAlive -import java.io.Closeable -import java.util.concurrent.atomic.AtomicLong -import kotlin.reflect.KCallable -import kotlin.reflect.KFunction -import kotlin.reflect.KProperty -import kotlin.reflect.jvm.javaConstructor -import kotlin.reflect.jvm.javaGetter -import kotlin.reflect.jvm.javaMethod -import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.sync.Mutex -import kotlinx.coroutines.sync.withLock -import mu.KotlinLogging -import org.utbot.framework.plugin.api.InstrumentedProcessDeathException -import org.utbot.common.logException -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.ConcreteContextLoadingResult -import org.utbot.framework.plugin.api.SpringRepositoryId -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.process.generated.ComputeStaticFieldParams -import org.utbot.instrumentation.process.generated.GetSpringRepositoriesParams -import org.utbot.instrumentation.process.generated.InvokeMethodCommandParams -import org.utbot.instrumentation.rd.InstrumentedProcess -import org.utbot.instrumentation.util.InstrumentedProcessError -import org.utbot.rd.generated.synchronizationModel -import org.utbot.rd.loggers.overrideDefaultRdLoggerFactoryWithKLogger - -private val logger = KotlinLogging.logger {} - -/** - * Creates [ConcreteExecutor], which delegates `execute` calls to the instrumented process, and applies the given [block] to it. - * - * The instrumented process will search for the classes in [pathsToUserClasses] and will use [instrumentation] for instrumenting. - * - * Specific instrumentation can add functionality to [ConcreteExecutor] via Kotlin extension functions. - * - * @param TIResult the return type of [Instrumentation.invoke] function for the given [instrumentation]. - * @return the result of the block execution on created [ConcreteExecutor]. - * - * @see [org.utbot.instrumentation.instrumentation.coverage.CoverageInstrumentation]. - */ -inline fun > withInstrumentation( - instrumentationFactory: Instrumentation.Factory, - pathsToUserClasses: String, - block: (ConcreteExecutor) -> TBlockResult -) = ConcreteExecutor(instrumentationFactory, pathsToUserClasses).use { - block(it) -} - -class ConcreteExecutorPool(val maxCount: Int = Settings.defaultConcreteExecutorPoolSize) : AutoCloseable { - private val executors = ArrayDeque>(maxCount) - - /** - * Tries to find the concrete executor for the supplied [instrumentationFactory] and [pathsToDependencyClasses]. If it - * doesn't exist, then creates a new one. - */ - fun > get( - instrumentationFactory: Instrumentation.Factory, - pathsToUserClasses: String, - ): ConcreteExecutor { - executors.removeIf { !it.alive } - - @Suppress("UNCHECKED_CAST") - return executors.firstOrNull { - it.pathsToUserClasses == pathsToUserClasses && it.instrumentationFactory == instrumentationFactory - } as? ConcreteExecutor - ?: ConcreteExecutor.createNew(instrumentationFactory, pathsToUserClasses).apply { - executors.addFirst(this) - if (executors.size > maxCount) { - executors.removeLast().close() - } - } - } - - override fun close() { - executors.forEach { it.close() } - executors.clear() - } - - fun forceTerminateProcesses() { - executors.forEach { - it.forceTerminateProcess() - } - executors.clear() - } - -} - -/** - * Concrete executor class. Takes [pathsToUserClasses] where the instrumented process will search for the classes. Paths should - * be separated with [java.io.File.pathSeparatorChar]. - * - * If [instrumentation] depends on other classes, they should be passed in [pathsToDependencyClasses]. - * - * Also takes [instrumentationFactory] object which will be used in the instrumented process to create an [Instrumentation]. - * - * @param TIResult the return type of [Instrumentation.invoke] function for the given [Instrumentation]. - */ -class ConcreteExecutor> private constructor( - internal val instrumentationFactory: Instrumentation.Factory, - internal val pathsToUserClasses: String -) : Closeable, Executor { - private val ldef: LifetimeDefinition = LifetimeDefinition() - - companion object { - - private val sendTimestamp = AtomicLong() - private val receiveTimeStamp = AtomicLong() - val lastSendTimeMs: Long - get() = sendTimestamp.get() - val lastReceiveTimeMs: Long - get() = receiveTimeStamp.get() - val defaultPool = ConcreteExecutorPool() - - init { - overrideDefaultRdLoggerFactoryWithKLogger(logger) - } - - /** - * Delegates creation of the concrete executor to [defaultPool], which first searches for existing executor - * and in case of failure, creates a new one. - */ - operator fun > invoke( - instrumentationFactory: Instrumentation.Factory, - pathsToUserClasses: String, - ) = defaultPool.get(instrumentationFactory, pathsToUserClasses) - - internal fun > createNew( - instrumentationFactory: Instrumentation.Factory, - pathsToUserClasses: String - ) = ConcreteExecutor(instrumentationFactory, pathsToUserClasses) - } - - var classLoader: ClassLoader? = UtContext.currentContext()?.classLoader - - //property that signals to executors pool whether it can reuse this executor or not - val alive: Boolean - get() = ldef.isAlive - - private val corMutex = Mutex() - private var processInstance: InstrumentedProcess? = null - - // this function is intended to be called under corMutex - private suspend fun regenerate(): InstrumentedProcess { - ldef.throwIfNotAlive() - - var proc: InstrumentedProcess? = processInstance - - if (proc == null || !proc.lifetime.isAlive) { - proc = InstrumentedProcess( - ldef, - instrumentationFactory, - pathsToUserClasses, - classLoader - ) - processInstance = proc - } - - return proc - } - - /** - * Main entry point for communicating with instrumented process. - * Use this function every time you want to access protocol model. - * This method prepares instrumented process for execution and ensures it is alive before giving it block - * - * @param exclusively if true - executes block under mutex. - * This guarantees that no one can access protocol model - no other calls made before block completes - */ - suspend fun withProcess(exclusively: Boolean = false, block: suspend InstrumentedProcess.() -> T): T { - fun throwConcreteIfDead(e: Throwable, proc: InstrumentedProcess?) { - if (proc?.lifetime?.isAlive != true) { - throw InstrumentedProcessDeathException(e) - } - } - - sendTimestamp.set(System.currentTimeMillis()) - - var proc: InstrumentedProcess? = null - - try { - if (exclusively) { - corMutex.withLock { - proc = regenerate() - return proc!!.block() - } - } - else { - return corMutex.withLock { regenerate().apply { proc = this } }.block() - } - } - catch (e: CancellationException) { - // cancellation can be from 2 causes - // 1. process died, its lifetime terminated, so operation was cancelled - // this clearly indicates instrumented process death -> ConcreteExecutionFailureException - throwConcreteIfDead(e, proc) - // 2. it can be ordinary timeout from coroutine. then just rethrow - throw e - } - catch(e: Throwable) { - // after exception process can either - // 1. be dead because of this exception - throwConcreteIfDead(e, proc) - // 2. might be deliberately thrown and process still can operate - throw InstrumentedProcessError(e) - } - finally { - receiveTimeStamp.set(System.currentTimeMillis()) - } - } - - suspend fun executeAsync( - className: String, - signature: String, - arguments: Array, - parameters: Any? - ): TIResult = logger.logException("executeAsync, response(ERROR)") { - withProcess { - val argumentsByteArray = kryoHelper.writeObject(arguments.asList()) - val parametersByteArray = kryoHelper.writeObject(parameters) - val params = InvokeMethodCommandParams(className, signature, argumentsByteArray, parametersByteArray) - - val result = instrumentedProcessModel.invokeMethodCommand.startSuspending(lifetime, params).result - kryoHelper.readObject(result) - } - } - - /** - * Executes [kCallable] in the instrumented process with the supplied [arguments] and [parameters], e.g. static environment. - * - * @return the processed result of the method call. - */ - override suspend fun executeAsync( - kCallable: KCallable<*>, - arguments: Array, - parameters: Any? - ): TIResult { - val (className, signature) = when (kCallable) { - is KFunction<*> -> kCallable.javaMethod?.run { declaringClass.name to signature } - ?: kCallable.javaConstructor?.run { declaringClass.name to signature } - ?: error("Not a constructor or a method") - is KProperty<*> -> kCallable.javaGetter?.run { declaringClass.name to signature } - ?: error("Not a getter") - else -> error("Unknown KCallable: $kCallable") - } // actually executableId implements the same logic, but it requires UtContext - - return executeAsync(className, signature, arguments, parameters) - } - - override fun close() { - forceTerminateProcess() - } - - fun forceTerminateProcess() { - runBlocking { - corMutex.withLock { - if (alive) { - try { - processInstance?.run { - protocol.synchronizationModel.stopProcess.fire(Unit) - } - } catch (_: Exception) {} - processInstance = null - } - ldef.terminate() - } - } - } - -} - -fun ConcreteExecutor<*,*>.warmup() = runBlocking { - withProcess { - instrumentedProcessModel.warmup.start(lifetime, Unit) - } -} - -fun ConcreteExecutor<*, *>.getRelevantSpringRepositories(classId: ClassId): Set = runBlocking { - withProcess { - val classId = kryoHelper.writeObject(classId) - val params = GetSpringRepositoriesParams(classId) - val result = instrumentedProcessModel.getRelevantSpringRepositories.startSuspending(lifetime, params) - - kryoHelper.readObject(result.springRepositoryIds) - } -} - -fun ConcreteExecutor<*, *>.tryLoadingSpringContext(): ConcreteContextLoadingResult = runBlocking { - withProcess { - val result = instrumentedProcessModel.tryLoadingSpringContext.startSuspending(lifetime, Unit) - kryoHelper.readObject(result.springContextLoadingResult) - } -} - -/** - * Extension function for the [ConcreteExecutor], which allows to collect static field value of [fieldId]. - */ -fun ConcreteExecutor<*, *>.computeStaticField(fieldId: FieldId): Result = runBlocking { - withProcess { - val fieldIdSerialized = kryoHelper.writeObject(fieldId) - val params = ComputeStaticFieldParams(fieldIdSerialized) - - val result = instrumentedProcessModel.computeStaticField.startSuspending(lifetime, params) - - kryoHelper.readObject(result.result) - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/Executor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/Executor.kt deleted file mode 100644 index 80213cb2..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/Executor.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.instrumentation - -import org.utbot.framework.plugin.api.ExecutableId -import java.lang.reflect.Method -import kotlin.reflect.KCallable -import kotlinx.coroutines.runBlocking - -/** - * Base interface for delegated execution logic. - * - * @param TResult the type of an execution result. - */ -interface Executor { - /** - * Main method to override. - * Returns the result of the execution of the [ExecutableId] with [arguments] and [parameters]. - * - * @param arguments are additional data, e.g. static environment. - */ - suspend fun executeAsync( - kCallable: KCallable<*>, - arguments: Array, - parameters: Any? - ): TResult -} - -fun Executor.execute( - kCallable: KCallable<*>, - arguments: Array, - parameters: Any? = null -) = runBlocking { executeAsync(kCallable, arguments, parameters) } diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/Settings.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/Settings.kt deleted file mode 100644 index 045074a2..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/Settings.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.instrumentation - -import org.objectweb.asm.Opcodes - -object Settings { - const val ASM_API = Opcodes.ASM7 - - /** - * Constants used in bytecode instrumentation. - */ - const val PROBES_ARRAY_NAME = "\$__instrs__" - - const val PROBES_ARRAY_DESC = "[Z" - - const val TRACE_ARRAY_SIZE: Int = 1 shl 20 - - var defaultConcreteExecutorPoolSize = 10 -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/agent/Agent.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/agent/Agent.kt deleted file mode 100644 index 833ba7d9..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/agent/Agent.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.instrumentation.agent - -import java.lang.instrument.Instrumentation - -/** - * Agent class. - * - * It should be compiled into separate jar file (agent.jar) and passed as an agent option. - */ - -class Agent { - companion object { - /** - * Transformer which allows to transform only certain classes. - * These classes will be passed with the help [org.utbot.instrumentation.ConcreteExecutor.loadClass] function. - */ - val dynamicClassTransformer = DynamicClassTransformer() - - /** - * It will be run before [org.utbot.instrumentation.process.main] function according to javaagent specification. - * - * Allows to transform classes bytecode during loading into JVM. - */ - @JvmStatic - fun premain(arguments: String?, instrumentation: Instrumentation) { - instrumentation.addTransformer(dynamicClassTransformer) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/agent/DynamicClassTransformer.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/agent/DynamicClassTransformer.kt deleted file mode 100644 index f89b09ca..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/agent/DynamicClassTransformer.kt +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.instrumentation.agent - -import com.jetbrains.rd.util.error -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import org.utbot.common.asPathToFile -import org.utbot.framework.plugin.api.util.UtContext -import java.lang.instrument.ClassFileTransformer -import java.nio.file.Paths -import java.security.ProtectionDomain -import kotlin.io.path.absolutePathString - - -private val logger = getLogger() - -/** - * Transformer, which will transform only classes with certain names. - */ -class DynamicClassTransformer : ClassFileTransformer { - lateinit var transformer: ClassFileTransformer - - private val pathsToUserClasses = mutableSetOf() - - fun addUserPaths(paths: Iterable) { - pathsToUserClasses += paths.map { it.asPathToFile() } - } - - override fun transform( - loader: ClassLoader?, - className: String, - classBeingRedefined: Class<*>?, - protectionDomain: ProtectionDomain, - classfileBuffer: ByteArray - ): ByteArray? { - try { - UtContext.currentContext()?.stopWatch?.stop() - val pathToClassfile = protectionDomain.codeSource?.location?.toURI()?.let(Paths::get)?.absolutePathString() - return if (pathToClassfile in pathsToUserClasses || - packsToAlwaysTransform.any(className::startsWith) - ) { - transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer)?.also { - logger.info { "Transformed: $className" } - } - } else { - null - } - } catch (e: Throwable) { - logger.error { "Error while transforming: ${e.stackTraceToString()}" } - throw e - } finally { - UtContext.currentContext()?.stopWatch?.start() - } - } - - companion object { - private val packsToAlwaysTransform = listOf( - "org/slf4j", - "org/utbot/instrumentation/warmup" - ) - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/Instrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/Instrumentation.kt deleted file mode 100644 index 4adcb589..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/Instrumentation.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.instrumentation.instrumentation - -import java.lang.instrument.ClassFileTransformer -import org.utbot.framework.plugin.api.FieldId - -/** - * Abstract class for the instrumentation. - * - * Except these two methods, should implement [transform] function which will be used to class instrumentation. - * - * @param TInvocationInstrumentation the return type of `invoke` function. - */ - -interface Instrumentation : ClassFileTransformer { - /** - * Invokes a method with the given [methodSignature], the declaring class of which is [clazz], with the supplied - * [arguments] and [parameters]. Parameters are additional data, the type of which depends on the specific implementation. - * - * @return Result of the invocation according to the specific implementation. - */ - fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any? = null - ): TInvocationInstrumentation - - fun getStaticField(fieldId: FieldId): Result<*> - - interface Factory> { - val additionalRuntimeClasspath: Set get() = emptySet() - - fun create(): TInstrumentation - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/InvokeInstrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/InvokeInstrumentation.kt deleted file mode 100644 index 96a1ef91..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/InvokeInstrumentation.kt +++ /dev/null @@ -1,124 +0,0 @@ -package org.utbot.instrumentation.instrumentation - -import org.utbot.framework.plugin.api.util.signature -import org.utbot.instrumentation.process.runSandbox -import java.lang.reflect.Constructor -import java.lang.reflect.InvocationTargetException -import java.lang.reflect.Method -import java.lang.reflect.Modifier -import java.security.ProtectionDomain -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.util.isStatic -import org.utbot.framework.plugin.api.util.jField - -typealias ArgumentList = List - - -/** - * This instrumentation just invokes a given function and wraps result in [Result]. - */ -class InvokeInstrumentation : Instrumentation> { - /** - * Invokes a method with the given [methodSignature], the declaring class of which is [clazz], with the supplied - * [arguments] and [parameters], but [parameters] are just ignored. - * - * If it is instance method, `this` should be the first element of [arguments]. - * - * @return `Result.success` with wrapped result in case of successful call and - * `Result.failure` with wrapped target exception otherwise. - */ - override fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any? - ): Result<*> { - val methodOrConstructor = - (clazz.methods + clazz.declaredMethods).toSet().firstOrNull { it.signature == methodSignature } - ?: clazz.declaredConstructors.firstOrNull { it.signature == methodSignature } - ?: throw NoSuchMethodException("Signature: $methodSignature") - - val isStaticExecutable = Modifier.isStatic(methodOrConstructor.modifiers) - - val (thisObject, realArgs) = if (isStaticExecutable || methodOrConstructor is Constructor<*>) { - null to arguments - } else { - arguments.firstOrNull() - ?.let { it to arguments.drop(1) } - ?: throw IllegalArgumentException( - "signature=${methodOrConstructor.signature}\n" + - "\texpecting this, but provided argument list is empty" - ) - } - - - methodOrConstructor.run { - val result = when (this) { - is Method -> - runSandbox { - runCatching { - invoke(thisObject, *realArgs.toTypedArray()).let { - if (returnType != Void.TYPE) it else Unit - } // invocation on method returning void will return null, so we replace it with Unit - } - } - - is Constructor<*> -> - runSandbox { - runCatching { - newInstance(*realArgs.toTypedArray()) - } - } - - else -> error("Unknown executable: $methodOrConstructor") - } - - - return when (val exception = result.exceptionOrNull()) { - null -> result - is InvocationTargetException -> Result.failure(exception.targetException) - is IllegalArgumentException -> throw IllegalArgumentException( - buildString { - appendLine(exception.message) - appendLine("signature=$signature") - appendLine("this=$thisObject: ${clazz.name}") - appendLine("arguments={") - appendLine(realArgs.joinToString(",\n") { "$it: ${it?.javaClass?.name}" }) - appendLine("}") - } - ) - else -> throw exception - } - } - } - - /** - * Get field by reflection and return raw value. - */ - override fun getStaticField(fieldId: FieldId): Result = - if (!fieldId.isStatic) { - Result.failure(IllegalArgumentException("Field must be static!")) - } else { - val field = fieldId.jField - val value = field.withAccessibility { - field.get(null) - } - Result.success(value) - } - - /** - * Does not change bytecode. - */ - override fun transform( - loader: ClassLoader?, - className: String, - classBeingRedefined: Class<*>?, - protectionDomain: ProtectionDomain, - classfileBuffer: ByteArray - ) = null - - object Factory : Instrumentation.Factory, InvokeInstrumentation> { - override fun create(): InvokeInstrumentation = InvokeInstrumentation() - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/InvokeWithStaticsInstrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/InvokeWithStaticsInstrumentation.kt deleted file mode 100644 index 9572944a..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/InvokeWithStaticsInstrumentation.kt +++ /dev/null @@ -1,98 +0,0 @@ -package org.utbot.instrumentation.instrumentation - -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.util.jField -import org.utbot.instrumentation.util.StaticEnvironment -import java.lang.reflect.Field -import java.lang.reflect.Modifier -import java.security.ProtectionDomain -import org.utbot.framework.plugin.api.FieldId - -/** - * This instrumentation allows supplying [StaticEnvironment] and saving static fields. This makes call pure. - */ -class InvokeWithStaticsInstrumentation : Instrumentation> { - private val invokeInstrumentation = InvokeInstrumentation() - - /** - * Invokes a method with the given [methodSignature], the declaring class of which is [clazz], with the supplied - * [arguments]. Argument [parameters] must be of type [StaticEnvironment] or null. - * - * Also saves all static fields from [clazz], replaces them with [parameters] and restores them after call. - * If some of static fields used in invocation are not supplied, behaviour is undefined. - * - * @return `Result.success` with wrapped result in case of successful call and - * `Result.failure` with wrapped target exception otherwise. - */ - override fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any? - ): Result<*> { - if (parameters !is StaticEnvironment?) { - throw IllegalArgumentException("Argument parameters must be of type StaticEnvironment") - } - - val staticFieldsKeeper = StaticFieldsKeeper(clazz) - setStaticFields(parameters) - - val invokeResult = invokeInstrumentation.invoke(clazz, methodSignature, arguments) - - staticFieldsKeeper.restore() - - return invokeResult - } - - override fun getStaticField(fieldId: FieldId): Result<*> = - invokeInstrumentation.getStaticField(fieldId) - - private fun setStaticFields(staticEnvironment: StaticEnvironment?) { - staticEnvironment?.run { - listOfFields.forEach { (fieldId, value) -> - fieldId.jField.run { - withAccessibility { - set(null, value) - } - } - } - } - } - - override fun transform( - loader: ClassLoader?, - className: String, - classBeingRedefined: Class<*>?, - protectionDomain: ProtectionDomain, - classfileBuffer: ByteArray - ) = invokeInstrumentation.transform( - loader, - className, - classBeingRedefined, - protectionDomain, - classfileBuffer - ) - - private class StaticFieldsKeeper(val clazz: Class<*>) { - private var savedFields: Map = mutableMapOf() - - init { - val staticFields = clazz.declaredFields - .filter { checkField(it) } // TODO: think on this - .associate { it.name to it.withAccessibility { it.get(null) } } - savedFields = staticFields - } - - fun restore() { - clazz.declaredFields - .filter { checkField(it) } - .forEach { it.withAccessibility { it.set(null, savedFields[it.name]) } } - } - } - - object Factory : Instrumentation.Factory, InvokeWithStaticsInstrumentation> { - override fun create(): InvokeWithStaticsInstrumentation = InvokeWithStaticsInstrumentation() - } -} - -private fun checkField(field: Field) = Modifier.isStatic(field.modifiers) diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/coverage/CoverageInstrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/coverage/CoverageInstrumentation.kt deleted file mode 100644 index ab3238a9..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/coverage/CoverageInstrumentation.kt +++ /dev/null @@ -1,112 +0,0 @@ -package org.utbot.instrumentation.instrumentation.coverage - -import kotlinx.coroutines.runBlocking -import org.utbot.common.withAccessibility -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.Settings -import org.utbot.instrumentation.instrumentation.ArgumentList -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.instrumentation.InvokeWithStaticsInstrumentation -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter -import org.utbot.instrumentation.util.CastProbesArrayException -import org.utbot.instrumentation.util.NoProbesArrayException -import java.security.ProtectionDomain -import org.utbot.framework.plugin.api.FieldId -import org.utbot.instrumentation.process.generated.CollectCoverageParams - -data class CoverageInfo( - val methodToInstrRange: Map, - val visitedInstrs: List -) - -/** - * This instrumentation allows collecting coverage after several calls. - */ -class CoverageInstrumentation : Instrumentation> { - private val invokeWithStatics = InvokeWithStaticsInstrumentation() - - /** - * Invokes a method with the given [methodSignature], the declaring class of which is [clazz], with the supplied - * [arguments] and [parameters]. Supports static environment. - * - * @return `Result.success` with wrapped result in case of successful call and - * `Result.failure` with wrapped target exception otherwise. - */ - override fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any? - ): Result<*> { - val probesFieldName: String = Settings.PROBES_ARRAY_NAME - val visitedLinesField = clazz.fields.firstOrNull { it.name == probesFieldName } - ?: throw NoProbesArrayException(clazz, Settings.PROBES_ARRAY_NAME) - - return visitedLinesField.withAccessibility { - invokeWithStatics.invoke(clazz, methodSignature, arguments, parameters) - } - } - - override fun getStaticField(fieldId: FieldId): Result<*> = - invokeWithStatics.getStaticField(fieldId) - - /** - * Collects coverage from the given [clazz] via reflection. - */ - fun collectCoverageInfo(clazz: Class): CoverageInfo { - val probesFieldName: String = Settings.PROBES_ARRAY_NAME - val visitedLinesField = clazz.fields.firstOrNull { it.name == probesFieldName } - ?: throw NoProbesArrayException(clazz, Settings.PROBES_ARRAY_NAME) - - return visitedLinesField.withAccessibility { - val visitedLines = visitedLinesField.get(null) as? BooleanArray - ?: throw CastProbesArrayException() - - val methodToInstrRange = Instrumenter(clazz).computeMapOfRanges() - - val res = CoverageInfo(methodToInstrRange, visitedLines.mapIndexed { idx, b -> - if (b) idx else null - }.filterNotNull()) - - visitedLines.fill(false, 0, visitedLines.size) - - res - } - } - - /** - * Transforms bytecode such way that it becomes possible to get a coverage. - * - * Adds set of instructions which marks the executed instruction as completed. Uses static boolean array for this. - */ - override fun transform( - loader: ClassLoader?, - className: String, - classBeingRedefined: Class<*>?, - protectionDomain: ProtectionDomain?, - classfileBuffer: ByteArray - ): ByteArray { - val instrumenter = Instrumenter(classfileBuffer) - - val staticArrayStrategy = StaticArrayStrategy(className, Settings.PROBES_ARRAY_NAME) - instrumenter.visitInstructions(staticArrayStrategy) - instrumenter.addStaticField(staticArrayStrategy) - - return instrumenter.classByteCode - } - - object Factory : Instrumentation.Factory, CoverageInstrumentation> { - override fun create(): CoverageInstrumentation = CoverageInstrumentation() - } -} - -/** - * Extension function for the [ConcreteExecutor], which allows to collect the coverage of the given [clazz]. - */ -fun ConcreteExecutor, CoverageInstrumentation>.collectCoverage(clazz: Class<*>): CoverageInfo = runBlocking { - withProcess { - val clazzByteArray = kryoHelper.writeObject(clazz) - - kryoHelper.readObject(instrumentedProcessModel.collectCoverage.startSuspending(lifetime, CollectCoverageParams(clazzByteArray)).coverageInfo) - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/coverage/StaticArrayStrategy.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/coverage/StaticArrayStrategy.kt deleted file mode 100644 index 23af836b..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/coverage/StaticArrayStrategy.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.instrumentation.instrumentation.coverage - -import org.utbot.instrumentation.Settings -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.IInstructionVisitor -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.StaticFieldInitializer -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes - -// TODO: document this - -class StaticArrayStrategy( - private val className: String, - override val name: String -) : StaticFieldInitializer, IInstructionVisitor { - - override val signature: String? = null - override val descriptor: String = Settings.PROBES_ARRAY_DESC - - override fun initField(mv: MethodVisitor): MethodVisitor { - mv.visitLdcInsn(probesCount) - mv.visitIntInsn(Opcodes.NEWARRAY, Opcodes.T_BOOLEAN) - mv.visitFieldInsn(Opcodes.PUTSTATIC, className, name, Settings.PROBES_ARRAY_DESC) - return mv - } - - override fun visitInstruction(mv: MethodVisitor): MethodVisitor { - mv.visitFieldInsn(Opcodes.GETSTATIC, className, name, Settings.PROBES_ARRAY_DESC) - mv.visitLdcInsn(nextProbeId()) - mv.visitInsn(Opcodes.ICONST_1) - mv.visitInsn(Opcodes.BASTORE) - return mv - } - - private var probeId = 0 - - private fun nextProbeId(): Int { - return probeId++ - } - - val probesCount: Int - get() = probeId -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/Converter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/Converter.kt deleted file mode 100644 index 79d6a041..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/Converter.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.instrumentation.instrumentation.et - -private fun convert(node: TraceNode): FunctionCall { - val instrs = mutableListOf() - var methodSignature = "" - node.instructions.forEach { - when (it) { - is EtInstruction -> { - methodSignature = it.methodSignature - when (it.instructionData) { - is CommonInstruction, - is PutStaticInstruction -> if (instrs.isEmpty() || instrs.last() !is Pass) { - instrs.add(Pass) - } - is ReturnInstruction -> instrs.add(Return) - is InvokeInstruction -> { - // TODO() - } - is ImplicitThrowInstruction -> instrs.add(ImplicitThrow) -// else -> throw IllegalStateException("Unreachable code. Type: ${it.type}") - is ExplicitThrowInstruction -> instrs.add(ExplicitThrow) - - } - } - is TraceNode -> instrs.add(convert(it)) - } - } - return FunctionCall(methodSignature, instrs) -} - -fun convert(trace: Trace): FunctionCall { - return convert(trace.root) -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/ExTraceDsl.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/ExTraceDsl.kt deleted file mode 100644 index 25c04f36..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/ExTraceDsl.kt +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.instrumentation.instrumentation.et - -// TODO: document this - -sealed class InstructionExecution { - abstract fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) -} - -@DslMarker -annotation class ExTraceDsl - -@ExTraceDsl -data class FunctionCall constructor( - val signature: String, - private val instructions: MutableList = mutableListOf() -) : InstructionExecution() { - fun addInstruction(instructionExecution: InstructionExecution) { - instructions.add(instructionExecution) - } - - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append(prefix + "$signature\n") - val it = instructions.iterator() - while (it.hasNext()) { - val nxt = it.next() - if (it.hasNext()) { - nxt.treeFormat(buffer, childPrefix + "├── ", childPrefix + "│ ") // VM option: -Dfile.encoding=UTF8 - } else { - nxt.treeFormat(buffer, childPrefix + "└── ", childPrefix + " ") // VM option: -Dfile.encoding=UTF8 - } - } - } - - override fun toString(): String { - val buffer = StringBuilder() - treeFormat(buffer, "", "") - return buffer.toString() - } -} - -object Pass : InstructionExecution() { - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append(prefix + "pass" + "\n") - } -} - -fun FunctionCall.implThr() { - addInstruction(ImplicitThrow) -} - - -object ImplicitThrow : InstructionExecution() { - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append(prefix + "implicit throw" + "\n") - } -} - -fun FunctionCall.explThr() { - addInstruction(ExplicitThrow) -} - - -object ExplicitThrow : InstructionExecution() { - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append(prefix + "explicit throw" + "\n") - } -} - -fun FunctionCall.ret() { - addInstruction(Return) -} - - -object Return : InstructionExecution() { - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append(prefix + "return" + "\n") - } -} - -fun FunctionCall.pass() { - addInstruction(Pass) -} - -fun function(signature: String, block: FunctionCall.() -> Unit): FunctionCall = FunctionCall(signature).apply(block) - -fun FunctionCall.invoke(name: String, block: FunctionCall.() -> Unit) { - addInstruction(FunctionCall(name).apply(block)) -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/ExecutionTraceInstrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/ExecutionTraceInstrumentation.kt deleted file mode 100644 index f62eff9b..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/ExecutionTraceInstrumentation.kt +++ /dev/null @@ -1,64 +0,0 @@ -package org.utbot.instrumentation.instrumentation.et - -import org.utbot.instrumentation.instrumentation.ArgumentList -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.instrumentation.InvokeWithStaticsInstrumentation -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter -import java.security.ProtectionDomain -import org.utbot.framework.plugin.api.FieldId - -/** - * This instrumentation allows to get execution trace during each call. - */ - -class ExecutionTraceInstrumentation : Instrumentation { - private val invokeWithStatics = InvokeWithStaticsInstrumentation() - private val traceHandler = TraceHandler() - - /** - * Invokes a method with the given [methodSignature], the declaring class of which is [clazz], with the supplied - * [arguments] and [parameters]. - * - * @return Trace of this invocation. - */ - override fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any? - ): Trace { - invokeWithStatics.invoke(clazz, methodSignature, arguments, parameters) - - val trace = traceHandler.computeTrace() - traceHandler.resetTrace() - - return trace - } - - override fun getStaticField(fieldId: FieldId): Result<*> = - invokeWithStatics.getStaticField(fieldId) - - /** - * Transforms bytecode such way that it becomes possible to get an execution trace during a call. - * - * Adds set of instructions which write down the executed instruction and method call id consistently. - */ - override fun transform( - loader: ClassLoader?, - className: String, - classBeingRedefined: Class<*>?, - protectionDomain: ProtectionDomain?, - classfileBuffer: ByteArray - ): ByteArray { - traceHandler.registerClass(className) - return Instrumenter(classfileBuffer).run { - val visitor = traceHandler.computeInstructionVisitor(className) - visitInstructions(visitor) - classByteCode - } - } - - object Factory : Instrumentation.Factory { - override fun create(): ExecutionTraceInstrumentation = ExecutionTraceInstrumentation() - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/Trace.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/Trace.kt deleted file mode 100644 index ed28cf97..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/Trace.kt +++ /dev/null @@ -1,69 +0,0 @@ -package org.utbot.instrumentation.instrumentation.et - -import org.utbot.framework.plugin.api.FieldId - -// TODO: refactor this later - -// TODO: document this - -sealed class Node { - abstract fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) -} - -// TODO: document this -data class EtInstruction( - val className: String, - val methodSignature: String, - val callId: Int, - val id: Long, - val line: Int, - val instructionData: InstructionData -) : Node() { - override fun toString(): String { - return "$methodSignature : $id :: $line" + if (instructionData !is CommonInstruction) " $instructionData" else "" - } - - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append("$prefix${toString()}\n") - } -} - -// TODO: document this - -data class TraceNode( - val className: String, // TODO: ClassId - val methodSignature: String, - val callId: Int, - val depth: Int, - val instructions: MutableList -) : Node() { - override fun treeFormat(buffer: StringBuilder, prefix: String, childPrefix: String) { - buffer.append(prefix + "$className::$methodSignature-$callId\n") - val it = instructions.iterator() - while (it.hasNext()) { - val nxt = it.next() - if (it.hasNext()) { - nxt.treeFormat(buffer, childPrefix + "├── ", childPrefix + "│ ") // VM option: -Dfile.encoding=UTF8 - } else { - nxt.treeFormat(buffer, childPrefix + "└── ", childPrefix + " ") // VM option: -Dfile.encoding=UTF8 - } - } - } - - override fun toString(): String { - val buffer = StringBuilder(50) - treeFormat(buffer, "", "") - return buffer.toString() - } -} - -// TODO: document this - -data class Trace( - val root: TraceNode, - val usedStatics: List -) { - override fun toString(): String { - return "Trace:\n$root" - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/TraceHandler.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/TraceHandler.kt deleted file mode 100644 index 6676be0d..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/TraceHandler.kt +++ /dev/null @@ -1,303 +0,0 @@ -package org.utbot.instrumentation.instrumentation.et - -import com.jetbrains.rd.util.error -import com.jetbrains.rd.util.getLogger -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.instrumentation.Settings -import kotlin.reflect.jvm.javaField -import kotlin.reflect.jvm.javaMethod -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.Type -import org.objectweb.asm.commons.LocalVariablesSorter - -sealed class InstructionData { - abstract val line: Int - abstract val methodSignature: String -} - -data class CommonInstruction( - override val line: Int, - override val methodSignature: String -) : InstructionData() - -data class InvokeInstruction( - override val line: Int, - override val methodSignature: String -) : InstructionData() - -data class ReturnInstruction( - override val line: Int, - override val methodSignature: String -) : InstructionData() - -data class ImplicitThrowInstruction( - override val line: Int, - override val methodSignature: String -) : InstructionData() - -data class ExplicitThrowInstruction( - override val line: Int, - override val methodSignature: String -) : InstructionData() - -data class PutStaticInstruction( - override val line: Int, - override val methodSignature: String, - val owner: String, - val name: String, - val descriptor: String -) : InstructionData() - -private data class ClassToMethod( - val className: String, - val methodName: String -) - -class ProcessingStorage { - private val classToId = mutableMapOf() - private val idToClass = mutableMapOf() - - private val classMethodToId = mutableMapOf() - private val idToClassMethod = mutableMapOf() - - private val instructionsData = mutableMapOf() - private val classToInstructionsCount = mutableMapOf() - - fun addClass(className: String): Int { - val id = classToId.getOrPut(className) { classToId.size } - idToClass.putIfAbsent(id, className) - return id - } - - fun computeId(className: String, localId: Int): Long { - return classToId[className]!!.toLong() * SHIFT + localId - } - - fun addClassMethod(className: String, methodName: String): Int { - val classToMethod = ClassToMethod(className, methodName) - val id = classMethodToId.getOrPut(classToMethod) { classMethodToId.size } - idToClassMethod.putIfAbsent(id, classToMethod) - return id - } - - fun computeClassNameAndLocalId(id: Long): Pair { - val className = idToClass.getValue((id / SHIFT).toInt()) - val localId = (id % SHIFT).toInt() - return className to localId - } - - fun addInstruction(id: Long, instructionData: InstructionData) { - instructionsData.computeIfAbsent(id) { - val (className, _) = computeClassNameAndLocalId(id) - classToInstructionsCount.merge(className, 1, Long::plus) - instructionData - } - } - - fun getInstructionsCount(className: String): Long? = - classToInstructionsCount[className] - - fun getInstruction(id: Long): InstructionData { - return instructionsData.getValue(id) - } - - companion object { - private const val SHIFT = 1.toLong().shl(32) // 2 ^ 32 - } -} - -private val logger = getLogger() - -/** - * Storage to which instrumented classes will write execution data. - */ -object RuntimeTraceStorage { - internal var alreadyLoggedIncreaseStackSizeTip = false - - /** - * Contains ids of instructions in the order of execution. - */ - @Suppress("Unused") - @JvmField - val `$__trace__`: LongArray = LongArray(Settings.TRACE_ARRAY_SIZE) - const val DESC_TRACE = "[J" - - /** - * Contains call ids in the order of execution. Call id is a unique number for each function execution. - */ - @Suppress("Unused") - @JvmField - var `$__trace_call_id__`: IntArray = IntArray(Settings.TRACE_ARRAY_SIZE) - const val DESC_TRACE_CALL_ID = "[I" - - /** - * Contains current instruction number. - */ - @Suppress("Unused") - @JvmField - var `$__counter__`: Int = 0 - const val DESC_COUNTER = "I" - - /** - * Contains current call id. - */ - @Suppress("Unused") - @JvmField - var `$__counter_call_id__`: Int = 0 - const val DESC_CALL_ID_COUNTER = "I" - - @JvmStatic - fun visit(callId: Int, id: Long) { - val current = this.`$__counter__` - if (current < Settings.TRACE_ARRAY_SIZE) { - this.`$__trace_call_id__`[current] = callId - this.`$__trace__`[current] = id - this.`$__counter__` = current + 1 - } else { - val loggedTip = alreadyLoggedIncreaseStackSizeTip - if (!loggedTip) { - alreadyLoggedIncreaseStackSizeTip = true - logger.error { "Stack overflow (increase stack size Settings.TRACE_ARRAY_SIZE)" } - } - } - } -} - -class TraceInstructionBytecodeInserter { - private var localVariable = -1 - - private val internalName = Type.getInternalName(RuntimeTraceStorage::class.java) - private val counterCallIdName = RuntimeTraceStorage::`$__counter_call_id__`.javaField!!.name - private val visitMethodDescriptor = Type.getMethodDescriptor(RuntimeTraceStorage::visit.javaMethod) - - fun visitMethodBeginning(mv: MethodVisitor, lvs: LocalVariablesSorter) { - localVariable = lvs.newLocal(Type.INT_TYPE) - - mv.visitFieldInsn(Opcodes.GETSTATIC, internalName, counterCallIdName, RuntimeTraceStorage.DESC_CALL_ID_COUNTER) - mv.visitInsn(Opcodes.ICONST_1) - mv.visitInsn(Opcodes.IADD) - mv.visitInsn(Opcodes.DUP) - - mv.visitFieldInsn(Opcodes.PUTSTATIC, internalName, counterCallIdName, RuntimeTraceStorage.DESC_CALL_ID_COUNTER) - mv.visitVarInsn(Opcodes.ISTORE, localVariable) - } - - fun insertUtilityInstructions(mv: MethodVisitor, id: Long): MethodVisitor { - mv.visitVarInsn(Opcodes.ILOAD, localVariable) - mv.visitLdcInsn(id) - mv.visitMethodInsn(Opcodes.INVOKESTATIC, internalName, "visit", visitMethodDescriptor, false) - - return mv - } -} - -class TraceHandler { - val processingStorage = ProcessingStorage() - private val inserter = TraceInstructionBytecodeInserter() - - private var instructionsList: List? = null - - fun registerClass(className: String) { - processingStorage.addClass(className) - } - - fun computeInstructionVisitor(className: String): TraceListStrategy { - return TraceListStrategy(className, processingStorage, inserter) - } - - fun computeInstructionList(): List { - if (instructionsList == null) { - instructionsList = (0 until RuntimeTraceStorage.`$__counter__`).map { ptr -> - val instrId = RuntimeTraceStorage.`$__trace__`[ptr] - val curInstrData = processingStorage.getInstruction(instrId) - val (className, _) = processingStorage.computeClassNameAndLocalId(instrId) - val callId = RuntimeTraceStorage.`$__trace_call_id__`[ptr] - EtInstruction(className, curInstrData.methodSignature, callId, instrId, curInstrData.line, curInstrData) - } - } - return instructionsList!! - } - - fun computePutStatics(): List = - computeInstructionList().map { it.instructionData } - .filterIsInstance() - .map { FieldId(ClassId(it.owner.replace("/", ".")), it.name) } - - fun computeTrace(): Trace { - val instructionList = computeInstructionList() - - val stack = mutableListOf() - val setOfCallIds = mutableSetOf() - var root: TraceNode? = null - - for (instr in instructionList) { - val (className, methodSignature, callId) = instr - - if (stack.isEmpty()) { - val traceNode = TraceNode(className, methodSignature, callId, depth = 1, mutableListOf()) - traceNode.instructions += instr - stack += traceNode - setOfCallIds += callId - root = traceNode - } else { - if (callId in setOfCallIds) { - val lastInstrs = stack.last().instructions - if (stack.last().callId != callId && - (lastInstrs.lastOrNull() as? EtInstruction)?.instructionData !is ReturnInstruction - ) { - val instruction = lastInstrs.last() as EtInstruction - if (instruction.instructionData !is ExplicitThrowInstruction) { - lastInstrs[lastInstrs.lastIndex] = instruction.copy( - instructionData = ImplicitThrowInstruction( - instruction.line, - instruction.methodSignature - ) - ) - } - } - while (stack.last().callId != callId) { - setOfCallIds.remove(stack.last().callId) - stack.removeLast() - } - stack.last().instructions += instr - } else { - val traceNode = TraceNode( - className, - methodSignature, - callId, - stack.last().depth + 1, - mutableListOf() - ) - traceNode.instructions += instr - stack.last().instructions += traceNode - stack += traceNode - setOfCallIds += callId - } - } - } - - val lastInstrs = stack.last().instructions - val lastInstrType = (lastInstrs.lastOrNull() as? EtInstruction)?.instructionData - if (lastInstrType !is ReturnInstruction && lastInstrType !is ExplicitThrowInstruction) { - lastInstrs[lastInstrs.lastIndex] = - (lastInstrs.last() as EtInstruction).run { - copy( - instructionData = ImplicitThrowInstruction( - instructionData.line, - instructionData.methodSignature - ) - ) - } - } - - return Trace(root!!, computePutStatics()) - } - - fun resetTrace() { - instructionsList = null - RuntimeTraceStorage.`$__counter__` = 0 - RuntimeTraceStorage.alreadyLoggedIncreaseStackSizeTip = false - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/TraceListStrategy.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/TraceListStrategy.kt deleted file mode 100644 index 157ea896..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/et/TraceListStrategy.kt +++ /dev/null @@ -1,86 +0,0 @@ -package org.utbot.instrumentation.instrumentation.et - -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.IInstructionVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.commons.LocalVariablesSorter - -// TODO: document this -// TODO: Refactor this - -class TraceListStrategy( - private val className: String, - private val storage: ProcessingStorage, - private val inserter: TraceInstructionBytecodeInserter -) : IInstructionVisitor { - var currentLine: Int = 0 - private set - private lateinit var currentMethodSignature: String - private var currentClassMethodId: Int = -1 - - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array?, - methodVisitor: MethodVisitor - ) { - currentMethodSignature = name + descriptor - currentClassMethodId = storage.addClassMethod(className, name) - } - - override fun visitCode(mv: MethodVisitor, lvs: LocalVariablesSorter) { - inserter.visitMethodBeginning(mv, lvs) - } - - override fun visitLine(mv: MethodVisitor, line: Int): MethodVisitor { - currentLine = line - return mv - } - - override fun visitInstruction(mv: MethodVisitor): MethodVisitor = - processNewInstruction(mv, CommonInstruction(currentLine, currentMethodSignature)) - - override fun visitReturnInstruction(mv: MethodVisitor, opcode: Int): MethodVisitor = - processNewInstruction(mv, ReturnInstruction(currentLine, currentMethodSignature)) - - override fun visitThrowInstruction(mv: MethodVisitor): MethodVisitor = - processNewInstruction(mv, ExplicitThrowInstruction(currentLine, currentMethodSignature)) - - override fun visitMethodInstruction( - mv: MethodVisitor, - opcode: Int, - owner: String?, - name: String?, - descriptor: String?, - isInterface: Boolean - ): MethodVisitor = processNewInstruction(mv, InvokeInstruction(currentLine, currentMethodSignature)) - - override fun visitFieldInstruction( - mv: MethodVisitor, - opcode: Int, - owner: String, - name: String, - descriptor: String - ): MethodVisitor { - val instructionData = if (opcode == Opcodes.PUTSTATIC) { - PutStaticInstruction(currentLine, currentMethodSignature, owner, name, descriptor) - } else { - CommonInstruction(currentLine, currentMethodSignature) - } - return processNewInstruction(mv, instructionData) - } - - private fun processNewInstruction(mv: MethodVisitor, instructionData: InstructionData): MethodVisitor { - val id = nextId() - storage.addInstruction(id, instructionData) - return inserter.insertUtilityInstructions(mv, id) - } - - private var probeId = 0 - - private fun nextId(): Long { - return storage.computeId(className, probeId++) - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/SimpleUtExecutionInstrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/SimpleUtExecutionInstrumentation.kt deleted file mode 100644 index 7c213117..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/SimpleUtExecutionInstrumentation.kt +++ /dev/null @@ -1,174 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution - -import org.utbot.framework.plugin.api.EnvironmentModels -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.util.singleExecutableId -import org.utbot.instrumentation.instrumentation.ArgumentList -import org.utbot.instrumentation.instrumentation.InvokeInstrumentation -import org.utbot.instrumentation.instrumentation.et.TraceHandler -import org.utbot.instrumentation.instrumentation.execution.constructors.ConstructOnlyUserClassesOrCachedObjectsStrategy -import org.utbot.instrumentation.instrumentation.execution.constructors.UtModelConstructor -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext -import org.utbot.instrumentation.instrumentation.execution.context.SimpleInstrumentationContext -import org.utbot.instrumentation.instrumentation.execution.ndd.NonDeterministicClassVisitor -import org.utbot.instrumentation.instrumentation.execution.ndd.NonDeterministicDetector -import org.utbot.instrumentation.instrumentation.execution.phases.PhasesController -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter -import org.utbot.instrumentation.instrumentation.mock.MockClassVisitor -import java.security.ProtectionDomain -import kotlin.reflect.jvm.javaMethod - -class SimpleUtExecutionInstrumentation( - private val pathsToUserClasses: Set, - private val instrumentationContext: InstrumentationContext = SimpleInstrumentationContext() -) : UtExecutionInstrumentation { - private val delegateInstrumentation = InvokeInstrumentation() - - private val traceHandler = TraceHandler() - private val ndDetector = NonDeterministicDetector() - - /** - * Ignores [arguments], because concrete arguments will be constructed - * from models passed via [parameters]. - * - * Argument [parameters] must be of type [UtConcreteExecutionData]. - */ - override fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any?, - phasesWrapper: PhasesController.(invokeBasePhases: () -> UtConcreteExecutionResult) -> UtConcreteExecutionResult - ): UtConcreteExecutionResult { - if (parameters !is UtConcreteExecutionData) { - throw IllegalArgumentException("Argument parameters must be of type UtConcreteExecutionData, but was: ${parameters?.javaClass}") - } - val (stateBefore, instrumentations, timeout) = parameters // smart cast to UtConcreteExecutionData - - return PhasesController( - instrumentationContext, - traceHandler, - delegateInstrumentation, - timeout - ).computeConcreteExecutionResult { - phasesWrapper { - try { - // some preparation actions for concrete execution - val constructedData = applyPreprocessing(parameters) - - val (params, statics, cache) = constructedData - - // invocation - val concreteResult = executePhaseInTimeout(invocationPhase) { - invoke(clazz, methodSignature, params.map { it.value }) - } - - // statistics collection - val (coverage, ndResults) = executePhaseInTimeout(statisticsCollectionPhase) { - getCoverage(clazz) to getNonDeterministicResults() - } - - // model construction - val (executionResult, stateAfter, newInstrumentation) = executePhaseInTimeout(modelConstructionPhase) { - configureConstructor { - this.cache = cache - strategy = ConstructOnlyUserClassesOrCachedObjectsStrategy( - pathsToUserClasses, - cache - ) - } - - val ndStatics = constructStaticInstrumentation(ndResults.statics) - val ndNews = constructNewInstrumentation(ndResults.news, ndResults.calls) - val newInstrumentation = mergeInstrumentations(instrumentations, ndStatics, ndNews) - - val returnType = clazz.singleExecutableId(methodSignature).returnType - val executionResult = convertToExecutionResult(concreteResult, returnType) - - val stateAfterParametersWithThis = constructParameters(params) - val stateAfterStatics = constructStatics(stateBefore, statics) - val (stateAfterThis, stateAfterParameters) = if (stateBefore.thisInstance == null) { - null to stateAfterParametersWithThis - } else { - stateAfterParametersWithThis.first() to stateAfterParametersWithThis.drop(1) - } - val stateAfter = EnvironmentModels(stateAfterThis, stateAfterParameters, stateAfterStatics) - - Triple(executionResult, stateAfter, newInstrumentation) - } - - UtConcreteExecutionResult( - stateAfter, - executionResult, - coverage, - newInstrumentation - ) - } finally { - // restoring data after concrete execution - applyPostprocessing() - } - } - } - } - - override fun getStaticField(fieldId: FieldId): Result = - delegateInstrumentation.getStaticField(fieldId).map { value -> - UtModelConstructor.createOnlyUserClassesConstructor(pathsToUserClasses) - .construct(value, fieldId.type) - } - - override fun transform( - loader: ClassLoader?, - className: String, - classBeingRedefined: Class<*>?, - protectionDomain: ProtectionDomain, - classfileBuffer: ByteArray - ): ByteArray { - val instrumenter = Instrumenter(classfileBuffer, loader) - - traceHandler.registerClass(className) - instrumenter.visitInstructions(traceHandler.computeInstructionVisitor(className)) - - instrumenter.visitClass { writer -> - NonDeterministicClassVisitor(writer, ndDetector) - } - - val mockClassVisitor = instrumenter.visitClass { writer -> - MockClassVisitor( - writer, - InstrumentationContext.MockGetter::getMock.javaMethod!!, - InstrumentationContext.MockGetter::checkCallSite.javaMethod!!, - InstrumentationContext.MockGetter::hasMock.javaMethod!! - ) - } - - mockClassVisitor.signatureToId.forEach { (method, id) -> - instrumentationContext.methodSignatureToId += method to id - } - - return instrumenter.classByteCode - } - - class Factory( - private val pathsToUserClasses: Set - ) : UtExecutionInstrumentation.Factory { - override fun create(): UtExecutionInstrumentation = SimpleUtExecutionInstrumentation(pathsToUserClasses) - - override fun create(instrumentationContext: InstrumentationContext): UtExecutionInstrumentation = - SimpleUtExecutionInstrumentation(pathsToUserClasses, instrumentationContext) - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as Factory - - return pathsToUserClasses == other.pathsToUserClasses - } - - override fun hashCode(): Int { - return pathsToUserClasses.hashCode() - } - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/UtExecutionInstrumentation.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/UtExecutionInstrumentation.kt deleted file mode 100644 index adc9c180..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/UtExecutionInstrumentation.kt +++ /dev/null @@ -1,62 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution - -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.* -import org.utbot.instrumentation.instrumentation.ArgumentList -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext -import org.utbot.instrumentation.instrumentation.execution.context.SimpleInstrumentationContext -import org.utbot.instrumentation.instrumentation.execution.phases.PhasesController - -/** - * Consists of the data needed to execute the method concretely. Also includes method arguments stored in models. - * - * @property [stateBefore] is necessary for construction of parameters of a concrete call. - * @property [instrumentation] is necessary for mocking static methods and new instances. - * @property [timeout] is timeout for specific concrete execution (in milliseconds). - * By default is initialized from [UtSettings.concreteExecutionDefaultTimeoutInInstrumentedProcessMillis] - */ -data class UtConcreteExecutionData( - val stateBefore: EnvironmentModels, - val instrumentation: List, - val timeout: Long -) - -data class UtConcreteExecutionResult( - val stateAfter: EnvironmentModels, - val result: UtExecutionResult, - val coverage: Coverage, - val newInstrumentation: List? = null, -) { - override fun toString(): String = buildString { - appendLine("UtConcreteExecutionResult(") - appendLine("stateAfter=$stateAfter") - appendLine("result=$result") - appendLine("coverage=$coverage)") - } -} - -interface UtExecutionInstrumentation : Instrumentation { - override fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any? - ): UtConcreteExecutionResult = invoke( - clazz, methodSignature, arguments, parameters, phasesWrapper = { invokeBasePhases -> invokeBasePhases() } - ) - - fun invoke( - clazz: Class<*>, - methodSignature: String, - arguments: ArgumentList, - parameters: Any?, - phasesWrapper: PhasesController.(invokeBasePhases: () -> UtConcreteExecutionResult) -> UtConcreteExecutionResult - ): UtConcreteExecutionResult - - interface Factory : Instrumentation.Factory { - override fun create(): TInstrumentation = create(SimpleInstrumentationContext()) - - fun create(instrumentationContext: InstrumentationContext): TInstrumentation - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/InstrumentationContextAwareValueConstructor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/InstrumentationContextAwareValueConstructor.kt deleted file mode 100644 index a53df612..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/InstrumentationContextAwareValueConstructor.kt +++ /dev/null @@ -1,504 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import org.mockito.Mockito -import org.mockito.stubbing.Answer -import org.objectweb.asm.Type -import org.utbot.common.Reflection -import org.utbot.common.invokeCatching -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.DirectFieldAccessId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtClassRefModel -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.framework.plugin.api.UtDirectGetFieldModel -import org.utbot.framework.plugin.api.UtDirectSetFieldModel -import org.utbot.framework.plugin.api.UtEnumConstantModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtLambdaModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNewInstanceInstrumentation -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.UtReferenceModel -import org.utbot.framework.plugin.api.UtStatementCallModel -import org.utbot.framework.plugin.api.UtStaticMethodInstrumentation -import org.utbot.framework.plugin.api.UtVoidModel -import org.utbot.framework.plugin.api.util.anyInstance -import org.utbot.framework.plugin.api.util.constructor -import org.utbot.framework.plugin.api.util.constructor.CapturedArgument -import org.utbot.framework.plugin.api.util.constructor.constructLambda -import org.utbot.framework.plugin.api.util.constructor.constructStaticLambda -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.framework.plugin.api.util.isStatic -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.jField -import org.utbot.framework.plugin.api.util.method -import org.utbot.framework.plugin.api.util.utContext -import org.utbot.instrumentation.instrumentation.execution.mock.InstanceMockController -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext -import org.utbot.instrumentation.instrumentation.execution.mock.MethodMockController -import org.utbot.instrumentation.instrumentation.execution.mock.MockController -import org.utbot.instrumentation.process.runSandbox -import java.lang.reflect.Modifier -import java.util.* -import kotlin.reflect.KClass - -/** - * Constructs values (including mocks) from models. - * - * Uses model->constructed object reference-equality cache. - * - * This class is based on `ValueConstructor.kt`. The main difference is the ability to create mocked objects, mock - * static methods, and [construct context dependent values][InstrumentationContext.constructContextDependentValue]. - * - * Note that `clearState` was deleted! - */ -// TODO: JIRA:1379 -- Refactor ValueConstructor and InstrumentationContextAwareValueConstructor -class InstrumentationContextAwareValueConstructor( - private val instrumentationContext: InstrumentationContext -) { - private val classLoader: ClassLoader - get() = utContext.classLoader - - val objectToModelCache: IdentityHashMap - get() { - val objectToModel = IdentityHashMap() - constructedObjects.forEach { (model, obj) -> - objectToModel[obj] = model - } - return objectToModel - } - - // TODO: JIRA:1379 -- replace UtReferenceModel with Int - private val constructedObjects = HashMap() - - /** - * Controllers contain info about mocked methods and have to be closed to restore initial state. - */ - private val controllers = mutableListOf() - - fun constructMethodParameters(models: List): List> = - models.mapIndexed { _, model -> construct(model) } - - fun constructStatics(staticsBefore: Map): Map> = - staticsBefore.mapValues { (_, model) -> construct(model) } - - /** - * Main construction method. - * - * Takes care of nulls. Does not use cache, instead construct(Object/Array/List/FromAssembleModel) method - * uses cache directly. - * - * Takes mock creation context (possible mock target) to create mock if required. - */ - private fun construct(model: UtModel): UtConcreteValue<*> = - when (model) { - is UtNullModel -> UtConcreteValue(null, model.classId.jClass) - is UtPrimitiveModel -> UtConcreteValue(model.value, model.classId.jClass) - is UtEnumConstantModel -> UtConcreteValue(constructEnum(model)) - is UtClassRefModel -> UtConcreteValue(model.value.jClass) - is UtCompositeModel -> UtConcreteValue(constructObject(model), model.classId.jClass) - is UtArrayModel -> UtConcreteValue(constructArray(model)) - is UtAssembleModel -> UtConcreteValue(constructFromAssembleModel(model), model.classId.jClass) - is UtLambdaModel -> UtConcreteValue(constructFromLambdaModel(model)) - is UtVoidModel -> UtConcreteValue(Unit) - else -> { - instrumentationContext.constructContextDependentValue(model) ?: - // PythonModel, JsUtModel may be here - throw UnsupportedOperationException("UtModel $model cannot construct UtConcreteValue") - } - } - - /** - * Constructs an Enum<*> instance by model, uses reference-equality cache. - */ - private fun constructEnum(model: UtEnumConstantModel): Any { - constructedObjects[model]?.let { return it } - constructedObjects[model] = model.value - return model.value - } - - /** - * Constructs object by model, uses reference-equality cache. - * - * Returns null for mock cause cannot instantiate it. - */ - private fun constructObject(model: UtCompositeModel): Any { - constructedObjects[model]?.let { return it } - - val javaClass = javaClass(model.classId) - - val classInstance = if (!model.isMock) { - val notMockInstance = javaClass.anyInstance - - constructedObjects[model] = notMockInstance - notMockInstance - } else { - val concreteValues = model.mocks.mapValues { mutableListOf() } - val mockInstance = generateMockitoMock(javaClass, concreteValues) - - constructedObjects[model] = mockInstance - - concreteValues.forEach { (executableId, valuesList) -> - val mockModels = model.mocks.getValue(executableId) - // If model is unit, then null should be returned (this model has to be already constructed). - val constructedValues = mockModels.map { model -> construct(model).value.takeIf { it != Unit } } - valuesList.addAll(constructedValues) - } - - mockInstance - } - - model.fields.forEach { (fieldId, fieldModel) -> - val declaredField = fieldId.jField - val accessible = declaredField.isAccessible - declaredField.isAccessible = true - - check(Reflection.isModifiersAccessible()) - - val value = construct(fieldModel).value - val instance = if (Modifier.isStatic(declaredField.modifiers)) null else classInstance - declaredField.set(instance, value) - declaredField.isAccessible = accessible - } - - return classInstance - } - - private fun generateMockitoAnswer(concreteValues: Map>): Answer<*> { - val pointers = concreteValues.mapValues { (_, _) -> 0 }.toMutableMap() - return Answer { invocation -> - with(invocation.method) { - pointers[executableId].let { pointer -> - concreteValues[executableId].let { values -> - if (pointer != null && values != null && pointer < values.size) { - pointers[executableId] = pointer + 1 - values[pointer] - } else { - invocation.callRealMethod() - } - } - } - } - } - } - - private fun generateMockitoMock(clazz: Class<*>, concreteValues: Map>): Any { - val answer = generateMockitoAnswer(concreteValues) - return Mockito.mock(clazz, answer) - } - - private fun computeConcreteValuesForMethods( - methodToValues: Map>, - ): Map> = methodToValues.mapValues { (_, models) -> - models.map { mockAndGet(it) } - } - - /** - * Mocks methods on [instance] with supplied [methodToValues]. - * - * Also add new controllers to [controllers]. Each controller corresponds to one method. If it is a static method, then the controller - * must be closed. If it is a non-static method and you don't change the mocks behaviour on the passed instance, - * then the controller doesn't have to be closed - * - * @param [instance] must be non-`null` for non-static methods. - * @param [methodToValues] return values for methods. - */ - private fun mockMethods( - instance: Any?, - methodToValues: Map>, - ) { - controllers += computeConcreteValuesForMethods(methodToValues).map { (method, values) -> - if (method !is MethodId) { - throw IllegalArgumentException("Expected MethodId, but got: $method") - } - MethodMockController( - method.classId.jClass, - method.method, - instance, - values, - instrumentationContext - ) - } - - } - - /** - * Mocks static methods according to instrumentations. - */ - fun mockStaticMethods( - instrumentations: List, - ) { - val methodToValues = instrumentations.associate { it.methodId as ExecutableId to it.values } - mockMethods(null, methodToValues) - } - - /** - * Mocks new instances according to instrumentations - */ - fun mockNewInstances( - instrumentations: List, - ) { - controllers += instrumentations.map { mock -> - InstanceMockController( - mock.classId, - mock.instances.map { mockAndGet(it) }, - mock.callSites.map { Type.getType(it.jClass).internalName }.toSet() - ) - } - } - - /** - * Constructs array by model. - * - * Supports arrays of primitive, arrays of arrays and arrays of objects. - * - * Note: does not check isNull, but if isNull set returns empty array because for null array length set to 0. - */ - private fun constructArray(model: UtArrayModel): Any { - constructedObjects[model]?.let { return it } - - with(model) { - val elementClassId = classId.elementClassId ?: error( - "Provided incorrect UtArrayModel without elementClassId. ClassId: ${model.classId}, model: $model" - ) - return when (elementClassId.jvmName) { - "B" -> ByteArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "S" -> ShortArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "C" -> CharArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "I" -> IntArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "J" -> LongArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "F" -> FloatArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "D" -> DoubleArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - "Z" -> BooleanArray(length) { primitive(constModel) }.apply { - stores.forEach { (index, model) -> this[index] = primitive(model) } - }.also { constructedObjects[model] = it } - else -> { - val javaClass = javaClass(elementClassId) - val instance = java.lang.reflect.Array.newInstance(javaClass, length) as Array<*> - constructedObjects[model] = instance - for (i in instance.indices) { - val elementModel = stores[i] ?: constModel - val value = construct(elementModel).value - try { - java.lang.reflect.Array.set(instance, i, value) - } catch (iae:IllegalArgumentException) { - throw IllegalArgumentException( - iae.message + " array: ${instance.javaClass.name}; value: ${value?.javaClass?.name}" , iae - ) - } - } - instance - } - } - } - } - - /** - * Constructs object with [UtAssembleModel]. - */ - private fun constructFromAssembleModel(assembleModel: UtAssembleModel): Any { - constructedObjects[assembleModel]?.let { return it } - - val instantiationExecutableCall = assembleModel.instantiationCall - val result = updateWithStatementCallModel(instantiationExecutableCall) - - // Executions that get `null` in a complicated way (e.g. like this: `new Pair(null, null).getFirst()`) - // are only produced by fuzzer and are considered undesirable because fuzzer can also produce simpler - // executions that just use `null` literal. - // - // So for such executions we throw `IllegalStateException` that indicates that construction of arguments - // has failed and causes execution to terminate with `UtConcreteExecutionProcessedFailure` execution result. - // - // That is also helpful, because it allows to safely use the constructed value where primitive type is expected, - // otherwise some models generated by `FieldValueProvider` can lead to false-positive NPEs. - checkNotNull(result) { - "Tracked instance can't be null for call ${instantiationExecutableCall.statement} in model $assembleModel" - } - constructedObjects[assembleModel] = result - - assembleModel.modificationsChain.forEach { statementModel -> - when (statementModel) { - is UtStatementCallModel -> updateWithStatementCallModel(statementModel) - is UtDirectSetFieldModel -> updateWithDirectSetFieldModel(statementModel) - } - } - - return constructedObjects[assembleModel] ?: error("Can't assemble model: $assembleModel") - } - - private fun constructFromLambdaModel(lambdaModel: UtLambdaModel): Any { - constructedObjects[lambdaModel]?.let { return it } - // A class representing a functional interface. - val samType: Class<*> = lambdaModel.samType.jClass - // A class where the lambda is declared. - val declaringClass: Class<*> = lambdaModel.declaringClass.jClass - // A name of the synthetic method that represents a lambda. - val lambdaName = lambdaModel.lambdaName - - val lambda = if (lambdaModel.lambdaMethodId.isStatic) { - val capturedArguments = lambdaModel.capturedValues - .map { model -> CapturedArgument(type = model.classId.jClass, value = value(model)) } - .toTypedArray() - constructStaticLambda(samType, declaringClass, lambdaName, *capturedArguments) - } else { - val capturedReceiverModel = lambdaModel.capturedValues.firstOrNull() - ?: error("Non-static lambda must capture `this` instance, so there must be at least one captured value") - - // Values that the given lambda has captured. - val capturedReceiver = value(capturedReceiverModel) - val capturedArguments = lambdaModel.capturedValues.subList(1, lambdaModel.capturedValues.size) - .map { model -> CapturedArgument(type = model.classId.jClass, value = value(model)) } - .toTypedArray() - constructLambda(samType, declaringClass, lambdaName, capturedReceiver, *capturedArguments) - } - constructedObjects[lambdaModel] = lambda - return lambda - } - - /** - * Updates instance state with [callModel] invocation. - * - * @return the result of [callModel] invocation - */ - private fun updateWithStatementCallModel(callModel: UtStatementCallModel): Any? { - when (callModel) { - is UtExecutableCallModel -> { - val executable = callModel.executable - val instanceValue = callModel.instance?.let { value(it) } - val params = callModel.params.map { value(it) } - - return when (executable) { - is MethodId -> executable.call(params, instanceValue) - is ConstructorId -> executable.call(params) - } - } - is UtDirectGetFieldModel -> { - val fieldAccess = callModel.fieldAccess - val instanceValue = value(callModel.instance) - - return fieldAccess.get(instanceValue) - } - } - } - - /** - * Updates instance with [UtDirectSetFieldModel] execution. - */ - private fun updateWithDirectSetFieldModel(directSetterModel: UtDirectSetFieldModel) { - val instanceModel = directSetterModel.instance - val instance = value(instanceModel) - - val fieldModel = directSetterModel.fieldModel - - val field = directSetterModel.fieldId.jField - val isAccessible = field.isAccessible - - try { - //set field accessible to support protected or package-private direct setters - field.isAccessible = true - - //construct and set the value - val fieldValue = construct(fieldModel).value - field.set(instance, fieldValue) - } finally { - //restore accessibility property of the field - field.isAccessible = isAccessible - } - } - - /** - * Constructs value from [UtModel]. - */ - private fun value(model: UtModel) = construct(model).value - - private fun mockAndGet(model: UtModel): Any? { - return construct(model).value - } - - private fun MethodId.call(args: List, instance: Any?): Any? = - method.runSandbox(bypassesSandbox) { - invokeCatching(obj = instance, args = args).getOrThrow() - } - - private fun ConstructorId.call(args: List): Any? = - constructor.runSandbox(bypassesSandbox) { - newInstance(*args.toTypedArray()) - } - - private fun DirectFieldAccessId.get(instance: Any?): Any? { - val field = fieldId.jField - return field.runSandbox { - field.get(instance) - } - } - - /** - * Fetches primitive value from NutsModel to create array of primitives. - */ - private inline fun primitive(model: UtModel): T = (model as UtPrimitiveModel).value as T - - private fun javaClass(id: ClassId) = kClass(id).java - - private fun kClass(id: ClassId) = - if (id.elementClassId != null) { - arrayClassOf(id.elementClassId!!) - } else { - when (id.jvmName) { - "B" -> Byte::class - "S" -> Short::class - "C" -> Char::class - "I" -> Int::class - "J" -> Long::class - "F" -> Float::class - "D" -> Double::class - "Z" -> Boolean::class - else -> classLoader.loadClass(id.name).kotlin - } - } - - private fun arrayClassOf(elementClassId: ClassId): KClass<*> = - if (elementClassId.elementClassId != null) { - val elementClass = arrayClassOf(elementClassId.elementClassId!!) - java.lang.reflect.Array.newInstance(elementClass.java, 0)::class - } else { - when (elementClassId.jvmName) { - "B" -> ByteArray::class - "S" -> ShortArray::class - "C" -> CharArray::class - "I" -> IntArray::class - "J" -> LongArray::class - "F" -> FloatArray::class - "D" -> DoubleArray::class - "Z" -> BooleanArray::class - else -> { - val elementClass = classLoader.loadClass(elementClassId.name) - java.lang.reflect.Array.newInstance(elementClass, 0)::class - } - } - } - - fun resetMockedMethods() { - controllers.forEach { it.close() } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/IterableConstructors.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/IterableConstructors.kt deleted file mode 100644 index d83c4ccf..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/IterableConstructors.kt +++ /dev/null @@ -1,72 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtStatementModel -import org.utbot.framework.plugin.api.util.booleanClassId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.objectClassId - -internal class CollectionConstructor : UtAssembleModelConstructorBase() { - override fun UtAssembleModel.provideModificationChain( - internalConstructor: UtModelConstructorInterface, - value: Any - ): List { - @Suppress("PLATFORM_CLASS_MAPPED_TO_KOTLIN") - value as java.util.Collection<*> - - // If [value] constructed incorrectly (some inner transient fields are null, etc.) this may fail. - // This value will be constructed as UtCompositeModel. - val models = value.map { internalConstructor.construct(it, valueToClassId(it)) } - - val classId = value::class.java.id - - val addMethodId = MethodId(classId, "add", booleanClassId, listOf(objectClassId)) - - return models.map { UtExecutableCallModel(this, addMethodId, listOf(it)) } - } - - override fun provideInstantiationCall( - internalConstructor: UtModelConstructorInterface, - value: Any, - classId: ClassId - ): UtExecutableCallModel = - UtExecutableCallModel( - instance = null, - ConstructorId(classId, emptyList()), - emptyList() - ) -} - -internal class MapConstructor : UtAssembleModelConstructorBase() { - override fun provideInstantiationCall( - internalConstructor: UtModelConstructorInterface, - value: Any, - classId: ClassId - ): UtExecutableCallModel = - UtExecutableCallModel( - instance = null, - ConstructorId(classId, emptyList()), - emptyList() - ) - - override fun UtAssembleModel.provideModificationChain( - internalConstructor: UtModelConstructorInterface, - value: Any - ): List { - value as java.util.AbstractMap<*, *> - - val keyToValueModels = value.map { (key, value) -> - internalConstructor.run { construct(key, valueToClassId(key)) to construct(value, valueToClassId(value)) } - } - - val putMethodId = MethodId(classId, "put", objectClassId, listOf(objectClassId, objectClassId)) - - return keyToValueModels.map { (key, value) -> - UtExecutableCallModel(this, putMethodId, listOf(key, value)) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/OptionalConstructors.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/OptionalConstructors.kt deleted file mode 100644 index 76b9e87e..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/OptionalConstructors.kt +++ /dev/null @@ -1,87 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import java.util.Optional -import java.util.OptionalDouble -import java.util.OptionalInt -import java.util.OptionalLong -import kotlin.reflect.KFunction1 -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.util.doubleClassId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.intClassId -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.longClassId -import org.utbot.framework.plugin.api.util.objectClassId - - -internal sealed class OptionalConstructorBase : UtAssembleModelConstructorBase() { - abstract val classId: ClassId - abstract val elementClassId: ClassId - - abstract val isPresent: KFunction1<*, Boolean> - abstract val getter: KFunction1<*, Any> - final override fun provideInstantiationCall( - internalConstructor: UtModelConstructorInterface, - value: Any, - classId: ClassId - ): UtExecutableCallModel { - require(classId.jClass.isInstance(value)) { - "Can't cast $value to ${classId.jClass} in $this assemble constructor." - } - - return if (!isPresent.call(value)) { - UtExecutableCallModel( - instance = null, - emptyMethodId, - emptyList() - ) - } else { - UtExecutableCallModel( - instance = null, - ofMethodId, - listOf(internalConstructor.construct(getter.call(value), elementClassId)) - ) - } - } - - private val emptyMethodId by lazy { MethodId(classId, "empty", classId, emptyList()) } - private val ofMethodId by lazy { MethodId(classId, "of", classId, listOf(elementClassId)) } - - final override fun UtAssembleModel.provideModificationChain( - internalConstructor: UtModelConstructorInterface, - value: Any - ): List = emptyList() -} - -internal class OptionalConstructor : OptionalConstructorBase() { - override val classId = Optional::class.java.id - override val elementClassId = objectClassId - override val isPresent = Optional<*>::isPresent - override val getter = Optional<*>::get -} - -internal class OptionalIntConstructor : OptionalConstructorBase() { - override val classId = OptionalInt::class.java.id - override val elementClassId = intClassId - override val isPresent = OptionalInt::isPresent - override val getter = OptionalInt::getAsInt -} - -internal class OptionalLongConstructor : OptionalConstructorBase() { - override val classId = OptionalLong::class.java.id - override val elementClassId = longClassId - override val isPresent = OptionalLong::isPresent - override val getter = OptionalLong::getAsLong -} - -internal class OptionalDoubleConstructor : OptionalConstructorBase() { - override val classId = OptionalDouble::class.java.id - override val elementClassId = doubleClassId - override val isPresent = OptionalDouble::isPresent - override val getter = OptionalDouble::getAsDouble -} - -// there are no optional wrappers for other primitive types in java.util.* \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/PrimitiveWrapperConstructor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/PrimitiveWrapperConstructor.kt deleted file mode 100644 index ca73e242..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/PrimitiveWrapperConstructor.kt +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.UtStatementModel -import org.utbot.framework.plugin.api.util.constructorId -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.primitiveByWrapper -import org.utbot.framework.plugin.api.util.stringClassId - -internal class PrimitiveWrapperConstructor : UtAssembleModelConstructorBase() { - override fun provideInstantiationCall( - internalConstructor: UtModelConstructorInterface, - value: Any, - classId: ClassId - ): UtExecutableCallModel { - checkClassCast(classId.jClass, value::class.java) - - return UtExecutableCallModel( - instance = null, - constructorId(classId, classId.unbox()), - listOf(UtPrimitiveModel(value)) - ) - - } - - override fun UtAssembleModel.provideModificationChain( - internalConstructor: UtModelConstructorInterface, - value: Any - ): List = emptyList() -} - - -private fun ClassId.unbox() = if (this == stringClassId) { - stringClassId -} else { - primitiveByWrapper.getOrElse(this) { error("Unknown primitive wrapper: $this") } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/StreamConstructors.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/StreamConstructors.kt deleted file mode 100644 index eeb57843..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/StreamConstructors.kt +++ /dev/null @@ -1,120 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.UtStatementModel -import org.utbot.framework.plugin.api.util.defaultValueModel -import org.utbot.framework.plugin.api.util.doubleArrayClassId -import org.utbot.framework.plugin.api.util.doubleStreamClassId -import org.utbot.framework.plugin.api.util.intArrayClassId -import org.utbot.framework.plugin.api.util.intStreamClassId -import org.utbot.framework.plugin.api.util.isPrimitiveWrapper -import org.utbot.framework.plugin.api.util.longArrayClassId -import org.utbot.framework.plugin.api.util.longStreamClassId -import org.utbot.framework.plugin.api.util.methodId -import org.utbot.framework.plugin.api.util.objectArrayClassId -import org.utbot.framework.plugin.api.util.streamClassId - -/** - * Max number of elements in any concrete stream. - */ -private const val STREAM_ELEMENTS_LIMIT: Int = 1_000_000 - -internal abstract class AbstractStreamConstructor( - private val streamClassId: ClassId, - private val elementsClassId: ClassId, -) : UtAssembleModelConstructorBase() { - private val singleElementClassId: ClassId = elementsClassId.elementClassId - ?: error("Stream $streamClassId elements have to be an array but $elementsClassId found") - - private val elementDefaultValueModel: UtModel = singleElementClassId.defaultValueModel() - - override fun provideInstantiationCall( - internalConstructor: UtModelConstructorInterface, - value: Any, - classId: ClassId, - ): UtExecutableCallModel { - value as java.util.stream.BaseStream<*, *> - - val valueAsArray = value - .iterator() - .asSequence() - .take(STREAM_ELEMENTS_LIMIT) - .toList() - .toTypedArray() - - if (valueAsArray.isEmpty()) { - return UtExecutableCallModel( - instance = null, - executable = emptyMethodId, - params = emptyList() - ) - } - - // If [valueAsArray] constructed incorrectly (some inner transient fields are null, etc.) this may fail. - // This value will be constructed as UtCompositeModel. - val arrayModel = (internalConstructor.construct(valueAsArray, valueToClassId(valueAsArray)) as UtArrayModel) - .copy(classId = elementsClassId, constModel = elementDefaultValueModel) - .apply { stores.replaceAll { _, m -> m.wrapperModelToPrimitiveModel() } } - - return UtExecutableCallModel( - instance = null, - executable = ofMethodId, - params = listOf(arrayModel) - ) - } - - override fun UtAssembleModel.provideModificationChain( - internalConstructor: UtModelConstructorInterface, - value: Any - ): List = emptyList() - - private val emptyMethodId: MethodId = methodId( - classId = this.streamClassId, - name = "empty", - returnType = this.streamClassId, - arguments = emptyArray() - ) - - private val ofMethodId: MethodId = methodId( - classId = this.streamClassId, - name = "of", - returnType = this.streamClassId, - arguments = arrayOf(elementsClassId) // vararg - ) - - /** - * Transforms [this] to [UtPrimitiveModel] if it is an [UtAssembleModel] for the corresponding wrapper - * (primitive int and wrapper Integer, etc.), and throws an error otherwise. - */ - private fun UtModel.wrapperModelToPrimitiveModel(): UtModel { - if (!classId.isPrimitiveWrapper) { - // We do not need to transform classes other than primitive wrappers - return this - } - - require(this !is UtNullModel) { - "Unexpected null value in wrapper for primitive stream ${this@AbstractStreamConstructor}" - } - - require(this is UtAssembleModel) { - "Unexpected not wrapper assemble model $this for value in wrapper " + - "for primitive stream ${this@AbstractStreamConstructor.streamClassId}" - } - - return (instantiationCall.params.firstOrNull() as? UtPrimitiveModel) - ?: error("No primitive value parameter for wrapper constructor $instantiationCall in model $this " + - "in wrapper for primitive stream ${this@AbstractStreamConstructor.streamClassId}") - } -} - -internal class BaseStreamConstructor : AbstractStreamConstructor(streamClassId, objectArrayClassId) -internal class IntStreamConstructor : AbstractStreamConstructor(intStreamClassId, intArrayClassId) -internal class LongStreamConstructor : AbstractStreamConstructor(longStreamClassId, longArrayClassId) -internal class DoubleStreamConstructor : AbstractStreamConstructor(doubleStreamClassId, doubleArrayClassId) diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/UtAssembleModelConstructors.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/UtAssembleModelConstructors.kt deleted file mode 100644 index 39576b94..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/UtAssembleModelConstructors.kt +++ /dev/null @@ -1,131 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import java.util.stream.BaseStream -import java.util.stream.DoubleStream -import java.util.stream.IntStream -import java.util.stream.LongStream -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtStatementModel -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.primitiveWrappers -import org.utbot.framework.plugin.api.util.voidWrapperClassId - -private val predefinedConstructors = mutableMapOf, () -> UtAssembleModelConstructorBase>( - /** - * Optionals - */ - java.util.OptionalInt::class.java to { OptionalIntConstructor() }, - java.util.OptionalLong::class.java to { OptionalLongConstructor() }, - java.util.OptionalDouble::class.java to { OptionalDoubleConstructor() }, - java.util.Optional::class.java to { OptionalConstructor() }, - - /** - * Lists - */ - java.util.LinkedList::class.java to { CollectionConstructor() }, - java.util.ArrayList::class.java to { CollectionConstructor() }, - java.util.AbstractList::class.java to { CollectionConstructor() }, - java.util.List::class.java to { CollectionConstructor() }, - java.util.concurrent.CopyOnWriteArrayList::class.java to { CollectionConstructor() }, - - /** - * Queues, deques - */ - java.util.PriorityQueue::class.java to { CollectionConstructor() }, - java.util.ArrayDeque::class.java to { CollectionConstructor() }, - java.util.concurrent.LinkedBlockingQueue::class.java to { CollectionConstructor() }, - java.util.concurrent.LinkedBlockingDeque::class.java to { CollectionConstructor() }, - java.util.concurrent.ConcurrentLinkedQueue::class.java to { CollectionConstructor() }, - java.util.concurrent.ConcurrentLinkedDeque::class.java to { CollectionConstructor() }, - java.util.Queue::class.java to { CollectionConstructor() }, - java.util.Deque::class.java to { CollectionConstructor() }, - - /** - * Sets - */ - java.util.HashSet::class.java to { CollectionConstructor() }, - java.util.TreeSet::class.java to { CollectionConstructor() }, - java.util.LinkedHashSet::class.java to { CollectionConstructor() }, - java.util.AbstractSet::class.java to { CollectionConstructor() }, - java.util.Set::class.java to { CollectionConstructor() }, - - /** - * Maps - */ - java.util.HashMap::class.java to { MapConstructor() }, - java.util.TreeMap::class.java to { MapConstructor() }, - java.util.LinkedHashMap::class.java to { MapConstructor() }, - java.util.AbstractMap::class.java to { MapConstructor() }, - java.util.concurrent.ConcurrentMap::class.java to { MapConstructor() }, - java.util.concurrent.ConcurrentHashMap::class.java to { MapConstructor() }, - java.util.IdentityHashMap::class.java to { MapConstructor() }, - java.util.WeakHashMap::class.java to { MapConstructor() }, - - /** - * Hashtables - */ - java.util.Hashtable::class.java to { MapConstructor() }, - - /** - * String wrapper - */ - java.lang.String::class.java.let { it to { PrimitiveWrapperConstructor() } }, - - /** - * TODO: JIRA:1405 -- Add assemble constructors for another standard classes as well. - */ -).apply { - /** - * Primitive wrappers - */ - this += primitiveWrappers - .filter { it != voidWrapperClassId } - .associate { it.jClass to { PrimitiveWrapperConstructor() } } -} - -internal fun findUtAssembleModelConstructor(classId: ClassId): UtAssembleModelConstructorBase? = - predefinedConstructors[classId.jClass]?.invoke() - -internal fun findStreamConstructor(stream: BaseStream<*, *>): UtAssembleModelConstructorBase = - when (stream) { - is IntStream -> IntStreamConstructor() - is LongStream -> LongStreamConstructor() - is DoubleStream -> DoubleStreamConstructor() - else -> BaseStreamConstructor() - } - -internal abstract class UtAssembleModelConstructorBase { - fun constructAssembleModel( - internalConstructor: UtModelConstructorInterface, - value: Any, - valueClassId: ClassId, - id: Int?, - init: (UtAssembleModel) -> Unit - ): UtAssembleModel { - val baseName = valueClassId.simpleName.decapitalize() - val instantiationCall = provideInstantiationCall(internalConstructor, value, valueClassId) - return UtAssembleModel(id, valueClassId, nextModelName(baseName), instantiationCall) { - init(this) - provideModificationChain(internalConstructor, value) - } - } - - protected abstract fun provideInstantiationCall( - internalConstructor: UtModelConstructorInterface, - value: Any, - classId: ClassId - ): UtExecutableCallModel - - protected abstract fun UtAssembleModel.provideModificationChain( - internalConstructor: UtModelConstructorInterface, - value: Any - ): List -} - -internal fun UtAssembleModelConstructorBase.checkClassCast(expected: Class<*>, actual: Class<*>) { - require(expected.isAssignableFrom(actual)) { - "Can't cast $actual to $expected in $this assemble constructor." - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/UtModelConstructor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/UtModelConstructor.kt deleted file mode 100644 index c9a9f75a..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/UtModelConstructor.kt +++ /dev/null @@ -1,381 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import org.utbot.common.asPathToFile -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.* -import org.utbot.framework.plugin.api.visible.UtStreamConsumingException -import java.lang.reflect.Modifier -import java.util.* -import java.util.stream.BaseStream - -/** - * Represents common interface for model constructors. - */ -interface UtModelConstructorInterface { - /** - * Constructs a UtModel from a concrete [value] with a specific [classId]. - */ - fun construct(value: Any?, classId: ClassId): UtModel -} - -/** - * Constructs models from concrete values. - * - * Uses reflection to traverse fields recursively ignoring static final fields. Also uses object->constructed model - * reference-equality cache. - * - * @param objectToModelCache cache used for the model construction with respect to stateBefore. For each object, it first - * @param compositeModelStrategy decides whether we should construct a composite model for a certain value or not. - * @param maxDepth determines max depth for composite and assemble model nesting - * searches in [objectToModelCache] for [UtReferenceModel.id]. - */ -class UtModelConstructor( - private val objectToModelCache: IdentityHashMap, - private val compositeModelStrategy: UtCompositeModelStrategy = AlwaysConstructStrategy, - private val maxDepth: Long = DEFAULT_MAX_DEPTH -) : UtModelConstructorInterface { - private val constructedObjects = IdentityHashMap() - - private var unusedId = 0 - private val usedIds = objectToModelCache.values - .filterIsInstance() - .mapNotNull { it.id } - .toMutableSet() - - companion object { - private const val DEFAULT_MAX_DEPTH = 7L - - fun createOnlyUserClassesConstructor(pathsToUserClasses: Set): UtModelConstructor { - val cache = IdentityHashMap() - val strategy = ConstructOnlyUserClassesOrCachedObjectsStrategy( - pathsToUserClasses, cache - ) - return UtModelConstructor(cache, strategy) - } - } - - private fun computeUnusedIdAndUpdate(): Int { - while (unusedId in usedIds) { - unusedId++ - } - return unusedId.also { usedIds += it } - } - - private fun handleId(value: Any): Int { - return objectToModelCache[value]?.let { (it as? UtReferenceModel)?.id } ?: computeUnusedIdAndUpdate() - } - - private val proxyLambdaSubstring = "$\$Lambda$" - - private fun isProxyLambda(value: Any?): Boolean { - if (value == null) { - return false - } - return proxyLambdaSubstring in value::class.java.name - } - - private fun constructFakeLambda(value: Any, classId: ClassId): UtLambdaModel { - val baseClassName = value::class.java.name.substringBefore(proxyLambdaSubstring) - val baseClass = utContext.classLoader.loadClass(baseClassName).id - return UtLambdaModel.createFake(handleId(value), classId, baseClass) - } - - /** - * Constructs a UtModel from a concrete [value] with a specific [classId]. The result can be a [UtAssembleModel] - * as well. - * - * Handles cache on stateBefore values. - */ - override fun construct(value: Any?, classId: ClassId): UtModel = - construct(value, classId, maxDepth) - - private fun construct(value: Any?, classId: ClassId, remainingDepth: Long): UtModel { - objectToModelCache[value]?.let { model -> - if (model is UtLambdaModel) { - return model - } - } - if (isProxyLambda(value)) { - return constructFakeLambda(value!!, classId) - } - return when (value) { - null -> UtNullModel(classId) - is Unit -> UtVoidModel - is Byte, - is Short, - is Char, - is Int, - is Long, - is Float, - is Double, - is Boolean -> if (classId.isPrimitive) UtPrimitiveModel(value) else constructFromAny(value, remainingDepth) - - is ByteArray -> constructFromByteArray(value, remainingDepth) - is ShortArray -> constructFromShortArray(value, remainingDepth) - is CharArray -> constructFromCharArray(value, remainingDepth) - is IntArray -> constructFromIntArray(value, remainingDepth) - is LongArray -> constructFromLongArray(value, remainingDepth) - is FloatArray -> constructFromFloatArray(value, remainingDepth) - is DoubleArray -> constructFromDoubleArray(value, remainingDepth) - is BooleanArray -> constructFromBooleanArray(value, remainingDepth) - is Array<*> -> constructFromArray(value, remainingDepth) - is Enum<*> -> constructFromEnum(value) - is Class<*> -> constructFromClass(value) - is BaseStream<*, *> -> constructFromStream(value) - else -> constructFromAny(value, remainingDepth) - } - } - - fun constructMock(instance: Any, classId: ClassId, mocks: Map>): UtModel = - constructedObjects.getOrElse(instance) { - val utModel = UtCompositeModel( - handleId(instance), - classId, - isMock = true, - mocks = mocks.mapValuesTo(mutableMapOf()) { (method, values) -> - values.map { construct(it, method.returnType) } - } - ) - constructedObjects[instance] = utModel - utModel - } - - // Q: Is there a way to get rid of duplicated code? - - private fun constructFromDoubleArray(array: DoubleArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0.toDouble()), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, doubleClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromFloatArray(array: FloatArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0.toFloat()), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, floatClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromLongArray(array: LongArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0.toLong()), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, longClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromIntArray(array: IntArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, intClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromCharArray(array: CharArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0.toChar()), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, charClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromShortArray(array: ShortArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0.toShort()), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, shortClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromByteArray(array: ByteArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(0.toByte()), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, byteClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromBooleanArray(array: BooleanArray, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtPrimitiveModel(false), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, booleanClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromArray(array: Array<*>, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(array) { - val stores = mutableMapOf() - val utModel = - UtArrayModel(handleId(array), array::class.java.id, array.size, UtNullModel(objectClassId), stores) - constructedObjects[array] = utModel - array.forEachIndexed { idx, value -> - stores[idx] = construct(value, objectClassId, remainingDepth - 1) - } - utModel - } - - private fun constructFromEnum(enum: Enum<*>): UtModel = - constructedObjects.getOrElse(enum) { - val utModel = UtEnumConstantModel(handleId(enum), enum::class.java.id, enum) - constructedObjects[enum] = utModel - utModel - } - - private fun constructFromClass(clazz: Class<*>): UtModel = - constructedObjects.getOrElse(clazz) { - val utModel = UtClassRefModel(handleId(clazz), clazz::class.java.id, clazz.id) - constructedObjects[clazz] = utModel - utModel - } - - private fun constructFromStream(stream: BaseStream<*, *>): UtModel = - constructedObjects.getOrElse(stream) { - val streamConstructor = findStreamConstructor(stream) - - try { - streamConstructor.constructAssembleModel(this, stream, valueToClassId(stream), handleId(stream)) { - constructedObjects[stream] = it - } - } catch (e: Exception) { - // An exception occurs during consuming of the stream - - // remove the constructed object and throw this exception as a result - constructedObjects.remove(stream) - throw UtStreamConsumingException(e) - } - } - - /** - * First tries to construct UtAssembleModel. If failure, constructs UtCompositeModel. - */ - private fun constructFromAny(value: Any, remainingDepth: Long): UtModel = - constructedObjects.getOrElse(value) { - tryConstructUtAssembleModel(value, remainingDepth) ?: constructCompositeModel(value, remainingDepth) - } - - /** - * Constructs UtAssembleModel but does it only for predefined list of classes. - * - * Uses runtime class of an object. - */ - private fun tryConstructUtAssembleModel(value: Any, remainingDepth: Long): UtModel? = - findUtAssembleModelConstructor(value::class.java.id)?.let { assembleConstructor -> - try { - assembleConstructor.constructAssembleModel( - internalConstructor = this.withMaxDepth(remainingDepth - 1), - value = value, - valueClassId = valueToClassId(value), - id = handleId(value), - ) { - constructedObjects[value] = it - } - } catch (e: Exception) { // If UtAssembleModel constructor failed, we need to remove model and return null - constructedObjects.remove(value) - null - } - } - - /** - * Constructs UtCompositeModel. - * - * Uses runtime javaClass to collect ALL fields, except final static fields, and builds this model recursively. - */ - private fun constructCompositeModel(value: Any, remainingDepth: Long): UtModel { - // value can be mock only if it was previously constructed from UtCompositeModel - val isMock = objectToModelCache[value]?.isMockModel() ?: false - - val javaClazz = if (isMock) objectToModelCache.getValue(value).classId.jClass else value::class.java - if (remainingDepth <= 0 || !compositeModelStrategy.shouldConstruct(value, javaClazz)) { - return UtCompositeModel( - handleId(value), - javaClazz.id, - isMock, - fields = mutableMapOf() // we don't want to construct any further fields. - ) - } - - val fields = mutableMapOf() - val utModel = UtCompositeModel(handleId(value), javaClazz.id, isMock, fields) - constructedObjects[value] = utModel - generateSequence(javaClazz) { it.superclass }.forEach { clazz -> - val allFields = clazz.declaredFields - allFields - .asSequence() - .filter { !(Modifier.isFinal(it.modifiers) && Modifier.isStatic(it.modifiers)) } // TODO: what about static final fields? - .filterNot { it.fieldId.isInaccessibleViaReflection } - .forEach { it.withAccessibility { fields[it.fieldId] = construct(it.get(value), it.type.id, remainingDepth - 1) } } - } - return utModel - } - - private fun withMaxDepth(newMaxDepth: Long) = object : UtModelConstructorInterface { - override fun construct(value: Any?, classId: ClassId): UtModel = - construct(value, classId, newMaxDepth) - } -} - -/** - * Decides, should we construct a UtCompositeModel from a value or not. - */ -interface UtCompositeModelStrategy { - fun shouldConstruct(value: Any, clazz: Class<*>): Boolean -} - -internal object AlwaysConstructStrategy : UtCompositeModelStrategy { - override fun shouldConstruct(value: Any, clazz: Class<*>): Boolean = true -} - -/** - * This class constructs only user classes or values which are already in [objectToModelCache]. - * - * [objectToModelCache] is a cache which we build in the time of creating concrete values from [UtModel]s. - */ -internal class ConstructOnlyUserClassesOrCachedObjectsStrategy( - private val userDependencyPaths: Set, - private val objectToModelCache: IdentityHashMap -) : UtCompositeModelStrategy { - /** - * Check whether [clazz] is a user class or [value] is in cache. - */ - override fun shouldConstruct(value: Any, clazz: Class<*>): Boolean = - isUserClass(clazz) || value in objectToModelCache - - private fun isUserClass(clazz: Class<*>): Boolean = - clazz.protectionDomain.codeSource?.let { it.location.path.asPathToFile() in userDependencyPaths } ?: false - -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/Utils.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/Utils.kt deleted file mode 100644 index e79ba0ae..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/constructors/Utils.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.constructors - -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.objectClassId -import java.util.concurrent.atomic.AtomicInteger - -internal fun valueToClassId(value: Any?) = value?.let { it::class.java.id } ?: objectClassId - -val concreteModelId = AtomicInteger() - -fun nextModelName(base: String): String = "${base}_concrete_${concreteModelId.incrementAndGet()}" \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/context/InstrumentationContext.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/context/InstrumentationContext.kt deleted file mode 100644 index 6f207bdb..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/context/InstrumentationContext.kt +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.context - -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.framework.plugin.api.UtModel -import java.lang.reflect.Method -import java.util.IdentityHashMap -import org.utbot.instrumentation.instrumentation.mock.computeKeyForMethod - -/** - * Some information, which is fully computed after classes instrumentation. - * - * This information will be used later in `invoke` function to construct values. - */ -interface InstrumentationContext { - /** - * Contains unique id for each method, which is required for this method mocking. - */ - val methodSignatureToId: MutableMap - - /** - * Constructs value that is dependent on the context provided by supported frameworks used in project (e.g. Spring). - * Returns `null` if no context dependent value can be constructed for specified [model]. - * - * NOTE! Doesn't attempt to construct context independent values, - * constructing such values is a responsibility of the user of this method. - */ - fun constructContextDependentValue(model: UtModel): UtConcreteValue<*>? - - object MockGetter { - data class MockContainer(private val values: List<*>) { - private var ptr: Int = 0 - fun hasNext(): Boolean = ptr < values.size - fun nextValue(): Any? = values[ptr++] - } - - /** - * Instance -> method -> list of values in the return order - */ - private val mocks = IdentityHashMap>() - private val callSites = HashMap>() - - /** - * Returns possibility of taking mock object of method with supplied [methodSignature] on an [obj] object. - */ - @JvmStatic - fun hasMock(obj: Any?, methodSignature: String): Boolean = - mocks[obj]?.get(methodSignature)?.hasNext() ?: false - - /** - * Returns the next value for mocked method with supplied [methodSignature] on an [obj] object. - * - * This function has only to be called from the instrumented bytecode everytime - * we need a next value for a mocked method. - */ - @JvmStatic - fun getMock(obj: Any?, methodSignature: String): Any? = - mocks[obj]?.get(methodSignature).let { container -> - container ?: error("Can't get mock container for method [$obj\$$methodSignature]") - container.nextValue() - } - - /** - * Returns current callSites for mocking new instance of [instanceType] contains [callSite] or not - */ - @JvmStatic - fun checkCallSite(instanceType: String, callSite: String): Boolean { - return callSites.getOrDefault(instanceType, emptySet()).contains(callSite) - } - - fun updateCallSites(instanceType: String, instanceCallSites: Set) { - callSites[instanceType] = instanceCallSites - } - - fun updateMocks(obj: Any?, methodSignature: String, values: List<*>) { - val methodMocks = mocks.getOrPut(obj) { mutableMapOf() } - methodMocks[methodSignature] = MockContainer(values) - } - - fun updateMocks(obj: Any?, method: Method, values: List<*>) { - updateMocks(obj, computeKeyForMethod(method), values) - } - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/context/SimpleInstrumentationContext.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/context/SimpleInstrumentationContext.kt deleted file mode 100644 index 83cc38de..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/context/SimpleInstrumentationContext.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.context - -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.framework.plugin.api.UtModel - -/** - * Simple instrumentation context, that is used for pure JVM projects without - * any frameworks with special support from UTBot (like Spring) - */ -class SimpleInstrumentationContext : InstrumentationContext { - override val methodSignatureToId = mutableMapOf() - - /** - * There are no context dependent values for pure JVM projects - */ - override fun constructContextDependentValue(model: UtModel): UtConcreteValue<*>? = null -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/InstanceMockController.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/InstanceMockController.kt deleted file mode 100644 index e2952ab1..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/InstanceMockController.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.mock - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.util.jClass -import org.objectweb.asm.Type -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext - -class InstanceMockController( - clazz: ClassId, - instances: List, - callSites: Set, -) : MockController { - private val type = Type.getInternalName(clazz.jClass) - - init { - InstrumentationContext.MockGetter.updateCallSites(type, callSites) - InstrumentationContext.MockGetter.updateMocks(null, "$type.", instances) - } - - override fun close() { - InstrumentationContext.MockGetter.updateCallSites(type, emptySet()) - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/MethodMockController.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/MethodMockController.kt deleted file mode 100644 index 73af206f..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/MethodMockController.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.mock - -import java.lang.reflect.Field -import java.lang.reflect.Method -import java.lang.reflect.Modifier -import org.utbot.common.withAccessibility -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext -import org.utbot.instrumentation.instrumentation.mock.MockConfig -import org.utbot.instrumentation.instrumentation.mock.computeKeyForMethod - - -/** - * Helper class that handles work with mock fields. - * - * This object is created for every mocked method for a specific [instance]. There can be several [MethodMockController]s - * for the same [instance], but they will be constructed with different method parameters. - * - * @param [mockedValues] consists of return elements for this mocked method in the order of calling. - * @param [instance] is an object with mocked methods. Should be `null` for mocking static methods. - */ -class MethodMockController( - clazz: Class<*>, - method: Method, - val instance: Any?, - mockedValues: List, - instrumentationContext: InstrumentationContext -) : MockController { - private val isMockField: Field - - init { - if (!Modifier.isStatic(method.modifiers) && instance == null) { - error("$method is an instance method, but instance is null!") - } - - val computedSignature = computeKeyForMethod(method) - val id = instrumentationContext.methodSignatureToId[computedSignature] - - isMockField = clazz.declaredFields.firstOrNull { it.name == MockConfig.IS_MOCK_FIELD + id } - ?: error("No field ${MockConfig.IS_MOCK_FIELD + id} in $clazz") - - isMockField.withAccessibility { - isMockField.set(instance, true) - } - - if (method.returnType != Void.TYPE) { - InstrumentationContext.MockGetter.updateMocks(instance, method, mockedValues) - } - } - - override fun close() { - isMockField.withAccessibility { - isMockField.set(instance, false) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/MockController.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/MockController.kt deleted file mode 100644 index a5595c3e..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/mock/MockController.kt +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.mock - -import java.io.Closeable - -interface MockController : Closeable \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicBytecodeInserter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicBytecodeInserter.kt deleted file mode 100644 index 39607565..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicBytecodeInserter.kt +++ /dev/null @@ -1,85 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.ndd - -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.Type - -class NonDeterministicBytecodeInserter { - private val internalName = Type.getInternalName(NonDeterministicResultStorage::class.java) - - private fun String.getUnifiedParamsTypes(): List { - val list = mutableListOf() - var readObject = false - for (c in this) { - if (c == '(') { - continue - } - if (c == ')') { - break - } - if (readObject) { - if (c == ';') { - readObject = false - list.add("Ljava/lang/Object;") - } - } else if (c == 'L') { - readObject = true - } else { - list.add(c.toString()) - } - } - - return list - } - - private fun String.unifyTypeDescriptor(): String = - if (startsWith('L')) { - "Ljava/lang/Object;" - } else { - this - } - - private fun String.getReturnType(): String = - substringAfter(')') - - private fun getStoreDescriptor(descriptor: String): String = buildString { - append('(') - append(descriptor.getReturnType().unifyTypeDescriptor()) - append("Ljava/lang/String;)V") - } - - private fun MethodVisitor.invoke(name: String, descriptor: String) { - visitMethodInsn(Opcodes.INVOKESTATIC, internalName, name, descriptor, false) - } - - fun insertAfterNDMethod(mv: MethodVisitor, owner: String, name: String, descriptor: String, isStatic: Boolean) { - mv.visitInsn(Opcodes.DUP) - mv.visitLdcInsn(NonDeterministicResultStorage.makeSignature(owner, name, descriptor)) - mv.invoke(if (isStatic) "storeStatic" else "storeCall", getStoreDescriptor(descriptor)) - } - - fun insertBeforeNDMethod(mv: MethodVisitor, descriptor: String, isStatic: Boolean) { - if (isStatic) { - return - } - - val params = descriptor.getUnifiedParamsTypes() - - params.asReversed().forEach { - mv.invoke("putParameter${it[0]}", "($it)V") - } - - mv.visitInsn(Opcodes.DUP) - mv.invoke("saveInstance", "(Ljava/lang/Object;)V") - - params.forEach { - mv.invoke("peakParameter${it[0]}", "()$it") - } - } - - fun insertAfterNDInstanceConstructor(mv: MethodVisitor, callSite: String) { - mv.visitInsn(Opcodes.DUP) - mv.visitLdcInsn(callSite) - mv.invoke("registerInstance", "(Ljava/lang/Object;Ljava/lang/String;)V") - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicClassVisitor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicClassVisitor.kt deleted file mode 100644 index 83ac4595..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicClassVisitor.kt +++ /dev/null @@ -1,68 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.ndd - -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.utbot.instrumentation.Settings - -class NonDeterministicClassVisitor( - classVisitor: ClassVisitor, - private val detector: NonDeterministicDetector -) : ClassVisitor(Settings.ASM_API, classVisitor) { - - private lateinit var currentClass: String - - override fun visit( - version: Int, - access: Int, - name: String, - signature: String?, - superName: String?, - interfaces: Array? - ) { - currentClass = name - super.visit(version, access, name, signature, superName, interfaces) - } - - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array? - ): MethodVisitor { - val mv = cv.visitMethod(access, name, descriptor, signature, exceptions) - return object : MethodVisitor(Settings.ASM_API, mv) { - override fun visitMethodInsn( - opcodeAndSource: Int, - owner: String, - name: String, - descriptor: String, - isInterface: Boolean - ) { - if (name == "") { - mv.visitMethodInsn(opcodeAndSource, owner, name, descriptor, isInterface) - if (detector.isNonDeterministicClass(owner)) { - detector.inserter.insertAfterNDInstanceConstructor(mv, currentClass) - } - return - } - - val (isND, isStatic) = if (opcodeAndSource == Opcodes.INVOKESTATIC) { - detector.isNonDeterministicStaticFunction(owner, name, descriptor) to true - } else { - detector.isNonDeterministicClass(owner) to false - } - - if (isND) { - detector.inserter.insertBeforeNDMethod(mv, descriptor, isStatic) - mv.visitMethodInsn(opcodeAndSource, owner, name, descriptor, isInterface) - detector.inserter.insertAfterNDMethod(mv, owner, name, descriptor, isStatic) - } else { - mv.visitMethodInsn(opcodeAndSource, owner, name, descriptor, isInterface) - } - - } - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicDetector.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicDetector.kt deleted file mode 100644 index d6ef35c2..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicDetector.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.ndd - -class NonDeterministicDetector { - private val nonDeterministicStaticMethods: HashSet = HashSet() - - private val nonDeterministicClasses: HashSet = buildList { - add("java/util/Random") - add("kotlin/random/Random") - }.toHashSet() - - val inserter = NonDeterministicBytecodeInserter() - - fun isNonDeterministicStaticFunction(owner: String, name: String, descriptor: String): Boolean { - return nonDeterministicStaticMethods.contains("$owner $name$descriptor") - } - - fun isNonDeterministicClass(clazz: String): Boolean { - return nonDeterministicClasses.contains(clazz) - } - -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicResultStorage.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicResultStorage.kt deleted file mode 100644 index da612f63..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/ndd/NonDeterministicResultStorage.kt +++ /dev/null @@ -1,239 +0,0 @@ -@file:Suppress("UNUSED") - -package org.utbot.instrumentation.instrumentation.execution.ndd - -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.utContext -import java.util.* - - -object NonDeterministicResultStorage { - - data class NDMethodResult(val signature: String, val result: Any?) - data class NDInstanceInfo(val instanceNumber: Int, val callSite: String) - - private var currentInstance: Any? = null - private val parameters: MutableList = mutableListOf() - - val staticStorage: MutableList = mutableListOf() - val callStorage: IdentityHashMap> = IdentityHashMap() - val ndInstances: IdentityHashMap = IdentityHashMap() - private var nextInstanceNumber = 1 - - fun clear() { - staticStorage.clear() - callStorage.clear() - ndInstances.clear() - nextInstanceNumber = 1 - } - - fun makeSignature(owner: String, name: String, descriptor: String): String { - return "$owner $name$descriptor" - } - - fun signatureToMethod(signature: String): MethodId? { - val sign = signature.split(' ') - val clazz = utContext.classLoader.loadClass( - sign[0].replace('/', '.') - ).id - return clazz.allMethods.find { it.signature == sign[1] } - } - - @JvmStatic - fun registerInstance(instance: Any, callSite: String) { - ndInstances[instance] = NDInstanceInfo(nextInstanceNumber++, callSite) - } - - @JvmStatic - fun saveInstance(instance: Any) { - currentInstance = instance - } - - // putParameter[type](type) - // peakParameter[type](): type - - @JvmStatic - fun putParameterZ(value: Boolean) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterZ(): Boolean { - return parameters.removeLast() as Boolean - } - - @JvmStatic - fun putParameterB(value: Byte) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterB(): Byte { - return parameters.removeLast() as Byte - } - - @JvmStatic - fun putParameterC(value: Char) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterC(): Char { - return parameters.removeLast() as Char - } - - @JvmStatic - fun putParameterS(value: Short) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterS(): Short { - return parameters.removeLast() as Short - } - - @JvmStatic - fun putParameterI(value: Int) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterI(): Int { - return parameters.removeLast() as Int - } - - @JvmStatic - fun putParameterJ(value: Long) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterJ(): Long { - return parameters.removeLast() as Long - } - - @JvmStatic - fun putParameterF(value: Float) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterF(): Float { - return parameters.removeLast() as Float - } - - @JvmStatic - fun putParameterD(value: Double) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterD(): Double { - return parameters.removeLast() as Double - } - - @JvmStatic - fun putParameterL(value: Any?) { - parameters.add(value) - } - - @JvmStatic - fun peakParameterL(): Any? { - return parameters.removeLast() - } - - // storeStatic(type, sign) - - @JvmStatic - fun storeStatic(result: Boolean, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Byte, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Char, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Short, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Int, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Long, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Float, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Double, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeStatic(result: Any?, signature: String) { - staticStorage.add(NDMethodResult(signature, result)) - } - - // storeCall(type, sign) - - @JvmStatic - fun storeCall(result: Boolean, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Byte, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Char, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Short, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Int, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Long, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Float, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Double, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } - - @JvmStatic - fun storeCall(result: Any?, signature: String) { - callStorage.getOrPut(currentInstance) { mutableListOf() }.add(NDMethodResult(signature, result)) - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ExecutionPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ExecutionPhase.kt deleted file mode 100644 index 088ca739..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ExecutionPhase.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import com.jetbrains.rd.util.getLogger -import org.utbot.common.measureTime -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.rd.loggers.debug - -private val logger = getLogger() - -abstract class ExecutionPhaseException(override val message: String) : Exception() - -// Execution will be stopped, exception will be thrown in engine process -class ExecutionPhaseError(phase: String, override val cause: Throwable) : ExecutionPhaseException(phase) - -// Execution will be stopped, but considered successful, result will be returned -class ExecutionPhaseStop(phase: String, val result: UtConcreteExecutionResult) : ExecutionPhaseException(phase) - -interface ExecutionPhase { - fun wrapError(e: Throwable): ExecutionPhaseException -} - -fun T.start(block: T.() -> R): R = - try { - logger.debug().measureTime({ this.javaClass.simpleName } ) { - this.block() - } - } catch (e: ExecutionPhaseStop) { - throw e - } catch (e: Throwable) { - throw this.wrapError(e) - } - -abstract class ExecutionPhaseFailingOnAnyException : ExecutionPhase { - override fun wrapError(e: Throwable): ExecutionPhaseException = - ExecutionPhaseError(this::class.java.simpleName, e) -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/InvocationPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/InvocationPhase.kt deleted file mode 100644 index 91ca9faa..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/InvocationPhase.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.utbot.framework.plugin.api.Coverage -import org.utbot.framework.plugin.api.MissingState -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.framework.plugin.api.UtTimeoutException -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult - - -/** - * This phase is about invoking user's code using [delegateInstrumentation]. - */ -class InvocationPhase( - private val delegateInstrumentation: Instrumentation> -) : ExecutionPhase { - - override fun wrapError(e: Throwable): ExecutionPhaseException { - val message = this.javaClass.simpleName - return when(e) { - is TimeoutException -> ExecutionPhaseStop(message, UtConcreteExecutionResult(MissingState, UtTimeoutException(e), Coverage())) - else -> ExecutionPhaseError(message, e) - } - } - - - fun invoke( - clazz: Class<*>, - methodSignature: String, - params: List, - ): Result<*> = delegateInstrumentation.invoke(clazz, methodSignature, params) -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ModelConstructionPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ModelConstructionPhase.kt deleted file mode 100644 index 2c280102..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ModelConstructionPhase.kt +++ /dev/null @@ -1,150 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.jField -import org.utbot.framework.plugin.api.visible.UtStreamConsumingException -import org.utbot.instrumentation.instrumentation.et.ExplicitThrowInstruction -import org.utbot.instrumentation.instrumentation.et.TraceHandler -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.constructors.UtCompositeModelStrategy -import org.utbot.instrumentation.instrumentation.execution.constructors.UtModelConstructor -import java.security.AccessControlException -import java.util.* - -/** - * This phase of model construction from concrete values. - */ -class ModelConstructionPhase( - private val traceHandler: TraceHandler -) : ExecutionPhase { - - override fun wrapError(e: Throwable): ExecutionPhaseException { - val message = this.javaClass.simpleName - return when (e) { - is TimeoutException -> ExecutionPhaseStop( - message, - UtConcreteExecutionResult(MissingState, UtTimeoutException(e), Coverage()) - ) - - else -> ExecutionPhaseError(message, e) - } - } - - private lateinit var constructor: UtModelConstructor - - class ConstructorConfiguration { - lateinit var cache: IdentityHashMap - lateinit var strategy: UtCompositeModelStrategy - } - - fun configureConstructor(block: ConstructorConfiguration.() -> Unit) { - ConstructorConfiguration().run { - block() - constructor = UtModelConstructor(cache, strategy) - } - } - - fun mergeInstrumentations( - oldInstrumentations: List, - statics: List, - news: List - ): List = mutableListOf().apply { - val method2Static = statics.associateBy { it.methodId } - val class2New = news.associateBy { it.classId } - - addAll(oldInstrumentations.filterNot { - when (it) { - is UtStaticMethodInstrumentation -> method2Static.contains(it.methodId) - is UtNewInstanceInstrumentation -> class2New.contains(it.classId) - } - }) - addAll(statics) - addAll(news) - } - - fun constructStaticInstrumentation(statics: Map>): List = - statics.map { (method, values) -> - UtStaticMethodInstrumentation(method, values.map { constructor.construct(it, method.returnType) }) - } - - fun constructNewInstrumentation( - news: Map, Set>>, - calls: IdentityHashMap>>, - ): List = news.map { (classId, info) -> - val models = info.first.map { instance -> - constructor.constructMock(instance, classId, calls[instance] ?: emptyMap()) - } - - UtNewInstanceInstrumentation(classId, models, info.second) - } - - fun constructParameters(params: List>): List = - params.map { - constructor.construct(it.value, it.clazz.id) - } - - fun constructStatics( - stateBefore: EnvironmentModels, - staticFields: Map> - ): Map = - staticFields.keys.associateWith { fieldId -> - fieldId.jField.run { - val computedValue = withAccessibility { get(null) } - val knownModel = stateBefore.statics[fieldId] - val knownValue = staticFields[fieldId]?.value - if (knownModel != null && knownValue != null && knownValue == computedValue) { - knownModel - } else { - constructor.construct(computedValue, fieldId.type) - } - } - } - - fun convertToExecutionResult(concreteResult: Result<*>, returnClassId: ClassId): UtExecutionResult { - val result = concreteResult.fold({ - try { - val model = constructor.construct(it, returnClassId) - UtExecutionSuccess(model) - } catch (e: Exception) { - processExceptionDuringModelConstruction(e) - } - }) { - sortOutException(it) - } - return result - } - - private fun sortOutException(exception: Throwable): UtExecutionFailure { - if (exception is TimeoutException) { - return UtTimeoutException(exception) - } - if (exception is AccessControlException || - exception is ExceptionInInitializerError && exception.exception is AccessControlException - ) { - return UtSandboxFailure(exception) - } - // there also can be other cases, when we need to wrap internal exception... I suggest adding them on demand - - val instrs = traceHandler.computeInstructionList() - val isNested = if (instrs.isEmpty()) { - false - } else { - instrs.first().callId != instrs.last().callId - } - return if (instrs.isNotEmpty() && instrs.last().instructionData is ExplicitThrowInstruction) { - UtExplicitlyThrownException(exception, isNested) - } else { - UtImplicitlyThrownException(exception, isNested) - } - - } - - private fun processExceptionDuringModelConstruction(e: Exception): UtExecutionResult = - when (e) { - is UtStreamConsumingException -> UtStreamConsumingFailure(e) - else -> throw e - } - -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PhasesController.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PhasesController.kt deleted file mode 100644 index 7f3d100c..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PhasesController.kt +++ /dev/null @@ -1,109 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.utbot.common.StopWatch -import org.utbot.common.ThreadBasedExecutor -import org.utbot.framework.plugin.api.Coverage -import org.utbot.framework.plugin.api.MissingState -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.framework.plugin.api.UtSandboxFailure -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.utContext -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.instrumentation.instrumentation.Instrumentation -import org.utbot.instrumentation.instrumentation.et.TraceHandler -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionData -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext -import java.security.AccessControlException - -class PhasesController( - instrumentationContext: InstrumentationContext, - traceHandler: TraceHandler, - delegateInstrumentation: Instrumentation>, - private val timeout: Long -) { - private var currentlyElapsed = 0L - val valueConstructionPhase = ValueConstructionPhase(instrumentationContext) - - val preparationPhase = PreparationPhase(traceHandler) - - val invocationPhase = InvocationPhase(delegateInstrumentation) - - val statisticsCollectionPhase = StatisticsCollectionPhase(traceHandler) - - val modelConstructionPhase = ModelConstructionPhase(traceHandler) - - val postprocessingPhase = PostprocessingPhase() - - inline fun computeConcreteExecutionResult(block: PhasesController.() -> UtConcreteExecutionResult): UtConcreteExecutionResult { - try { - return this.block() - } catch (e: ExecutionPhaseStop) { - return e.result - } catch (e: ExecutionPhaseError) { - if (e.cause.cause is AccessControlException) { - return UtConcreteExecutionResult( - MissingState, - UtSandboxFailure(e.cause.cause!!), - Coverage() - ) - } - - throw e - } - } - - fun executePhaseInTimeout(phase: R, block: R.() -> T): T = phase.start { - val stopWatch = StopWatch() - val context = UtContext(utContext.classLoader, stopWatch) - val timeoutForCurrentPhase = timeout - currentlyElapsed - val result = ThreadBasedExecutor.threadLocal.invokeWithTimeout(timeout - currentlyElapsed, stopWatch) { - withUtContext(context) { - phase.block() - } - } ?: throw TimeoutException("Timeout $timeoutForCurrentPhase ms for phase ${phase.javaClass.simpleName} elapsed, controller timeout - $timeout") - - val blockElapsed = stopWatch.get() - currentlyElapsed += blockElapsed - - return@start result.getOrThrow() as T - } - - fun executePhaseWithoutTimeout(phase: R, block: R.() -> T): T = phase.start { - return@start ThreadBasedExecutor.threadLocal.invokeWithoutTimeout { - phase.block() - }.getOrThrow() as T - } - - fun applyPreprocessing(parameters: UtConcreteExecutionData): ConstructedData { - - val constructedData = executePhaseInTimeout(valueConstructionPhase) { - val params = constructParameters(parameters.stateBefore) - val statics = constructStatics(parameters.stateBefore) - - // here static methods and instances are mocked - mock(parameters.instrumentation) - - ConstructedData(params, statics, getCache()) - } - - // invariants: - // 1. phase must always complete if started as static reset relies on it - // 2. phase must be fast as there are no incremental changes - postprocessingPhase.setStaticFields(preparationPhase.start { - val result = setStaticFields(constructedData.statics) - resetTrace() - resetND() - result - }) - - return constructedData - } - - fun applyPostprocessing() { - postprocessingPhase.start { - resetStaticFields() - valueConstructionPhase.resetMockMethods() - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PostprocessingPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PostprocessingPhase.kt deleted file mode 100644 index b94b25fe..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PostprocessingPhase.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.util.jField - - -/** - * The responsibility of this phase is resetting environment to the initial state. - */ -class PostprocessingPhase : ExecutionPhase { - - private var savedStaticsInstance: Map? = null - - fun setStaticFields(savedStatics: Map) { - savedStaticsInstance = savedStatics - } - - override fun wrapError(e: Throwable): ExecutionPhaseException = ExecutionPhaseError(this.javaClass.simpleName, e) - - fun resetStaticFields() { - savedStaticsInstance?.forEach { (fieldId, value) -> - fieldId.jField.run { - withAccessibility { - set(null, value) - } - } - } - } - -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PreparationPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PreparationPhase.kt deleted file mode 100644 index a733192f..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/PreparationPhase.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.utbot.common.withAccessibility -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.framework.plugin.api.util.jField -import org.utbot.instrumentation.instrumentation.et.TraceHandler -import org.utbot.instrumentation.instrumentation.execution.ndd.NonDeterministicResultStorage - - -/** - * The responsibility of this phase is environment preparation before execution. - */ -class PreparationPhase( - private val traceHandler: TraceHandler -) : ExecutionPhase { - - override fun wrapError(e: Throwable): ExecutionPhaseException = - ExecutionPhaseError(this.javaClass.simpleName, e) - - fun setStaticFields(staticFieldsValues: Map>): Map { - val savedStaticFields = mutableMapOf() - staticFieldsValues.forEach { (fieldId, value) -> - fieldId.jField.run { - withAccessibility { - savedStaticFields[fieldId] = get(null) - set(null, value.value) - } - } - } - return savedStaticFields - } - - fun resetTrace() { - traceHandler.resetTrace() - } - - fun resetND() { - NonDeterministicResultStorage.clear() - } - -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/StatisticsCollectionPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/StatisticsCollectionPhase.kt deleted file mode 100644 index a5c75a1f..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/StatisticsCollectionPhase.kt +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.objectweb.asm.Type -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.utContext -import org.utbot.instrumentation.instrumentation.et.EtInstruction -import org.utbot.instrumentation.instrumentation.et.TraceHandler -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult -import org.utbot.instrumentation.instrumentation.execution.ndd.NonDeterministicResultStorage -import java.util.* - -/** - * This phase is about collection statistics such as coverage. - */ -class StatisticsCollectionPhase( - private val traceHandler: TraceHandler -) : ExecutionPhase { - - override fun wrapError(e: Throwable): ExecutionPhaseException { - val message = this.javaClass.simpleName - return when (e) { - is TimeoutException -> ExecutionPhaseStop( - message, - UtConcreteExecutionResult(MissingState, UtTimeoutException(e), Coverage()) - ) - - else -> ExecutionPhaseError(message, e) - } - } - - data class NDResults( - val statics: Map>, - val news: Map, Set>>, - val calls: IdentityHashMap>> - ) - - fun getNonDeterministicResults(): NDResults { - val storage = NonDeterministicResultStorage - - val statics = storage.staticStorage - .groupBy { storage.signatureToMethod(it.signature)!! } - .mapValues { (_, values) -> values.map { it.result } } - - val news = storage.ndInstances.entries - .groupBy { it.key.javaClass.id } - .mapValues { (_, entries) -> - val values = entries.sortedBy { it.value.instanceNumber }.map { it.key } - val callSites = entries.map { - utContext.classLoader.loadClass(it.value.callSite.replace('/', '.')).id - }.toSet() - values to callSites - } - - val calls = storage.callStorage - .mapValuesTo(IdentityHashMap()) { (_, methodResults) -> - methodResults - .groupBy { storage.signatureToMethod(it.signature)!! } - .mapValues { (_, values) -> values.map { it.result } } - } - - return NDResults(statics, news, calls) - } - - fun getCoverage(clazz: Class<*>): Coverage { - return traceHandler - .computeInstructionList() - .toApiCoverage( - traceHandler.processingStorage.getInstructionsCount( - Type.getInternalName(clazz) - ) - ) - } - - /** - * Transforms a list of internal [EtInstruction]s to a list of api [Instruction]s. - */ - private fun List.toApiCoverage(instructionsCount: Long? = null): Coverage = - Coverage( - map { Instruction(it.className, it.methodSignature, it.line, it.id) }, - instructionsCount - ) -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ValueConstructionPhase.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ValueConstructionPhase.kt deleted file mode 100644 index 98c9a747..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/execution/phases/ValueConstructionPhase.kt +++ /dev/null @@ -1,73 +0,0 @@ -package org.utbot.instrumentation.instrumentation.execution.phases - -import org.utbot.framework.plugin.api.* -import java.util.IdentityHashMap -import org.utbot.instrumentation.instrumentation.execution.constructors.InstrumentationContextAwareValueConstructor -import org.utbot.instrumentation.instrumentation.execution.context.InstrumentationContext -import org.utbot.framework.plugin.api.util.isInaccessibleViaReflection -import org.utbot.instrumentation.instrumentation.execution.UtConcreteExecutionResult - -typealias ConstructedParameters = List> -typealias ConstructedStatics = Map> -typealias ConstructedCache = IdentityHashMap - -data class ConstructedData( - val params: ConstructedParameters, - val statics: ConstructedStatics, - val cache: ConstructedCache, -) - -/** - * This phase of values instantiation from given models. - */ -class ValueConstructionPhase( - instrumentationContext: InstrumentationContext -) : ExecutionPhase { - - override fun wrapError(e: Throwable): ExecutionPhaseException = ExecutionPhaseStop( - phase = this.javaClass.simpleName, - result = UtConcreteExecutionResult( - stateAfter = MissingState, - result = when(e) { - is TimeoutException -> UtTimeoutException(e) - else -> UtConcreteExecutionProcessedFailure(e) - }, - coverage = Coverage() - ) - ) - - private val constructor = InstrumentationContextAwareValueConstructor(instrumentationContext) - - fun getCache(): ConstructedCache { - return constructor.objectToModelCache - } - - fun constructParameters(state: EnvironmentModels): ConstructedParameters { - val parametersModels = listOfNotNull(state.thisInstance) + state.parameters - return constructor.constructMethodParameters(parametersModels) - } - - fun constructStatics(state: EnvironmentModels): ConstructedStatics = - constructor.constructStatics( - state.statics.filterKeys { !it.isInaccessibleViaReflection } - ) - - fun mock(instrumentations: List) { - mockStaticMethods(instrumentations) - mockNewInstances(instrumentations) - } - - private fun mockStaticMethods(instrumentations: List) { - val staticMethodsInstrumentation = instrumentations.filterIsInstance() - constructor.mockStaticMethods(staticMethodsInstrumentation) - } - - private fun mockNewInstances(instrumentations: List) { - val newInstanceInstrumentation = instrumentations.filterIsInstance() - constructor.mockNewInstances(newInstanceInstrumentation) - } - - fun resetMockMethods() { - constructor.resetMockedMethods() - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/Instrumenter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/Instrumenter.kt deleted file mode 100644 index dfb403e0..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/Instrumenter.kt +++ /dev/null @@ -1,221 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter - -import org.objectweb.asm.ClassReader -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.ClassWriter -import org.objectweb.asm.Opcodes -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.MethodToProbesVisitor -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.* -import org.utbot.instrumentation.process.HandlerClassesLoader -import java.io.IOException -import java.io.InputStream - - -// TODO: handle with flags EXPAND_FRAMES, etc. - -// TODO: compute maxs correctly - -/** - * Helper class for bytecode manipulation operations. - */ - -class Instrumenter(classByteCode: ByteArray, val classLoader: ClassLoader? = null) { - - var classByteCode: ByteArray = classByteCode.clone() - private set - - constructor(clazz: Class<*>) : this(adapter.computeClassBytecode(clazz)) - - fun visitClass(classVisitorBuilder: ClassVisitorBuilder): T { - val reader = ClassReader(classByteCode) - val writer = TunedClassWriter(reader, classVisitorBuilder.writerFlags) // TODO: optimize - val classVisitor = classVisitorBuilder.build(writer) - reader.accept(classVisitor, classVisitorBuilder.readerParsingOptions) - classByteCode = writer.toByteArray() - return classVisitor - } - - fun computeMapOfRanges(methodName: String? = null): Map { - val methodToListOfProbesInserter = MethodToProbesVisitor() - - visitClass(object : ClassVisitorBuilder { - override val writerFlags: Int - get() = 0 - - override fun build(writer: ClassWriter): InstructionVisitorAdapter = - InstructionVisitorAdapter(writer, methodName, methodToListOfProbesInserter) - }) - - return methodToListOfProbesInserter.methodToProbes.mapValues { (_, probes) -> (probes.first()..probes.last()) } - } - - fun addField(instanceFieldInitializer: InstanceFieldInitializer) { - visitClass { writer -> AddFieldAdapter(writer, instanceFieldInitializer) } - } - - fun addStaticField(staticFieldInitializer: StaticFieldInitializer) { - visitClass { writer -> AddStaticFieldAdapter(writer, staticFieldInitializer) } - } - - fun visitInstructions(instructionVisitor: IInstructionVisitor, methodName: String? = null) { - visitClass { writer -> InstructionVisitorAdapter(writer, methodName, instructionVisitor) } - } - - companion object { - var adapter = InstrumenterAdapter() - } -} - -/** - * This class writer deals with ClassCircularityError appearing during loading classes with ASM. - * - * See [the problem](https://gitlab.ow2.org/asm/asm/-/issues/316188) and - * [the solution](https://gitlab.ow2.org/asm/asm/blob/7531cb305373d388a0f7fab1a343874e3d221dea/test/conform/org/objectweb/asm/ClassWriterComputeFramesTest.java#L132) - * - * A ClassWriter that computes the common super class of two classes without - * actually loading them with a ClassLoader. - */ -private class TunedClassWriter( - reader: ClassReader, - flags: Int -) : ClassWriter(reader, flags) { - override fun getClassLoader(): ClassLoader { - return HandlerClassesLoader - } - override fun getCommonSuperClass(type1: String, type2: String): String { - try { - val info1 = typeInfo(type1) - val info2 = typeInfo(type2) - if (info1.access and Opcodes.ACC_INTERFACE != 0) { - return if (typeImplements(type2, info2, type1)) { - type1 - } else { - "java/lang/Object" - } - } - if (info2.access and Opcodes.ACC_INTERFACE != 0) { - return if (typeImplements(type1, info1, type2)) { - type2 - } else { - "java/lang/Object" - } - } - val b1 = typeAncestors(type1, info1) - val b2 = typeAncestors(type2, info2) - var result = "java/lang/Object" - var end1 = b1.length - var end2 = b2.length - while (true) { - val start1 = b1.lastIndexOf(";", end1 - 1) - val start2 = b2.lastIndexOf(";", end2 - 1) - if (start1 != -1 && start2 != -1 && end1 - start1 == end2 - start2) { - val p1 = b1.substring(start1 + 1, end1) - val p2 = b2.substring(start2 + 1, end2) - if (p1 == p2) { - result = p1 - end1 = start1 - end2 = start2 - } else { - return result - } - } else { - return result - } - } - } catch (e: IOException) { - throw RuntimeException(e.toString()) - } - } - - /** - * Returns the internal names of the ancestor classes of the given type. - * - * @param type - * the internal name of a class or interface. - * @param info - * the ClassReader corresponding to 'type'. - * @return a StringBuilder containing the ancestor classes of 'type', - * separated by ';'. The returned string has the following format: - * ";type1;type2 ... ;typeN", where type1 is 'type', and typeN is a - * direct subclass of Object. If 'type' is Object, the returned - * string is empty. - * @throws IOException - * if the bytecode of 'type' or of some of its ancestor class - * cannot be loaded. - */ - @Throws(IOException::class) - private fun typeAncestors(type: String, info: ClassReader): StringBuilder { - var currentType = type - var currentInfo = info - val b = StringBuilder() - while ("java/lang/Object" != currentType) { - b.append(';').append(currentType) - currentType = currentInfo.superName - currentInfo = typeInfo(currentType) - } - return b - } - - /** - * Returns true if the given type implements the given interface. - * - * @param type - * the internal name of a class or interface. - * @param info - * the ClassReader corresponding to 'type'. - * @param itf - * the internal name of a interface. - * @return true if 'type' implements directly or indirectly 'itf' - * @throws IOException - * if the bytecode of 'type' or of some of its ancestor class - * cannot be loaded. - */ - @Throws(IOException::class) - private fun typeImplements(type: String, info: ClassReader, itf: String): Boolean { - var currentType = type - var currentInfo = info - while ("java/lang/Object" != currentType) { - val itfs = currentInfo.interfaces - for (i in itfs.indices) { - if (itfs[i] == itf) { - return true - } - } - for (i in itfs.indices) { - if (typeImplements(itfs[i], typeInfo(itfs[i]), itf)) { - return true - } - } - currentType = currentInfo.superName - currentInfo = typeInfo(currentType) - } - return false - } - - /** - * Returns a ClassReader corresponding to the given class or interface. - * - * @param type - * the internal name of a class or interface. - * @return the ClassReader corresponding to 'type'. - * @throws IOException - * if the bytecode of 'type' cannot be loaded. - */ - @Throws(IOException::class) - private fun typeInfo(type: String): ClassReader { - val `is`: InputStream = requireNotNull(classLoader.getResourceAsStream("$type.class")) { - "Can't find resource for class: $type.class" - } - return `is`.use { ClassReader(it) } - } -} - -fun interface ClassVisitorBuilder { - val writerFlags: Int - get() = ClassWriter.COMPUTE_MAXS or ClassWriter.COMPUTE_FRAMES - - val readerParsingOptions: Int - get() = ClassReader.SKIP_FRAMES - - fun build(writer: ClassWriter): T -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/InstrumenterAdapter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/InstrumenterAdapter.kt deleted file mode 100644 index 1a8ff6cb..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/InstrumenterAdapter.kt +++ /dev/null @@ -1,76 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter - -import org.objectweb.asm.ClassReader -import org.objectweb.asm.ClassWriter -import org.objectweb.asm.Type -import org.objectweb.asm.tree.ClassNode -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.instrumentation.Settings -import java.io.File -import java.io.IOException -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.Paths -import kotlin.reflect.KFunction -import kotlin.reflect.jvm.javaMethod - - -open class InstrumenterAdapter { - fun computeClassBytecode(clazz: Class<*>): ByteArray { - val reader = ClassReader(clazz.classLoader.getResourceAsStream(Type.getInternalName(clazz) + ".class")) - val writer = ClassWriter(reader, 0) - reader.accept(writer, 0) - return writer.toByteArray() - } - - private fun findByteClass(className: String): ClassReader? { - val path = className.replace(".", File.separator) + ".class" - return try { - val classReader = UtContext.currentContext()?.classLoader?.getResourceAsStream(path)?.readBytes() - ?.let { ClassReader(it) } ?: ClassReader(className) - classReader - } catch (e: IOException) { - //TODO: SAT-1222 - null - } - } - - // TODO: move the following methods to another file - private fun computeSourceFileName(className: String): String? { - val classReader = findByteClass(className) - val sourceFileAdapter = ClassNode(Settings.ASM_API) - classReader?.accept(sourceFileAdapter, 0) - return sourceFileAdapter.sourceFile - } - - fun computeSourceFileName(clazz: Class<*>): String? { - return computeSourceFileName(clazz.name) - } - - fun computeSourceFileByMethod(method: KFunction<*>, directoryToSearchRecursively: Path = Paths.get("")): File? = - method.javaMethod?.declaringClass?.let { - computeSourceFileByClass(it, directoryToSearchRecursively) - } - - fun computeSourceFileByNameAndPackage( - className: String, packageName: String?, directoryToSearchRecursively: Path - ): File? { - val sourceFileName = computeSourceFileName(className) ?: return null - val files = - Files.walk(directoryToSearchRecursively).filter { it.toFile().isFile && it.endsWith(sourceFileName) } - var fileWithoutPackage: File? = null - val pathWithPackage = packageName?.let { Paths.get(it, sourceFileName) } - for (f in files) { - if (pathWithPackage == null || f.endsWith(pathWithPackage)) { - return f.toFile() - } - fileWithoutPackage = f.toFile() - } - return fileWithoutPackage - } - - open fun computeSourceFileByClass(clazz: Class<*>, directoryToSearchRecursively: Path = Paths.get("")): File? { - val packageName = clazz.`package`?.name?.replace('.', File.separatorChar) - return computeSourceFileByNameAndPackage(clazz.name, packageName, directoryToSearchRecursively) - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/ArrayStrategy.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/ArrayStrategy.kt deleted file mode 100644 index 2b18ed64..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/ArrayStrategy.kt +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors - -import org.utbot.instrumentation.Settings -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.IInstructionVisitor -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.InstanceFieldInitializer -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes - -// TODO: document this - -class ArrayStrategy( - private val className: String, - override val name: String -) : InstanceFieldInitializer, IInstructionVisitor { - override val signature: String? = null - override val descriptor: String = Settings.PROBES_ARRAY_DESC - - override fun initField(mv: MethodVisitor): MethodVisitor { - mv.visitVarInsn(Opcodes.ALOAD, 0) - mv.visitLdcInsn(probesCount) - mv.visitIntInsn(Opcodes.NEWARRAY, Opcodes.T_BOOLEAN) - mv.visitFieldInsn(Opcodes.PUTFIELD, className, name, Settings.PROBES_ARRAY_DESC) - return mv - } - - override fun visitInstruction(mv: MethodVisitor): MethodVisitor { - mv.visitVarInsn(Opcodes.ALOAD, 0) - mv.visitFieldInsn(Opcodes.GETFIELD, className, name, Settings.PROBES_ARRAY_DESC) - mv.visitLdcInsn(nextProbeId()) - mv.visitInsn(Opcodes.ICONST_1) - mv.visitInsn(Opcodes.BASTORE) - return mv - } - - private var probeId = 0 - - private fun nextProbeId(): Int { - return probeId++ - } - - val probesCount: Int - get() = probeId -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/MethodToProbesVisitor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/MethodToProbesVisitor.kt deleted file mode 100644 index 6eecdd80..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/MethodToProbesVisitor.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors - -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.IInstructionVisitor -import org.objectweb.asm.MethodVisitor - -// TODO: document this - -class MethodToProbesVisitor : IInstructionVisitor { - lateinit var currentMethodSignature: String - - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array?, - methodVisitor: MethodVisitor - ) { - currentMethodSignature = name + descriptor - } - - override fun visitInstruction(mv: MethodVisitor): MethodVisitor { - methodToProbes.getOrPut(currentMethodSignature) { mutableListOf() }.add(probeId) - nextProbeId() - return mv - } - - val methodToProbes = mutableMapOf>() - - private var probeId = 0 - - private fun nextProbeId(): Int { - return probeId++ - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/AddFieldAdapter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/AddFieldAdapter.kt deleted file mode 100644 index b70037a0..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/AddFieldAdapter.kt +++ /dev/null @@ -1,90 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors.util - -import org.utbot.instrumentation.Settings -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.FieldVisitor -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes - -// TODO: document this - -class AddFieldAdapter( - classVisitor: ClassVisitor, - private val instanceFieldInitializer: InstanceFieldInitializer -) : ClassVisitor(Settings.ASM_API, classVisitor) { - private var isFieldPresent = false - private var isZeroArgConstructorPresent = false - - override fun visitField( - access: Int, - name: String, - descriptor: String, - signature: String?, - value: Any? - ): FieldVisitor { - if (name == instanceFieldInitializer.name) { - isFieldPresent = true - } - return cv.visitField(access, name, descriptor, signature, value) - } - - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array? - ): MethodVisitor { - var v = cv.visitMethod(access, name, descriptor, signature, exceptions) - if (name == "" && descriptor == "()V") { - isZeroArgConstructorPresent = true - v = InitFieldMethodAdapter(v, instanceFieldInitializer) - } - return v - } - - override fun visitEnd() { - if (!isFieldPresent) { - val fv = cv.visitField( - Opcodes.ACC_PUBLIC + Opcodes.ACC_SYNTHETIC, - instanceFieldInitializer.name, - instanceFieldInitializer.descriptor, - instanceFieldInitializer.signature, - null - ) - if (fv != null) { - fv.visitEnd() - } - cv.visitEnd() - } else { - throw Exception("Field ${instanceFieldInitializer.name} already exists") - } - - if (!isZeroArgConstructorPresent) { - val mv = InitFieldMethodAdapter( - cv.visitMethod(Opcodes.ACC_PUBLIC, "", "()V", null, null), - instanceFieldInitializer - ) - mv.visitCode() - mv.visitVarInsn(Opcodes.ALOAD, 0) - mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Object", "", "()V", false) - mv.visitInsn(Opcodes.RETURN) - mv.visitMaxs(1, 1) - mv.visitEnd() - } - - super.visitEnd() - } - - // TODO: document this - - class InitFieldMethodAdapter( - methodVisitor: MethodVisitor, - private val instanceFieldInitializer: InstanceFieldInitializer - ) : MethodVisitor(Settings.ASM_API, methodVisitor) { - override fun visitCode() { - mv.visitCode() - instanceFieldInitializer.initField(mv) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/AddStaticFieldAdapter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/AddStaticFieldAdapter.kt deleted file mode 100644 index 4139f477..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/AddStaticFieldAdapter.kt +++ /dev/null @@ -1,106 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors.util - -import org.utbot.instrumentation.Settings -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.FieldVisitor -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes - - -// TODO: document this - -class AddStaticFieldAdapter( - classVisitor: ClassVisitor, - private val staticFieldInitializer: StaticFieldInitializer -) : ClassVisitor(Settings.ASM_API, classVisitor) { - private var isFieldPresent = false - private var isClinitPresent = false - private var isInterface = false - - override fun visit( - version: Int, - access: Int, - name: String?, - signature: String?, - superName: String?, - interfaces: Array? - ) { - if (access and Opcodes.ACC_INTERFACE != 0) { - isInterface = true - } - super.visit(version, access, name, signature, superName, interfaces) - } - - override fun visitField( - access: Int, - name: String?, - descriptor: String?, - signature: String?, - value: Any? - ): FieldVisitor { - if (name == staticFieldInitializer.name) { - isFieldPresent = true - } - return cv.visitField(access, name, descriptor, signature, value) - } - - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array? - ): MethodVisitor { - var v = cv.visitMethod(access, name, descriptor, signature, exceptions) - if (name == "" && descriptor == "()V") { - isClinitPresent = true - v = InitStaticFieldMethodAdapter(v, staticFieldInitializer) - } - return v - } - - override fun visitEnd() { - val finalOpcode = if (isInterface) Opcodes.ACC_FINAL else 0 - - if (!isFieldPresent) { - val fv = cv.visitField( - Opcodes.ACC_PUBLIC + Opcodes.ACC_STATIC + Opcodes.ACC_SYNTHETIC + finalOpcode, - staticFieldInitializer.name, - staticFieldInitializer.descriptor, - staticFieldInitializer.signature, - null - ) - if (fv != null) { - fv.visitEnd() - } - cv.visitEnd() - } else { - error("Field ${staticFieldInitializer.name} already exists") - } - - if (!isClinitPresent) { - val mv = InitStaticFieldMethodAdapter( - cv.visitMethod(Opcodes.ACC_STATIC, "", "()V", null, null), - staticFieldInitializer - ) - mv.visitCode() - mv.visitInsn(Opcodes.RETURN) - mv.visitMaxs(1, 0) - mv.visitEnd() - } - - super.visitEnd() - } - - // TODO: document this - - class InitStaticFieldMethodAdapter( - methodVisitor: MethodVisitor, - private val fieldInitializer: StaticFieldInitializer - ) : MethodVisitor(Settings.ASM_API, methodVisitor) { - override fun visitCode() { - mv.visitCode() - fieldInitializer.initField(mv) - } - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/FieldInitializer.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/FieldInitializer.kt deleted file mode 100644 index e688e8f2..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/FieldInitializer.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors.util - -import org.objectweb.asm.MethodVisitor - -interface FieldInitializer { - val name: String - - val descriptor: String - - val signature: String? // used for generics - - fun initField(mv: MethodVisitor): MethodVisitor -} - -interface StaticFieldInitializer : FieldInitializer - -interface InstanceFieldInitializer : FieldInitializer \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/IInstructionVisitor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/IInstructionVisitor.kt deleted file mode 100644 index 0af2510f..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/IInstructionVisitor.kt +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors.util - -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.commons.LocalVariablesSorter - -// TODO: refactor this - -// TODO: document this - -interface IInstructionVisitor { - fun visitLine(mv: MethodVisitor, line: Int): MethodVisitor { - return mv - } - - fun visitInstruction(mv: MethodVisitor): MethodVisitor { - return mv - } - - fun visitReturnInstruction(mv: MethodVisitor, opcode: Int): MethodVisitor { - return visitInstruction(mv) - } - - fun visitThrowInstruction(mv: MethodVisitor): MethodVisitor { - return visitInstruction(mv) - } - - - fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array?, - methodVisitor: MethodVisitor - ) { - } - - fun visitMethodInstruction( - mv: MethodVisitor, - opcode: Int, - owner: String?, - name: String?, - descriptor: String?, - isInterface: Boolean - ): MethodVisitor { - return visitInstruction(mv) - } - - fun visitCode(mv: MethodVisitor, lvs: LocalVariablesSorter) { - } - - fun visitFieldInstruction( - mv: MethodVisitor, - opcode: Int, - owner: String, - name: String, - descriptor: String - ): MethodVisitor { - return visitInstruction(mv) - } -} \ No newline at end of file diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/InstructionVisitorAdapter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/InstructionVisitorAdapter.kt deleted file mode 100644 index 6f8ee6b2..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/InstructionVisitorAdapter.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors.util - -import org.utbot.instrumentation.Settings -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.commons.LocalVariablesSorter - -// TODO: document this - -class InstructionVisitorAdapter( - classVisitor: ClassVisitor, - val methodName: String?, - val instructionVisitor: IInstructionVisitor -) : ClassVisitor(Settings.ASM_API, classVisitor) { - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array? - ): MethodVisitor { - val v = super.visitMethod(access, name, descriptor, signature, exceptions) - if (name != "" && (methodName == null || name == methodName)) { - instructionVisitor.visitMethod(access, name, descriptor, signature, exceptions, v) - val iv = InstructionVisitorMethodAdapter(v, instructionVisitor, name) - iv.lvs = LocalVariablesSorter(access, descriptor, iv) - return iv.lvs!! - } - return v - } -} - diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/InstructionVisitorMethodAdapter.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/InstructionVisitorMethodAdapter.kt deleted file mode 100644 index bfff5b80..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/instrumenter/visitors/util/InstructionVisitorMethodAdapter.kt +++ /dev/null @@ -1,119 +0,0 @@ -package org.utbot.instrumentation.instrumentation.instrumenter.visitors.util - -import org.utbot.instrumentation.Settings -import org.objectweb.asm.Handle -import org.objectweb.asm.Label -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.commons.LocalVariablesSorter - -// TODO: document this -open class InstructionVisitorMethodAdapter( - mv: MethodVisitor, - private val instructionVisitor: IInstructionVisitor, - private val methodName: String -) : MethodVisitor(Settings.ASM_API, mv) { - var lvs: LocalVariablesSorter? = null - - companion object { - private val returnInsns = setOf( - Opcodes.IRETURN, - Opcodes.LRETURN, - Opcodes.FRETURN, - Opcodes.DRETURN, - Opcodes.ARETURN, - Opcodes.RETURN - ) - } - - - override fun visitLineNumber(line: Int, start: Label?) { - instructionVisitor.visitLine(mv, line) - super.visitLineNumber(line, start) - } - - override fun visitCode() { - mv.visitCode() - instructionVisitor.visitCode(mv, lvs!!) - } - - override fun visitInsn(opcode: Int) { - when (opcode) { - in returnInsns -> instructionVisitor.visitReturnInstruction(mv, opcode) - Opcodes.ATHROW -> instructionVisitor.visitThrowInstruction(mv) - else -> instructionVisitor.visitInstruction(mv) - } - super.visitInsn(opcode) - } - - override fun visitIntInsn(opcode: Int, operand: Int) { - instructionVisitor.visitInstruction(mv) - super.visitIntInsn(opcode, operand) - } - - override fun visitVarInsn(opcode: Int, `var`: Int) { - instructionVisitor.visitInstruction(mv) - super.visitVarInsn(opcode, `var`) - } - - override fun visitTypeInsn(opcode: Int, type: String?) { - instructionVisitor.visitInstruction(mv) - super.visitTypeInsn(opcode, type) - } - - override fun visitFieldInsn(opcode: Int, owner: String, name: String, descriptor: String) { - instructionVisitor.visitFieldInstruction(mv, opcode, owner, name, descriptor) - super.visitFieldInsn(opcode, owner, name, descriptor) - } - - override fun visitMethodInsn( - opcode: Int, - owner: String?, - name: String?, - descriptor: String?, - isInterface: Boolean - ) { - instructionVisitor.visitMethodInstruction(mv, opcode, owner, name, descriptor, isInterface) - super.visitMethodInsn(opcode, owner, name, descriptor, isInterface) - } - - override fun visitInvokeDynamicInsn( - name: String?, - descriptor: String?, - bootstrapMethodHandle: Handle?, - vararg bootstrapMethodArguments: Any? - ) { - instructionVisitor.visitInstruction(mv) - super.visitInvokeDynamicInsn(name, descriptor, bootstrapMethodHandle, *bootstrapMethodArguments) - } - - override fun visitJumpInsn(opcode: Int, label: Label?) { - instructionVisitor.visitInstruction(mv) - super.visitJumpInsn(opcode, label) - } - - override fun visitLdcInsn(value: Any?) { - instructionVisitor.visitInstruction(mv) - super.visitLdcInsn(value) - } - - override fun visitIincInsn(`var`: Int, increment: Int) { - instructionVisitor.visitInstruction(mv) - super.visitIincInsn(`var`, increment) - } - - override fun visitTableSwitchInsn(min: Int, max: Int, dflt: Label?, vararg labels: Label?) { - instructionVisitor.visitInstruction(mv) - super.visitTableSwitchInsn(min, max, dflt, *labels) - } - - override fun visitLookupSwitchInsn(dflt: Label?, keys: IntArray?, labels: Array?) { - instructionVisitor.visitInstruction(mv) - super.visitLookupSwitchInsn(dflt, keys, labels) - } - - override fun visitMultiANewArrayInsn(descriptor: String?, numDimensions: Int) { - instructionVisitor.visitInstruction(mv) - super.visitMultiANewArrayInsn(descriptor, numDimensions) - } -} diff --git a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/mock/MockClassVisitor.kt b/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/mock/MockClassVisitor.kt deleted file mode 100644 index 72f4e560..00000000 --- a/utbot-instrumentation/src/main/kotlin/org/utbot/instrumentation/instrumentation/mock/MockClassVisitor.kt +++ /dev/null @@ -1,205 +0,0 @@ -package org.utbot.instrumentation.instrumentation.mock - -import org.utbot.instrumentation.Settings -import org.utbot.instrumentation.instrumentation.instrumenter.visitors.util.FieldInitializer -import java.lang.reflect.Method -import org.objectweb.asm.ClassVisitor -import org.objectweb.asm.Label -import org.objectweb.asm.MethodVisitor -import org.objectweb.asm.Opcodes -import org.objectweb.asm.Type -import org.objectweb.asm.commons.AdviceAdapter -import org.objectweb.asm.commons.Method.getMethod -import org.utbot.framework.plugin.api.util.signature - -object MockConfig { - const val IS_MOCK_FIELD = "\$__is_mock_" -} - -/** - * Computes key for method that is used for mocking. - */ -fun computeKeyForMethod(internalType: String, methodSignature: String) = - "$internalType@$methodSignature" - -fun computeKeyForMethod(method: Method) = - computeKeyForMethod(Type.getInternalName(method.declaringClass), method.signature) - -class MockClassVisitor( - classVisitor: ClassVisitor, - mockGetter: Method, - callSiteChecker: Method, - hasMock: Method -) : ClassVisitor(Settings.ASM_API, classVisitor) { - val signatureToId = mutableMapOf() - - private lateinit var internalClassName: String - private val extraFields = mutableListOf() - - private val mockGetterOwner = Type.getType(mockGetter.declaringClass) - private val mockGetterMethod = getMethod(mockGetter) - - private val callSiteCheckerOwner = Type.getType(callSiteChecker.declaringClass) - private val callSiteCheckerMethod = getMethod(callSiteChecker) - - private val hasMockOwner = Type.getType(hasMock.declaringClass) - private val hasMockMethod = getMethod(hasMock) - - override fun visit( - version: Int, - access: Int, - name: String, - signature: String?, - superName: String?, - interfaces: Array? - ) { - internalClassName = name - super.visit(version, access, name, signature, superName, interfaces) - } - - override fun visitMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array? - ): MethodVisitor { - val isNotSynthetic = access.and(Opcodes.ACC_SYNTHETIC) == 0 - // we do not want to mock or synthetic methods - return if (name != "" && isNotSynthetic) { - visitStaticMethod(access, name, descriptor, signature, exceptions) - } else { - cv.visitMethod(access, name, descriptor, signature, exceptions) - } - } - - private fun visitStaticMethod( - access: Int, - name: String, - descriptor: String, - signature: String?, - exceptions: Array? - ): MethodVisitor { - val isStatic = access and Opcodes.ACC_STATIC != 0 - val isVoidMethod = Type.getReturnType(descriptor) == Type.VOID_TYPE - - val computedSignature = computeKeyForMethod(internalClassName, "$name$descriptor") - val id = signatureToId.size - signatureToId[computedSignature] = id - - val isMockInitializer = - StaticPrimitiveInitializer(internalClassName, MockConfig.IS_MOCK_FIELD + id, Type.BOOLEAN_TYPE) - extraFields += isMockInitializer - - val mv = cv.visitMethod(access, name, descriptor, signature, exceptions) - return object : AdviceAdapter(Settings.ASM_API, mv, access, name, descriptor) { - - private val afterLabels: MutableList

    " -private const val CODE_TAG_START = "" -private const val CODE_TAG_END = "" -private const val BR_TAG = "
    " - -private val logger = KotlinLogging.logger {} - -/** - * Generates UtBot specific sections to include them to rendered JavaDoc comment. - * - * Methods responsible for value generation were taken from IJ platform class (they are private and couldn't be used outside). - * - * See [com.intellij.codeInsight.javadoc.JavaDocInfoGenerator]. - * - * It wouldn't be needed to generate rendered doc on our own after updating to the IJ platform 2022.2, - * so delete it after updating and use basic [com.intellij.codeInsight.javadoc.JavaDocInfoGenerator]. - */ -class UtJavaDocInfoGenerator { - fun addUtBotSpecificSectionsToJavaDoc(comment: PsiDocComment): String { - val builder = StringBuilder() - - val docTagProvider = UtCustomJavaDocTagProvider() - docTagProvider.supportedTags.forEach { - generateUtTagSection(builder, comment, it) - } - - return builder.toString() - } - - /** - * Searches for UtBot tags in the comment and generates a related section for it. - */ - private fun generateUtTagSection( - builder: StringBuilder, - comment: PsiDocComment, - utTag: UtCustomJavaDocTagProvider.UtCustomTagInfo - ) { - val tags = comment.findTagsByName(utTag.name) - - if (tags.isNotEmpty()) { - startHeaderSection(builder, utTag.getMessage()).append(PARAGRAPH_TAG) - - tags.mapIndexed { index, it -> - buildString { - generateValue(this, it.dataElements) - - if (index < tags.size - 1) { - this.append(", $BR_TAG") - } - } - }.forEach { builder.append(it) } - - builder.append(DocumentationMarkup.SECTION_END) - } - } - - private fun startHeaderSection(builder: StringBuilder, message: String): StringBuilder = - builder.append(DocumentationMarkup.SECTION_HEADER_START) - .append(message) - .append(MESSAGE_SEPARATOR) - .append(DocumentationMarkup.SECTION_SEPARATOR) - - /** - * Generates info depending on tag's value type. - */ - private fun generateValue(builder: StringBuilder, elements: Array) { - if (elements.isEmpty()) { - return - } - - var offset = elements[0].textOffset + elements[0].text.length - - for (element in elements) { - with(element) { - if (textOffset > offset) { - builder.append(' ') - } - - offset = textOffset + text.length - - if (element is PsiInlineDocTag) { - when (element.name) { - LITERAL_TAG -> generateLiteralValue(builder, element) - CODE_TAG, SYSTEM_PROPERTY_TAG -> generateCodeValue(element, builder) - LINK_TAG -> generateLinkValue(element, builder, false) - LINKPLAIN_TAG -> generateLinkValue(element, builder, true) - } - } else { - appendPlainText(builder, text) - } - } - } - } - - private fun appendPlainText(builder: StringBuilder, text: String) { - builder.append(StringUtil.replaceUnicodeEscapeSequences(text)) - } - - private fun collectElementText(builder: StringBuilder, element: PsiElement) { - element.accept(object : PsiRecursiveElementWalkingVisitor() { - override fun visitElement(element: PsiElement) { - super.visitElement(element) - if (element is PsiWhiteSpace || - element is PsiJavaToken || - element is PsiDocToken && element.tokenType !== JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS - ) { - builder.append(element.text) - } - } - }) - } - - private fun generateCodeValue(tag: PsiInlineDocTag, builder: StringBuilder) { - builder.append(CODE_TAG_START) - val pos = builder.length - generateLiteralValue(builder, tag) - builder.append(CODE_TAG_END) - if (builder[pos] == '\n') { - builder.insert( - pos, - ' ' - ) // line break immediately after opening tag is ignored by JEditorPane - } - } - - private fun generateLiteralValue(builder: StringBuilder, tag: PsiDocTag) { - val literalValue = buildString { - val children = tag.children - for (i in 2 until children.size - 1) { // process all children except tag opening/closing elements - val child = children[i] - if (child is PsiDocToken && child.tokenType === JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS) { - continue - } - - var elementText = child.text - if (child is PsiWhiteSpace) { - val pos = elementText.lastIndexOf('\n') - if (pos >= 0) { - elementText = elementText.substring(0, pos + 1) // skip whitespace before leading asterisk - } - } - appendPlainText(this, StringUtil.escapeXmlEntities(elementText)) - } - } - builder.append(StringUtil.trimLeading(literalValue)) - } - - private fun generateLinkValue(tag: PsiInlineDocTag, builder: StringBuilder, plainLink: Boolean) { - val tagElements = tag.dataElements - val linkText = createLinkText(tagElements) - if (linkText.isNotEmpty()) { - val index = JavaDocUtil.extractReference(linkText) - val referenceText = linkText.substring(0, index).trim() - val label = StringUtil.nullize(linkText.substring(index).trim()) - generateLink(builder, referenceText, label, tagElements[0], plainLink) - } - } - - private fun createLinkText(tagElements: Array): String { - var offset = if (tagElements.isNotEmpty()) { - tagElements[0].textOffset + tagElements[0].text.length - } else { - 0 - } - - return buildString { - for (i in tagElements.indices) { - val tagElement = tagElements[i] - if (tagElement.textOffset > offset) { - this.append(' ') - } - offset = tagElement.textOffset + tagElement.text.length - collectElementText(this, tagElement) - if (i < tagElements.lastIndex) { - this.append(' ') - } - } - }.trim() - } - - private fun generateLink( - builder: StringBuilder, - refText: String?, - label: String?, - context: PsiElement, - plainLink: Boolean - ) { - val linkLabel = label ?: context.manager.let { - JavaDocUtil.getLabelText(it.project, it, refText, context) - } - - var target: PsiElement? = null - try { - if (refText != null) { - target = JavaDocUtil.findReferenceTarget(context.manager, refText, context) - } - } catch (e: IndexNotReadyException) { - logger.info(e) { "Failed to find a reference while generating JavaDoc comment. Details: ${e.message}" } - } - - if (target == null && DumbService.isDumb(context.project)) { - builder.append(linkLabel) - } else if (target == null) { - builder.append("").append(linkLabel).append("") - } else { - JavaDocUtil.getReferenceText(target.project, target)?.let { - DocumentationManagerUtil.createHyperlink(builder, target, it, linkLabel, plainLink) - } - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/language/JavaLanguage.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/language/JavaLanguage.kt deleted file mode 100644 index c1afd584..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/language/JavaLanguage.kt +++ /dev/null @@ -1,249 +0,0 @@ -package org.utbot.intellij.plugin.language - -import com.intellij.openapi.actionSystem.ActionPlaces -import org.utbot.intellij.plugin.generator.UtTestsDialogProcessor -import org.utbot.intellij.plugin.ui.utils.PsiElementHandler -import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.CommonDataKeys -import com.intellij.openapi.actionSystem.PlatformDataKeys -import com.intellij.openapi.application.runReadAction -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.module.ModuleUtil -import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.ModuleRootManager -import com.intellij.openapi.roots.ProjectFileIndex -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.* -import com.intellij.psi.util.PsiTreeUtil -import com.intellij.refactoring.util.classMembers.MemberInfo -import org.jetbrains.kotlin.idea.core.getPackage -import org.jetbrains.kotlin.idea.core.util.toPsiDirectory -import org.jetbrains.kotlin.idea.core.util.toPsiFile -import org.jetbrains.kotlin.idea.util.module -import org.utbot.intellij.plugin.util.extractFirstLevelMembers -import org.utbot.intellij.plugin.util.isVisible -import java.util.* -import org.jetbrains.kotlin.j2k.getContainingClass -import org.jetbrains.kotlin.psi.KtClass -import org.jetbrains.kotlin.utils.addIfNotNull -import org.utbot.framework.plugin.api.util.LockFile -import org.utbot.intellij.plugin.models.packageName -import org.utbot.intellij.plugin.ui.InvalidClassNotifier -import org.utbot.intellij.plugin.language.agnostic.LanguageAssistant -import org.utbot.intellij.plugin.util.findSdkVersionOrNull - -object JvmLanguageAssistant : LanguageAssistant() { - override fun actionPerformed(e: AnActionEvent) { - val project = e.project ?: return - - val (srcClasses, focusedMethods, extractMembersFromSrcClasses) = getPsiTargets(e) ?: return - val validatedSrcClasses = validateSrcClasses(srcClasses) ?: return - - UtTestsDialogProcessor.createDialogAndGenerateTests(project, validatedSrcClasses, extractMembersFromSrcClasses, focusedMethods) - } - - override fun update(e: AnActionEvent) { - if (LockFile.isLocked()) { - e.presentation.isEnabled = false - return - } - if (e.place == ActionPlaces.POPUP) { - e.presentation.text = "Tests with UnitTestBot..." - } - e.presentation.isEnabled = getPsiTargets(e) != null - } - - private fun getPsiTargets(e: AnActionEvent): Triple, Set, Boolean>? { - val project = e.project ?: return null - val editor = e.getData(CommonDataKeys.EDITOR) - if (editor != null) { - //The action is being called from editor - val file = e.getData(CommonDataKeys.PSI_FILE) ?: return null - val element = findPsiElement(file, editor) ?: return null - - val psiElementHandler = PsiElementHandler.makePsiElementHandler(file) - - if (psiElementHandler.isCreateTestActionAvailable(element)) { - val srcClass = psiElementHandler.identifiedContainingClass(element) ?: return null - val srcSourceRoot = srcClass.getSourceRoot() ?: return null - val srcMembers = srcClass.extractFirstLevelMembers(false) - val focusedMethod = focusedMethodOrNull(element, srcMembers, psiElementHandler) - - val module = ModuleUtil.findModuleForFile(srcSourceRoot, project) ?: return null - val matchingRoot = ModuleRootManager.getInstance(module).contentEntries - .flatMap { entry -> entry.sourceFolders.toList() } - .firstOrNull { folder -> folder.file == srcSourceRoot } - if (srcMembers.isEmpty() || matchingRoot == null || matchingRoot.rootType.isForTests) { - return null - } - - return Triple(setOf(srcClass), if (focusedMethod != null) setOf(focusedMethod) else emptySet(), true) - } - } else { - // The action is being called from 'Project' tool window - val srcClasses = mutableSetOf() - val selectedMethods = mutableSetOf() - var extractMembersFromSrcClasses = false - val element = e.getData(CommonDataKeys.PSI_ELEMENT) - if (element is PsiFileSystemItem) { - e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY)?.let { - srcClasses += getAllClasses(project, it) - } - } else if (element is PsiElement){ - val file = element.containingFile ?: return null - val psiElementHandler = PsiElementHandler.makePsiElementHandler(file) - - if (psiElementHandler.isCreateTestActionAvailable(element)) { - psiElementHandler.identifiedContainingClass(element)?.let { - srcClasses += setOf(it) - extractMembersFromSrcClasses = true - val memberInfoList = runReadAction> { - it.extractFirstLevelMembers(false) - } - if (memberInfoList.isNullOrEmpty()) - return null - } - - if (element is PsiMethod) { - selectedMethods.add(MemberInfo(element)) - } - } - } else { - val someSelection = e.getData(PlatformDataKeys.PSI_ELEMENT_ARRAY)?: return null - someSelection.forEach { - when(it) { - is PsiFileSystemItem -> srcClasses += getAllClasses(project, arrayOf(it.virtualFile)) - is PsiClass -> srcClasses.add(it) - is KtClass -> srcClasses += getClassesFromFile(it.containingKtFile) - is PsiElement -> { - srcClasses.addIfNotNull(it.getContainingClass()) - if (it is PsiMethod) { - selectedMethods.add(MemberInfo(it)) - extractMembersFromSrcClasses = true - } - } - } - } - } - - if (srcClasses.size > 1) { - extractMembersFromSrcClasses = false - } - var commonSourceRoot = null as VirtualFile? - for (srcClass in srcClasses) { - if (commonSourceRoot == null) { - commonSourceRoot = srcClass.getSourceRoot()?: return null - } else if (commonSourceRoot != srcClass.getSourceRoot()) return null - } - if (commonSourceRoot == null) return null - val module = ModuleUtil.findModuleForFile(commonSourceRoot, project)?: return null - - if (!Arrays.stream(ModuleRootManager.getInstance(module).contentEntries) - .flatMap { entry -> Arrays.stream(entry.sourceFolders) } - .filter { folder -> !folder.rootType.isForTests && folder.file == commonSourceRoot} - .findAny().isPresent ) return null - - return Triple(srcClasses.toSet(), selectedMethods.toSet(), extractMembersFromSrcClasses) - } - return null - } - - private fun PsiElementHandler.identifiedContainingClass(element: PsiElement): PsiClass? { - val clazz = containingClass(element) - return if (clazz is PsiAnonymousClass) PsiTreeUtil.getParentOfType(clazz, PsiClass::class.java) else clazz - } - - /** - * Validates that a set of source classes matches some requirements from [isInvalid]. - * If no one of them matches, shows a warning about the first mismatch reason. - */ - private fun validateSrcClasses(srcClasses: Set): Set? { - val filteredClasses = srcClasses - .filterNot { it.isInvalid(withWarnings = false) } - .toSet() - - if (filteredClasses.isEmpty()) { - srcClasses.first().isInvalid(withWarnings = true) - return null - } - - return filteredClasses - } - - private fun PsiClass.isInvalid(withWarnings: Boolean): Boolean { - if (this.module?.let { findSdkVersionOrNull(it) } == null) { - if (withWarnings) InvalidClassNotifier.notify("class out of module or with undefined SDK") - return true - } - - val isInvisible = !this.isVisible - if (isInvisible) { - if (withWarnings) InvalidClassNotifier.notify("private or protected class ${this.name}") - return true - } - - val packageIsIncorrect = this.packageName.split(".").firstOrNull() == "java" - if (packageIsIncorrect) { - if (withWarnings) InvalidClassNotifier.notify("class ${this.name} located in java.* package") - return true - } - - return false - } - - private fun PsiElement?.getSourceRoot() : VirtualFile? { - val project = this?.project?: return null - val virtualFile = this.containingFile?.originalFile?.virtualFile?: return null - return ProjectFileIndex.getInstance(project).getSourceRootForFile(virtualFile) - } - - private fun findPsiElement(file: PsiFile, editor: Editor): PsiElement? { - val offset = editor.caretModel.offset - var element = file.findElementAt(offset) - if (element == null && offset == file.textLength) { - element = file.findElementAt(offset - 1) - } - - return element - } - - private fun focusedMethodOrNull(element: PsiElement, methods: List, psiElementHandler: PsiElementHandler): MemberInfo? { - // getParentOfType might return element which does not correspond to the standard Psi hierarchy. - // Thus, make transition to the Psi if it is required. - val currentMethod = PsiTreeUtil.getParentOfType(element, psiElementHandler.methodClass) - ?.let { psiElementHandler.toPsi(it, PsiMethod::class.java) } - // For anonymous class, we cannot select the nearest parent method directly. - // So, we have to suggest the nearest "outer" method from the named class. - val topmostCurrentMethod = PsiTreeUtil.getTopmostParentOfType(element, psiElementHandler.methodClass) - ?.let { psiElementHandler.toPsi(it, PsiMethod::class.java) } - - return methods.singleOrNull { it.member == currentMethod } - ?: methods.singleOrNull { it.member == topmostCurrentMethod } - } - - private fun getAllClasses(directory: PsiDirectory): Set { - val allClasses = directory.files.flatMap { getClassesFromFile(it) }.toMutableSet() - for (subDir in directory.subdirectories) allClasses += getAllClasses(subDir) - return allClasses - } - - private fun getAllClasses(project: Project, virtualFiles: Array): Set { - val psiFiles = virtualFiles.mapNotNull { it.toPsiFile(project) } - val psiDirectories = virtualFiles.mapNotNull { it.toPsiDirectory(project) } - val dirsArePackages = psiDirectories.all { it.getPackage()?.qualifiedName?.isNotEmpty() == true } - - if (!dirsArePackages) { - return emptySet() - } - val allClasses = psiFiles.flatMap { getClassesFromFile(it) }.toMutableSet() - for (psiDir in psiDirectories) allClasses += getAllClasses(psiDir) - - return allClasses - } - - private fun getClassesFromFile(psiFile: PsiFile): List { - val psiElementHandler = PsiElementHandler.makePsiElementHandler(psiFile) - return PsiTreeUtil.getChildrenOfTypeAsList(psiFile, psiElementHandler.classClass) - .map { psiElementHandler.toPsi(it, PsiClass::class.java) } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/ExternalLibraryDescriptors.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/ExternalLibraryDescriptors.kt deleted file mode 100644 index 9db3487d..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/ExternalLibraryDescriptors.kt +++ /dev/null @@ -1,80 +0,0 @@ -package org.utbot.intellij.plugin.models - -import com.intellij.openapi.roots.ExternalLibraryDescriptor -import org.jetbrains.idea.maven.utils.library.RepositoryLibraryDescription -import org.utbot.intellij.plugin.ui.utils.Version - -val ExternalLibraryDescriptor.mavenCoordinates: String - get() = "$libraryGroupId:$libraryArtifactId:${preferredVersion ?: RepositoryLibraryDescription.ReleaseVersionId}" - -val ExternalLibraryDescriptor.id: String - get() = "$libraryGroupId:$libraryArtifactId" - -//TODO: think about using JUnitExternalLibraryDescriptor from intellij-community sources (difficult to install) -fun jUnit4LibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "4.13.2" - return ExternalLibraryDescriptor( - "junit", "junit", - "4.12", null, preferredVersion - ) -} - -fun jUnit5LibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "5.8.1" - return ExternalLibraryDescriptor( - "org.junit.jupiter", "junit-jupiter", - "5.8.1", null, preferredVersion - ) -} - -fun jUnit5ParametrizedTestsLibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "5.8.1" - return ExternalLibraryDescriptor( - "org.junit.jupiter", "junit-jupiter-params", - "5.8.1", null, preferredVersion - ) -} - -fun mockitoCoreLibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "4.11.0" - return ExternalLibraryDescriptor( - "org.mockito", "mockito-core", - "3.5.0", null, preferredVersion - ) -} - -fun springBootTestLibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "3.0.6" - return ExternalLibraryDescriptor( - "org.springframework.boot", "spring-boot-test", - "2.4.0", null, preferredVersion - ) -} - -fun springTestLibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "6.0.8" - return ExternalLibraryDescriptor( - "org.springframework", "spring-test", - "2.5", null, preferredVersion - ) -} - - -/** - * TestNg requires JDK 11 since version 7.6.0 - * For projects with JDK 8 version 7.5 should be installed. - * See https://groups.google.com/g/testng-users/c/BAFB1vk-kok?pli=1 for more details. - */ -fun testNgNewLibraryDescriptor(versionInProject: Version?): ExternalLibraryDescriptor { - val preferredVersion = if (versionInProject?.hasNumericOrEmptyPatch() == true) versionInProject?.plainText else "7.6.0" - return ExternalLibraryDescriptor( - "org.testng", "testng", - "7.6.0", null, preferredVersion - ) -} - -fun testNgOldLibraryDescriptor() = - ExternalLibraryDescriptor( - "org.testng", "testng", - "7.5", "7.5", "7.5" - ) \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/GenerateTestsModel.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/GenerateTestsModel.kt deleted file mode 100644 index bf071056..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/models/GenerateTestsModel.kt +++ /dev/null @@ -1,77 +0,0 @@ -package org.utbot.intellij.plugin.models - -import com.intellij.openapi.components.service -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.HangingTestsTimeout -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.codegen.domain.RuntimeExceptionTestsBehaviour -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiJavaFile -import com.intellij.refactoring.util.classMembers.MemberInfo -import org.jetbrains.concurrency.Promise -import org.jetbrains.kotlin.psi.KtFile -import org.utbot.framework.SummariesGenerationType -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.JavaDocCommentStyle -import org.utbot.framework.plugin.api.SpringTestType -import org.utbot.framework.plugin.api.SpringSettings -import org.utbot.framework.util.ConflictTriggers -import org.utbot.intellij.plugin.settings.Settings - -class GenerateTestsModel( - project: Project, - srcModule: Module, - potentialTestModules: List, - srcClasses: Set, - val extractMembersFromSrcClasses: Boolean, - var selectedMembers: Set, - var timeout: Long, - var generateWarningsForStaticMocking: Boolean = false, - var fuzzingValue: Double = 0.05 -): BaseTestsModel( - project, - srcModule, - potentialTestModules, - srcClasses -) { - override var sourceRootHistory = project.service().sourceRootHistory - override var codegenLanguage = project.service().codegenLanguage - - lateinit var testFramework: TestFramework - lateinit var mockStrategy: MockStrategyApi - lateinit var mockFramework: MockFramework - lateinit var staticsMocking: StaticsMocking - lateinit var parametrizedTestSource: ParametrizedTestSource - lateinit var runtimeExceptionTestsBehaviour: RuntimeExceptionTestsBehaviour - lateinit var hangingTestsTimeout: HangingTestsTimeout - var useTaintAnalysis: Boolean = false - var runInspectionAfterTestGeneration: Boolean = true - lateinit var forceStaticMocking: ForceStaticMocking - lateinit var chosenClassesToMockAlways: Set - lateinit var commentStyle: JavaDocCommentStyle - - lateinit var springSettings: SpringSettings - lateinit var springTestType: SpringTestType - - val conflictTriggers: ConflictTriggers = ConflictTriggers() - val preClasspathCollectionPromises: MutableList> = mutableListOf() - - var runGeneratedTestsWithCoverage : Boolean = false - var summariesGenerationType : SummariesGenerationType = UtSettings.summaryGenerationType -} - -val PsiClass.packageName: String - get() { - return when (val currentFile = containingFile) { - is PsiJavaFile -> currentFile.packageName - is KtFile -> currentFile.packageFqName.asString() - else -> error("Can't find package name for $this: it should be located either in Java or Kt file") - } - } \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/process/EngineProcess.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/process/EngineProcess.kt deleted file mode 100644 index 221cacad..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/process/EngineProcess.kt +++ /dev/null @@ -1,443 +0,0 @@ -package org.utbot.intellij.plugin.process - -import com.intellij.ide.plugins.cl.PluginClassLoader -import com.intellij.openapi.application.runReadAction -import com.intellij.openapi.project.DumbService -import com.intellij.openapi.project.Project -import com.intellij.openapi.util.Computable -import com.intellij.psi.PsiMethod -import com.intellij.psi.impl.file.impl.JavaFileManager -import com.intellij.psi.search.GlobalSearchScope -import com.intellij.refactoring.util.classMembers.MemberInfo -import com.jetbrains.rd.util.ConcurrentHashMap -import com.jetbrains.rd.util.lifetime.LifetimeDefinition -import kotlinx.coroutines.runBlocking -import mu.KotlinLogging -import org.utbot.framework.plugin.api.SpringSettings.* -import org.utbot.common.* -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.tree.ututils.UtilClassKind -import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.BeanAdditionalData -import org.utbot.framework.plugin.api.BeanDefinitionData -import org.utbot.framework.plugin.services.JdkInfo -import org.utbot.framework.plugin.services.WorkingDirService -import org.utbot.framework.process.AbstractRDProcessCompanion -import org.utbot.framework.process.generated.* -import org.utbot.framework.process.generated.MethodDescription -import org.utbot.framework.process.kryo.KryoHelper -import org.utbot.framework.util.Conflict -import org.utbot.framework.util.ConflictTriggers -import org.utbot.intellij.plugin.UtbotBundle -import org.utbot.intellij.plugin.models.GenerateTestsModel -import org.utbot.intellij.plugin.ui.TestReportUrlOpeningListener -import org.utbot.intellij.plugin.util.assertReadAccessNotAllowed -import org.utbot.intellij.plugin.util.methodDescription -import org.utbot.rd.* -import org.utbot.rd.exceptions.InstantProcessDeathException -import org.utbot.rd.generated.SettingForResult -import org.utbot.rd.generated.SettingsModel -import org.utbot.rd.generated.settingsModel -import org.utbot.rd.generated.synchronizationModel -import org.utbot.rd.loggers.overrideDefaultRdLoggerFactoryWithKLogger -import org.utbot.sarif.SourceFindingStrategy -import java.io.File -import java.nio.charset.Charset -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.StandardCopyOption -import kotlin.io.path.pathString -import kotlin.reflect.KProperty1 -import kotlin.reflect.full.memberProperties - -private val engineProcessLogConfigurationsDirectory = utBotTempDirectory.toFile().resolve("rdEngineProcessLogConfigurations").also { it.mkdirs() } -private val logger = KotlinLogging.logger {}.also { overrideDefaultRdLoggerFactoryWithKLogger(it) } -private val engineProcessLogDirectory = utBotTempDirectory.toFile().resolve("rdEngineProcessLogs").also { it.mkdirs() } - -private const val configurationFileDeleteKey = "delete_this_comment_key" -private const val deleteOpenComment = "" - -private fun createEngineProcessLog4j2Config(): File { - val customFile = File(UtSettings.engineProcessLogConfigFile) - - val log4j2ConfigFile = - if (customFile.exists()) customFile - else Files.createTempFile(engineProcessLogConfigurationsDirectory.toPath(), null, ".xml").toFile() - - EngineProcess::class.java.classLoader.getResourceAsStream("log4j2.xml")?.use { logConfig -> - val resultConfig = logConfig.readBytes().toString(Charset.defaultCharset()) - .replace(Regex("$deleteOpenComment|$deleteCloseComment"), "") - .replace("ref=\"IdeaAppender\"", "ref=\"EngineProcessAppender\"") - .replace("\${env:UTBOT_LOG_DIR}", engineProcessLogDirectory.canonicalPath.trimEnd(File.separatorChar) + File.separatorChar) - Files.copy( - resultConfig.byteInputStream(), - log4j2ConfigFile.toPath(), - StandardCopyOption.REPLACE_EXISTING - ) - } - return log4j2ConfigFile -} - -private val log4j2ConfigFile: File = createEngineProcessLog4j2Config() - -private val log4j2ConfigSwitch = "-Dlog4j2.configurationFile=${log4j2ConfigFile.canonicalPath}" - -private val pluginClasspath: String - get() = (EngineProcess::class.java.classLoader as PluginClassLoader).classPath.baseUrls.joinToString( - separator = File.pathSeparator - ) - -private const val startFileName = "org.utbot.framework.process.EngineProcessMainKt" - -data class RdTestGenerationResult(val notEmptyCases: Int, val testSetsId: Long) - -class EngineProcessInstantDeathException : - InstantProcessDeathException(UtSettings.engineProcessDebugPort, UtSettings.runEngineProcessWithDebug) - -class EngineProcess private constructor(val project: Project, private val classNameToPath: Map, rdProcess: ProcessWithRdServer) : - ProcessWithRdServer by rdProcess { - companion object : AbstractRDProcessCompanion( - debugPort = UtSettings.engineProcessDebugPort, - runWithDebug = UtSettings.runEngineProcessWithDebug, - suspendExecutionInDebugMode = UtSettings.suspendEngineProcessExecutionInDebugMode, - processSpecificCommandLineArgs = { listOf("-ea", log4j2ConfigSwitch, "-cp", pluginClasspath, startFileName) } - ) { - fun createBlocking(project: Project, classNameToPath: Map): EngineProcess = runBlocking { EngineProcess(project, classNameToPath) } - - suspend operator fun invoke(project: Project, classNameToPath: Map): EngineProcess = - LifetimeDefinition().terminateOnException { lifetime -> - val rdProcess = startUtProcessWithRdServer(lifetime) { port -> - val cmd = obtainProcessCommandLine(port) - val directory = WorkingDirService.provide().toFile() - val builder = ProcessBuilder(cmd).directory(directory) - val process = builder.start() - - logger.info { "Engine process started with PID = ${process.getPid}" } - logger.info { "Engine process log directory - ${engineProcessLogDirectory.canonicalPath}" } - logger.info { "Engine process log file - ${engineProcessLogDirectory.resolve("utbot-engine-current.log")}" } - logger.info { "Log4j2 configuration file path - ${log4j2ConfigFile.canonicalPath}" } - - if (!process.isAlive) { - throw EngineProcessInstantDeathException() - } - - process - } - rdProcess.awaitProcessReady() - - return EngineProcess(project, classNameToPath, rdProcess) - } - } - - private val engineModel: EngineProcessModel = onSchedulerBlocking { protocol.engineProcessModel } - private val instrumenterAdapterModel: RdInstrumenterAdapter = onSchedulerBlocking { protocol.rdInstrumenterAdapter } - private val sourceFindingModel: RdSourceFindingStrategy = onSchedulerBlocking { protocol.rdSourceFindingStrategy } - private val settingsModel: SettingsModel = onSchedulerBlocking { protocol.settingsModel } - - private val kryoHelper = KryoHelper(lifetime) - private val sourceFindingStrategies = ConcurrentHashMap() - - fun setupUtContext(classpathForUrlsClassloader: List) { - assertReadAccessNotAllowed() - engineModel.setupUtContext.startBlocking(SetupContextParams(classpathForUrlsClassloader)) - } - - fun getSpringBeanDefinitions( - classpathList: List, - springSettings: PresentSpringSettings - ): List { - assertReadAccessNotAllowed() - val result = engineModel.getSpringBeanDefinitions.startBlocking( - GetSpringBeanDefinitions( - classpathList.toTypedArray(), - kryoHelper.writeObject(springSettings) - ) - ) - return result.beanDefinitions - .map { data -> - BeanDefinitionData( - beanName = data.beanName, - beanTypeName = data.beanTypeFqn, - additionalData = data.additionalData - ?.let { - BeanAdditionalData( - it.factoryMethodName, - it.parameterTypes, - it.configClassName - ) - } - ) - } - } - - private fun computeSourceFileByClass(params: ComputeSourceFileByClassArguments): String = - DumbService.getInstance(project).runReadActionInSmartMode { - val scope = GlobalSearchScope.allScope(project) - // JavaFileManager requires canonical name as it is said in import - val psiClass = JavaFileManager.getInstance(project).findClass(params.canonicalClassName, scope) - val sourceFile = psiClass?.navigationElement?.containingFile?.virtualFile?.canonicalPath - - logger.debug { "computeSourceFileByClass result: $sourceFile" } - sourceFile ?: classNameToPath[params.canonicalClassName] - } - - fun createTestGenerator( - buildDir: List, - classPath: String?, - dependencyPaths: String, - jdkInfo: JdkInfo, - applicationContext: ApplicationContext, - isCancelled: (Unit) -> Boolean - ) { - assertReadAccessNotAllowed() - - engineModel.isCancelled.set(handler = isCancelled) - instrumenterAdapterModel.computeSourceFileByClass.set(handler = this::computeSourceFileByClass) - - val params = TestGeneratorParams( - buildDir.toTypedArray(), - classPath, - dependencyPaths, - JdkInfo(jdkInfo.path.pathString, jdkInfo.version), - kryoHelper.writeObject(applicationContext) - ) - engineModel.createTestGenerator.startBlocking(params) - } - - fun obtainClassId(binaryName: String): ClassId { - assertReadAccessNotAllowed() - return kryoHelper.readObject(engineModel.obtainClassId.startBlocking(binaryName)) - } - - fun findMethodsInClassMatchingSelected(clazzId: ClassId, srcMethods: List): List { - assertReadAccessNotAllowed() - - val srcDescriptions = runReadAction { srcMethods.map { it.methodDescription() } } - val rdDescriptions = srcDescriptions.map { MethodDescription(it.name, it.containingClass, it.parameterTypes) } - val binaryClassId = kryoHelper.writeObject(clazzId) - val arguments = FindMethodsInClassMatchingSelectedArguments(binaryClassId, rdDescriptions) - val result = engineModel.findMethodsInClassMatchingSelected.startBlocking(arguments) - - return kryoHelper.readObject(result.executableIds) - } - - fun findMethodParamNames(classId: ClassId, methods: List): Map> { - assertReadAccessNotAllowed() - - val bySignature = executeWithTimeoutSuspended { - DumbService.getInstance(project).runReadActionInSmartMode(Computable { - methods.map { it.methodDescription() to it.paramNames() } - }) - } - val arguments = FindMethodParamNamesArguments( - kryoHelper.writeObject(classId), - kryoHelper.writeObject(bySignature) - ) - val result = engineModel.findMethodParamNames.startBlocking(arguments).paramNames - - return kryoHelper.readObject(result) - } - - private fun MemberInfo.paramNames(): List = (this.member as PsiMethod).parameterList.parameters.map { - if (it.name.startsWith("\$this")) - // If member is Kotlin extension function, name of first argument isn't good for further usage, - // so we better choose name based on type of receiver. - // - // There seems no API to check whether parameter is an extension receiver by PSI - it.type.presentableText - else - it.name - } - - fun generate( - conflictTriggers: ConflictTriggers, - methods: List, - mockStrategyApi: MockStrategyApi, - chosenClassesToMockAlways: Set, - timeout: Long, - generationTimeout: Long, - isSymbolicEngineEnabled: Boolean, - isFuzzingEnabled: Boolean, - fuzzingValue: Double, - searchDirectory: String, - taintConfigPath: String? - ): RdTestGenerationResult { - assertReadAccessNotAllowed() - val params = GenerateParams( - kryoHelper.writeObject(methods), - mockStrategyApi.name, - kryoHelper.writeObject(chosenClassesToMockAlways), - timeout, - generationTimeout, - isSymbolicEngineEnabled, - isFuzzingEnabled, - fuzzingValue, - searchDirectory, - taintConfigPath - ) - val result = engineModel.generate.startBlocking(params) - - return RdTestGenerationResult(result.notEmptyCases, result.testSetsId) - } - - fun render( - model: GenerateTestsModel, - testSetsId: Long, - classUnderTest: ClassId, - paramNames: MutableMap>, - generateUtilClassFile: Boolean, - enableTestsTimeout: Boolean, - testClassPackageName: String, - ): Pair { - assertReadAccessNotAllowed() - val params = makeParams( - model, - testSetsId, - classUnderTest, - paramNames, - generateUtilClassFile, - enableTestsTimeout, - testClassPackageName, - ) - val result = engineModel.render.startBlocking(params) - val realUtilClassKind = result.utilClassKind?.let { - if (UtilClassKind.RegularUtUtils(model.codegenLanguage).javaClass.simpleName == it) - UtilClassKind.RegularUtUtils(model.codegenLanguage) - else - UtilClassKind.UtUtilsWithMockito(model.codegenLanguage) - } - - return result.generatedCode to realUtilClassKind - } - - private fun makeParams( - model: GenerateTestsModel, - testSetsId: Long, - classUnderTest: ClassId, - paramNames: MutableMap>, - generateUtilClassFile: Boolean, - enableTestsTimeout: Boolean, - testClassPackageName: String, - ): RenderParams = - RenderParams( - testSetsId, - kryoHelper.writeObject(classUnderTest), - model.projectType.toString(), - kryoHelper.writeObject(paramNames), - generateUtilClassFile, - model.testFramework.id.lowercase(), - model.mockFramework.name, - model.codegenLanguage.name, - model.parametrizedTestSource.name, - model.staticsMocking.id, - kryoHelper.writeObject(model.forceStaticMocking), - model.generateWarningsForStaticMocking, - model.runtimeExceptionTestsBehaviour.name, - model.hangingTestsTimeout.timeoutMs, - enableTestsTimeout, - testClassPackageName, - ) - - private fun getSourceFile(params: SourceStrategyMethodArgs): String? = - DumbService.getInstance(project).runReadActionInSmartMode { - sourceFindingStrategies[params.testSetId]!!.getSourceFile( - params.classFqn, - params.extension - )?.canonicalPath - } - - private fun getSourceRelativePath(params: SourceStrategyMethodArgs): String = - DumbService.getInstance(project).runReadActionInSmartMode { - sourceFindingStrategies[params.testSetId]!!.getSourceRelativePath( - params.classFqn, - params.extension - ) - } - - private fun testsRelativePath(testSetId: Long): String = - DumbService.getInstance(project).runReadActionInSmartMode { - sourceFindingStrategies[testSetId]!!.testsRelativePath - } - - private fun initSourceFindingStrategies() { - sourceFindingModel.getSourceFile.set(handler = this::getSourceFile) - sourceFindingModel.getSourceRelativePath.set(handler = this::getSourceRelativePath) - sourceFindingModel.testsRelativePath.set(handler = this::testsRelativePath) - } - - fun writeSarif( - reportFilePath: Path, - testSetsId: Long, - generatedTestsCode: String, - sourceFindingStrategy: SourceFindingStrategy - ): String { - assertReadAccessNotAllowed() - - val params = WriteSarifReportArguments(testSetsId, reportFilePath.pathString, generatedTestsCode) - - sourceFindingStrategies[testSetsId] = sourceFindingStrategy - return engineModel.writeSarifReport.startBlocking(params) - } - - fun generateTestsReport(model: GenerateTestsModel, eventLogMessage: String?): Triple { - assertReadAccessNotAllowed() - - val forceMockWarning = UtbotBundle.takeIf( - "test.report.force.mock.warning", - TestReportUrlOpeningListener.prefix, - TestReportUrlOpeningListener.mockitoSuffix - ) { model.conflictTriggers[Conflict.ForceMockHappened] == true } - val forceStaticMockWarnings = UtbotBundle.takeIf( - "test.report.force.static.mock.warning", - TestReportUrlOpeningListener.prefix, - TestReportUrlOpeningListener.mockitoInlineSuffix - ) { model.conflictTriggers[Conflict.ForceStaticMockHappened] == true } - val testFrameworkWarnings = - UtbotBundle.takeIf("test.report.test.framework.warning") { model.conflictTriggers[Conflict.TestFrameworkConflict] == true } - val params = GenerateTestReportArgs( - eventLogMessage, - model.testPackageName, - model.isMultiPackage, - forceMockWarning, - forceStaticMockWarnings, - testFrameworkWarnings, - model.conflictTriggers.anyTriggered - ) - val result = engineModel.generateTestReport.startBlocking(params) - - return Triple(result.notifyMessage, result.statistics, result.hasWarnings) - } - - init { - lifetime.onTermination { - protocol.synchronizationModel.stopProcess.fire(Unit) - } - settingsModel.settingFor.set { params -> - SettingForResult(AbstractSettings.allSettings[params.key]?.let { settings: AbstractSettings -> - val members: Collection> = - settings.javaClass.kotlin.memberProperties - val names: List> = - members.filter { it.name == params.propertyName } - val sing: KProperty1 = names.single() - val result = sing.get(settings) - logger.trace { "request for settings ${params.key}:${params.propertyName} - $result" } - result.toString() - }) - } - initSourceFindingStrategies() - } - - fun executeWithTimeoutSuspended(block: () -> T): T { - try { - assertReadAccessNotAllowed() - protocol.synchronizationModel.suspendTimeoutTimer.startBlocking(true) - return block() - } - finally { - assertReadAccessNotAllowed() - protocol.synchronizationModel.suspendTimeoutTimer.startBlocking(false) - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/sarif/SarifReportIdea.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/sarif/SarifReportIdea.kt deleted file mode 100644 index 7a240881..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/sarif/SarifReportIdea.kt +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.intellij.plugin.sarif - -import com.intellij.openapi.application.WriteAction -import com.intellij.psi.PsiClass -import com.intellij.openapi.progress.ProgressIndicator -import org.utbot.common.PathUtil.classFqnToPath -import org.utbot.intellij.plugin.ui.utils.getOrCreateSarifReportsPath -import java.util.concurrent.CountDownLatch -import mu.KotlinLogging -import org.utbot.framework.plugin.api.ClassId -import org.utbot.intellij.plugin.generator.UtTestsDialogProcessor -import org.utbot.intellij.plugin.models.GenerateTestsModel -import org.utbot.intellij.plugin.process.EngineProcess -import org.utbot.sarif.Sarif -import org.utbot.intellij.plugin.util.IntelliJApiHelper -import java.nio.file.Path - -object SarifReportIdea { - private val logger = KotlinLogging.logger {} - /** - * Creates the SARIF report by calling the SarifReport.createReport(), - * saves it to test resources directory and notifies the user about the creation. - */ - fun createAndSave( - proc: EngineProcess, - testSetsId: Long, - classId: ClassId, - model: GenerateTestsModel, - generatedTestsCode: String, - psiClass: PsiClass, - reportsCountDown: CountDownLatch, - srcClassPathToSarifReport: MutableMap, - srcClassPath: Path, - indicator: ProgressIndicator - ) { - UtTestsDialogProcessor.updateIndicator(indicator, UtTestsDialogProcessor.ProgressRange.SARIF, "Generate SARIF report for ${classId.name}", .5) - // building the path to the report file - val classFqn = classId.name - val (sarifReportsPath, sourceFinding) = WriteAction.computeAndWait, Exception> { - model.testModule.getOrCreateSarifReportsPath(model.testSourceRoot) to SourceFindingStrategyIdea(psiClass) - } - val reportFilePath = sarifReportsPath.resolve("${classFqnToPath(classFqn)}Report.sarif") - - IntelliJApiHelper.run(IntelliJApiHelper.Target.THREAD_POOL, indicator, "Save SARIF report for ${classId.name}") { - try { - val sarifReportAsJson = proc.writeSarif(reportFilePath, testSetsId, generatedTestsCode, sourceFinding) - val newSarifReport = Sarif.fromJson(sarifReportAsJson) - val oldSarifReport = srcClassPathToSarifReport[srcClassPath] ?: Sarif.empty() - srcClassPathToSarifReport[srcClassPath] = oldSarifReport + newSarifReport - } catch (e: Exception) { - logger.error { e } - } finally { - reportsCountDown.countDown() - } - } - } -} - diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/sarif/SourceFindingStrategyIdea.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/sarif/SourceFindingStrategyIdea.kt deleted file mode 100644 index e98f6247..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/sarif/SourceFindingStrategyIdea.kt +++ /dev/null @@ -1,72 +0,0 @@ -package org.utbot.intellij.plugin.sarif - -import com.intellij.psi.JavaPsiFacade -import com.intellij.psi.PsiClass -import com.intellij.psi.search.GlobalSearchScope -import org.utbot.common.PathUtil.classFqnToPath -import org.utbot.common.PathUtil.safeRelativize -import org.utbot.common.PathUtil.toPath -import org.utbot.sarif.SourceFindingStrategy -import java.io.File - -/** - * The search strategy based on the information available to the PsiClass. - */ -class SourceFindingStrategyIdea(testClass: PsiClass) : SourceFindingStrategy() { - - /** - * Returns the relative path (against `project.basePath`) to the file with generated tests. - */ - override val testsRelativePath: String - get() = safeRelativize(project.basePath, testsFilePath) - ?: testsFilePath.toPath().fileName.toString() - - /** - * Returns the relative path (against `project.basePath`) to the source file containing the class [classFqn]. - */ - override fun getSourceRelativePath(classFqn: String, extension: String?): String { - val psiClass = findPsiClass(classFqn) - val absolutePath = psiClass?.containingFile?.virtualFile?.path - val relativePath = safeRelativize(project.basePath, absolutePath) - val defaultRelativePath = classFqnToPath(classFqn) + (extension ?: defaultExtension) - return relativePath ?: defaultRelativePath - } - - /** - * Finds the source file containing the class [classFqn]. - * Returns null if the file does not exist. - */ - override fun getSourceFile(classFqn: String, extension: String?): File? { - val psiClass = findPsiClass(classFqn) - val sourceCodeFile = psiClass?.containingFile?.virtualFile?.path?.let(::File) - return if (sourceCodeFile?.exists() == true) sourceCodeFile else null - } - - // internal - - private val project = testClass.project - - private val testsFilePath = testClass.containingFile.virtualFile.path - - /** - * The file extension to be used in [getSourceRelativePath] if the source file - * was not found by the class qualified name and the `extension` parameter is null. - */ - private val defaultExtension = "." + (testClass.containingFile.virtualFile.extension ?: "java") - - /** - * Returns PsiClass by given [classFqn]. - */ - private fun findPsiClass(classFqn: String): PsiClass? { - val psiFacade = JavaPsiFacade.getInstance(project) - val psiClass = psiFacade.findClass(classFqn, GlobalSearchScope.allScope(project)) - if (psiClass != null) - return psiClass - - // If for some reason `psiClass` was not found by the `findClass` method - val packageName = classFqn.substringBeforeLast('.') - val shortClassName = classFqn.substringAfterLast('.') - val neededPackage = psiFacade.findPackage(packageName) - return neededPackage?.classes?.firstOrNull { it.name == shortClassName } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Configurable.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Configurable.kt deleted file mode 100644 index 7a41ff80..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Configurable.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.intellij.plugin.settings - -import com.intellij.openapi.options.SearchableConfigurable -import com.intellij.openapi.project.Project -import javax.swing.JComponent - -class Configurable(val project: Project) : SearchableConfigurable { - private val displayName: String = "UtBot Configuration" - private val id: String = "org.utbot.intellij.plugin.settings.UtBotSettingsConfigurable" - private val settingsWindow = SettingsWindow(project) - - override fun createComponent(): JComponent = settingsWindow.panel - - override fun isModified(): Boolean = settingsWindow.isModified() - - override fun apply() = settingsWindow.apply() - - override fun reset() = settingsWindow.reset() - - override fun getDisplayName(): String = displayName - - override fun getId(): String = id -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/JavaTestFrameworkMapper.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/JavaTestFrameworkMapper.kt deleted file mode 100644 index e3aee633..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/JavaTestFrameworkMapper.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.intellij.plugin.settings - -import org.utbot.framework.codegen.domain.Junit4 -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.domain.TestNg - -object JavaTestFrameworkMapper : TestFrameworkMapper { - override fun toString(value: TestFramework): String = value.id - - override fun fromString(value: String): TestFramework = when (value) { - Junit4.id -> Junit4 - Junit5.id -> Junit5 - TestNg.id -> TestNg - else -> error("Unknown TestFramework $value") - } - - override fun handleUnknown(testFramework: TestFramework): TestFramework { - if (TestFramework.allItems.contains(testFramework)) { - return testFramework - } - return try { - fromString(testFramework.id) - } catch (ex: IllegalStateException) { - TestFramework.defaultItem - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/MockAlwaysClassesTable.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/MockAlwaysClassesTable.kt deleted file mode 100644 index 133167ff..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/MockAlwaysClassesTable.kt +++ /dev/null @@ -1,132 +0,0 @@ -package org.utbot.intellij.plugin.settings - -import org.utbot.engine.Mocker -import com.intellij.execution.util.ListTableWithButtons -import com.intellij.ide.ui.laf.darcula.DarculaUIUtil -import com.intellij.openapi.components.service -import com.intellij.openapi.project.Project -import com.intellij.openapi.ui.ComponentValidator -import com.intellij.openapi.ui.ValidationInfo -import com.intellij.openapi.ui.cellvalidators.CellComponentProvider -import com.intellij.openapi.ui.cellvalidators.CellTooltipManager -import com.intellij.openapi.ui.cellvalidators.ValidatingTableCellRendererWrapper -import com.intellij.openapi.util.Disposer -import com.intellij.psi.JavaPsiFacade -import com.intellij.psi.PsiClass -import com.intellij.psi.search.GlobalSearchScope -import com.intellij.ui.components.fields.ExtendableTextField -import com.intellij.ui.table.JBTable -import com.intellij.util.ui.ColumnInfo -import com.intellij.util.ui.ListTableModel -import java.util.function.BiFunction -import java.util.function.Supplier -import javax.swing.DefaultCellEditor -import javax.swing.JComponent -import javax.swing.JTextField -import javax.swing.table.DefaultTableCellRenderer -import javax.swing.table.TableCellEditor -import javax.swing.table.TableCellRenderer - -@Suppress("UnstableApiUsage") -internal class MockAlwaysClassesTable(project: Project) : ListTableWithButtons() { - - // TODO maybe use MinusculeMatcher for completion sometime - - init { - MockAlwaysClassesTable.project = project - - val table: JBTable = tableView - table.emptyText.clear() - table.emptyText.appendLine("Add class fully qualified name") - table.emptyText.appendLine("to enable force static mocking for it") - table.isStriped = false - CellTooltipManager(project).withCellComponentProvider(CellComponentProvider.forTable(table)).installOn(table) - Disposer.register(project, validatorsDisposable) - - project.service().classesToMockAlways.forEach { addNewElement(Item(it)) } - } - - override fun createListModel(): ListTableModel = - ListTableModel(columnInfo) - - override fun createElement(): Item = Item("") - - override fun isEmpty(element: Item): Boolean = element.fullyQualifiedName.isEmpty() - - override fun cloneElement(variable: Item): Item = variable - - // we don't let delete default classes - override fun canDeleteElement(selection: Item): Boolean = - selection.fullyQualifiedName !in Mocker.defaultSuperClassesToMockAlwaysNames - - fun reset() { - setValues(project.service().classesToMockAlways.map { Item(it) }) - } - - fun apply() { - project.service().setClassesToMockAlways(elements.map { it.fullyQualifiedName }) - } - - fun isModified(): Boolean = - elements.map { it.fullyQualifiedName }.toSet() != project.service().classesToMockAlways - - companion object { - - private lateinit var project: Project - - private val columnInfo: ColumnInfo = object : ColumnInfo("Class") { - override fun valueOf(item: Item): String = item.fullyQualifiedName - - private val validationInfoProducer = BiFunction { value: String?, component: JComponent? -> - if (value.isNullOrEmpty()) { - return@BiFunction ValidationInfo("Class fully qualified name cannot be null or empty", component) - } - - // skip any validations for out default classes - if (value in Mocker.defaultSuperClassesToMockAlwaysNames) { - return@BiFunction null - } - - checkPsiClassByName(value) ?: return@BiFunction ValidationInfo("No such class $value found", component) - - return@BiFunction null - } - - override fun getEditor(item: Item): TableCellEditor { - val cellEditor = ExtendableTextField() - cellEditor.putClientProperty(DarculaUIUtil.COMPACT_PROPERTY, java.lang.Boolean.TRUE) - ComponentValidator(validatorsDisposable).withValidator( - Supplier { - val text = cellEditor.text - validationInfoProducer.apply(text, cellEditor) - }).andRegisterOnDocumentListener(cellEditor).installOn(cellEditor) - return DefaultCellEditor(cellEditor) - } - - override fun getRenderer(item: Item): TableCellRenderer? { - val cellEditor = JTextField() - cellEditor.putClientProperty(DarculaUIUtil.COMPACT_PROPERTY, java.lang.Boolean.TRUE) - return ValidatingTableCellRendererWrapper(DefaultTableCellRenderer()).withCellValidator { value, _, _ -> - validationInfoProducer.apply(value.toString(), null) - }.bindToEditorSize { cellEditor.preferredSize } - } - - override fun isCellEditable(item: Item): Boolean { - return true - } - - override fun setValue(item: Item, value: String) { - item.fullyQualifiedName = value - } - } - - private val validatorsDisposable = Disposer.newDisposable() - - private fun checkPsiClassByName(classFullyQualifiedName: String): PsiClass? = - JavaPsiFacade.getInstance(project).findClass(classFullyQualifiedName, GlobalSearchScope.allScope(project)) - } - - internal data class Item(var fullyQualifiedName: String) { - override fun toString(): String = fullyQualifiedName - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Settings.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Settings.kt deleted file mode 100644 index 4de8b700..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/Settings.kt +++ /dev/null @@ -1,34 +0,0 @@ -@file:Suppress("MemberVisibilityCanBePrivate") - -package org.utbot.intellij.plugin.settings - -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.intellij.plugin.models.GenerateTestsModel - -fun loadStateFromModel(settings: Settings, model: GenerateTestsModel) { - settings.loadState(fromGenerateTestsModel(model)) -} - -private fun fromGenerateTestsModel(model: GenerateTestsModel): Settings.State { - return Settings.State( - sourceRootHistory = model.sourceRootHistory, - codegenLanguage = model.codegenLanguage, - testFramework = model.testFramework, - mockStrategy = model.mockStrategy, - mockFramework = model.mockFramework ?: MockFramework.defaultItem, - staticsMocking = model.staticsMocking, - runtimeExceptionTestsBehaviour = model.runtimeExceptionTestsBehaviour, - hangingTestsTimeout = model.hangingTestsTimeout, - useTaintAnalysis = model.useTaintAnalysis, - runInspectionAfterTestGeneration = model.runInspectionAfterTestGeneration, - forceStaticMocking = model.forceStaticMocking, - parametrizedTestSource = model.parametrizedTestSource, - classesToMockAlways = model.chosenClassesToMockAlways.mapTo(mutableSetOf()) { it.name }.toTypedArray(), - springTestType = model.springTestType, - fuzzingValue = model.fuzzingValue, - runGeneratedTestsWithCoverage = model.runGeneratedTestsWithCoverage, - commentStyle = model.commentStyle, - generationTimeoutInMillis = model.timeout, - summariesGenerationType = model.summariesGenerationType - ) -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/SettingsWindow.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/SettingsWindow.kt deleted file mode 100644 index 06d17cbd..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/settings/SettingsWindow.kt +++ /dev/null @@ -1,262 +0,0 @@ -package org.utbot.intellij.plugin.settings - -import com.intellij.openapi.components.service -import com.intellij.openapi.project.Project -import com.intellij.openapi.ui.ComboBox -import com.intellij.openapi.ui.DialogPanel -import com.intellij.ui.ContextHelpLabel -import com.intellij.ui.components.JBLabel -import com.intellij.ui.dsl.builder.* -import com.intellij.ui.layout.selected -import com.intellij.ui.layout.selectedValueMatches -import com.intellij.util.ui.UIUtil -import com.intellij.util.ui.components.BorderLayoutPanel -import javax.swing.* -import kotlin.reflect.KClass -import org.utbot.framework.SummariesGenerationType -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.HangingTestsTimeout -import org.utbot.framework.codegen.domain.RuntimeExceptionTestsBehaviour -import org.utbot.framework.plugin.api.CodeGenerationSettingItem -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.JavaDocCommentStyle -import org.utbot.framework.plugin.api.TreatOverflowAsError -import org.utbot.framework.plugin.api.isSummarizationCompatible -import org.utbot.intellij.plugin.ui.components.CodeGenerationSettingItemRenderer -import org.utbot.intellij.plugin.util.showSettingsEditor - -class SettingsWindow(val project: Project) { - private val settings = project.service() - - // TODO it is better to use something like SearchEverywhere for classes but it is complicated to implement - private lateinit var codegenLanguageCombo: ComboBox - private val excludeTable = MockAlwaysClassesTable(project) - private lateinit var useTaintAnalysisCheckBox: JCheckBox - private lateinit var runInspectionAfterTestGenerationCheckBox: JCheckBox - private lateinit var forceMockCheckBox: JCheckBox - private lateinit var enableSummarizationGenerationCheckBox: JCheckBox - private lateinit var enableExperimentalLanguagesCheckBox: JCheckBox - - private fun Row.createCombo(loader: KClass<*>, values: Array<*>) { - comboBox(DefaultComboBoxModel(values)) - .bindItem( - getter = { settings.providerNameByServiceLoader(loader) }, - setter = { settings.setProviderByLoader(loader, it as CodeGenerationSettingItem) }, - ).component.renderer = CodeGenerationSettingItemRenderer() - } - - val panel: JPanel = panel { - row("Generated test language:") { - codegenLanguageCombo = comboBox(DefaultComboBoxModel(CodegenLanguage.values())).gap(RightGap.COLUMNS) - .apply { - component.renderer = CodeGenerationSettingItemRenderer() - ContextHelpLabel.create("You can generate test methods in Java or Kotlin regardless of your source code language.") - }.bindItem( - getter = { settings.providerNameByServiceLoader(CodegenLanguage::class) as CodegenLanguage }, - setter = { - settings.setProviderByLoader( - CodegenLanguage::class, - it as CodeGenerationSettingItem - ) - } - ).component - codegenLanguageCombo.addActionListener { - if (!codegenLanguageCombo.item.isSummarizationCompatible()) { - enableSummarizationGenerationCheckBox.isSelected = false - } - } - - enableExperimentalLanguagesCheckBox = checkBox("Experimental languages support") - .onApply { - settings.state.enableExperimentalLanguagesSupport = - enableExperimentalLanguagesCheckBox.isSelected - } - .onReset { - enableExperimentalLanguagesCheckBox.isSelected = - settings.experimentalLanguagesSupport == true - } - .onIsModified { enableExperimentalLanguagesCheckBox.isSelected xor settings.experimentalLanguagesSupport } - .component - contextHelp("Enable JavaScript and Python if IDE supports them") - }.bottomGap(BottomGap.MEDIUM) - - row("Tests with exceptions:") { - createCombo(RuntimeExceptionTestsBehaviour::class, RuntimeExceptionTestsBehaviour.values()) - } - row("Overflow detection:") { - createCombo(TreatOverflowAsError::class, TreatOverflowAsError.values()) - } - row { - useTaintAnalysisCheckBox = - checkBox("Enable taint analysis") - .onApply { - settings.state.useTaintAnalysis = useTaintAnalysisCheckBox.isSelected - } - .onReset { - useTaintAnalysisCheckBox.isSelected = settings.state.useTaintAnalysis - } - .onIsModified { - useTaintAnalysisCheckBox.isSelected xor settings.state.useTaintAnalysis - } - .component - contextHelp("Experimental taint analysis support") - } - row { - runInspectionAfterTestGenerationCheckBox = - checkBox("Display detected errors on the Problems tool window") - .onApply { - settings.state.runInspectionAfterTestGeneration = - runInspectionAfterTestGenerationCheckBox.isSelected - } - .onReset { - runInspectionAfterTestGenerationCheckBox.isSelected = - settings.state.runInspectionAfterTestGeneration - } - .onIsModified { - runInspectionAfterTestGenerationCheckBox.isSelected xor settings.state.runInspectionAfterTestGeneration - } - .component - contextHelp("Automatically run code inspection after test generation") - } - row { - enableSummarizationGenerationCheckBox = checkBox("Enable summaries generation") - .onApply { - settings.state.summariesGenerationType = - if (enableSummarizationGenerationCheckBox.isSelected) SummariesGenerationType.FULL else SummariesGenerationType.NONE - } - .onReset { - enableSummarizationGenerationCheckBox.isSelected = - settings.state.summariesGenerationType != SummariesGenerationType.NONE - } - .onIsModified { - enableSummarizationGenerationCheckBox.isSelected xor (settings.state.summariesGenerationType != SummariesGenerationType.NONE) - }.enabledIf(codegenLanguageCombo.selectedValueMatches(CodegenLanguage?::isSummarizationCompatible)) - .component - } - indent { - row("Javadoc comment style:") { - createCombo(JavaDocCommentStyle::class, JavaDocCommentStyle.values()) - }.enabledIf(enableSummarizationGenerationCheckBox.selected).bottomGap(BottomGap.MEDIUM) - } - - row { - forceMockCheckBox = checkBox("Force mocking static methods") - .onApply { - settings.state.forceStaticMocking = - if (forceMockCheckBox.isSelected) ForceStaticMocking.FORCE else ForceStaticMocking.DO_NOT_FORCE - } - .onReset { forceMockCheckBox.isSelected = settings.forceStaticMocking == ForceStaticMocking.FORCE } - .onIsModified { forceMockCheckBox.isSelected xor (settings.forceStaticMocking != ForceStaticMocking.DO_NOT_FORCE) } - .component - contextHelp("Overrides other mocking settings") - } - row("Classes to be forcedly mocked:") {} - row { - val updater = Runnable { - UIUtil.setEnabled(excludeTable.component, forceMockCheckBox.isSelected, true) - } - cell(excludeTable.component) - .align(Align.FILL) - .onApply { excludeTable.apply() } - .onReset { - excludeTable.reset() - updater.run() - } - .onIsModified { excludeTable.isModified() } - - forceMockCheckBox.addActionListener { updater.run() } - }.bottomGap(BottomGap.MEDIUM) - - row("Hanging test timeout:") { - spinner( - range = IntRange( - HangingTestsTimeout.MIN_TIMEOUT_MS.toInt(), - HangingTestsTimeout.MAX_TIMEOUT_MS.toInt() - ), - step = 50 - ).bindIntValue( - getter = { - settings.hangingTestsTimeout.timeoutMs - .coerceIn(HangingTestsTimeout.MIN_TIMEOUT_MS, HangingTestsTimeout.MAX_TIMEOUT_MS).toInt() - }, - setter = { - settings.hangingTestsTimeout = HangingTestsTimeout(it.toLong()) - } - ) - - label("milliseconds per method") - contextHelp( - "Set this timeout to define which test is \"hanging\". Increase it to test the " + - "time-consuming method or decrease if the execution speed is critical for you." - ) - } - val fuzzLabel = JBLabel("Fuzzing") - val symLabel = JBLabel("Symbolic execution") - row { - cell(BorderLayoutPanel().apply { - topGap(TopGap.SMALL) - addToLeft(JBLabel("Test generation method:").apply { verticalAlignment = SwingConstants.TOP }) - addToCenter(BorderLayoutPanel().apply { - val granularity = 20 - val slider = object : JSlider() { - val updater = Runnable() { - val fuzzingPercent = 100.0 * (granularity - value) / granularity - fuzzLabel.text = "Fuzzing %.0f %%".format(fuzzingPercent) - symLabel.text = "%.0f %% Symbolic execution".format(100.0 - fuzzingPercent) - } - - override fun getValue() = ((1 - settings.fuzzingValue) * granularity).toInt() - - override fun setValue(n: Int) { - val tmp = value - settings.fuzzingValue = 1 - n / granularity.toDouble() - if (tmp != n) { - updater.run() - } - } - } - UIUtil.setSliderIsFilled(slider, true) - slider.minimum = 0 - slider.maximum = granularity - slider.minorTickSpacing = 1 - slider.majorTickSpacing = granularity / 4 - slider.paintTicks = true - slider.paintTrack = true - slider.paintLabels = false - slider.toolTipText = - "While fuzzer \"guesses\" the values to enter as much execution paths as possible, symbolic executor tries to \"deduce\" them. Choose the proportion of generation time allocated for each of these methods within Test generation timeout. The slide has no effect for Spring Projects." - slider.updater.run() - addToTop(slider) - addToBottom(BorderLayoutPanel().apply { - addToLeft(fuzzLabel) - addToRight(symLabel) - }) - }) - }).align(Align.FILL) - }.enabled(UtSettings.useFuzzing) - if (!UtSettings.useFuzzing) { - row { - comment("Fuzzing is disabled in configuration file.") - link("Edit configuration") { - UIUtil.getWindow(fuzzLabel)?.dispose() - showSettingsEditor(project, "useFuzzing") - } - } - } - } - - fun isModified(): Boolean { - return excludeTable.isModified() || (panel as DialogPanel).isModified() - } - - fun apply() { - excludeTable.apply() - (panel as DialogPanel).apply() - } - - fun reset() { - excludeTable.reset() - (panel as DialogPanel).reset() - } -} diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt deleted file mode 100644 index e49034b6..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt +++ /dev/null @@ -1,1381 +0,0 @@ -@file:Suppress("WHEN_ENUM_CAN_BE_NULL_IN_JAVA") - -package org.utbot.intellij.plugin.ui - -import com.intellij.codeInsight.hint.HintUtil -import com.intellij.icons.AllIcons -import com.intellij.openapi.application.runWriteAction -import com.intellij.openapi.command.WriteCommandAction -import com.intellij.openapi.components.service -import com.intellij.openapi.editor.colors.EditorColorsManager -import com.intellij.openapi.module.Module -import com.intellij.openapi.module.ModuleUtil -import com.intellij.openapi.options.ShowSettingsUtil -import com.intellij.openapi.projectRoots.JavaSdkVersion -import com.intellij.openapi.roots.DependencyScope -import com.intellij.openapi.roots.ExternalLibraryDescriptor -import com.intellij.openapi.roots.JavaProjectModelModificationService -import com.intellij.openapi.roots.LibraryOrderEntry -import com.intellij.openapi.roots.ModifiableRootModel -import com.intellij.openapi.roots.ModuleRootManager -import com.intellij.openapi.roots.ModuleRootModificationUtil -import com.intellij.openapi.roots.ModuleSourceOrderEntry -import com.intellij.openapi.roots.ui.configuration.ClasspathEditor -import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable -import com.intellij.openapi.ui.ComboBox -import com.intellij.openapi.ui.DialogPanel -import com.intellij.openapi.ui.DialogWrapper -import com.intellij.openapi.ui.Messages -import com.intellij.openapi.ui.OptionAction -import com.intellij.openapi.ui.ValidationInfo -import com.intellij.openapi.ui.popup.IconButton -import com.intellij.openapi.ui.popup.ListSeparator -import com.intellij.openapi.util.Computable -import com.intellij.openapi.util.NlsContexts -import com.intellij.openapi.vfs.StandardFileSystems -import com.intellij.openapi.vfs.VfsUtil -import com.intellij.openapi.vfs.VfsUtilCore.urlToPath -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.openapi.vfs.newvfs.impl.FakeVirtualFile -import com.intellij.openapi.wm.ToolWindowManager -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiManager -import com.intellij.refactoring.PackageWrapper -import com.intellij.refactoring.ui.MemberSelectionTable -import com.intellij.refactoring.ui.PackageNameReferenceEditorCombo -import com.intellij.refactoring.util.RefactoringUtil -import com.intellij.refactoring.util.classMembers.MemberInfo -import com.intellij.ui.ColoredListCellRenderer -import com.intellij.ui.GroupHeaderSeparator -import com.intellij.ui.HyperlinkLabel -import com.intellij.ui.IdeBorderFactory.createBorder -import com.intellij.ui.InplaceButton -import com.intellij.ui.JBColor -import com.intellij.ui.JBIntSpinner -import com.intellij.ui.SideBorder -import com.intellij.ui.SimpleTextAttributes -import org.utbot.framework.plugin.api.SpringSettings.* -import com.intellij.ui.components.CheckBox -import com.intellij.ui.components.JBLabel -import com.intellij.ui.components.JBScrollPane -import com.intellij.ui.components.JBTextField -import com.intellij.ui.components.panels.HorizontalLayout -import com.intellij.ui.components.panels.NonOpaquePanel -import com.intellij.ui.components.panels.OpaquePanel -import com.intellij.ui.dsl.builder.Align -import com.intellij.ui.dsl.builder.panel -import com.intellij.ui.layout.ComboBoxPredicate -import com.intellij.util.IncorrectOperationException -import com.intellij.util.ui.JBUI -import com.intellij.util.ui.JBUI.Borders.empty -import com.intellij.util.ui.JBUI.Borders.merge -import com.intellij.util.ui.JBUI.scale -import com.intellij.util.ui.JBUI.size -import com.intellij.util.ui.UIUtil -import com.intellij.util.ui.components.BorderLayoutPanel -import mu.KotlinLogging -import org.jetbrains.concurrency.Promise -import org.jetbrains.concurrency.thenRun -import org.utbot.common.PathUtil.toPath -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.domain.DependencyInjectionFramework -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.Junit4 -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.MockitoStaticMocking -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.SpringBeans -import org.utbot.framework.codegen.domain.SpringBoot -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.domain.TestNg -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.TreatOverflowAsError -import org.utbot.framework.plugin.api.MockFramework.MOCKITO -import org.utbot.framework.plugin.api.SpringTestType -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.CodeGenerationSettingItem -import org.utbot.framework.plugin.api.SpringConfiguration -import org.utbot.framework.plugin.api.SpringTestType.* -import org.utbot.framework.plugin.api.utils.MOCKITO_EXTENSIONS_FILE_CONTENT -import org.utbot.framework.plugin.api.utils.MOCKITO_EXTENSIONS_FOLDER -import org.utbot.framework.plugin.api.utils.MOCKITO_MOCKMAKER_FILE_NAME -import org.utbot.framework.util.Conflict -import org.utbot.intellij.plugin.models.GenerateTestsModel -import org.utbot.intellij.plugin.models.id -import org.utbot.intellij.plugin.models.jUnit4LibraryDescriptor -import org.utbot.intellij.plugin.models.jUnit5LibraryDescriptor -import org.utbot.intellij.plugin.models.jUnit5ParametrizedTestsLibraryDescriptor -import org.utbot.intellij.plugin.models.mockitoCoreLibraryDescriptor -import org.utbot.intellij.plugin.models.packageName -import org.utbot.intellij.plugin.models.springBootTestLibraryDescriptor -import org.utbot.intellij.plugin.models.springTestLibraryDescriptor -import org.utbot.intellij.plugin.models.testNgNewLibraryDescriptor -import org.utbot.intellij.plugin.models.testNgOldLibraryDescriptor -import org.utbot.intellij.plugin.settings.JavaTestFrameworkMapper -import org.utbot.intellij.plugin.settings.Settings -import org.utbot.intellij.plugin.settings.loadStateFromModel -import org.utbot.intellij.plugin.ui.components.CodeGenerationSettingItemRenderer -import org.utbot.intellij.plugin.ui.components.TestFolderComboWithBrowseButton -import org.utbot.intellij.plugin.ui.utils.LibrarySearchScope -import org.utbot.intellij.plugin.ui.utils.addSourceRootIfAbsent -import org.utbot.intellij.plugin.ui.utils.allLibraries -import org.utbot.intellij.plugin.ui.utils.createTestFrameworksRenderer -import org.utbot.intellij.plugin.ui.utils.findDependencyInjectionLibrary -import org.utbot.intellij.plugin.ui.utils.findDependencyInjectionTestLibrary -import org.utbot.intellij.plugin.ui.utils.findFrameworkLibrary -import org.utbot.intellij.plugin.ui.utils.findParametrizedTestsLibrary -import org.utbot.intellij.plugin.ui.utils.getOrCreateTestResourcesPath -import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle -import org.utbot.intellij.plugin.ui.utils.parseVersion -import org.utbot.intellij.plugin.ui.utils.testResourceRootTypes -import org.utbot.intellij.plugin.ui.utils.testRootType -import org.utbot.intellij.plugin.util.* -import java.awt.BorderLayout -import java.awt.Color -import java.awt.Component -import java.awt.Dimension -import java.awt.event.ActionEvent -import java.nio.file.Files -import java.nio.file.Path -import java.nio.file.Paths -import java.text.ParseException -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter -import java.util.concurrent.TimeUnit -import javax.swing.AbstractAction -import javax.swing.Action -import javax.swing.DefaultComboBoxModel -import javax.swing.JButton -import javax.swing.JCheckBox -import javax.swing.JComboBox -import javax.swing.JComponent -import javax.swing.JList -import javax.swing.JSpinner -import javax.swing.text.DefaultFormatter -import kotlin.io.path.notExists - - -private const val RECENTS_KEY = "org.utbot.recents" - -private const val SAME_PACKAGE_LABEL = "same as for sources" - -private const val WILL_BE_INSTALLED_LABEL = " (will be installed)" - -private const val NO_SPRING_CONFIGURATION_OPTION = "No configuration" -private const val DEFAULT_SPRING_PROFILE_NAME = "default" - -private const val ACTION_GENERATE = "Generate Tests" -private const val ACTION_GENERATE_AND_RUN = "Generate and Run" - -class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(model.project) { - companion object { - const val minSupportedSdkVersion = 8 - const val maxSupportedSdkVersion = 17 - } - - private val logger = KotlinLogging.logger {} - - private val membersTable = MemberSelectionTable(emptyList(), null) - - private val cbSpecifyTestPackage = CheckBox("Specify destination package", false) - private val testPackageField = PackageNameReferenceEditorCombo( - findTestPackageComboValue(), - model.project, - RECENTS_KEY, - "Choose Destination Package" - ) - - private val testSourceFolderField = TestFolderComboWithBrowseButton(model) - - private val codegenLanguages = createComboBox(CodegenLanguage.values()) - private val testFrameworks = createComboBox(TestFramework.allItems.toTypedArray()) - - private val javaConfigurationHelper = SpringConfigurationsHelper(SpringConfigurationType.ClassConfiguration) - private val xmlConfigurationHelper = SpringConfigurationsHelper(SpringConfigurationType.FileConfiguration) - - private val mockStrategies = createComboBox(MockStrategyApi.values()) - private val staticsMocking = JCheckBox("Mock static methods") - - private val springTestType = createComboBox(SpringTestType.values()).also { it.setMinimumAndPreferredWidth(300) } - private val springConfig = createComboBoxWithSeparatorsForSpringConfigs(shortenConfigurationNames()) - private val profileNames = JBTextField(23).apply { emptyText.text = DEFAULT_SPRING_PROFILE_NAME } - - private val timeoutSpinner = - JBIntSpinner(TimeUnit.MILLISECONDS.toSeconds(model.timeout).toInt(), 1, Int.MAX_VALUE, 1).also { - when(val editor = it.editor) { - is JSpinner.DefaultEditor -> { - when(val formatter = editor.textField.formatter) { - is DefaultFormatter -> {formatter.allowsInvalid = false} - } - } - } - } - private val parametrizedTestSources = JCheckBox("Parameterized tests") - - private lateinit var panel: DialogPanel - - @Suppress("UNCHECKED_CAST") - private val itemsToHelpTooltip = hashMapOf( - (codegenLanguages as ComboBox) to createHelpLabel(), - (testFrameworks as ComboBox) to createHelpLabel(), - staticsMocking to null, - parametrizedTestSources to null - ) - - private fun shortenConfigurationNames(): Set>> { - val springBootApplicationClasses = model.getSortedSpringBootApplicationClasses() - val configurationClasses = model.getSortedSpringConfigurationClasses() - val xmlConfigurationFiles = model.getSpringXMLConfigurationFiles() - - val shortenedJavaConfigurationClasses = - javaConfigurationHelper.shortenSpringConfigNames(springBootApplicationClasses + configurationClasses) - - val shortenedSpringXMLConfigurationFiles = - xmlConfigurationHelper.shortenSpringConfigNames(xmlConfigurationFiles) - - return setOf( - null to listOf(NO_SPRING_CONFIGURATION_OPTION), - "@SpringBootApplication" to springBootApplicationClasses.map(shortenedJavaConfigurationClasses::getValue), - "@Configuration" to configurationClasses.map(shortenedJavaConfigurationClasses::getValue), - "XML configuration" to xmlConfigurationFiles.map(shortenedSpringXMLConfigurationFiles::getValue) - ) - } - - private fun createComboBox(values: Array) : ComboBox { - val comboBox = object:ComboBox(DefaultComboBoxModel(values)) { - var maxWidth = 0 - // Do not shrink strategy - override fun getPreferredSize(): Dimension { - val size = super.getPreferredSize() - if (size.width > maxWidth) maxWidth = size.width - return size.apply { width = maxWidth } - } - } - return comboBox.also { - it.renderer = CodeGenerationSettingItemRenderer() - } - } - - private fun createComboBoxWithSeparatorsForSpringConfigs( - separatorToValues: Collection>>, - width: Int = 300 - ): ComboBox { - val comboBox = object : ComboBox() { - override fun setSelectedItem(anObject: Any?) { - if (anObject !is ListSeparator) { - super.setSelectedItem(anObject) - } - } - }.apply { - isSwingPopup = false - renderer = MyListCellRenderer() - - setMinimumAndPreferredWidth(width) - separatorToValues.forEach { (separator, values) -> - if (values.isEmpty()) return@forEach - separator?.let { - addItem(ListSeparator(it)) - } - values.forEach(::addItem) - } - } - - return comboBox - } - - private class MyListCellRenderer: ColoredListCellRenderer() { - private val separatorRenderer = SeparatorRenderer() - override fun getListCellRendererComponent( - list: JList?, - value: Any?, - index: Int, - selected: Boolean, - hasFocus: Boolean - ): Component { - return when (value) { - is ListSeparator -> { - separatorRenderer.init(value.text, index < 0) - } - else -> { - super.getListCellRendererComponent(list, value, index, selected, hasFocus) - } - } - } - - override fun customizeCellRenderer( - list: JList, - value: Any?, - index: Int, - selected: Boolean, - hasFocus: Boolean - ) { - append(java.lang.String.valueOf(value)) - } - } - - class SeparatorRenderer : OpaquePanel() { - private val separator = GroupHeaderSeparator(JBUI.insets(3, 8, 1, 0)) - private var emptyPreferredHeight = false - - init { - layout = BorderLayout() - add(separator) - } - - fun init(@NlsContexts.Separator caption: String, emptyPreferredHeight: Boolean) : SeparatorRenderer { - separator.caption = caption - this.emptyPreferredHeight = emptyPreferredHeight - return this - } - - override fun getPreferredSize(): Dimension { - return super.getPreferredSize().apply { - if (emptyPreferredHeight) { - height = 0 - } - } - } - } - - private fun createHelpLabel(commonTooltip: String? = null) = JBLabel(AllIcons.General.ContextHelp).apply { - if (!commonTooltip.isNullOrEmpty()) toolTipText = commonTooltip - } - - init { - title = "Generate Tests with UnitTestBot" - setResizable(false) - - TestFramework.allItems.forEach { - it.isInstalled = findFrameworkLibrary(model.testModule, it) != null - it.isParametrizedTestsConfigured = findParametrizedTestsLibrary(model.testModule, it) != null - } - MockFramework.allItems.forEach { - it.isInstalled = findFrameworkLibrary(model.testModule, it) != null - } - StaticsMocking.allItems.forEach { - it.isConfigured = staticsMockingConfigured() - } - - - DependencyInjectionFramework.allItems.forEach { - it.isInstalled = findDependencyInjectionLibrary(model.srcModule, it) != null - } - DependencyInjectionFramework.installedItems.forEach { - it.testFrameworkInstalled = findDependencyInjectionTestLibrary(model.testModule, it) != null - } - - val isUtBotSpringRuntimePresent = this::class.java.classLoader.getResource("lib/utbot-spring-analyzer-shadow.jar") != null - - model.projectType = - // TODO show some warning, when we see Spring project, but don't have `utBotSpringRuntime` - if (isUtBotSpringRuntimePresent && DependencyInjectionFramework.installedItems.isNotEmpty()) ProjectType.Spring - else ProjectType.PureJvm - - // Configure notification urls callbacks - TestsReportNotifier.urlOpeningListener.callbacks[TestReportUrlOpeningListener.mockitoSuffix]?.plusAssign { - configureMockFramework() - } - - TestsReportNotifier.urlOpeningListener.callbacks[TestReportUrlOpeningListener.mockitoInlineSuffix]?.plusAssign { - configureStaticMocking() - } - - TestReportUrlOpeningListener.callbacks[TestReportUrlOpeningListener.eventLogSuffix]?.plusAssign { - with(model.project) { - if (this.isDisposed) return@with - val twm = ToolWindowManager.getInstance(this) - twm.getToolWindow("Event Log")?.activate(null) - } - } - - model.runGeneratedTestsWithCoverage = model.project.service().runGeneratedTestsWithCoverage - - init() - } - - - @Suppress("UNCHECKED_CAST") - override fun createCenterPanel(): JComponent { - panel = panel { - row("Test sources root:") { - cell(testSourceFolderField).align(Align.FILL) - } - row("Testing framework:") { - cell(testFrameworks) - } - - if (model.projectType == ProjectType.Spring) { - row("Spring configuration:") { - cell(springConfig) - contextHelp( - "100% Symbolic execution mode.
    " + - "Classes defined in Spring configuration will be used instead " + - "of interfaces and abstract classes.
    " + - "Mocks will be used when necessary." - ) - } - row("Tests type:") { - cell(springTestType) - contextHelp( - "Unit tests do not initialize ApplicationContext
    " + - "and do not autowire beans, while integration tests do." - ) - }.enabledIf( - ComboBoxPredicate(springConfig) { isSpringConfigSelected() && !isXmlSpringConfigUsed() } - ) - row("Active profile(s):") { - cell(profileNames) - contextHelp( - "One or several comma-separated names.
    " + - "If all names are incorrect, default profile is used" - ) - }.enabledIf( - ComboBoxPredicate(springConfig) { isSpringConfigSelected() } - ) - } - - row("Mocking strategy:") { - cell(mockStrategies) - contextHelp( - "Mock everything around the target class or the whole package except the system classes.
    " + - "Otherwise, mock nothing. Mockito will be installed, if you don't have one." - ) - }.enabledIf(ComboBoxPredicate(springConfig) { - model.projectType == ProjectType.PureJvm || !isSpringConfigSelected() - }) - row { cell(staticsMocking)} - row { - cell(parametrizedTestSources) - contextHelp("Parametrization is not supported in some configurations, e.g. if mocks are used.") - }.enabledIf(ComboBoxPredicate(springConfig) { - model.projectType == ProjectType.PureJvm - }) - row("Test generation timeout:") { - cell(BorderLayoutPanel().apply { - addToLeft(timeoutSpinner) - addToRight(JBLabel("seconds per class")) - }) - contextHelp("Set the timeout for all test generation processes per class to complete.") - } - - row("Generate tests for:") {} - row { - cell(JBScrollPane(membersTable)).align(Align.FILL) - } - } - - initDefaultValues() - setListeners() - updateMembersTable() - initValidation() - return panel - } - - // TODO:SAT-1571 investigate Android Studio specific sdk issues - fun isSdkSupported() : Boolean = - findSdkVersion(model.srcModule).feature in minSupportedSdkVersion..maxSupportedSdkVersion - || IntelliJApiHelper.isAndroidStudio() - - override fun setOKActionEnabled(isEnabled: Boolean) { - super.setOKActionEnabled(isEnabled) - getButton(okAction)?.apply { - UIUtil.setEnabled(this, isEnabled, true) - okOptionAction?.isEnabled = isEnabled - okOptionAction?.options?.forEach { it.isEnabled = isEnabled } - } - } - - override fun createTitlePane(): JComponent? = if (isSdkSupported()) null else SdkNotificationPanel(model) - - override fun createSouthPanel(): JComponent { - val southPanel = super.createSouthPanel() - if (!isSdkSupported()) isOKActionEnabled = false - return southPanel - } - - private fun findTestPackageComboValue(): String { - return if (!model.isMultiPackage) { - model.srcClasses.first().packageName - } else { - SAME_PACKAGE_LABEL - } - } - - /** - * A panel to inform user about incorrect jdk in project. - * - * Note: this implementation was encouraged by NonModalCommitPromoter. - */ - private inner class SdkNotificationPanel(private val model: GenerateTestsModel) : - BorderLayoutPanel(scale(UIUtil.DEFAULT_HGAP), 0) { - init { - border = merge(empty(10), createBorder(JBColor.border(), SideBorder.BOTTOM), true) - - addToCenter(JBLabel().apply { - icon = AllIcons.Ide.FatalError - text = run { - val sdkVersion = findSdkVersionOrNull(this@GenerateTestsDialogWindow.model.srcModule)?.feature - if (sdkVersion != null) { - "SDK version $sdkVersion is not supported, use ${JavaSdkVersion.JDK_1_8}, ${JavaSdkVersion.JDK_11} or ${JavaSdkVersion.JDK_17}" - } else { - "SDK is not defined" - } - } - }) - - addToRight(NonOpaquePanel(HorizontalLayout(scale(12))).apply { - add(createConfigureAction()) - add(createCloseAction()) - }) - } - - override fun getBackground(): Color? = - EditorColorsManager.getInstance().globalScheme.getColor(HintUtil.ERROR_COLOR_KEY) ?: super.getBackground() - - private fun createConfigureAction(): JComponent = - HyperlinkLabel("Setup SDK").apply { - addHyperlinkListener { - val projectStructure = ProjectStructureConfigurable.getInstance(model.project) - val isEdited = ShowSettingsUtil.getInstance().editConfigurable(model.project, projectStructure) - { projectStructure.select(model.srcModule.name, ClasspathEditor.getName(), true) } - - val sdkVersion = findSdkVersion(model.srcModule) - val sdkFixed = isEdited && sdkVersion.feature in minSupportedSdkVersion..maxSupportedSdkVersion - if (sdkFixed) { - this@SdkNotificationPanel.isVisible = false - initValidation() - } - } - } - - private fun createCloseAction(): JComponent = - InplaceButton(IconButton(null, AllIcons.Actions.Close, AllIcons.Actions.CloseHovered)) { - this@SdkNotificationPanel.isVisible = false - } - } - - private fun updateMembersTable() { - val srcClasses = model.srcClasses - - val items = if (model.extractMembersFromSrcClasses) { - srcClasses.flatMap { it.extractFirstLevelMembers(false) } - } else { - srcClasses.map { MemberInfo(it) } - }.toMutableList().sortedWith { o1, o2 -> o1.displayName.compareTo(o2.displayName, true) } - - checkMembers(items) - membersTable.setMemberInfos(items) - if (items.isEmpty()) isOKActionEnabled = false - - // Fix issue with MemberSelectionTable height, set it directly. - // Use row height times methods (12 max) plus one more for header - val height = membersTable.rowHeight * (items.size.coerceAtMost(12) + 1) - membersTable.preferredScrollableViewportSize = size(-1, height) - } - - private fun checkMembers(allMembers: Collection) { - val selectedDisplayNames = model.selectedMembers.map { it.displayName } - val selectedMembers = allMembers.filter { it.displayName in selectedDisplayNames } - - val methodsToCheck = selectedMembers.ifEmpty { allMembers } - methodsToCheck.forEach { it.isChecked = true } - } - - private fun getTestRoot() : VirtualFile? { - model.testSourceRoot?.let { - if (it.isDirectory || it is FakeVirtualFile) return it - } - return null - } - - private fun VirtualFile.toRealFile():VirtualFile = if (this is FakeVirtualFile) this.parent else this - - override fun doValidate(): ValidationInfo? { - val testRoot = getTestRoot() - ?: return ValidationInfo("Test source root is not configured", testSourceFolderField.childComponent) - - if (!model.project.isBuildWithGradle && ModuleUtil.findModuleForFile(testRoot.toRealFile(), model.project) == null) { - return ValidationInfo("Test source root is located out of any module", testSourceFolderField.childComponent) - } - - membersTable.tableHeader?.background = UIUtil.getTableBackground() - membersTable.background = UIUtil.getTableBackground() - if (membersTable.selectedMemberInfos.isEmpty()) { - membersTable.tableHeader?.background = JBUI.CurrentTheme.Validator.errorBackgroundColor() - membersTable.background = JBUI.CurrentTheme.Validator.errorBackgroundColor() - return ValidationInfo( - "Tick any methods to generate tests for", membersTable - ) - } - if (!isSdkSupported()) { - return ValidationInfo("") - } - return null - } - - inner class OKOptionAction(val okAction : Action) : AbstractAction(model.getActionText()), OptionAction { - init { - putValue(DEFAULT_ACTION, java.lang.Boolean.TRUE) - putValue(FOCUSED_ACTION, java.lang.Boolean.TRUE) - } - private val generateAction = object : AbstractAction(ACTION_GENERATE) { - override fun actionPerformed(e: ActionEvent?) { - model.runGeneratedTestsWithCoverage = false - updateButtonText(e) - } - } - private val generateAndRunAction = object : AbstractAction(ACTION_GENERATE_AND_RUN) { - override fun actionPerformed(e: ActionEvent?) { - model.runGeneratedTestsWithCoverage = true - updateButtonText(e) - } - } - - private fun updateButtonText(e: ActionEvent?) { - with(e?.source as JButton) { - text = this@GenerateTestsDialogWindow.model.getActionText() - this@GenerateTestsDialogWindow.model.project.service().runGeneratedTestsWithCoverage = - this@GenerateTestsDialogWindow.model.runGeneratedTestsWithCoverage - repaint() - } - } - - override fun actionPerformed(e: ActionEvent?) { - okAction.actionPerformed(e) - } - - override fun getOptions(): Array { - if (model.runGeneratedTestsWithCoverage) return arrayOf(generateAndRunAction, generateAction) - return arrayOf(generateAction, generateAndRunAction) - } - - override fun setEnabled(enabled: Boolean) { - super.setEnabled(enabled && isSdkSupported()) - } - } - - private var okOptionAction: OKOptionAction? = null - override fun getOKAction(): Action { - if (okOptionAction == null) { - okOptionAction = OKOptionAction(super.getOKAction()) - } - return okOptionAction!! - } - - override fun doOKAction() { - fun now() = LocalDateTime.now().format(DateTimeFormatter.ofPattern("HH:mm:ss.SSS")) - - logger.info { "Tests generation instantiation phase started at ${now()}" } - - model.testPackageName = - if (testPackageField.text != SAME_PACKAGE_LABEL) testPackageField.text else "" - - val selectedMembers = membersTable.selectedMemberInfos - if (!model.extractMembersFromSrcClasses) { - model.srcClasses = selectedMembers - .mapNotNull { it.member as? PsiClass } - .toSet() - } - model.selectedMembers = selectedMembers.toSet() - - model.testFramework = testFrameworks.item - model.mockStrategy = mockStrategies.item - model.parametrizedTestSource = - if (parametrizedTestSources.isSelected) ParametrizedTestSource.PARAMETRIZE else ParametrizedTestSource.DO_NOT_PARAMETRIZE - - model.mockFramework = MOCKITO - model.staticsMocking = if (staticsMocking.isSelected) MockitoStaticMocking else NoStaticMocking - try { - timeoutSpinner.commitEdit() - } catch (ignored: ParseException) { - } - model.timeout = TimeUnit.SECONDS.toMillis(timeoutSpinner.number.toLong()) - model.testSourceRoot?.apply { model.updateSourceRootHistory(this.toNioPath().toString()) } - - model.springSettings = - when (springConfig.item) { - NO_SPRING_CONFIGURATION_OPTION -> AbsentSpringSettings - else -> { - val shortConfigName = springConfig.item.toString() - val config = - if (isXmlSpringConfigUsed()) { - val absolutePath = xmlConfigurationHelper.restoreFullName(shortConfigName) - SpringConfiguration.XMLConfiguration(absolutePath) - } else { - val classBinaryName = javaConfigurationHelper.restoreFullName(shortConfigName) - - val springBootConfigs = model.getSortedSpringBootApplicationClasses() - if (springBootConfigs.contains(classBinaryName)) { - SpringConfiguration.SpringBootConfiguration( - configBinaryName = classBinaryName, - isUnique = springBootConfigs.size == 1, - ) - } else { - SpringConfiguration.JavaConfiguration(classBinaryName) - } - } - - PresentSpringSettings( - configuration = config, - profiles = parseProfileExpression(profileNames.text, DEFAULT_SPRING_PROFILE_NAME).toList() - ) - } - } - - model.springTestType = springTestType.item - - val settings = model.project.service() - with(settings) { - model.runtimeExceptionTestsBehaviour = runtimeExceptionTestsBehaviour - model.hangingTestsTimeout = hangingTestsTimeout - model.useTaintAnalysis = useTaintAnalysis - model.runInspectionAfterTestGeneration = runInspectionAfterTestGeneration - model.forceStaticMocking = forceStaticMocking - model.chosenClassesToMockAlways = chosenClassesToMockAlways() - model.fuzzingValue = fuzzingValue - model.commentStyle = javaDocCommentStyle - model.summariesGenerationType = state.summariesGenerationType - UtSettings.treatOverflowAsError = treatOverflowAsError == TreatOverflowAsError.AS_ERROR - UtSettings.useTaintAnalysis = model.useTaintAnalysis - } - - // Firstly, save settings - loadStateFromModel(settings, model) - // Then, process force static mocking case - model.generateWarningsForStaticMocking = model.staticsMocking is NoStaticMocking - if (model.forceStaticMocking == ForceStaticMocking.FORCE) { - // We need mock framework extension to mock statics, no user provided => choose default - if (model.staticsMocking is NoStaticMocking) { - model.staticsMocking = StaticsMocking.defaultItem - } - } - - try { - val testRootPrepared = createTestRootAndPackages() - if (!testRootPrepared) { - showTestRootAbsenceErrorMessage() - return - } - } catch (e: IncorrectOperationException) { - println(e.message) - } - - configureTestFrameworkIfRequired() - configureMockFrameworkIfRequired() - configureStaticMockingIfRequired() - configureParametrizedTestsIfRequired() - - logger.info { "Tests generation instantiation phase finished at ${now()}" } - super.doOKAction() - } - - /** - * Creates test source root if absent and target packages for tests. - */ - private fun createTestRootAndPackages(): Boolean { - model.setSourceRootAndFindTestModule(createDirectoryIfMissing(model.testSourceRoot)) - val testSourceRoot = model.testSourceRoot ?: return false - - if (model.testSourceRoot?.isDirectory != true) return false - if (getOrCreateTestRoot(testSourceRoot)) { - if (cbSpecifyTestPackage.isSelected) { - createSelectedPackage(testSourceRoot) - } else { - createPackagesByClasses(testSourceRoot) - } - return true - } - return false - } - - private fun createDirectoryIfMissing(dir : VirtualFile?): VirtualFile? { - val file = if (dir is FakeVirtualFile) { - WriteCommandAction.runWriteCommandAction(model.project, Computable { - VfsUtil.createDirectoryIfMissing(dir.path) - }) - } else { - dir - }?: return null - return if (VfsUtil.virtualToIoFile(file).isFile) { - null - } else { - StandardFileSystems.local().findFileByPath(file.path) - } - } - - private fun createPackagesByClasses(testSourceRoot: VirtualFile) { - val packageNames = model.srcClasses.map { it.packageName }.sortedBy { it.length } - for (packageName in packageNames) { - runWriteAction { - RefactoringUtil.createPackageDirectoryInSourceRoot(createPackageWrapper(packageName), testSourceRoot) - } - } - } - - private fun createSelectedPackage(testSourceRoot: VirtualFile) = - runWriteAction { - RefactoringUtil.createPackageDirectoryInSourceRoot(createPackageWrapper(testPackageField.text), testSourceRoot) - } - - private fun showTestRootAbsenceErrorMessage() = - Messages.showErrorDialog( - "Test source root is not configured or is located out of content entry!", - "Generation Error" - ) - - private fun getOrCreateTestRoot(testSourceRoot: VirtualFile): Boolean { - val modifiableModel = ModuleRootManager.getInstance(model.testModule).modifiableModel - try { - val contentEntry = modifiableModel.contentEntries - .filterNot { it.file == null } - .firstOrNull { VfsUtil.isAncestor(it.file!!, testSourceRoot, false) } - ?: return false - - contentEntry.addSourceRootIfAbsent( - modifiableModel, - testSourceRoot.url, - codegenLanguages.item.testRootType() - ) - return true - } finally { - if (modifiableModel.isWritable && !modifiableModel.isDisposed) modifiableModel.dispose() - } - } - - private fun createPackageWrapper(packageName: String?): PackageWrapper = - PackageWrapper(PsiManager.getInstance(model.project), trimPackageName(packageName)) - - private fun trimPackageName(name: String?): String = name?.trim() ?: "" - - private fun isSpringConfigSelected(): Boolean = springConfig.item != NO_SPRING_CONFIGURATION_OPTION - private fun isXmlSpringConfigUsed(): Boolean = springConfig.item.toString().endsWith(".xml") - - private fun initDefaultValues() { - testPackageField.isEnabled = false - cbSpecifyTestPackage.isEnabled = model.srcClasses.all { cl -> cl.packageName.isNotEmpty() } - - val settings = model.project.service() - - mockStrategies.item = when (model.projectType) { - ProjectType.Spring -> MockStrategyApi.springDefaultItem - else -> settings.mockStrategy - } - staticsMocking.isSelected = settings.staticsMocking == MockitoStaticMocking - parametrizedTestSources.isSelected = (settings.parametrizedTestSource == ParametrizedTestSource.PARAMETRIZE - && model.projectType == ProjectType.PureJvm) - - mockStrategies.isEnabled = true - staticsMocking.isEnabled = mockStrategies.item != MockStrategyApi.NO_MOCKS - - codegenLanguages.item = model.codegenLanguage - - val installedTestFramework = TestFramework.allItems.singleOrNull { it.isInstalled } - val testFramework = JavaTestFrameworkMapper.handleUnknown(settings.testFramework) - currentFrameworkItem = when (parametrizedTestSources.isSelected) { - false -> installedTestFramework ?: testFramework - true -> installedTestFramework - ?: if (testFramework != Junit4) testFramework else TestFramework.parametrizedDefaultItem - } - - when (model.projectType) { - ProjectType.PureJvm -> { - updateTestFrameworksList(settings.parametrizedTestSource) - updateParametrizationEnabled() - } - ProjectType.Spring -> { - springTestType.item = - if (isSpringConfigSelected()) settings.springTestType else SpringTestType.defaultItem - updateSpringSettings() - updateTestFrameworksList(springTestType.item) - } - ProjectType.Python, - ProjectType.JavaScript -> { } - } - - updateMockStrategyList() - - itemsToHelpTooltip.forEach { (box, tooltip) -> - if (tooltip != null && box is ComboBox<*>) { - val item = box.item - if (item is CodeGenerationSettingItem) { - tooltip.toolTipText = item.description - } - } - } - } - - /** - * This region configures frameworks if required. - * - * We need to notify the user about potential problems and to give - * him a chance to install missing frameworks into his application. - */ - private fun configureTestFrameworkIfRequired() { - val testFramework = testFrameworks.item - if (!testFramework.isInstalled) { - configureTestFramework() - - // Configuring framework will configure parametrized tests automatically - // TODO: do something more general here - // Note: we can't just update isParametrizedTestsConfigured as before because project.allLibraries() won't be updated immediately - testFramework.isParametrizedTestsConfigured = true - } - - model.conflictTriggers[Conflict.TestFrameworkConflict] = TestFramework.allItems.count { it.isInstalled } > 1 - - configureSpringTestFrameworkIfRequired() - } - - private fun configureMockFrameworkIfRequired() { - if (mockStrategies.item != MockStrategyApi.NO_MOCKS && !MOCKITO.isInstalled) { - configureMockFramework() - } - } - - private fun configureStaticMockingIfRequired() { - if (staticsMocking.isSelected && !MockitoStaticMocking.isConfigured) { - configureStaticMocking() - } - } - - private fun configureParametrizedTestsIfRequired() { - if (parametrizedTestSources.isSelected && !testFrameworks.item.isParametrizedTestsConfigured) { - configureParametrizedTests() - } - } - - private fun configureSpringTestFrameworkIfRequired() { - if (springConfig.item != NO_SPRING_CONFIGURATION_OPTION) { - - DependencyInjectionFramework.installedItems - .filter { it.isInstalled } - .forEach { configureSpringTestDependency(it) } - } - } - - private fun configureTestFramework() { - val selectedTestFramework = testFrameworks.item - - val libraryInProject = - findFrameworkLibrary(model.testModule, selectedTestFramework, LibrarySearchScope.Project) - val versionInProject = libraryInProject?.libraryName?.parseVersion() - val sdkVersion = findSdkVersion(model.srcModule).feature - - val libraryDescriptor = when (selectedTestFramework) { - Junit4 -> jUnit4LibraryDescriptor(versionInProject) - Junit5 -> jUnit5LibraryDescriptor(versionInProject) - TestNg -> when (sdkVersion) { - minSupportedSdkVersion -> testNgOldLibraryDescriptor() - else -> testNgNewLibraryDescriptor(versionInProject) - } - else -> throw UnsupportedOperationException() - } - - selectedTestFramework.isInstalled = true - addDependency(model.testModule, libraryDescriptor) - .onError { selectedTestFramework.isInstalled = false } - } - - private fun configureSpringTestDependency(framework: DependencyInjectionFramework) { - val frameworkLibrary = - findDependencyInjectionLibrary(model.srcModule, framework, LibrarySearchScope.Project) - val frameworkTestLibrary = - findDependencyInjectionTestLibrary(model.testModule, framework, LibrarySearchScope.Project) - - val frameworkVersionInProject = frameworkLibrary?.libraryName?.parseVersion() - ?: error("Trying to install Spring test framework, but Spring framework is not found in module ${model.srcModule.name}") - val frameworkTestVersionInProject = frameworkTestLibrary?.libraryName?.parseVersion() - - if (frameworkTestVersionInProject == null || - !frameworkTestVersionInProject.isCompatibleWith(frameworkVersionInProject) -) { - val libraryDescriptor = when (framework) { - SpringBoot -> springBootTestLibraryDescriptor(frameworkVersionInProject) - SpringBeans -> springTestLibraryDescriptor(frameworkVersionInProject) - else -> error("Unsupported DI framework type $framework") - } - - model.preClasspathCollectionPromises += addDependency(model.testModule, libraryDescriptor) - } - - framework.testFrameworkInstalled = true - } - - private fun configureMockFramework() { - val selectedMockFramework = MOCKITO - - val libraryInProject = - findFrameworkLibrary(model.testModule, selectedMockFramework, LibrarySearchScope.Project) - val versionInProject = libraryInProject?.libraryName?.parseVersion() - - selectedMockFramework.isInstalled = true - addDependency(model.testModule, mockitoCoreLibraryDescriptor(versionInProject)) - .onError { selectedMockFramework.isInstalled = false } - } - - private fun configureStaticMocking() { - val testResourcesUrl = model.testModule.getOrCreateTestResourcesPath(model.testSourceRoot) - configureMockitoResources(testResourcesUrl) - - MockitoStaticMocking.isConfigured = true - } - - /** - * Configures Mockito-core to use an experimental feature for static mocking. - * Returns true if mockito resource have already been configured before. - * - * See https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#39 - * for further details. - */ - private fun configureMockitoResources(testResourcesPath: Path) { - val mockitoExtensionsPath = "$testResourcesPath/$MOCKITO_EXTENSIONS_FOLDER".toPath() - val mockitoMockMakerPath = "$mockitoExtensionsPath/$MOCKITO_MOCKMAKER_FILE_NAME".toPath() - - if (testResourcesPath.notExists()) Files.createDirectories(testResourcesPath) - if (mockitoExtensionsPath.notExists()) Files.createDirectories(mockitoExtensionsPath) - - if (mockitoMockMakerPath.notExists()) { - Files.createFile(mockitoMockMakerPath) - Files.write(mockitoMockMakerPath, listOf(MOCKITO_EXTENSIONS_FILE_CONTENT)) - } - } - - private fun configureParametrizedTests() { - // TODO: currently first three declarations are copy-pasted from configureTestFramework(), maybe fix this somehow? - val selectedTestFramework = testFrameworks.item - - val libraryInProject = findFrameworkLibrary(model.testModule, selectedTestFramework, LibrarySearchScope.Project) - val versionInProject = libraryInProject?.libraryName?.parseVersion() - - val libraryDescriptor: ExternalLibraryDescriptor? = when (selectedTestFramework) { - Junit4 -> error("Parametrized tests are not supported for JUnit 4") - Junit5 -> jUnit5ParametrizedTestsLibraryDescriptor(versionInProject) - TestNg -> null // Parametrized tests come with TestNG by default - else -> throw UnsupportedOperationException() - } - - selectedTestFramework.isParametrizedTestsConfigured = true - libraryDescriptor?.let { - addDependency(model.testModule, it) - .onError { selectedTestFramework.isParametrizedTestsConfigured = false } - } - } - - /** - * Adds the dependency for selected framework via [JavaProjectModelModificationService]. - * - * Note that version restrictions will be applied only if they are present on target machine - * Otherwise latest release version will be installed. - */ - private fun addDependency(module: Module, libraryDescriptor: ExternalLibraryDescriptor): Promise { - val promise = JavaProjectModelModificationService - .getInstance(model.project) - //this method returns JetBrains internal Promise that is difficult to deal with, but it is our way - .addDependency(model.testModule, libraryDescriptor, DependencyScope.TEST) - - return promise.thenRun { - module.allLibraries() - .lastOrNull { library -> library.presentableName.contains(libraryDescriptor.id) }?.let { - ModuleRootModificationUtil.updateModel(module) { model -> placeEntryToCorrectPlace(model, it) } - } - } - } - - /** - * Reorders library list to unsure that just added library with proper version is listed prior to old-versioned one - */ - private fun placeEntryToCorrectPlace(model: ModifiableRootModel, addedEntry: LibraryOrderEntry) { - val order = model.orderEntries - val lastEntry = order.last() - if (lastEntry is LibraryOrderEntry && lastEntry.library == addedEntry.library) { - val insertionPoint = order.indexOfFirst { it is ModuleSourceOrderEntry } + 1 - if (insertionPoint > 0) { - System.arraycopy(order, insertionPoint, order, insertionPoint + 1, order.size - 1 - insertionPoint) - order[insertionPoint] = lastEntry - model.rearrangeOrderEntries(order) - } - } - } - - //endregion - - private fun setListeners() { - itemsToHelpTooltip.forEach { (box, tooltip) -> if (box is ComboBox<*> && tooltip != null) { - box.setHelpTooltipTextChanger(tooltip) - } } - - testSourceFolderField.childComponent.addActionListener { event -> - with((event.source as JComboBox<*>).selectedItem) { - if (this is VirtualFile) { - model.setSourceRootAndFindTestModule(this@with) - } else { - model.setSourceRootAndFindTestModule(null) - } - } - } - - mockStrategies.addActionListener { _ -> - updateControlsEnabledStatus() - if (mockStrategies.item == MockStrategyApi.NO_MOCKS) { - staticsMocking.isSelected = false - } - } - - testFrameworks.addActionListener { event -> - val comboBox = event.source as ComboBox<*> - val item = comboBox.item as TestFramework - - currentFrameworkItem = item - - updateControlsEnabledStatus() - } - - codegenLanguages.addActionListener { _ -> - updateControlsEnabledStatus() - } - - parametrizedTestSources.addActionListener { _ -> - val parametrizedTestSource = if (parametrizedTestSources.isSelected) { - ParametrizedTestSource.PARAMETRIZE - } else { - ParametrizedTestSource.DO_NOT_PARAMETRIZE - } - - updateTestFrameworksList(parametrizedTestSource) - updateControlsEnabledStatus() - } - - springConfig.addActionListener { _ -> - if (isSpringConfigSelected()) { - if (isXmlSpringConfigUsed()) { - springTestType.item = SpringTestType.defaultItem - } - - if (springTestType.item == UNIT_TEST) { - mockStrategies.item = MockStrategyApi.springDefaultItem - } - } else { - mockStrategies.item = when (model.projectType) { - ProjectType.Spring -> MockStrategyApi.springDefaultItem - else -> MockStrategyApi.defaultItem - } - - springTestType.item = SpringTestType.defaultItem - - profileNames.text = "" - } - - if (isSpringConfigSelected() && springTestType.item == UNIT_TEST) { - staticsMocking.isSelected = true - } - - updateMockStrategyList() - updateControlsEnabledStatus() - } - - springTestType.addActionListener { event -> - val comboBox = event.source as ComboBox<*> - val item = comboBox.item as SpringTestType - - updateTestFrameworksList(item) - - when (item) { - UNIT_TEST -> { - mockStrategies.item = MockStrategyApi.springDefaultItem - staticsMocking.isSelected = true - } - INTEGRATION_TEST -> { - mockStrategies.item = MockStrategyApi.springIntegrationTestItem - staticsMocking.isSelected = false - } - } - updateMockStrategyList() - updateControlsEnabledStatus() - } - - cbSpecifyTestPackage.addActionListener { - val testPackageName = findTestPackageComboValue() - val packageNameIsNeeded = testPackageField.isEnabled || testPackageName != SAME_PACKAGE_LABEL - - testPackageField.text = if (packageNameIsNeeded) testPackageName else "" - testPackageField.isEnabled = !testPackageField.isEnabled - } - } - - private lateinit var currentFrameworkItem: TestFramework - - private fun updateTestFrameworksList(parametrizedTestSource: ParametrizedTestSource) { - // We do not support parameterized tests for JUnit4 - val enabledTestFrameworks = when (parametrizedTestSource) { - ParametrizedTestSource.DO_NOT_PARAMETRIZE -> TestFramework.allItems - ParametrizedTestSource.PARAMETRIZE -> TestFramework.allItems.filterNot { it == Junit4 } - } - - var defaultItem = when (parametrizedTestSource) { - ParametrizedTestSource.DO_NOT_PARAMETRIZE -> TestFramework.defaultItem - ParametrizedTestSource.PARAMETRIZE -> TestFramework.parametrizedDefaultItem - } - enabledTestFrameworks.forEach { if (it.isInstalled && !defaultItem.isInstalled) defaultItem = it } - - updateTestFrameworksList(enabledTestFrameworks, defaultItem) - } - - private fun updateTestFrameworksList(springTestType: SpringTestType) { - // We do not support Spring integration tests for TestNg - val enabledTestFrameworks = when (springTestType) { - UNIT_TEST -> TestFramework.allItems - INTEGRATION_TEST -> TestFramework.allItems.filterNot { it == TestNg } - } - - updateTestFrameworksList(enabledTestFrameworks) - } - - private fun updateTestFrameworksList( - enabledTestFrameworks: List, - defaultItem: TestFramework = TestFramework.defaultItem, - ) { - testFrameworks.model = DefaultComboBoxModel(enabledTestFrameworks.toTypedArray()) - testFrameworks.item = if (currentFrameworkItem in enabledTestFrameworks) currentFrameworkItem else defaultItem - testFrameworks.renderer = createTestFrameworksRenderer(WILL_BE_INSTALLED_LABEL) - - currentFrameworkItem = testFrameworks.item - } - - private fun updateParametrizationEnabled() { - val languageIsSupported = codegenLanguages.item == CodegenLanguage.JAVA - val frameworkIsSupported = currentFrameworkItem == Junit5 - || currentFrameworkItem == TestNg && findSdkVersion(model.srcModule).feature > minSupportedSdkVersion - val mockStrategyIsSupported = mockStrategies.item == MockStrategyApi.NO_MOCKS - - // We do not support PUT in Spring projects - val isSupportedProjectType = model.projectType == ProjectType.PureJvm - parametrizedTestSources.isEnabled = - isSupportedProjectType && languageIsSupported && frameworkIsSupported && mockStrategyIsSupported - - if (!parametrizedTestSources.isEnabled) { - parametrizedTestSources.isSelected = false - } - } - - private fun updateStaticMockEnabled() { - val mockStrategyIsSupported = mockStrategies.item != MockStrategyApi.NO_MOCKS - staticsMocking.isEnabled = mockStrategyIsSupported && !isSpringConfigSelected() - } - - private fun updateMockStrategyList() { - mockStrategies.renderer = object : ColoredListCellRenderer() { - override fun customizeCellRenderer( - list: JList, value: MockStrategyApi, - index: Int, selected: Boolean, hasFocus: Boolean - ) { - if(mockStrategies.item == MockStrategyApi.springDefaultItem && isSpringConfigSelected()) { - this.append("Mock using Spring configuration", SimpleTextAttributes.REGULAR_ATTRIBUTES) - } - else{ - this.append(value.displayName, SimpleTextAttributes.REGULAR_ATTRIBUTES) - if (value != MockStrategyApi.NO_MOCKS && !MOCKITO.isInstalled) { - this.append(WILL_BE_INSTALLED_LABEL, SimpleTextAttributes.ERROR_ATTRIBUTES) - } - } - } - } - } - - private fun updateSpringSettings() { - // We check for > 1 because there is already extra-dummy NO_SPRING_CONFIGURATION_OPTION option - springConfig.isEnabled = model.projectType == ProjectType.Spring && springConfig.itemCount > 1 - - springTestType.renderer = object : ColoredListCellRenderer() { - override fun customizeCellRenderer( - list: JList, value: SpringTestType, - index: Int, selected: Boolean, hasFocus: Boolean - ) { - this.append(value.displayName, SimpleTextAttributes.REGULAR_ATTRIBUTES) - if (springConfig.item != NO_SPRING_CONFIGURATION_OPTION) { - DependencyInjectionFramework.installedItems - // only first missing test framework is shown to avoid overflowing ComboBox - .firstOrNull { !it.testFrameworkInstalled } - ?.let { diFramework -> - val additionalText = " (${diFramework.testFrameworkDisplayName} will be installed)" - this.append(additionalText, SimpleTextAttributes.ERROR_ATTRIBUTES) - } - } - } - } - } - - private fun staticsMockingConfigured(): Boolean { - val entries = ModuleRootManager.getInstance(model.testModule).contentEntries - val hasEntriesWithoutResources = entries - .filterNot { it.sourceFolders.any { f -> f.rootType in testResourceRootTypes } } - .isNotEmpty() - - if (hasEntriesWithoutResources) { - return false - } - - val entriesPaths = entries - .flatMap { - it.sourceFolders - .filter { f -> f.rootType in testResourceRootTypes } - .map { f -> Paths.get(urlToPath(f.url)) } - } - - return entriesPaths.all { entryPath -> - if (!Files.exists(entryPath)) return false - - val mockMakerPath = "$entryPath/$MOCKITO_EXTENSIONS_FOLDER/$MOCKITO_MOCKMAKER_FILE_NAME".toPath() - if (!Files.exists(mockMakerPath)) return false - - try { - val fileLines = Files.readAllLines(mockMakerPath) - fileLines.singleOrNull() == MOCKITO_EXTENSIONS_FILE_CONTENT - } catch (e: java.io.IOException) { - return false - } - - } - } - - private fun updateControlsEnabledStatus() { - mockStrategies.isEnabled = true - - updateParametrizationEnabled() - updateStaticMockEnabled() - - if (model.projectType == ProjectType.Spring) { - updateSpringControlsEnabledStatus() - } - } - - private fun updateSpringControlsEnabledStatus() { - // Parametrized tests are not supported for Spring - parametrizedTestSources.isEnabled = false - - if (isSpringConfigSelected()) { - mockStrategies.isEnabled = false - profileNames.isEnabled = true - springTestType.isEnabled = !isXmlSpringConfigUsed() - } else { - profileNames.isEnabled = false - springTestType.isEnabled = false - } - } -} - -fun GenerateTestsModel.getActionText() : String = - if (this.runGeneratedTestsWithCoverage) ACTION_GENERATE_AND_RUN else ACTION_GENERATE - -private fun ComboBox<*>.setHelpTooltipTextChanger(helpLabel: JBLabel) { - addActionListener { event -> - val comboBox = event.source as ComboBox<*> - val item = comboBox.item - if (item is CodeGenerationSettingItem) { - helpLabel.toolTipText = item.description - } - } -} diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt deleted file mode 100644 index a0cdc117..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/actions/GenerateTestsAction.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.intellij.plugin.ui.actions - -import com.intellij.openapi.actionSystem.ActionUpdateThread -import com.intellij.openapi.actionSystem.AnAction -import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.components.service -import org.utbot.intellij.plugin.language.agnostic.LanguageAssistant -import org.utbot.intellij.plugin.settings.Settings - -class GenerateTestsAction : AnAction() { - override fun actionPerformed(e: AnActionEvent) { - LanguageAssistant.get(e)?.actionPerformed(e) - } - - override fun update(e: AnActionEvent) { - val languageAssistant = LanguageAssistant.get(e) - if (languageAssistant == null || !accessByProjectSettings(e)) { - e.presentation.isEnabled = false - } else { - languageAssistant.update(e) - } - } - - override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT - - private fun accessByProjectSettings(e: AnActionEvent): Boolean { - val experimentalLanguageSetting = e.project?.service()?.experimentalLanguagesSupport - val languagePackageName = LanguageAssistant.get(e)?.toString() - return experimentalLanguageSetting == true || languagePackageName?.contains("JvmLanguageAssistant") == true - } -} diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/JavaPsiElementHandler.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/JavaPsiElementHandler.kt deleted file mode 100644 index e2016f0e..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/JavaPsiElementHandler.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiMethod -import com.intellij.psi.util.PsiTreeUtil -import com.intellij.testIntegration.createTest.CreateTestAction - -class JavaPsiElementHandler( - override val classClass: Class = PsiClass::class.java, - override val methodClass: Class = PsiMethod::class.java, -) : PsiElementHandler { - /** - * Casts element to clazz and returns the result. - */ - @Suppress("UNCHECKED_CAST") - override fun toPsi(element: PsiElement, clazz: Class): T { - return if (clazz.isInstance(element)) - element as? T ?: error("Cannot cast $element to $clazz") - else error("Cannot cast $element to $clazz") - } - - override fun isCreateTestActionAvailable(element: PsiElement): Boolean = - CreateTestAction.isAvailableForElement(element) - - override fun containingClass(element: PsiElement): PsiClass? = - PsiTreeUtil.getParentOfType(element, classClass, false) -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/KotlinPsiElementHandler.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/KotlinPsiElementHandler.kt deleted file mode 100644 index 1ea7d3e1..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/KotlinPsiElementHandler.kt +++ /dev/null @@ -1,53 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile -import com.intellij.psi.util.findParentOfType -import org.jetbrains.kotlin.asJava.findFacadeClass -import org.jetbrains.kotlin.idea.testIntegration.KotlinCreateTestIntention -import org.jetbrains.kotlin.psi.KtClass -import org.jetbrains.kotlin.psi.KtClassOrObject -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.KtNamedDeclaration -import org.jetbrains.kotlin.psi.KtNamedFunction -import org.jetbrains.kotlin.psi.psiUtil.parentsWithSelf -import org.jetbrains.uast.toUElement - -class KotlinPsiElementHandler( - // TODO: KtClassOrObject? - override val classClass: Class = KtClass::class.java, - override val methodClass: Class = KtNamedFunction::class.java, -) : PsiElementHandler { - /** - * Makes a transition from Kt to UAST and then to Psi. - */ - @Suppress("UNCHECKED_CAST") - override fun toPsi(element: PsiElement, clazz: Class): T { - return element.toUElement()?.javaPsi as? T ?: error("Could not cast $element to $clazz") - } - - override fun getClassesFromFile(psiFile: PsiFile): List { - return listOfNotNull((psiFile as? KtFile)?.findFacadeClass()) + super.getClassesFromFile(psiFile) - } - - override fun isCreateTestActionAvailable(element: PsiElement): Boolean { - getTarget(element)?.let { - return KotlinCreateTestIntention().applicabilityRange(it) != null - } - return (element.containingFile as? KtFile)?.findFacadeClass() != null - } - - private fun getTarget(element: PsiElement?): KtNamedDeclaration? = - element?.parentsWithSelf - ?.firstOrNull { it is KtClassOrObject || it is KtNamedDeclaration && it.parent is KtFile } as? KtNamedDeclaration - - override fun containingClass(element: PsiElement): PsiClass? { - element.findParentOfType(strict=false)?.let { - return toPsi(it, PsiClass::class.java) - } - return element.findParentOfType(strict=false)?.findFacadeClass()?.let { - toPsi(it, PsiClass::class.java) - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/LibraryMatcher.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/LibraryMatcher.kt deleted file mode 100644 index 542cb30d..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/LibraryMatcher.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.plugin.api.MockFramework -import com.intellij.openapi.module.Module -import com.intellij.openapi.roots.LibraryOrderEntry -import org.utbot.framework.codegen.domain.DependencyInjectionFramework -import org.utbot.framework.plugin.api.utils.Patterns -import org.utbot.framework.plugin.api.utils.parametrizedTestsPatterns -import org.utbot.framework.plugin.api.utils.patterns -import org.utbot.framework.plugin.api.utils.testPatterns - -fun findFrameworkLibrary( - module: Module, - testFramework: TestFramework, - scope: LibrarySearchScope = LibrarySearchScope.Module, -): LibraryOrderEntry? = findMatchingLibraryOrNull(module, testFramework.patterns(), scope) - -fun findFrameworkLibrary( - module: Module, - mockFramework: MockFramework, - scope: LibrarySearchScope = LibrarySearchScope.Module, -): LibraryOrderEntry? = findMatchingLibraryOrNull(module, mockFramework.patterns(), scope) - -fun findParametrizedTestsLibrary( - module: Module, - testFramework: TestFramework, - scope: LibrarySearchScope = LibrarySearchScope.Module, -): LibraryOrderEntry? = findMatchingLibraryOrNull(module, testFramework.parametrizedTestsPatterns(), scope) - -fun findDependencyInjectionLibrary( - module: Module, - springFrameworkType: DependencyInjectionFramework, - scope: LibrarySearchScope = LibrarySearchScope.Module -): LibraryOrderEntry? = findMatchingLibraryOrNull(module, springFrameworkType.patterns(), scope) - -fun findDependencyInjectionTestLibrary( - module: Module, - springFrameworkType: DependencyInjectionFramework, - scope: LibrarySearchScope = LibrarySearchScope.Module -): LibraryOrderEntry? = findMatchingLibraryOrNull(module, springFrameworkType.testPatterns(), scope) - -private fun findMatchingLibraryOrNull( - module: Module, - patterns: Patterns, - scope: LibrarySearchScope, -): LibraryOrderEntry? { - val installedLibraries = when (scope) { - LibrarySearchScope.Module -> module.allLibraries() - LibrarySearchScope.Project -> module.project.allLibraries() - } - - return installedLibraries - .matchesFrameworkPatterns(patterns.moduleLibraryPatterns, patterns.libraryPatterns) -} diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/LibraryUtils.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/LibraryUtils.kt deleted file mode 100644 index 13242c2c..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/LibraryUtils.kt +++ /dev/null @@ -1,62 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.LibraryOrderEntry -import com.intellij.openapi.roots.ModuleRootManager -import com.intellij.openapi.roots.OrderEnumerator -import com.intellij.openapi.roots.OrderRootType -import com.intellij.openapi.roots.ProjectRootManager - -/** - * Defines the scope to search a library. - */ -enum class LibrarySearchScope { - Module, - Project, -} - -fun Project.allLibraries(): List { - val projectRootManager = ProjectRootManager.getInstance(this) - return allLibraries(projectRootManager.orderEntries()) -} - -fun Module.allLibraries(): List { - val moduleRootManager = ModuleRootManager.getInstance(this) - return allLibraries(moduleRootManager.orderEntries()) -} -fun List.matchesAnyOf(patterns: List): LibraryOrderEntry? = - firstOrNull { entry -> - patterns.any { pattern -> - entry.libraryName?.let { - if (pattern.containsMatchIn(it)) return@any true - } - //Fallback to filenames in case library has no name at all, or the name is too generic (e.g. 'JUnit' or 'JUnit4') - return@any entry.library?.getFiles(OrderRootType.CLASSES) - ?.any { virtualFile -> pattern.containsMatchIn(virtualFile.name) } ?: false - } - } - -fun List.matchesFrameworkPatterns( - moduleLibraryPatterns: List, - libraryPatterns: List, -): LibraryOrderEntry? { - val moduleLibrary = matchesAnyOf(moduleLibraryPatterns) - if (moduleLibrary != null) { - return moduleLibrary - } - - return matchesAnyOf(libraryPatterns) -} - -private fun allLibraries(orderEntries: OrderEnumerator): List { - val libraries = mutableListOf() - orderEntries.forEach { - if (it is LibraryOrderEntry) { - libraries += it - } - true - } - - return libraries -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/PsiElementHandler.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/PsiElementHandler.kt deleted file mode 100644 index eecfda59..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/PsiElementHandler.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile -import com.intellij.psi.util.PsiTreeUtil -import org.jetbrains.kotlin.psi.KtFile - -/** - * Interface to abstract some checks and hierarchy actions from working with Java or Kotlin. - * - * Used in [org.utbot.intellij.plugin.ui.actions.GenerateTestsAction]. - */ -interface PsiElementHandler { - companion object { - fun makePsiElementHandler(file: PsiFile): PsiElementHandler = - when (file) { - is KtFile -> KotlinPsiElementHandler() - else -> JavaPsiElementHandler() - } - } - /** - * Check if the action to create tests is available for the provided PsiElement. - */ - fun isCreateTestActionAvailable(element: PsiElement): Boolean - - /** - * Get the containing PsiClass for the PsiElement. - */ - fun containingClass(element: PsiElement): PsiClass? - - /** - * Cast PsiElement to the provided class. - * - * It is required to abstract transition from other syntax trees(Kt tree) to Psi tree. - * For instance, we can't cast KtNamedFunction to PsiMethod, but we can transition it. - */ - fun toPsi(element: PsiElement, clazz: Class): T - - /** - * Returns all classes that are declared in the [psiFile] - */ - fun getClassesFromFile(psiFile: PsiFile): List { - return PsiTreeUtil.getChildrenOfTypeAsList(psiFile, classClass) - .map { toPsi(it, PsiClass::class.java) } - } - - /** - * Get java class of the Class in the corresponding syntax tree (PsiClass, KtClass, e.t.c). - */ - val classClass: Class - - /** - * Get java class of the Method in the corresponding syntax tree (PsiMethod, KtNamedFunction, e.t.c). - */ - val methodClass: Class -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/Version.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/Version.kt deleted file mode 100644 index 11d71c10..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/Version.kt +++ /dev/null @@ -1,50 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -/** - * Describes the version of a library. - * Contains three standard components: major, minor and patch. - * - * Major and minor components are always numbers, while patch - * may contain a number with some postfix like -RELEASE. - * - * Sometimes patch is empty, e.g. for TestNg 7.5 version. - * - * @param plainText is optional and represents whole version as text. - */ -data class Version( - val major: Int, - val minor: Int, - val patch: String, - val plainText: String? = null, -) { - fun isCompatibleWith(another: Version): Boolean { - //Non-numeric versions can't be compared to each other, so we cannot be sure that current is compatible - if (!hasNumericOrEmptyPatch() || !hasNumericOrEmptyPatch()) { - return false - } - - return major > another.major || - major == another.major && minor > another.minor || - major == another.major && minor == another.minor && - (another.patch.isEmpty() || patch.isNotEmpty() && patch.toInt() >= another.patch.toInt()) - } - - fun hasNumericOrEmptyPatch(): Boolean = patch.isEmpty() || patch.toIntOrNull() != null -} - -fun String.parseVersion(): Version? { - val lastSemicolon = lastIndexOf(':') - val versionText = substring(lastSemicolon + 1) - val versionComponents = versionText.split('.') - - // Components must be: major, minor and (optional) patch - if (versionComponents.size < 2 || versionComponents.size > 3) { - return null - } - - val major = versionComponents[0].toIntOrNull() ?: return null - val minor = versionComponents[1].toIntOrNull() ?: return null - val patch = if (versionComponents.size == 3) versionComponents[2] else "" - - return Version(major, minor, patch, versionText) -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/IdeaThreadingUtil.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/IdeaThreadingUtil.kt deleted file mode 100644 index 526dde9b..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/IdeaThreadingUtil.kt +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.openapi.application.ApplicationManager - -fun assertIsDispatchThread() { - ApplicationManager.getApplication().assertIsDispatchThread() -} - -fun assertIsWriteThread() { - ApplicationManager.getApplication().isWriteThread() -} - -fun assertReadAccessAllowed() { - ApplicationManager.getApplication().assertReadAccessAllowed() -} - -fun assertWriteAccessAllowed() { - ApplicationManager.getApplication().assertWriteAccessAllowed() -} - -fun assertIsNonDispatchThread() { - ApplicationManager.getApplication().assertIsNonDispatchThread() -} - -fun assertReadAccessNotAllowed() { - ApplicationManager.getApplication().assertReadAccessNotAllowed() -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/MethodDescriptionHelper.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/MethodDescriptionHelper.kt deleted file mode 100644 index 9110efe9..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/MethodDescriptionHelper.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.psi.PsiMethod -import com.intellij.refactoring.util.classMembers.MemberInfo -import org.utbot.framework.plugin.api.MethodDescription - -fun MemberInfo.methodDescription(): MethodDescription = - (this.member as PsiMethod).methodDescription() - -// Note that rules for obtaining signature here should correlate with KFunction<*>.signature() -private fun PsiMethod.methodDescription() = - MethodDescription(this.name, this.containingClass?.qualifiedName, this.parameterList.parameters.map { - it.type.canonicalText - .replace("...", "[]") //for PsiEllipsisType - .replace(",", ", ") // to fix cases like Pair -> Pair - }) \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PluginJdkInfoProvider.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PluginJdkInfoProvider.kt deleted file mode 100644 index e96c5897..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PluginJdkInfoProvider.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.intellij.plugin.util - -import org.utbot.common.PathUtil.toPath -import com.intellij.openapi.project.Project -import com.intellij.openapi.projectRoots.ProjectJdkTable -import com.intellij.openapi.projectRoots.Sdk -import com.intellij.openapi.roots.ProjectRootManager -import org.utbot.framework.plugin.services.JdkInfo -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import org.utbot.framework.plugin.services.fetchJavaVersion - -class PluginJdkInfoProvider( - private val project: Project -) : JdkInfoDefaultProvider() { - - private val sdk: Sdk? - get() { - if (IntelliJApiHelper.isAndroidStudio()) { - // Get Gradle JDK for Android - IntelliJApiHelper.androidGradleSDK(project) - ?.let { sdkName -> - ProjectJdkTable.getInstance().findJdk(sdkName) ?.let { - return it - } - } - } - - // Use Project SDK as analyzed JDK - return ProjectRootManager.getInstance(project).projectSdk - } - - override val info: JdkInfo - get() = JdkInfo( - sdk?.homePath?.toPath() ?: super.info.path, // Return default JDK in case of failure - fetchJavaVersion(sdk?.versionString!!) // Return default JDK in case of failure - ) -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PluginWorkingDirProvider.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PluginWorkingDirProvider.kt deleted file mode 100644 index cb09d206..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PluginWorkingDirProvider.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.openapi.project.Project -import org.utbot.common.PathUtil.toPath -import org.utbot.framework.plugin.services.WorkingDirDefaultProvider -import java.nio.file.Path - -class PluginWorkingDirProvider( - project: Project, -) : WorkingDirDefaultProvider() { - - /** - * We believe that in most cases the test runner working dir is the project root, otherwise we need to parse test - * configuration, but it's not easy. - */ - override val workingDir: Path = - project.basePath?.toPath() - ?: super.workingDir -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PropertiesHelper.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PropertiesHelper.kt deleted file mode 100644 index f2117fb6..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/PropertiesHelper.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.intellij.plugin.util - -import java.lang.IllegalArgumentException -import java.util.Properties - -val props = object: Any() {}.javaClass.classLoader.getResourceAsStream("application.properties") - .use { Properties().apply { load(it) } } - -@Suppress("UNCHECKED_CAST") -inline fun getProperty(key: String): T { - val value = props.getProperty(key) ?: throw RuntimeException("could not find property $key") - - return when(T::class){ - Int::class -> value.toInt() as T - String::class -> value as T - else -> throw IllegalArgumentException("Argument of type [${T::class}] is not supported") - } -} - diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/RunConfigurationHelper.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/RunConfigurationHelper.kt deleted file mode 100644 index 900aa505..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/RunConfigurationHelper.kt +++ /dev/null @@ -1,144 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.coverage.CoverageExecutor -import com.intellij.execution.ConfigurationWithCommandLineShortener -import com.intellij.execution.ExecutorRegistry -import com.intellij.execution.JavaTestConfigurationBase -import com.intellij.execution.Location -import com.intellij.execution.PsiLocation -import com.intellij.execution.RunManagerEx -import com.intellij.execution.ShortenCommandLine -import com.intellij.execution.actions.ConfigurationContext -import com.intellij.execution.actions.ConfigurationFromContext -import com.intellij.execution.actions.RunConfigurationProducer -import com.intellij.execution.configurations.RunConfiguration -import com.intellij.execution.executors.DefaultRunExecutor -import com.intellij.execution.runners.ExecutionUtil -import com.intellij.execution.runners.ProgramRunner -import com.intellij.openapi.actionSystem.DataContext -import com.intellij.openapi.actionSystem.DataKey -import com.intellij.openapi.actionSystem.LangDataKeys -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.util.Computable -import com.intellij.openapi.util.Key -import com.intellij.openapi.util.UserDataHolder -import com.intellij.openapi.util.UserDataHolderBase -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiDocumentManager -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile -import com.intellij.psi.SmartPsiElementPointer -import com.intellij.psi.util.childrenOfType -import java.util.Comparator -import mu.KotlinLogging -import org.utbot.intellij.plugin.models.GenerateTestsModel -import org.utbot.intellij.plugin.util.IntelliJApiHelper.run - -class RunConfigurationHelper { - class MyMapDataContext() : DataContext, UserDataHolder { - private val myMap: MutableMap = HashMap() - private val holder = UserDataHolderBase() - override fun getData(dataId: String): Any? { - return myMap[dataId] - } - - private fun put(dataId: String, data: Any?) { - myMap[dataId] = data - } - - fun put(dataKey: DataKey, data: T) { - put(dataKey.name, data) - } - - override fun getUserData(key: Key): T? { - return holder.getUserData(key) - } - - override fun putUserData(key: Key, value: T?) { - holder.putUserData(key, value) - } - } - - private class MyConfigurationContext(val context: DataContext, psiElement: PsiElement) : ConfigurationContext(psiElement) { - override fun getDataContext() = context - } - - companion object { - private val logger = KotlinLogging.logger {} - - private fun RunConfiguration.isPatternBased() = this is JavaTestConfigurationBase && "pattern".contentEquals(testType, true) - - // In case we do "generate and run" for many files at once, - // desired run configuration has to be one of "pattern" typed test configuration that may run many tests at once. - // Thus, we sort list of all provided configurations to get desired configuration the first. - private val rcComparator = Comparator { o1, o2 -> - val p1 = o1.configuration.isPatternBased() - val p2 = o2.configuration.isPatternBased() - if (p1 xor p2) { - return@Comparator if (p1) -1 else 1 - } - ConfigurationFromContext.COMPARATOR.compare(o1, o2) - } - - fun runTestsWithCoverage( - model: GenerateTestsModel, - testFilesPointers: MutableList>, - ) { - PsiDocumentManager.getInstance(model.project).commitAndRunReadAction() { - val testClasses = testFilesPointers.map { smartPointer: SmartPsiElementPointer -> smartPointer.containingFile?.childrenOfType()?.firstOrNull() }.filterNotNull() - if (testClasses.isNotEmpty()) { - val locations = - testClasses.map { PsiLocation(model.project, model.testModule, it) }.toTypedArray() - val mapDataContext = MyMapDataContext().also { - it.put(LangDataKeys.PSI_ELEMENT_ARRAY, testClasses.toTypedArray()) - it.put(LangDataKeys.MODULE, model.testModule) - it.put(Location.DATA_KEYS, locations) - it.put(Location.DATA_KEY, locations[0]) - } - val myConfigurationContext = try { - MyConfigurationContext(mapDataContext, testClasses[0]) - } catch (e: Exception) { - logger.error { e } - return@commitAndRunReadAction - } - mapDataContext.putUserData( - ConfigurationContext.SHARED_CONTEXT, - myConfigurationContext - ) - run(IntelliJApiHelper.Target.THREAD_POOL, indicator = null, "Get run configurations from all producers") { - val configurations = ApplicationManager.getApplication().runReadAction(Computable { - return@Computable RunConfigurationProducer.getProducers(model.project) - .mapNotNull { it.findOrCreateConfigurationFromContext(myConfigurationContext) } - .toMutableList().sortedWith(rcComparator) - }) - - val settings = if (configurations.isEmpty()) null else configurations[0].configurationSettings - if (settings != null) { - val executor = if (ProgramRunner.getRunner(CoverageExecutor.EXECUTOR_ID, settings.configuration) != null) { - ExecutorRegistry.getInstance().getExecutorById(CoverageExecutor.EXECUTOR_ID) ?: DefaultRunExecutor.getRunExecutorInstance() - } else { - //Fallback in case 'Code Coverage for Java' plugin is not enabled - DefaultRunExecutor.getRunExecutorInstance() - } - run(IntelliJApiHelper.Target.EDT_LATER, null, "Start run configuration with coverage") { - val configuration = settings.configuration - if (configuration is ConfigurationWithCommandLineShortener) { - configuration.shortenCommandLine = ShortenCommandLine.MANIFEST - } - ExecutionUtil.runConfiguration(settings, executor) - with(RunManagerEx.getInstanceEx(model.project)) { - if (findSettings(settings.configuration) == null) { - settings.isTemporary = true - addConfiguration(settings) - } - //TODO check shouldSetRunConfigurationFromContext in API 2021.3+ - selectedConfiguration = settings - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/SdkUtils.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/SdkUtils.kt deleted file mode 100644 index 21061688..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/SdkUtils.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.openapi.module.Module -import com.intellij.openapi.roots.ModuleRootManager -import com.intellij.util.lang.JavaVersion - -fun findSdkVersion(module:Module): JavaVersion = - findSdkVersionOrNull(module) ?: error("Cannot define sdk version in module $module") - -fun findSdkVersionOrNull(module: Module): JavaVersion? { - val moduleSdk = ModuleRootManager.getInstance(module).sdk - return JavaVersion.tryParse(moduleSdk?.versionString) -} - - diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/SpringConfigurationsHelper.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/SpringConfigurationsHelper.kt deleted file mode 100644 index 1c21adfd..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/SpringConfigurationsHelper.kt +++ /dev/null @@ -1,126 +0,0 @@ -package org.utbot.intellij.plugin.util - -import java.io.File - -/** - * This class is a converter between full Spring configuration names and shortened versions. - * - * Shortened versions are represented on UI. - * Full names are used in further analysis in utbot-spring-analyzer. - * - * The idea of this implementation is to append parent directories to the file name until all names become unique. - * - * Example: - * - [["config.web.WebConfig", "config.web2.WebConfig", "config.web.AnotherConfig"]] - * -> - * [["web.WebConfig", "web2.WebConfig", "AnotherConfig"]] - */ -class SpringConfigurationsHelper(val configType: SpringConfigurationType) { - - private val nameToInfo = mutableMapOf() - - inner class NameInfo(val fullName: String) { - val shortenedName: String - get() = innerShortName - - private val pathFragments: MutableList = fullName.split(*configType.separatorsToSplitBy).toMutableList() - private var innerShortName = pathFragments.removeLast() - - fun enlargeShortName(): Boolean { - if (pathFragments.isEmpty()) { - return false - } - - val lastElement = pathFragments.removeLast() - innerShortName = "${lastElement}${configType.separatorToConcatenateBy}$innerShortName" - return true - } - } - - fun restoreFullName(shortenedName: String): String = - nameToInfo - .values - .singleOrNull { it.shortenedName == shortenedName } - ?.fullName - ?: error("Full name of configuration file cannot be restored from shortened name $shortenedName") - - fun shortenSpringConfigNames(fullNames: Set): Map { - fullNames.forEach { nameToInfo[it] = NameInfo(it) } - var nameInfoCollection = nameToInfo.values - - // this cycle continues until all shortenedNames become unique - while (nameInfoCollection.size != nameInfoCollection.distinctBy { it.shortenedName }.size) { - nameInfoCollection = nameInfoCollection.sortedBy { it.shortenedName }.toMutableList() - - var index = 0 - while (index < nameInfoCollection.size) { - val curShortenedPath = nameInfoCollection[index].shortenedName - - // here we search a block of shortened paths that are equivalent - // and must be enlarged with new fragment so on. - var maxIndexWithSamePath = index - while (maxIndexWithSamePath < nameInfoCollection.size) { - if (nameInfoCollection[maxIndexWithSamePath].shortenedName == curShortenedPath) { - maxIndexWithSamePath++ - } else { - break - } - } - - // if the size of this block is one, we should not enlarge it - if (index == maxIndexWithSamePath - 1) { - index++ - continue - } - - // otherwise, enlarge the block of shortened names with one new fragment - for (i in index until maxIndexWithSamePath) { - if (!nameInfoCollection[i].enlargeShortName()) { - return collectShortenedNames() - } - } - - // after enlarging the block, we proceed to search for the next block - index = maxIndexWithSamePath - } - } - - return collectShortenedNames() - } - - private fun collectShortenedNames() = nameToInfo.values.associate { it.fullName to it.shortenedName } - -} - -/* - * Transforms active profile information - * from the form of user input to a list of active profiles. - * - * NOTICE: Current user input form is comma-separated values, but it may be changed later. - */ -fun parseProfileExpression(profileExpression: String?, default: String): Array { - if (profileExpression.isNullOrEmpty()) { - return arrayOf(default) - } - - return profileExpression - .filter { !it.isWhitespace() } - .split(',') - .toTypedArray() -} - -@Deprecated("To be deleted") -enum class SpringConfigurationType( - val separatorsToSplitBy: Array, - val separatorToConcatenateBy: String, -) { - ClassConfiguration( - separatorsToSplitBy = arrayOf("."), - separatorToConcatenateBy = ".", - ), - - FileConfiguration( - separatorsToSplitBy = arrayOf(File.separator), - separatorToConcatenateBy = File.separator, - ), -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtIdeaProjectModelModifier.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtIdeaProjectModelModifier.kt deleted file mode 100644 index f33eb792..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtIdeaProjectModelModifier.kt +++ /dev/null @@ -1,95 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.codeInsight.daemon.impl.quickfix.LocateLibraryDialog -import com.intellij.codeInsight.daemon.impl.quickfix.OrderEntryFix -import com.intellij.jarRepository.JarRepositoryManager -import com.intellij.openapi.application.WriteAction -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.DependencyScope -import com.intellij.openapi.roots.ExternalLibraryDescriptor -import com.intellij.openapi.roots.ModuleRootModificationUtil -import com.intellij.openapi.roots.OrderRootType -import com.intellij.openapi.roots.impl.IdeaProjectModelModifier -import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar -import com.intellij.openapi.roots.libraries.LibraryUtil -import com.intellij.util.PathUtil -import com.intellij.util.containers.ContainerUtil -import org.jetbrains.concurrency.Promise -import org.jetbrains.concurrency.resolvedPromise -import org.jetbrains.idea.maven.project.MavenProjectsManager -import org.jetbrains.idea.maven.utils.library.RepositoryLibraryProperties -import org.jetbrains.jps.model.library.JpsMavenRepositoryLibraryDescriptor -import org.utbot.intellij.plugin.models.mavenCoordinates -import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle - -class UtIdeaProjectModelModifier(val project: Project) : IdeaProjectModelModifier(project) { - override fun addExternalLibraryDependency( - modules: Collection, - descriptor: ExternalLibraryDescriptor, - scope: DependencyScope - ): Promise? { - if (project.isBuildWithGradle) { - return null - } - for (module in modules) { - if (MavenProjectsManager.getInstance(project).isMavenizedModule(module)) { - return null - } - } - - val defaultRoots = descriptor.libraryClassesRoots - val firstModule = ContainerUtil.getFirstItem(modules) ?: return null - val classesRoots = if (defaultRoots.isNotEmpty()) { - LocateLibraryDialog( - firstModule, - defaultRoots, - descriptor.presentableName - ).showAndGetResult() - } else { - val roots = JarRepositoryManager.loadDependenciesModal( - project, - RepositoryLibraryProperties(JpsMavenRepositoryLibraryDescriptor(descriptor.mavenCoordinates)), - /* loadSources = */ false, - /* loadJavadoc = */ false, - /* copyTo = */ null, - /* repositories = */ null - ) - if (roots.isEmpty()) { - return null - } - roots.filter { orderRoot -> orderRoot.type === OrderRootType.CLASSES } - .map { PathUtil.getLocalPath(it.file) }.toList() - } - if (classesRoots.isNotEmpty()) { - val urls = OrderEntryFix.refreshAndConvertToUrls(classesRoots) - if (canLoadModuleLibrary(modules)) { - ModuleRootModificationUtil.addModuleLibrary( - firstModule, - if (classesRoots.size > 1) descriptor.presentableName else null, - urls, - emptyList(), - scope - ) - } else { - WriteAction.run { - LibraryUtil.createLibrary( - LibraryTablesRegistrar.getInstance().getLibraryTable(project), - descriptor.presentableName - ).let { - val model = it.modifiableModel - urls.forEach { url -> model.addRoot(url, OrderRootType.CLASSES) } - model.commit() - modules.forEach { module -> - ModuleRootModificationUtil.addDependency(module, it, scope, false) - } - } - } - } - } - return resolvedPromise() - } - - private fun canLoadModuleLibrary(modules: Collection) = - modules.size == 1 && !ContainerUtil.getFirstItem(modules).project.isBuildWithGradle -} \ No newline at end of file diff --git a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtMavenProjectModelModifier.kt b/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtMavenProjectModelModifier.kt deleted file mode 100644 index f9ab071b..00000000 --- a/utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/util/UtMavenProjectModelModifier.kt +++ /dev/null @@ -1,119 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.openapi.command.WriteCommandAction -import com.intellij.openapi.fileEditor.FileDocumentManager -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.DependencyScope -import com.intellij.openapi.roots.ExternalLibraryDescriptor -import com.intellij.openapi.roots.JavaProjectModelModifier -import com.intellij.openapi.util.Trinity -import com.intellij.openapi.util.text.StringUtil -import com.intellij.pom.java.LanguageLevel -import com.intellij.psi.PsiDocumentManager -import com.intellij.psi.util.PsiUtilCore -import com.intellij.psi.xml.XmlFile -import com.intellij.util.ThrowableRunnable -import com.intellij.util.xml.DomUtil -import org.jetbrains.concurrency.Promise -import org.jetbrains.concurrency.rejectedPromise -import org.jetbrains.idea.maven.dom.MavenDomBundle -import org.jetbrains.idea.maven.dom.MavenDomUtil -import org.jetbrains.idea.maven.dom.converters.MavenDependencyCompletionUtil -import org.jetbrains.idea.maven.dom.model.MavenDomProjectModel -import org.jetbrains.idea.maven.model.MavenConstants -import org.jetbrains.idea.maven.model.MavenId -import org.jetbrains.idea.maven.project.MavenProject -import org.jetbrains.idea.maven.project.MavenProjectsManager - -class UtMavenProjectModelModifier(val project: Project): JavaProjectModelModifier() { - - private val mavenProjectsManager = MavenProjectsManager.getInstance(project) - - override fun addExternalLibraryDependency( - modules: Collection, - descriptor: ExternalLibraryDescriptor, - scope: DependencyScope - ): Promise? { - for (module in modules) { - if (!mavenProjectsManager.isMavenizedModule(module)) { - return null - } - } - - val mavenId = MavenId(descriptor.libraryGroupId, descriptor.libraryArtifactId, descriptor.preferredVersion) - return addDependency(modules, mavenId, descriptor.preferredVersion, scope) - } - - override fun changeLanguageLevel(module: Module, level: LanguageLevel): Promise = rejectedPromise() - - private fun addDependency( - fromModules: Collection, - mavenId: MavenId, - preferredVersion: String?, - scope: DependencyScope, - ): Promise? { - val models: MutableList> = ArrayList(fromModules.size) - val files: MutableList = ArrayList(fromModules.size) - val projectToUpdate: MutableList = ArrayList(fromModules.size) - val mavenScope = getMavenScope(scope) - - for (from in fromModules) { - if (!mavenProjectsManager.isMavenizedModule(from)) return null - val fromProject: MavenProject = mavenProjectsManager.findProject(from) ?: return null - val model = MavenDomUtil.getMavenDomProjectModel(project, fromProject.file) ?: return null - var scopeToSet: String? = null - var version: String? = null - if (mavenId.groupId != null && mavenId.artifactId != null) { - val managedDependency = MavenDependencyCompletionUtil.findManagedDependency( - model, project, - mavenId.groupId!!, - mavenId.artifactId!! - ) - if (managedDependency != null) { - val managedScope = StringUtil.nullize(managedDependency.scope.stringValue, true) - scopeToSet = if (managedScope == null && MavenConstants.SCOPE_COMPILE == mavenScope || - StringUtil.equals(managedScope, mavenScope) - ) null else mavenScope - } - if (managedDependency == null || StringUtil.isEmpty(managedDependency.version.stringValue)) { - version = preferredVersion - scopeToSet = mavenScope - } - } - models.add(Trinity.create(model, MavenId(mavenId.groupId, mavenId.artifactId, version), scopeToSet)) - files.add(DomUtil.getFile(model)) - projectToUpdate.add(fromProject) - } - - WriteCommandAction.writeCommandAction(project, *PsiUtilCore.toPsiFileArray(files)) - .withName(MavenDomBundle.message("fix.add.dependency")).run( - ThrowableRunnable { - val pdm = PsiDocumentManager.getInstance(project) - for (trinity in models) { - val model = trinity.first - val dependency = MavenDomUtil.createDomDependency(model, null, trinity.second) - val ms = trinity.third - if (ms != null) { - dependency.scope.stringValue = ms - } - val document = - pdm.getDocument(DomUtil.getFile(model)) - if (document != null) { - pdm.doPostponedOperationsAndUnblockDocument(document) - FileDocumentManager.getInstance().saveDocument(document) - } - } - }) - - return mavenProjectsManager.forceUpdateProjects(projectToUpdate) - } - - private fun getMavenScope(scope: DependencyScope): String? = when (scope) { - DependencyScope.RUNTIME -> MavenConstants.SCOPE_RUNTIME - DependencyScope.COMPILE -> MavenConstants.SCOPE_COMPILE - DependencyScope.TEST -> MavenConstants.SCOPE_TEST - DependencyScope.PROVIDED -> MavenConstants.SCOPE_PROVIDED - else -> throw IllegalArgumentException(scope.toString()) - } -} \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/plugin.xml b/utbot-intellij/src/main/resources/META-INF/plugin.xml deleted file mode 100644 index c21e1280..00000000 --- a/utbot-intellij/src/main/resources/META-INF/plugin.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - org.utbot.intellij.plugin.id - UnitTestBot - utbot.org - com.intellij.modules.platform - - com.intellij.modules.java - org.jetbrains.kotlin - com.intellij.modules.python - org.jetbrains.plugins.go - org.jetbrains.android - org.jetbrains.idea.maven - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Discover UnitTestBot key features in our latest release: -

      -
    • generating ready-to-use test cases — with valid inputs, method bodies, assertions, and comments
    • -
    • maximizing branch coverage in regression suite while keeping the number of tests minimized
    • -
    • finding deeply hidden code defects and expressing them as tests
    • -
    • fine-tuned mocking, including mocking static methods
    • -
    • representing all the test descriptions in a human-readable format
    • -
    • generating SARIF reports
    • -
    • innovative symbolic execution engine combined with a smart fuzzing platform
    • -
    - UnitTestBot supports the latest JDKs, JUnit 4, JUnit 5, TestNG, Mockito and is suitable for all popular operational systems. -
    - Try UnitTestBot online demo to see how it generates tests for your code in real time. -
    - Contribute to UnitTestBot via GitHub. -
    - Found a bug? File an issue. -
    - Have an idea? Start a discussion. - ]]> - - - -
  • Generating tests for Python and JavaScript
  • -
  • New fuzzing platform providing support for multiple languages
  • -
  • Improved test generation for Kotlin code
  • -
  • Multiprocess architecture based on the Reactive Distributed communication framework with advanced logging and debugging options
  • -
  • Symbolic execution engine with higher priority and fewer false UNSAT verdicts
  • -
  • UI/UX improvements for test sources root, setting.properties file, cancellation, timeout settings, notifications
  • -
  • Summaries with fine-grained settings
  • -
  • SARIF reports enabled by default, displaying sandbox-related and timeout test failures, properly addressing source files
  • -
  • Improved monitoring visualized with Grafana
  • -
  • Test generation bug fixes
  • -
  • Detailed documentation on UnitTestBot components including UnitTestBot architecture overview
  • - - ]]> -
    - - - - - diff --git a/utbot-intellij/src/main/resources/META-INF/pluginIcon.svg b/utbot-intellij/src/main/resources/META-INF/pluginIcon.svg deleted file mode 100644 index d24574d6..00000000 --- a/utbot-intellij/src/main/resources/META-INF/pluginIcon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withAndroid.xml b/utbot-intellij/src/main/resources/META-INF/withAndroid.xml deleted file mode 100644 index 09ce48b4..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withAndroid.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withGo.xml b/utbot-intellij/src/main/resources/META-INF/withGo.xml deleted file mode 100644 index 65c848f9..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withGo.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/utbot-intellij/src/main/resources/META-INF/withIdeaMaven.xml b/utbot-intellij/src/main/resources/META-INF/withIdeaMaven.xml deleted file mode 100644 index 5c2f872b..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withIdeaMaven.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withJS.xml b/utbot-intellij/src/main/resources/META-INF/withJS.xml deleted file mode 100644 index d04570b3..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withJS.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - JavaScript - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withJava.xml b/utbot-intellij/src/main/resources/META-INF/withJava.xml deleted file mode 100644 index 2ce2e82c..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withJava.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withKotlin.xml b/utbot-intellij/src/main/resources/META-INF/withKotlin.xml deleted file mode 100644 index 07e0e420..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withKotlin.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withLang.xml b/utbot-intellij/src/main/resources/META-INF/withLang.xml deleted file mode 100644 index ed33e791..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withLang.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/META-INF/withPython.xml b/utbot-intellij/src/main/resources/META-INF/withPython.xml deleted file mode 100644 index f272fd76..00000000 --- a/utbot-intellij/src/main/resources/META-INF/withPython.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - com.intellij.modules.python - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/application.properties b/utbot-intellij/src/main/resources/application.properties deleted file mode 100644 index f5af5a16..00000000 --- a/utbot-intellij/src/main/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -# suppress inspection "HttpUrlsUsage" for whole file -backing.service.possibleEndpoints=http://utbot.org -backing.service.urlPath=/utbot/errors -backing.service.port=11000 -request.timeoutMillis=5000 \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/bundles/UtbotBundle.properties b/utbot-intellij/src/main/resources/bundles/UtbotBundle.properties deleted file mode 100644 index 4c13064c..00000000 --- a/utbot-intellij/src/main/resources/bundles/UtbotBundle.properties +++ /dev/null @@ -1,10 +0,0 @@ -# {0} - Test report url prefix, {1] - suffix -test.report.force.mock.warning=Warning: Some test cases were ignored, because no mocking framework is installed in the project.
    \ -Better results could be achieved by installing mocking framework. -test.report.force.static.mock.warning=Warning: Some test cases were ignored, because mockito-inline is not installed in the project.
    \ -Better results could be achieved by configuring mockito-inline. -test.report.test.framework.warning=Warning: There are several test frameworks in the project.\ -To select run configuration, please refer to the documentation depending on the project build system:\ -Gradle, \ -Maven \ -or Idea. \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/inspectionDescriptions/UnitTestBotInspectionTool.html b/utbot-intellij/src/main/resources/inspectionDescriptions/UnitTestBotInspectionTool.html deleted file mode 100644 index a01f16e6..00000000 --- a/utbot-intellij/src/main/resources/inspectionDescriptions/UnitTestBotInspectionTool.html +++ /dev/null @@ -1,11 +0,0 @@ - - -

    Reports unchecked exceptions detected by UnitTestBot.

    -

    Example:

    -
    -void foo(int a) {
    -    return 1 / a; // throws ArithmeticException when `a == 0`
    -}
    -
    - - \ No newline at end of file diff --git a/utbot-intellij/src/main/resources/log4j2.xml b/utbot-intellij/src/main/resources/log4j2.xml deleted file mode 100644 index 6a9ae540..00000000 --- a/utbot-intellij/src/main/resources/log4j2.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-intellij/src/test/java/Bar.java b/utbot-intellij/src/test/java/Bar.java deleted file mode 100644 index e4d7ed9b..00000000 --- a/utbot-intellij/src/test/java/Bar.java +++ /dev/null @@ -1,3 +0,0 @@ -public class Bar { - public int c; -} diff --git a/utbot-intellij/src/test/java/Foo.java b/utbot-intellij/src/test/java/Foo.java deleted file mode 100644 index 5dd9ce91..00000000 --- a/utbot-intellij/src/test/java/Foo.java +++ /dev/null @@ -1,20 +0,0 @@ -public class Foo { - public int a; - public int b; - public Bar c; - - public Foo() { - } - - public int getA() { - return a; - } - - public int getB() { - return b; - } - - public Bar getC() { - return c; - } -} diff --git a/utbot-intellij/src/test/kotlin/org/utbot/data/IdeaBuildSystem.kt b/utbot-intellij/src/test/kotlin/org/utbot/data/IdeaBuildSystem.kt deleted file mode 100644 index 0e602fbf..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/data/IdeaBuildSystem.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.data - -enum class IdeaBuildSystem (val system: String) { - - INTELLIJ("IntelliJ"), - GRADLE("Gradle"), - MAVEN("Maven") - -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/data/JDKVersion.kt b/utbot-intellij/src/test/kotlin/org/utbot/data/JDKVersion.kt deleted file mode 100644 index ea4b8725..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/data/JDKVersion.kt +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.data - -enum class JDKVersion (val namePart: String, val number: Int, val supported: Boolean) { - - JDK_1_8(namePart = "1.8", 8, true), - JDK_11(namePart = "11", 11, true), - JDK_17(namePart = "17", 17, true), - JDK_19(namePart = "19", 19, false); - override fun toString() = namePart -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/data/RunInfo.kt b/utbot-intellij/src/test/kotlin/org/utbot/data/RunInfo.kt deleted file mode 100644 index f91630c1..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/data/RunInfo.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.data - -import java.time.LocalDateTime -import java.time.format.DateTimeFormatter -import java.util.Random - -val TEST_RUN_NUMBER = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss")) -val DEFAULT_TEST_GENERATION_TIMEOUT = 60L -val NEW_PROJECT_NAME_START = "Aut_${TEST_RUN_NUMBER}_" -val DEFAULT_PROJECT_DIRECTORY = "~\\IdeaProjects" -var random: Random = Random() diff --git a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/DialogFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/dialogs/DialogFixture.kt deleted file mode 100644 index 4e336588..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/DialogFixture.kt +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.dialogs - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.CommonContainerFixture -import com.intellij.remoterobot.fixtures.ContainerFixture -import com.intellij.remoterobot.fixtures.FixtureName -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.stepsProcessing.step -import java.time.Duration - -fun ContainerFixture.dialog( - title: String, - timeout: Duration = Duration.ofSeconds(20), - function: DialogFixture.() -> Unit = {}): DialogFixture = step("Search for dialog with title $title") { - find(DialogFixture.byTitle(title), timeout).apply(function) -} - -@FixtureName("Dialog") -open class DialogFixture( - remoteRobot: RemoteRobot, - remoteComponent: RemoteComponent) : CommonContainerFixture(remoteRobot, remoteComponent) { - - companion object { - @JvmStatic - fun byTitle(title: String) = byXpath("title $title", "//div[@title='$title' and @class='MyDialog']") - } - - val title: String - get() = callJs("component.getTitle();") - - val closeButton - get() = button( - byXpath("//div[@class='DialogHeader']//div[@class='JButton']")) - -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/NewProjectDialogFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/dialogs/NewProjectDialogFixture.kt deleted file mode 100644 index 1ddc6660..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/NewProjectDialogFixture.kt +++ /dev/null @@ -1,104 +0,0 @@ -package org.utbot.dialogs - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.* -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.stepsProcessing.step -import com.intellij.remoterobot.utils.Keyboard -import com.intellij.remoterobot.utils.keyboard -import com.intellij.remoterobot.utils.waitForIgnoringError -import org.utbot.data.DEFAULT_PROJECT_DIRECTORY -import org.utbot.data.IdeaBuildSystem -import org.utbot.data.JDKVersion -import java.awt.event.KeyEvent -import java.time.Duration -import java.time.Duration.ofSeconds - -@FixtureName("NewProjectDialog") -@DefaultXpath("type", "//*[contains(@title.key, 'title.new.project')]") -class NewProjectDialogFixture(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) - : DialogFixture(remoteRobot, remoteComponent) { - val keyboard: Keyboard = Keyboard(remoteRobot) - - val wizardsList - get() = jList( - byXpath("//div[@class='JBList']")) - - val nameInput - get() = textField( - byXpath("//div[@class='JBTextField']")) - - val locationInput - get() = textField( - byXpath("//div[@class='ExtendableTextField']")) - - val addSampleCodeCheckbox - get() = checkBox( - byXpath("//div[@text.key='label.project.wizard.new.project.add.sample.code']")) - - val jdkComboBox - get() = comboBox( - byXpath("//div[@class='JdkComboBox']"), - Duration.ofSeconds(10)) - - val jdkList - get() = heavyWeightWindow().itemsList - - val createButton - get() = button( - byXpath("//div[@text.key='button.create']")) - - val cancelButton - get() = button( - byXpath("//div[@text.key='button.cancel']")) - - fun selectWizard(wizardName: String) { - if (title != wizardName) { - wizardsList.findText(wizardName).click() - } - } - - fun selectJDK(jdkVersion: String) { - step("Select JDK: $jdkVersion") { - jdkComboBox.click() - var jdkMatching = jdkVersion - waitForIgnoringError(ofSeconds(20)) { - findAll(byXpath("//*[@text.key='progress.title.detecting.sdks']")).isEmpty() - jdkMatching = jdkList.collectItems().first { it.contains(jdkVersion) } - jdkMatching.isEmpty().not() - } - jdkList.clickItem(jdkMatching) - } - } - - fun fillDialog(projectName: String, - location: String = "", - language: String = "Java", - buildSystem: IdeaBuildSystem = IdeaBuildSystem.INTELLIJ, - jdkVersion: JDKVersion, - addSampleCode: Boolean = true) { - step("Fill New Project dialog") { - nameInput.doubleClick() - keyboard.hotKey(KeyEvent.VK_CONTROL, KeyEvent.VK_A) - keyboard.enterText(projectName) - var input = DEFAULT_PROJECT_DIRECTORY - if (location != "") { - input = location - } - if (locationInput.hasText(input).not()) { - locationInput.click() - keyboard{ - hotKey(KeyEvent.VK_CONTROL, KeyEvent.VK_A) - enterText(input.replace("\\", "\\\\")) - } - } - this.findText(language).click() - this.findText(buildSystem.system).click() - addSampleCodeCheckbox.setValue(addSampleCode) - if (!jdkComboBox.selectedText().contains(jdkVersion.namePart)) { - selectJDK(jdkVersion.namePart) - } - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/OpenProjectDialogFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/dialogs/OpenProjectDialogFixture.kt deleted file mode 100644 index ec2cf493..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/OpenProjectDialogFixture.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.dialogs - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.* -import com.intellij.remoterobot.search.locators.byXpath - -@FixtureName("OpenProjectDialog") -@DefaultXpath("Dialog type", "//*[@title.key='title.open.file.or.project']") -class OpenProjectDialogFixture( - remoteRobot: RemoteRobot, - remoteComponent: RemoteComponent) : DialogFixture(remoteRobot, remoteComponent) { - - val pathInput - get() = textField( - byXpath("//div[@class='BorderlessTextField']")) - - val okButton - get() = button( - byXpath("//div[@text.key='button.ok']")) -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/UnitTestBotDialogFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/dialogs/UnitTestBotDialogFixture.kt deleted file mode 100644 index 0a411ea4..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/UnitTestBotDialogFixture.kt +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.dialogs - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.* -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.utils.Keyboard - -@FixtureName("UnitTestBotDialog") -@DefaultXpath("Dialog type", "//*[contains(@title, 'UnitTestBot')]") -class UnitTestBotDialogFixture( - remoteRobot: RemoteRobot, - remoteComponent: RemoteComponent) : DialogFixture(remoteRobot, remoteComponent) { - val keyboard: Keyboard = Keyboard(remoteRobot) - - val sdkNotificationLabel - get() = jLabel( - byXpath("//div[@class='SdkNotificationPanel']//div[@defaulticon='fatalError.svg']")) - - val setupSdkLink - get() = actionLink( - byXpath("//div[@class='SdkNotificationPanel']//div[@class='HyperlinkLabel']")) - - val testSourcesRootComboBox - get() = comboBox( - byXpath("//div[@class='TestFolderComboWithBrowseButton']/div[1]")) - - val generateTestsButton - get() = button( - byXpath("//div[@class='MainButton']")) - -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/WarningDialogFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/dialogs/WarningDialogFixture.kt deleted file mode 100644 index f5e4a1e6..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/dialogs/WarningDialogFixture.kt +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.dialogs - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.* -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.utils.Keyboard - -@FixtureName("MyDialog") -@DefaultXpath("type", "//div[@class='DialogRootPane']") -class WarningDialogFixture( - remoteRobot: RemoteRobot, - remoteComponent: RemoteComponent) : DialogFixture(remoteRobot, remoteComponent) { - val keyboard: Keyboard = Keyboard(remoteRobot) - - val terminateButton - get() = button( - byXpath("//div[@text.key='button.terminate']")) - - val cancelButton - get() = button( - byXpath("//div[@text.key='button.cancel']")) - -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/elements/ActionMenuFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/elements/ActionMenuFixture.kt deleted file mode 100644 index 6ec17bc8..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/elements/ActionMenuFixture.kt +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.pages - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.ComponentFixture -import com.intellij.remoterobot.fixtures.FixtureName -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.utils.waitFor - -fun RemoteRobot.actionMenu(text: String): ActionMenuFixture { - val xpath = byXpath("text '$text'", "//div[@class='ActionMenu' and @text='$text']") - waitFor { - findAll(xpath).isNotEmpty() - } - return findAll(xpath).first() -} - -fun RemoteRobot.actionMenuItem(text: String): ActionMenuItemFixture { - val xpath = byXpath("text '$text'", "//div[@class='ActionMenuItem' and @text='$text']") - waitFor { - findAll(xpath).isNotEmpty() - } - return findAll(xpath).first() -} - -@FixtureName("ActionMenu") -class ActionMenuFixture(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : ComponentFixture(remoteRobot, remoteComponent) - -@FixtureName("ActionMenuItem") -class ActionMenuItemFixture(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : ComponentFixture(remoteRobot, remoteComponent) diff --git a/utbot-intellij/src/test/kotlin/org/utbot/elements/NotificationFixture.kt b/utbot-intellij/src/test/kotlin/org/utbot/elements/NotificationFixture.kt deleted file mode 100644 index 5683f12d..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/elements/NotificationFixture.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.elements - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.CommonContainerFixture -import com.intellij.remoterobot.fixtures.ComponentFixture -import com.intellij.remoterobot.fixtures.DefaultXpath -import com.intellij.remoterobot.fixtures.FixtureName -import com.intellij.remoterobot.search.locators.byXpath -import java.time.Duration.ofSeconds - -@FixtureName("Notification Center Panel") -@DefaultXpath("NotificationCenterPanel type", "//div[@class='NotificationCenterPanel']") -class NotificationFixture(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : CommonContainerFixture(remoteRobot, remoteComponent) { - - val title - get() = jLabel(byXpath("//div[@class='JLabel']"), - ofSeconds(5)) - - val body - get() = remoteRobot.find(byXpath("//div[@class='JEditorPane']"), - ofSeconds(5)) - - val link - get() = remoteRobot.find(byXpath("//div[@class='LinkLabel']"), - ofSeconds(5)) -} - diff --git a/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaFrame.kt b/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaFrame.kt deleted file mode 100644 index 0fa3cd3e..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaFrame.kt +++ /dev/null @@ -1,173 +0,0 @@ -package org.utbot.pages - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.* -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.stepsProcessing.step -import com.intellij.remoterobot.utils.keyboard -import com.intellij.remoterobot.utils.waitFor -import com.intellij.remoterobot.utils.waitForIgnoringError -import org.assertj.swing.core.MouseButton -import org.utbot.data.IdeaBuildSystem -import org.utbot.dialogs.UnitTestBotDialogFixture -import org.utbot.dialogs.WarningDialogFixture -import org.utbot.elements.NotificationFixture -import java.awt.event.KeyEvent -import java.time.Duration -import java.time.Duration.ofSeconds - -fun RemoteRobot.idea(function: IdeaFrame.() -> Unit) { - find(timeout = ofSeconds(5)).apply(function) -} - -@DefaultXpath("IdeFrameImpl type", "//div[@class='IdeFrameImpl']") -open class IdeaFrame(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : CommonContainerFixture(remoteRobot, remoteComponent) { - - open val buildSystemToUse: IdeaBuildSystem = IdeaBuildSystem.INTELLIJ - - val projectViewTree - get() = find(byXpath("ProjectViewTree", "//div[@class='ProjectViewTree']"), - ofSeconds(10)) - - val projectName - get() = step("Get project name") { return@step callJs("component.getProject().getName()") } - - val menuBar: JMenuBarFixture - get() = step("Menu...") { - return@step remoteRobot.find(JMenuBarFixture::class.java, JMenuBarFixture.byType()) - } - - val inlineProgressTextPanel - get() = remoteRobot.find(byXpath("//div[@class='InlineProgressPanel']//div[@class='TextPanel']"), - ofSeconds(10)) - - val statusTextPanel - get() = remoteRobot.find(byXpath("//div[@class='StatusPanel']//div[@class='TextPanel']"), - ofSeconds(10)) - - val buildResultInEditor - get() = remoteRobot.find(byXpath("//div[@class='TrafficLightButton']"), - ofSeconds(20)) - - val buildResult - get() = textField(byXpath("//div[contains(@accessiblename.key, 'editor.accessible.name')]"), - ofSeconds(20)) - - val ideError - get() = remoteRobot.find(byXpath( "//div[@class='NotificationCenterPanel'][.//div[@accessiblename.key='error.new.notification.title']]"), - ofSeconds(10)) - - val utbotNotification - get() = remoteRobot.find(byXpath( "//div[@class='NotificationCenterPanel'][div[contains(.,'UnitTestBot')]]"), - ofSeconds(10)) - - val unitTestBotDialog - get() = remoteRobot.find(UnitTestBotDialogFixture::class.java, - ofSeconds(10)) - - @JvmOverloads - fun dumbAware(timeout: Duration = Duration.ofMinutes(5), function: () -> Unit) { - step("Wait for smart mode") { - waitFor(duration = timeout, interval = ofSeconds(5)) { - runCatching { isDumbMode().not() }.getOrDefault(false) - } - function() - step("..wait for smart mode again") { - waitFor(duration = timeout, interval = ofSeconds(5)) { - isDumbMode().not() - } - } - } - } - - fun isDumbMode(): Boolean { - return callJs(""" - const frameHelper = com.intellij.openapi.wm.impl.ProjectFrameHelper.getFrameHelper(component) - if (frameHelper) { - const project = frameHelper.getProject() - project ? com.intellij.openapi.project.DumbService.isDumb(project) : true - } else { - true - } - """, true) - } - - fun closeProject() { - if (remoteRobot.isMac()) { - keyboard { - hotKey(KeyEvent.VK_SHIFT, KeyEvent.VK_META, KeyEvent.VK_A) - enterText("Close Project") - enter() - } - } else { - menuBar.select("File", "Close Project") - } - try { - remoteRobot.find(WarningDialogFixture::class.java, ofSeconds(1)) - .terminateButton.click() - } catch (ignore: Throwable) {} - } - - fun openUTBotDialogFromProjectViewForClass(classname: String) { - step("Call UnitTestBot action") { - waitFor(ofSeconds(200)) { !isDumbMode() } - with(projectViewTree) { - findText(classname).click(MouseButton.RIGHT_BUTTON) - } - remoteRobot.actionMenuItem("Generate Tests with UnitTestBot...").click() - } - } - - open fun waitProjectIsOpened() { - waitForIgnoringError(ofSeconds(30)) { - projectViewTree.hasText(projectName) - } - } - - open fun waitProjectIsCreated() { - waitProjectIsOpened() - } - - open fun expandProjectTree(projectName: String) { - with(projectViewTree) { - if (hasText("src").not()) { - findText(projectName).doubleClick() - waitForIgnoringError{ - hasText("src").and(hasText(".idea")) - } - } - } - } - - open fun createNewPackage(packageName: String) { - with(projectViewTree) { - if (hasText("src").not()) { - findText(projectName).doubleClick() - waitFor { hasText("src") } - } - findText("src").click(MouseButton.RIGHT_BUTTON) - } - remoteRobot.actionMenu("New").click() - remoteRobot.actionMenuItem("Package").click() - keyboard { - enterText(packageName) - enter() - } - } - - fun createNewJavaClass(newClassname: String = "Example", - textToClickOn: String = "org.example") { - waitProjectIsOpened() - expandProjectTree(projectName) - with(projectViewTree) { - findText(textToClickOn).click(MouseButton.RIGHT_BUTTON) - } - remoteRobot.actionMenu("New").click() - remoteRobot.actionMenuItem("Java Class").click() - remoteRobot.keyboard { - enterText(newClassname) - enter() - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaGradleFrame.kt b/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaGradleFrame.kt deleted file mode 100644 index aa8b7dc1..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaGradleFrame.kt +++ /dev/null @@ -1,50 +0,0 @@ -package org.utbot.pages - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.DefaultXpath -import com.intellij.remoterobot.utils.waitForIgnoringError -import org.utbot.data.IdeaBuildSystem -import java.time.Duration.ofSeconds - -@DefaultXpath("IdeFrameImpl type", "//div[@class='IdeFrameImpl']") -class IdeaGradleFrame(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : IdeaFrame(remoteRobot, remoteComponent) { - - override val buildSystemToUse = IdeaBuildSystem.GRADLE - - override fun waitProjectIsCreated() { - super.waitProjectIsOpened() - waitForIgnoringError (ofSeconds(60)) { - statusTextPanel.hasText { it.text.contains("Gradle sync finished") } - } - } - - override fun expandProjectTree(projectName: String) { - with(projectViewTree) { - waitForIgnoringError(ofSeconds(10)) { - hasText("src") - } - if (hasText("src").not()) { - findText(projectName).doubleClick() - waitForIgnoringError{ - hasText("src") - } - } - if (hasText("main").not()) { - findText("src").doubleClick() - waitForIgnoringError{ - hasText("src").and(hasText("main")) - } - } - if (hasText("java").not()) { - findText("main").doubleClick() - waitForIgnoringError{ - hasText("src").and(hasText("main")).and(hasText("java")) - } - } - if (hasText("org.example").not()) { - findText("java").doubleClick() - } - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaMavenFrame.kt b/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaMavenFrame.kt deleted file mode 100644 index f3fbe398..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/pages/IdeaMavenFrame.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.pages - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.DefaultXpath -import com.intellij.remoterobot.utils.waitForIgnoringError -import org.utbot.data.IdeaBuildSystem -import java.time.Duration.ofSeconds - -@DefaultXpath("IdeFrameImpl type", "//div[@class='IdeFrameImpl']") -class IdeaMavenFrame(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : IdeaFrame(remoteRobot, remoteComponent) { - - override val buildSystemToUse = IdeaBuildSystem.MAVEN - - override fun waitProjectIsOpened() { - super.waitProjectIsOpened() - waitForIgnoringError (ofSeconds(60)) { - projectViewTree.hasText("Main.java").not() - projectViewTree.hasText("Main") - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/pages/WelcomeFrame.kt b/utbot-intellij/src/test/kotlin/org/utbot/pages/WelcomeFrame.kt deleted file mode 100644 index 16eab001..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/pages/WelcomeFrame.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.pages - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.data.RemoteComponent -import com.intellij.remoterobot.fixtures.* -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.utils.Keyboard -import org.utbot.data.IdeaBuildSystem -import org.utbot.data.JDKVersion -import org.utbot.dialogs.NewProjectDialogFixture -import org.utbot.dialogs.OpenProjectDialogFixture -import java.time.Duration - -fun RemoteRobot.welcomeFrame(function: WelcomeFrame.()-> Unit) { - find(WelcomeFrame::class.java, Duration.ofSeconds(10)).apply(function) -} - -@FixtureName("Welcome Frame") -@DefaultXpath("Welcome Frame type", "//div[@class='FlatWelcomeFrame']") -class WelcomeFrame(remoteRobot: RemoteRobot, remoteComponent: RemoteComponent) : CommonContainerFixture(remoteRobot, remoteComponent) { - val keyboard: Keyboard = Keyboard(remoteRobot) - val ideaVersion //ToDO good locator - get() = jLabel(byXpath("//div[@class='TabbedWelcomeScreen']//div[@class='JLabel' and contains(@text,'20')]")) - - val newProjectLink - get() = actionLink(byXpath("New Project","//div[(@class='MainButton' and @text='New Project') or (@accessiblename='New Project' and @class='JButton')]")) - val openProjectLink - get() = actionLink(byXpath("Open","//div[(@class='MainButton' and @text='Open') or (@accessiblename.key='action.WelcomeScreen.OpenProject.text')]")) - val moreActions - get() = button(byXpath("More Action", "//div[@accessiblename='More Actions']")) - - val recentProjectLinks - get() = jTree(byXpath("//div[@class='CardLayoutPanel']//div[@class='Tree']")) - - val openProjectDialog - get() = remoteRobot.find(OpenProjectDialogFixture::class.java) - - val newProjectDialog - get() = remoteRobot.find(NewProjectDialogFixture::class.java) - - fun openProjectByPath(projectName: String, - location: String = "") { - val localPath = location + projectName - openProjectLink.click() - keyboard.enterText(localPath) - openProjectDialog.okButton.click() - } - - fun createNewProject(projectName: String, location: String = "", - language: String = "Java", buildSystem: IdeaBuildSystem = IdeaBuildSystem.INTELLIJ, - jdkVersion: JDKVersion, addSampleCode: Boolean = true) { - newProjectLink.click() - newProjectDialog.selectWizard("New Project") - newProjectDialog.fillDialog( - projectName, location, language, - buildSystem, jdkVersion, addSampleCode - ) - newProjectDialog.createButton.click() - } -} diff --git a/utbot-intellij/src/test/kotlin/org/utbot/samples/CodeSamples.kt b/utbot-intellij/src/test/kotlin/org/utbot/samples/CodeSamples.kt deleted file mode 100644 index 35aeb343..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/samples/CodeSamples.kt +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.samples - -import com.intellij.remoterobot.fixtures.TextEditorFixture -import com.intellij.remoterobot.utils.keyboard -import org.utbot.data.TEST_RUN_NUMBER -import java.awt.event.KeyEvent - -fun TextEditorFixture.typeAdditionFunction(className: String): String { - editor.selectText(className) - keyboard { - key(KeyEvent.VK_END) - enter() - enterText("public int addition(") - enterText("int a, int b") - key(KeyEvent.VK_END) - enterText("{") - enter() - enterText("// UTBot UI ${TEST_RUN_NUMBER} test") - enter() - enterText("return a + b;") - } - return "@utbot.returnsFrom {@code return a + b;}" -} - -fun TextEditorFixture.typeDivisionFunction(className: String) : String { - editor.selectText(className) - keyboard { - key(KeyEvent.VK_END) - enter() - enterText("public int division(") - enterText("int a, int b") - key(KeyEvent.VK_END) - enterText("{") - enter() - enterText("// UTBot UI ${TEST_RUN_NUMBER} test") - enter() - enterText("return a / b;") - } - return "@utbot.returnsFrom {@code return a / b;}" -} diff --git a/utbot-intellij/src/test/kotlin/org/utbot/steps/IDESteps.kt b/utbot-intellij/src/test/kotlin/org/utbot/steps/IDESteps.kt deleted file mode 100644 index c6dc22c7..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/steps/IDESteps.kt +++ /dev/null @@ -1,52 +0,0 @@ -package org.utbot.steps - -import com.intellij.remoterobot.fixtures.TextEditorFixture -import com.intellij.remoterobot.fixtures.dataExtractor.contains -import com.intellij.remoterobot.search.locators.byXpath -import com.intellij.remoterobot.stepsProcessing.step -import com.intellij.remoterobot.utils.keyboard -import com.intellij.remoterobot.utils.waitFor -import org.utbot.dialogs.DialogFixture -import org.utbot.dialogs.DialogFixture.Companion.byTitle -import org.utbot.pages.IdeaFrame -import java.awt.event.KeyEvent -import java.time.Duration.ofSeconds - -fun IdeaFrame.autocomplete(text: String) { - step("Autocomplete '" + text + "'") { - keyboard { - enterText(text) - } - heavyWeightWindow(ofSeconds(5)) - .findText(contains(text)) - .click() - keyboard { - enter() - } - } -} - -fun TextEditorFixture.goToLineAndColumn(row: Int, column: Int) { - keyboard { - if (remoteRobot.isMac()) { - hotKey(KeyEvent.VK_META, KeyEvent.VK_L) - } else { - hotKey(KeyEvent.VK_CONTROL, KeyEvent.VK_G) - } - enterText("$row:$column") - enter() - } -} - -fun IdeaFrame.closeTipOfTheDay() { - step("Close Tip of the Day if it appears") { - waitFor(ofSeconds(20)) { - remoteRobot.findAll(byXpath("//div[@class='MyDialog'][.//div[@text='Running startup activities...']]")) - .isEmpty() - } - try { - find(byTitle ("Tip of the Day")) - .button("Close").click() - } catch (ignore: Throwable) {} - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/tests/BaseTest.kt b/utbot-intellij/src/test/kotlin/org/utbot/tests/BaseTest.kt deleted file mode 100644 index 2978faa0..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/tests/BaseTest.kt +++ /dev/null @@ -1,93 +0,0 @@ -package org.utbot.tests - -import com.intellij.remoterobot.RemoteRobot -import org.junit.jupiter.api.AfterEach -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.BeforeEach -import org.junit.jupiter.api.extension.ExtendWith -import org.junit.jupiter.params.provider.Arguments -import org.utbot.data.IdeaBuildSystem -import org.utbot.data.JDKVersion -import org.utbot.pages.IdeaFrame -import org.utbot.pages.IdeaGradleFrame -import org.utbot.pages.IdeaMavenFrame -import org.utbot.pages.idea -import org.utbot.utils.RemoteRobotExtension -import org.utbot.utils.StepsLogger -import java.time.Duration.ofSeconds - -@ExtendWith(RemoteRobotExtension::class) -open class BaseTest { - fun getIdeaFrameForBuildSystem(remoteRobot: RemoteRobot, ideaBuildSystem: IdeaBuildSystem): IdeaFrame { - when (ideaBuildSystem) { - IdeaBuildSystem.INTELLIJ -> return remoteRobot.find(IdeaFrame::class.java, ofSeconds(10)) - IdeaBuildSystem.GRADLE -> return remoteRobot.find(IdeaGradleFrame::class.java, ofSeconds(10)) - IdeaBuildSystem.MAVEN -> return remoteRobot.find(IdeaMavenFrame::class.java, ofSeconds(10)) - } - } - - @BeforeEach - fun `Close each project before test`(remoteRobot: RemoteRobot): Unit = with(remoteRobot) { - try { - idea { - closeProject() - } - } catch (ignore: Throwable) {} - } - - @AfterEach - fun `Close each project after test`(remoteRobot: RemoteRobot): Unit = with(remoteRobot) { - idea { - closeProject() - } - } - - companion object { - @BeforeAll - @JvmStatic - fun init(remoteRobot: RemoteRobot): Unit = with(remoteRobot) { - StepsLogger.init() - } - - private val supportedProjectsList: List = - addPairsToList(true) - private val unsupportedProjectsList: List = - addPairsToList(false) - - @JvmStatic - fun supportedProjectsProvider(): List { - return supportedProjectsList - } - - @JvmStatic - fun unsupportedProjectsProvider(): List { - return unsupportedProjectsList - } - - @JvmStatic - fun allProjectsProvider(): List { - return supportedProjectsList + unsupportedProjectsList - } - - @JvmStatic - private fun addPairsToList(supported: Boolean): List { - val ideaBuildSystems = IdeaBuildSystem.values() - ideaBuildSystems.shuffle() - var j = 0 - - val listOfArguments: MutableList = mutableListOf() - JDKVersion.values().toMutableList().filter { - it.supported == supported - }.forEach { - listOfArguments.add( - Arguments.of(ideaBuildSystems[j], it) //each (un)supported JDK with a random build system - ) - j++ - if (j >= ideaBuildSystems.size) { - j = 0 - } - } - return listOfArguments - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/tests/CreateProjects.kt b/utbot-intellij/src/test/kotlin/org/utbot/tests/CreateProjects.kt deleted file mode 100644 index b7c54f2f..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/tests/CreateProjects.kt +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.tests - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.utils.waitFor -import org.junit.jupiter.api.Order -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Tags -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.MethodSource -import org.utbot.data.IdeaBuildSystem -import org.utbot.data.JDKVersion -import org.utbot.data.NEW_PROJECT_NAME_START -import org.utbot.pages.welcomeFrame -import java.time.Duration - -@Order(1) -class CreateProjects : BaseTest() { - @ParameterizedTest(name = "Create {0} project with JDK {1}") - @Tags(Tag("smoke"), Tag("NewProject"), Tag("Java"), Tag("UTBot"), Tag("")) - @MethodSource("allProjectsProvider") - fun createProjectWithSupportedJDK( - ideaBuildSystem: IdeaBuildSystem, jdkVersion: JDKVersion, - remoteRobot: RemoteRobot - ): Unit = with(remoteRobot) { - val newProjectName = NEW_PROJECT_NAME_START + ideaBuildSystem.system + jdkVersion.number - remoteRobot.welcomeFrame { - createNewProject( - projectName = newProjectName, - buildSystem = ideaBuildSystem, - jdkVersion = jdkVersion - ) - } - val ideaFrame = getIdeaFrameForBuildSystem(remoteRobot, ideaBuildSystem) - with(ideaFrame) { - waitProjectIsCreated() - if (ideaBuildSystem == IdeaBuildSystem.INTELLIJ) { - createNewPackage("org.example") - } - waitFor(Duration.ofSeconds(30)) { - !isDumbMode() - } - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/tests/UnitTestBotActionTest.kt b/utbot-intellij/src/test/kotlin/org/utbot/tests/UnitTestBotActionTest.kt deleted file mode 100644 index 97a00c2f..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/tests/UnitTestBotActionTest.kt +++ /dev/null @@ -1,79 +0,0 @@ -package org.utbot.tests - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.utils.waitForIgnoringError -import org.assertj.core.api.Assertions.assertThat -import org.junit.jupiter.api.* -import org.junit.jupiter.params.ParameterizedTest -import org.junit.jupiter.params.provider.MethodSource -import org.utbot.data.IdeaBuildSystem -import org.utbot.data.JDKVersion -import org.utbot.data.NEW_PROJECT_NAME_START -import org.utbot.pages.* -import org.utbot.samples.typeAdditionFunction -import org.utbot.samples.typeDivisionFunction -import java.time.Duration.ofMillis -import java.time.Duration.ofSeconds - -class UnitTestBotActionTest : BaseTest() { - - @ParameterizedTest(name = "Generate tests in {0} project with JDK {1}") - @MethodSource("supportedProjectsProvider") - @Tags(Tag("Java"), Tag("UnitTestBot"), Tag("Positive")) - fun basicTestGeneration(ideaBuildSystem: IdeaBuildSystem, jdkVersion: JDKVersion, - remoteRobot: RemoteRobot) : Unit = with(remoteRobot) { - val createdProjectName = NEW_PROJECT_NAME_START + ideaBuildSystem.system + jdkVersion.number - remoteRobot.welcomeFrame { - findText(createdProjectName).click() - } - val ideaFrame = getIdeaFrameForBuildSystem(remoteRobot, ideaBuildSystem) - with (ideaFrame) { - val newClassName = "Arithmetic" - createNewJavaClass(newClassName, "org.example") - val returnsFromTagBody = textEditor().typeDivisionFunction(newClassName) - openUTBotDialogFromProjectViewForClass(newClassName) - unitTestBotDialog.generateTestsButton.click() - waitForIgnoringError (ofSeconds(5)){ - inlineProgressTextPanel.isShowing - } - waitForIgnoringError(ofSeconds(60), ofMillis(100)) { - inlineProgressTextPanel.hasText("Generate tests: read classes") - } - waitForIgnoringError (ofSeconds(30)){ - inlineProgressTextPanel.hasText("Generate test cases for class $newClassName") - } - waitForIgnoringError(ofSeconds(60)) { //Can be changed to 60 for a complex class - utbotNotification.title.hasText("UnitTestBot: unit tests generated successfully") - } - assertThat(textEditor().editor.text).contains("class ${newClassName}Test") - assertThat(textEditor().editor.text).contains("@Test\n") - assertThat(textEditor().editor.text).contains("assertEquals(") - assertThat(textEditor().editor.text).contains("@utbot.classUnderTest {@link ${newClassName}}") - assertThat(textEditor().editor.text).contains("@utbot.methodUnderTest {@link ${newClassName}#division(int, int)}") - assertThat(textEditor().editor.text).contains(returnsFromTagBody) - //ToDo verify Problems view and Arithmetic exception on it - } - } - - @ParameterizedTest(name = "Check Generate tests button is disabled in {0} project with unsupported JDK {1}") - @MethodSource("unsupportedProjectsProvider") - @Tags(Tag("Java"), Tag("UnitTestBot"), Tag("Negative")) - fun checkTestGenerationIsUnavailable(ideaBuildSystem: IdeaBuildSystem, jdkVersion: JDKVersion, - remoteRobot: RemoteRobot) : Unit = with(remoteRobot) { - val createdProjectName = NEW_PROJECT_NAME_START + ideaBuildSystem.system + jdkVersion.number - remoteRobot.welcomeFrame { - findText(createdProjectName).click() - } - val ideaFrame = getIdeaFrameForBuildSystem(remoteRobot, ideaBuildSystem) - with (ideaFrame) { - val newClassName = "Arithmetic" - createNewJavaClass(newClassName, "org.example") - textEditor().typeAdditionFunction(newClassName) - openUTBotDialogFromProjectViewForClass(newClassName) - assertThat(unitTestBotDialog.generateTestsButton.isEnabled().not()) - assertThat(unitTestBotDialog.sdkNotificationLabel.hasText("SDK version 19 is not supported, use JDK_1_8, JDK_11 or JDK_17")) - assertThat(unitTestBotDialog.setupSdkLink.isShowing) - unitTestBotDialog.closeButton.click() - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/utils/RemoteRobotExtension.kt b/utbot-intellij/src/test/kotlin/org/utbot/utils/RemoteRobotExtension.kt deleted file mode 100644 index 650542c1..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/utils/RemoteRobotExtension.kt +++ /dev/null @@ -1,135 +0,0 @@ -package org.utbot.utils - -import com.intellij.remoterobot.RemoteRobot -import com.intellij.remoterobot.fixtures.ContainerFixture -import com.intellij.remoterobot.search.locators.byXpath -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.logging.HttpLoggingInterceptor -import org.junit.jupiter.api.extension.AfterTestExecutionCallback -import org.junit.jupiter.api.extension.ExtensionContext -import org.junit.jupiter.api.extension.ParameterContext -import org.junit.jupiter.api.extension.ParameterResolver -import java.awt.image.BufferedImage -import java.io.ByteArrayOutputStream -import java.io.File -import java.lang.IllegalStateException -import java.lang.reflect.Method -import javax.imageio.ImageIO - -class RemoteRobotExtension : AfterTestExecutionCallback, ParameterResolver { - private val url: String = System.getProperty("remote-robot-url") ?: "http://127.0.0.1:8082" - private val remoteRobot: RemoteRobot = if (System.getProperty("debug-retrofit")?.equals("enable") == true) { - val interceptor: HttpLoggingInterceptor = HttpLoggingInterceptor().apply { - this.level = HttpLoggingInterceptor.Level.BODY - } - val client = OkHttpClient.Builder().apply { - this.addInterceptor(interceptor) - }.build() - RemoteRobot(url, client) - } else { - RemoteRobot(url) - } - private val client = OkHttpClient() - - override fun supportsParameter(parameterContext: ParameterContext?, extensionContext: ExtensionContext?): Boolean { - return parameterContext?.parameter?.type?.equals(RemoteRobot::class.java) ?: false - } - - override fun resolveParameter(parameterContext: ParameterContext?, extensionContext: ExtensionContext?): Any { - return remoteRobot - } - - override fun afterTestExecution(context: ExtensionContext?) { - val testMethod: Method = context?.requiredTestMethod ?: throw IllegalStateException("test method is null") - val testMethodName = testMethod.name - val testFailed: Boolean = context.executionException?.isPresent ?: false - if (testFailed) { - saveScreenshot(testMethodName) - saveIdeaFrames(testMethodName) - saveHierarchy(testMethodName) - } - } - - private fun saveScreenshot(testName: String) { - fetchScreenShot().save(testName) - } - - private fun saveHierarchy(testName: String) { - val hierarchySnapshot = - saveFile(url, "build/reports", "hierarchy-$testName.html") - if (File("build/reports/styles.css").exists().not()) { - saveFile("$url/styles.css", "build/reports", "styles.css") - } - println("Hierarchy snapshot: ${hierarchySnapshot.absolutePath}") - } - - private fun saveFile(url: String, folder: String, name: String): File { - val response = client.newCall(Request.Builder().url(url).build()).execute() - return File(folder).apply { - mkdirs() - }.resolve(name).apply { - writeText(response.body?.string() ?: "") - } - } - - private fun BufferedImage.save(name: String) { - val bytes = ByteArrayOutputStream().use { b -> - ImageIO.write(this, "png", b) - b.toByteArray() - } - File("build/reports").apply { mkdirs() }.resolve("$name.png").writeBytes(bytes) - } - - private fun saveIdeaFrames(testName: String) { - remoteRobot.findAll(byXpath("//div[@class='IdeFrameImpl']")).forEachIndexed { n, frame -> - val pic = try { - frame.callJs( - """ - importPackage(java.io) - importPackage(javax.imageio) - importPackage(java.awt.image) - const screenShot = new BufferedImage(component.getWidth(), component.getHeight(), BufferedImage.TYPE_INT_ARGB); - component.paint(screenShot.getGraphics()) - let pictureBytes; - const baos = new ByteArrayOutputStream(); - try { - ImageIO.write(screenShot, "png", baos); - pictureBytes = baos.toByteArray(); - } finally { - baos.close(); - } - pictureBytes; - """, true - ) - } catch (e: Throwable) { - e.printStackTrace() - throw e - } - pic.inputStream().use { - ImageIO.read(it) - }.save(testName + "_" + n) - } - } - - private fun fetchScreenShot(): BufferedImage { - return remoteRobot.callJs( - """ - importPackage(java.io) - importPackage(javax.imageio) - const screenShot = new java.awt.Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); - let pictureBytes; - const baos = new ByteArrayOutputStream(); - try { - ImageIO.write(screenShot, "png", baos); - pictureBytes = baos.toByteArray(); - } finally { - baos.close(); - } - pictureBytes; - """ - ).inputStream().use { - ImageIO.read(it) - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/kotlin/org/utbot/utils/StepsLogger.kt b/utbot-intellij/src/test/kotlin/org/utbot/utils/StepsLogger.kt deleted file mode 100644 index a97ddfb7..00000000 --- a/utbot-intellij/src/test/kotlin/org/utbot/utils/StepsLogger.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.utils - -import com.intellij.remoterobot.stepsProcessing.StepLogger -import com.intellij.remoterobot.stepsProcessing.StepWorker - -object StepsLogger { - private var initialized = false - @JvmStatic - fun init() { - if (initialized.not()) { - StepWorker.registerProcessor(StepLogger()) - initialized = true - } - } -} \ No newline at end of file diff --git a/utbot-intellij/src/test/resources/application.properties b/utbot-intellij/src/test/resources/application.properties deleted file mode 100644 index 8e2ce3cb..00000000 --- a/utbot-intellij/src/test/resources/application.properties +++ /dev/null @@ -1,5 +0,0 @@ -# suppress inspection "HttpUrlsUsage" for whole file -backing.service.possibleEndpoints=http://127.0.0.1 -backing.service.urlPath=/utbot/errors -backing.service.port=11000 -request.timeoutMillis=5000 \ No newline at end of file diff --git a/utbot-intellij/src/test/resources/junit-platform.properties b/utbot-intellij/src/test/resources/junit-platform.properties deleted file mode 100644 index 6011214f..00000000 --- a/utbot-intellij/src/test/resources/junit-platform.properties +++ /dev/null @@ -1 +0,0 @@ -junit.jupiter.testclass.order.default = org.junit.jupiter.api.ClassOrderer$OrderAnnotation \ No newline at end of file diff --git a/utbot-intellij/src/test/resources/log4j.properties b/utbot-intellij/src/test/resources/log4j.properties deleted file mode 100644 index 7189a0f5..00000000 --- a/utbot-intellij/src/test/resources/log4j.properties +++ /dev/null @@ -1,8 +0,0 @@ -log4j.rootCategory=INFO, stdout -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n - -log4j.category.org.springframework=INFO - -log4j.category.com.betfair.utils.mockserver.domain=INFO \ No newline at end of file diff --git a/utbot-intellij/src/test/resources/log4j2.xml b/utbot-intellij/src/test/resources/log4j2.xml deleted file mode 100644 index faa66a31..00000000 --- a/utbot-intellij/src/test/resources/log4j2.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-java-fuzzing/build.gradle.kts b/utbot-java-fuzzing/build.gradle.kts deleted file mode 100644 index 0b4b121a..00000000 --- a/utbot-java-fuzzing/build.gradle.kts +++ /dev/null @@ -1,14 +0,0 @@ -val sootVersion: String by rootProject -val kotlinLoggingVersion: String by rootProject -val rgxgenVersion: String by rootProject - -dependencies { - implementation(project(":utbot-framework-api")) - api(project(":utbot-fuzzing")) - - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude(group="com.google.guava", module="guava") - } - implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) - implementation(group = "com.github.curious-odd-man", name = "rgxgen", version = rgxgenVersion) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedConcreteValue.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedConcreteValue.kt deleted file mode 100644 index e70aee4e..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedConcreteValue.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.ClassId - -/** - * Object to pass concrete values to fuzzer - */ -data class FuzzedConcreteValue( - val classId: ClassId, - val value: Any, - val fuzzedContext: FuzzedContext = FuzzedContext.Unknown, -) \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedContext.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedContext.kt deleted file mode 100644 index 4b7993bb..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedContext.kt +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.ExecutableId - -/** - * Context is a bit of information about [FuzzedConcreteValue]'s conditions. - * - * For example, it can be: - * - * 1. Comparison operations: `a > 2` - * 2. Method call: `Double.isNaN(2.0)` - */ -sealed interface FuzzedContext { - - object Unknown : FuzzedContext - - class Call( - val method: ExecutableId - ) : FuzzedContext { - override fun toString(): String { - return method.toString() - } - } - - enum class Comparison( - val sign: String - ) : FuzzedContext { - EQ("=="), - NE("!="), - GT(">"), - GE(">="), - LT("<"), - LE("<="), - ; - - fun reverse(): Comparison = when (this) { - EQ -> NE - NE -> EQ - GT -> LE - LT -> GE - LE -> GT - GE -> LT - } - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedMethodDescription.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedMethodDescription.kt deleted file mode 100644 index e2061ab2..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedMethodDescription.kt +++ /dev/null @@ -1,91 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId - -/** - * Method traverser is an object, - * that helps to collect information about a method. - * - * @param name pretty name of the method - * @param returnType type of returning value - * @param parameters method parameters types - * @param concreteValues any concrete values to be processed by fuzzer - * - */ -open class FuzzedMethodDescription( - val name: String, - val returnType: ClassId, - val parameters: List, - val concreteValues: Collection = emptyList() -) { - /** - * Name that can be used to generate test names - */ - var compilableName: String? = null - - /** - * Class Name - */ - var className: String? = null - - /** - * Package Name - */ - var packageName: String? = null - - /** - * Canonical name. - */ - var canonicalName: String? = null - - /** - * True, if class is nested. - */ - var isNested: Boolean = false - - /** - * True, if method is static, false if it's not and null if it is not defined. - */ - var isStatic: Boolean? = null - - /** - * Returns parameter name by its index in the signature - */ - var parameterNameMap: (Int) -> String? = { null } - - /** - * For every parameter returns a list with acceptable types. - * Usually it keeps upper bound. - * - * Every parameter can have several parameter types. - * For example [Map] has two type parameters, [Collection] has only one. - * - * Fuzzer doesn't care about interconnection between these types, therefore it waits - * that function already has all necessary information to bound this values. - */ - var fuzzerType: (Int) -> FuzzedType? = { null } - - /** - * Returns true if class should be mocked. - */ - var shouldMock: (ClassId) -> Boolean = { false } - - /** - * Map class id to indices of this class in parameters list. - */ - val parametersMap: Map> by lazy { - val result = mutableMapOf>() - parameters.forEachIndexed { index, classId -> - result.computeIfAbsent(classId) { mutableListOf() }.add(index) - } - result - } - - constructor(executableId: ExecutableId, concreteValues: Collection = emptyList()) : this( - executableId.classId.simpleName + "." + executableId.name, - executableId.returnType, - executableId.parameters, - concreteValues - ) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedType.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedType.kt deleted file mode 100644 index 407777bb..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedType.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.ClassId - -/** - * Contains information about classId and generic types, that should be applied. - * - * Note that this class can be replaced by the API mechanism for collecting parametrized types, - * but at the moment it doesn't fully support all necessary operations. - * - * @see ClassId.typeParameters - */ -open class FuzzedType( - val classId: ClassId, - val generics: List = emptyList(), -) { - override fun toString(): String { - return "FuzzedType(classId=$classId, generics=${generics.map { it.classId }})" - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedValue.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedValue.kt deleted file mode 100644 index d5d4a6d7..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/FuzzedValue.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.UtModel - -/** - * Fuzzed Value stores information about concrete UtModel, reference to [ModelProvider] - * and reasons about why this value was generated. - * - * [summary] is a piece of useful information that clarify why this value has a concrete value. - * - * It supports a special character `%var%` that is used as a placeholder for parameter name. - * - * For example: - * 1. `%var% = 2` for a value that have value 2 - * 2. `%var% >= 4` for a value that shouldn't be less than 4 - * 3. `foo(%var%) returns true` for values that should be passed as a function parameter - * 4. `%var% has special characters` to describe content - */ -open class FuzzedValue( - val model: UtModel, - var summary: String? = null, -) \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/IdGenerator.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/IdGenerator.kt deleted file mode 100644 index 1d66dcfe..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/IdGenerator.kt +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.UtModel -import java.util.* -import java.util.concurrent.atomic.AtomicInteger - -/** - * Identifier generator interface for fuzzer model providers. - * - * Provides fresh identifiers for generated models. - * - * Warning: specific generators are not guaranteed to be thread-safe. - * - * @param Id the identifier type (e.g., [Int] for [UtReferenceModel] providers) - */ -interface IdGenerator { - /** - * Create a fresh identifier. Each subsequent call should return a different value. - * - * The method is not guaranteed to be thread-safe, unless an implementation makes such a guarantee. - */ - fun createId(): Id -} - -/** - * Identity preserving identifier generator interface. - * - * It allows to optionally save identifiers assigned to specific objects and later get the same identifiers - * for these objects instead of fresh identifiers. This feature is necessary, for example, to implement reference - * equality for enum models. - * - * Warning: specific generators are not guaranteed to be thread-safe. - * - * @param Id the identifier type (e.g., [Int] for [UtReferenceModel] providers) - */ -interface IdentityPreservingIdGenerator : IdGenerator { - /** - * Return an identifier for a specified non-null object. If an identifier has already been assigned - * to an object, subsequent calls should return the same identifier for this object. - * - * Note: the interface does not specify whether reference equality or regular `equals`/`compareTo` equality - * will be used to compare objects. Each implementation may provide these guarantees by itself. - * - * The method is not guaranteed to be thread-safe, unless an implementation makes such a guarantee. - */ - fun getOrCreateIdForValue(value: Any): Id -} - -/** - * An identity preserving id generator for fuzzer value providers that returns identifiers of type [Int]. - * - * When identity-preserving identifier is requested, objects are compared by reference. - * The generator is not thread-safe. - * - * @param lowerBound an integer value so that any generated identifier is strictly greater than it. - * - * Warning: when generating [UtReferenceModel] identifiers, no identifier should be equal to zero, - * as this value is reserved for [UtNullModel]. To guarantee it, [lowerBound] should never be negative. - * Avoid using custom lower bounds (maybe except fuzzer unit tests), use the predefined default value instead. - */ -class ReferencePreservingIntIdGenerator(lowerBound: Int = DEFAULT_LOWER_BOUND) : IdentityPreservingIdGenerator { - private val lastId: AtomicInteger = AtomicInteger(lowerBound) - private val cache: IdentityHashMap = IdentityHashMap() - - override fun getOrCreateIdForValue(value: Any): Int { - return cache.getOrPut(value) { createId() } - } - - override fun createId(): Int { - return lastId.incrementAndGet() - } - - companion object { - /** - * The default lower bound (all generated integer identifiers will be greater than it). - * - * It is defined as a large value because all synthetic [UtModel] instances - * must have greater identifiers than the real models. - */ - const val DEFAULT_LOWER_BOUND: Int = 1500_000_000 - } -} - -fun UtModel.fuzzed(block: FuzzedValue.() -> Unit = {}): FuzzedValue = FuzzedValue(this).apply(block) \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/UtFuzzedExecution.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/UtFuzzedExecution.kt deleted file mode 100644 index 8ea8b2a4..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/UtFuzzedExecution.kt +++ /dev/null @@ -1,101 +0,0 @@ -package org.utbot.fuzzer - -import org.utbot.framework.plugin.api.* - -/** - * Fuzzed execution. - * - * Contains: - * - execution parameters, including thisInstance; - * - result; - * - static fields changed during execution; - * - coverage information (instructions) if this execution was obtained from the concrete execution. - * - comments, method names and display names created by utbot-summary module. - */ -class UtFuzzedExecution( - stateBefore: EnvironmentModels, - stateAfter: EnvironmentModels, - result: UtExecutionResult, - coverage: Coverage? = null, - summary: List? = null, - testMethodName: String? = null, - displayName: String? = null, - val fuzzingValues: List? = null, - val fuzzedMethodDescription: FuzzedMethodDescription? = null, - val instrumentation: List = emptyList(), -) : UtExecution(stateBefore, stateAfter, result, coverage, summary, testMethodName, displayName) { - /** - * By design the 'before' and 'after' states contain info about the same fields. - * It means that it is not possible for a field to be present at 'before' and to be absent at 'after'. - * The reverse is also impossible. - */ - val staticFields: Set - get() = stateBefore.statics.keys // TODO: should we keep it for the Fuzzed Execution? - - override fun copy( - stateBefore: EnvironmentModels, - stateAfter: EnvironmentModels, - result: UtExecutionResult, - coverage: Coverage?, - summary: List?, - testMethodName: String?, - displayName: String? - ): UtExecution { - return UtFuzzedExecution( - stateBefore, - stateAfter, - result, - coverage, - summary, - testMethodName, - displayName, - fuzzingValues = fuzzingValues, - fuzzedMethodDescription = fuzzedMethodDescription, - instrumentation = instrumentation, - ) - } - - override fun toString(): String = buildString { - append("UtFuzzedExecution(") - appendLine() - - append(":") - appendLine() - append(stateBefore) - appendLine() - - append(":") - appendLine() - append(stateAfter) - appendLine() - - append(":") - appendLine() - append(result) - append(")") - } - - fun copy( - stateBefore: EnvironmentModels = this.stateBefore, - stateAfter: EnvironmentModels = this.stateAfter, - result: UtExecutionResult = this.result, - coverage: Coverage? = this.coverage, - summary: List? = this.summary, - testMethodName: String? = this.testMethodName, - displayName: String? = this.displayName, - fuzzingValues: List? = this.fuzzingValues, - fuzzedMethodDescription: FuzzedMethodDescription? = this.fuzzedMethodDescription, - instrumentation: List = this.instrumentation, - ): UtExecution = UtFuzzedExecution( - stateBefore = stateBefore, - stateAfter = stateAfter, - result = result, - coverage = coverage, - summary = summary, - testMethodName = testMethodName, - displayName = displayName, - fuzzingValues = fuzzingValues, - fuzzedMethodDescription = fuzzedMethodDescription, - instrumentation = instrumentation, - ) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/objects/AssembleModelUtils.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/objects/AssembleModelUtils.kt deleted file mode 100644 index bc50efcf..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzer/objects/AssembleModelUtils.kt +++ /dev/null @@ -1,112 +0,0 @@ -package org.utbot.fuzzer.objects - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtDirectSetFieldModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtStatementModel -import org.utbot.framework.plugin.api.util.voidClassId - -fun ClassId.create( - block: AssembleModelDsl.() -> Unit -): UtAssembleModel { - return AssembleModelDsl(this).apply(block).build() -} - -class AssembleModelDsl internal constructor( - val classId: ClassId -) { - val using = KeyWord.Using - val call = KeyWord.Call - val constructor = KeyWord.Constructor(classId) - val method = KeyWord.Method(classId) - val field = KeyWord.Field(classId) - - var id: () -> Int? = { null } - var name: (Int?) -> String = { "" } - - private lateinit var initialization: () -> UtExecutableCallModel - private val modChain = mutableListOf<(UtAssembleModel) -> UtStatementModel>() - - fun params(vararg params: ClassId) = params.toList() - - fun values(vararg model: UtModel) = model.toList() - - infix fun KeyWord.Using.instance(executableId: T) = UsingDsl(executableId) - - infix fun KeyWord.Call.instance(executableId: T) = CallDsl(executableId, false) - - infix fun KeyWord.Call.instance(field: T) = FieldDsl(field, false) - - infix fun KeyWord.Using.static(executableId: T) = UsingDsl(executableId) - - infix fun KeyWord.Call.static(executableId: T) = CallDsl(executableId, true) - - infix fun KeyWord.Call.static(field: T) = FieldDsl(field, true) - - @Suppress("UNUSED_PARAMETER") - infix fun KeyWord.Using.empty(ignored: KeyWord.Constructor) { - initialization = { UtExecutableCallModel(null, ConstructorId(classId, emptyList()), emptyList()) } - } - - infix fun ConstructorId.with(models: List) { - initialization = { UtExecutableCallModel(null, this, models) } - } - - infix fun UsingDsl.with(models: List) { - initialization = { UtExecutableCallModel(null, executableId, models) } - } - - infix fun CallDsl.with(models: List) { - modChain += { UtExecutableCallModel(it, executableId, models.toList()) } - } - - infix fun FieldDsl.with(model: UtModel) { - modChain += { UtDirectSetFieldModel(it, fieldId, model) } - } - - internal fun build(): UtAssembleModel { - val objectId = id() - return UtAssembleModel( - id = objectId, - classId = classId, - modelName = name(objectId), - instantiationCall = initialization() - ) { - modChain.map { it(this) } - } - } - - sealed class KeyWord { - object Using : KeyWord() - object Call : KeyWord() - class Constructor(val classId: ClassId) : KeyWord() { - operator fun invoke(vararg params: ClassId): ConstructorId { - return ConstructorId(classId, params.toList()) - } - } - class Method(val classId: ClassId) : KeyWord() { - operator fun invoke(name: String, params: List = emptyList(), returns: ClassId = voidClassId): MethodId { - return MethodId(classId, name, returns, params) - } - - operator fun invoke(classId: ClassId, name: String, params: List = emptyList(), returns: ClassId = voidClassId): MethodId { - return MethodId(classId, name, returns, params) - } - } - class Field(val classId: ClassId) : KeyWord() { - operator fun invoke(name: String): FieldId { - return FieldId(classId, name) - } - } - } - - class UsingDsl(val executableId: ExecutableId) - class CallDsl(val executableId: ExecutableId, val isStatic: Boolean) - class FieldDsl(val fieldId: FieldId, val isStatic: Boolean) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/JavaLanguage.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/JavaLanguage.kt deleted file mode 100644 index 38565368..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/JavaLanguage.kt +++ /dev/null @@ -1,249 +0,0 @@ -package org.utbot.fuzzing - -import mu.KotlinLogging -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.Instruction -import org.utbot.framework.plugin.api.util.* -import org.utbot.fuzzer.* -import org.utbot.fuzzing.providers.* -import org.utbot.fuzzing.utils.Trie -import java.lang.reflect.* -import java.util.concurrent.CancellationException -import java.util.concurrent.TimeUnit -import kotlin.random.Random - -private val logger = KotlinLogging.logger {} - -typealias JavaValueProvider = ValueProvider - -class FuzzedDescription( - val description: FuzzedMethodDescription, - val tracer: Trie, - val typeCache: MutableMap, - val random: Random, - val scope: Scope? = null -) : Description( - description.parameters.mapIndexed { index, classId -> - description.fuzzerType(index) ?: FuzzedType(classId) - } -) { - val constants: Sequence - get() = description.concreteValues.asSequence() - - override fun clone(scope: Scope): FuzzedDescription { - return FuzzedDescription(description, tracer, typeCache, random, scope) - } -} - -fun defaultValueProviders(idGenerator: IdentityPreservingIdGenerator) = listOf( - BooleanValueProvider, - IntegerValueProvider, - FloatValueProvider, - StringValueProvider, - NumberValueProvider, - anyObjectValueProvider(idGenerator), - ArrayValueProvider(idGenerator), - EnumValueProvider(idGenerator), - ListSetValueProvider(idGenerator), - MapValueProvider(idGenerator), - IteratorValueProvider(idGenerator), - EmptyCollectionValueProvider(idGenerator), - DateValueProvider(idGenerator), - NullValueProvider, -) - -suspend fun runJavaFuzzing( - idGenerator: IdentityPreservingIdGenerator, - methodUnderTest: ExecutableId, - constants: Collection, - names: List, - providers: List> = defaultValueProviders(idGenerator), - exec: suspend (thisInstance: FuzzedValue?, description: FuzzedDescription, values: List) -> BaseFeedback, FuzzedType, FuzzedValue> -) { - val random = Random(0) - val classUnderTest = methodUnderTest.classId - val name = methodUnderTest.classId.simpleName + "." + methodUnderTest.name - val returnType = methodUnderTest.returnType - val parameters = methodUnderTest.parameters - - // For a concrete fuzzing run we need to track types we create. - // Because of generics can be declared as recursive structures like `>`, - // we should track them by reference and do not call `equals` and `hashCode` recursively. - val typeCache = hashMapOf() - /** - * To fuzz this instance, the class of it is added into head of parameters list. - * Done for compatibility with old fuzzer logic and should be reworked more robust way. - */ - fun createFuzzedMethodDescription(self: ClassId?) = FuzzedMethodDescription( - name, returnType, listOfNotNull(self) + parameters, constants - ).apply { - compilableName = if (!methodUnderTest.isConstructor) methodUnderTest.name else null - className = classUnderTest.simpleName - canonicalName = classUnderTest.canonicalName - isNested = classUnderTest.isNested - isStatic = methodUnderTest.isStatic - packageName = classUnderTest.packageName - parameterNameMap = { index -> - when { - self != null && index == 0 -> "this" - self != null -> names.getOrNull(index - 1) - else -> names.getOrNull(index) - } - } - fuzzerType = { - try { - when { - self != null && it == 0 -> toFuzzerType(methodUnderTest.executable.declaringClass, typeCache) - self != null -> toFuzzerType(methodUnderTest.executable.genericParameterTypes[it - 1], typeCache) - else -> toFuzzerType(methodUnderTest.executable.genericParameterTypes[it], typeCache) - } - } catch (_: Throwable) { - null - } - } - shouldMock = { false } - } - - val thisInstance = with(methodUnderTest) { - if (!isStatic && !isConstructor) { classUnderTest } else { null } - } - val tracer = Trie(Instruction::id) - val descriptionWithOptionalThisInstance = FuzzedDescription(createFuzzedMethodDescription(thisInstance), tracer, typeCache, random) - val descriptionWithOnlyParameters = FuzzedDescription(createFuzzedMethodDescription(null), tracer, typeCache, random) - val start = System.nanoTime() - try { - logger.info { "Starting fuzzing for method: $methodUnderTest" } - logger.info { "\tuse thisInstance = ${thisInstance != null}" } - logger.info { "\tparameters = $parameters" } - var totalExecutionCalled = 0 - runFuzzing( - provider = ValueProvider.of(providers), - description = descriptionWithOptionalThisInstance, random, - configuration = Configuration() - ) { _, t -> - totalExecutionCalled++ - if (thisInstance == null) { - exec(null, descriptionWithOnlyParameters, t) - } else { - exec(t.first(), descriptionWithOnlyParameters, t.drop(1)) - } - } - val totalFuzzingTime = System.nanoTime() - start - logger.info { "Finishing fuzzing for method: $methodUnderTest in ${TimeUnit.NANOSECONDS.toMillis(totalFuzzingTime)} ms" } - logger.info { "\tTotal execution called: $totalExecutionCalled" } - } catch (ce: CancellationException) { - val totalFuzzingTime = System.nanoTime() - start - logger.info { "Fuzzing is stopped because of timeout. Total execution time: ${TimeUnit.NANOSECONDS.toMillis(totalFuzzingTime)} ms" } - logger.debug(ce) { "\tStacktrace:" } - } catch (t: Throwable) { - logger.info(t) { "Fuzzing is stopped because of an error" } - } -} - -/** - * Traverse though type hierarchy of this fuzzed type. - * Ignores all set [FuzzedType.generics] of source type. - * - * todo Process types like `Fuzzed[Any, generics = T1, T2]` to match those T1 and T2 types with superclass and interfaces - */ -internal fun FuzzedType.traverseHierarchy(typeCache: MutableMap): Sequence = sequence { - val typeQueue = mutableListOf(this@traverseHierarchy) - var index = 0 - while (typeQueue.isNotEmpty()) { - val next = typeQueue.removeFirst() - if (index++ > 0) { - yield(next) - } - val jClass = next.classId.jClass - val superclass = jClass.genericSuperclass - if (superclass != null) { - typeQueue += toFuzzerType(superclass, typeCache) - } - typeQueue += jClass.genericInterfaces.asSequence().map { toFuzzerType(it, typeCache) } - } -} - -/** - * Resolve a fuzzer type that has class info and some generics. - * - * @param type to be resolved - * @param cache is used to store same [FuzzedType] for same java types - */ -internal fun toFuzzerType(type: Type, cache: MutableMap): FuzzedType { - return toFuzzerType( - type = type, - classId = { t -> toClassId(t, cache) }, - generics = { t -> toGenerics(t) }, - cache = cache, - ) -} - -/** - * Resolve a fuzzer type that has class info and some generics. - * - * Cache is used to stop recursive call in case of some recursive class definition like: - * - * ``` - * public > call(T type) { ... } - * ``` - * - * @param type to be resolved into a fuzzed type. - * @param classId is a function that produces classId by general type. - * @param generics is a function that produced a list of generics for this concrete type. - * @param cache is used to store all generated types. - */ -private fun toFuzzerType( - type: Type, - classId: (type: Type) -> ClassId, - generics: (parent: Type) -> Array, - cache: MutableMap, -): FuzzedType { - val g = mutableListOf() - val t = type.replaceWithUpperBoundUntilNotTypeVariable() - var target = cache[t] - if (target == null) { - target = FuzzedType(classId(t), g) - cache[t] = target - g += generics(t).map { - toFuzzerType(it, classId, generics, cache) - } - } - return target -} - -internal fun Type.replaceWithUpperBoundUntilNotTypeVariable() : Type { - var type: Type = this - while (type is TypeVariable<*>) { - type = type.bounds.firstOrNull() ?: java.lang.Object::class.java - } - return type -} - -private fun toClassId(type: Type, cache: MutableMap): ClassId { - return when (type) { - is WildcardType -> type.upperBounds.firstOrNull()?.let { toClassId(it, cache) } ?: objectClassId - is GenericArrayType -> { - val genericComponentType = type.genericComponentType - val classId = toFuzzerType(genericComponentType, cache).classId - if (genericComponentType !is GenericArrayType) { - ClassId("[L${classId.name};", classId) - } else { - ClassId("[" + classId.name, classId) - } - } - is ParameterizedType -> (type.rawType as Class<*>).id - is Class<*> -> type.id - else -> error("unknown type: $type") - } -} - -private fun toGenerics(t: Type) : Array { - return when (t) { - is WildcardType -> t.upperBounds.firstOrNull()?.let { toGenerics(it) } ?: emptyArray() - is GenericArrayType -> arrayOf(t.genericComponentType) - is ParameterizedType -> t.actualTypeArguments - is Class<*> -> t.typeParameters - else -> emptyArray() - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Arrays.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Arrays.kt deleted file mode 100644 index 1cf2c843..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Arrays.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.util.defaultValueModel -import org.utbot.framework.plugin.api.util.isArray -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.* - -class ArrayValueProvider( - val idGenerator: IdGenerator, -) : ValueProvider { - - override fun accept(type: FuzzedType) = type.classId.isArray - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence> { - yield( - Seed.Collection( - construct = Routine.Collection { - UtArrayModel( - id = idGenerator.createId(), - classId = type.classId, - length = it, - constModel = type.classId.elementClassId!!.defaultValueModel(), - stores = hashMapOf(), - ).fuzzed { - summary = "%var% = ${type.classId.elementClassId!!.simpleName}[$it]" - } - }, - modify = Routine.ForEach(listOf(resolveArrayElementType(type))) { self, i, values -> - (self.model as UtArrayModel).stores[i] = values.first().model - } - )) - } - - /** - * Resolves array's element type. In case a generic type is used, like `T[]` the type should pass generics. - * - * For example, List[] returns List. - */ - private fun resolveArrayElementType(arrayType: FuzzedType): FuzzedType = when { - !arrayType.classId.isArray -> error("$arrayType is not array") - arrayType.generics.size == 1 -> arrayType.generics.first() - arrayType.generics.isEmpty() -> FuzzedType( - arrayType.classId.elementClassId ?: error("Element classId of $arrayType is not found") - ) - - else -> error("Array has ${arrayType.generics.size} generic type for ($arrayType), that should not happen") - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt deleted file mode 100644 index 51bda796..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Collections.kt +++ /dev/null @@ -1,264 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.* -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.* -import org.utbot.fuzzing.utils.hex -import kotlin.reflect.KClass - -class EmptyCollectionValueProvider( - val idGenerator: IdGenerator -) : ValueProvider { - private class Info(val classId: ClassId, val methodName: String, val returnType: ClassId = classId) - - private val unmodifiableCollections = listOf( - Info(java.util.List::class.id, "emptyList"), - Info(java.util.Set::class.id, "emptySet"), - Info(java.util.Map::class.id, "emptyMap"), - Info(java.util.Collection::class.id, "emptyList", returnType = java.util.List::class.id), - Info(java.lang.Iterable::class.id, "emptyList", returnType = java.util.List::class.id), - Info(java.util.Iterator::class.id, "emptyIterator"), - ) - - private val emptyCollections = listOf( - Info(java.util.NavigableSet::class.id, "constructor", java.util.TreeSet::class.id), - Info(java.util.SortedSet::class.id, "constructor", java.util.TreeSet::class.id), - Info(java.util.NavigableMap::class.id, "constructor", java.util.TreeMap::class.id), - Info(java.util.SortedMap::class.id, "constructor", java.util.TreeMap::class.id), - ) - - override fun generate(description: FuzzedDescription, type: FuzzedType) = sequence { - unmodifiableCollections - .asSequence() - .filter { it.classId == type.classId } - .forEach { info -> - yieldWith(info.classId, MethodId(java.util.Collections::class.id, info.methodName, info.returnType, emptyList())) - } - emptyCollections - .asSequence() - .filter { it.classId == type.classId } - .forEach { info -> - yieldWith(info.classId, ConstructorId(info.returnType, emptyList())) - } - } - - private suspend fun SequenceScope>.yieldWith(classId: ClassId, executableId: ExecutableId) { - yield(Seed.Recursive( - construct = Routine.Create(executableId.parameters.map { FuzzedType(it) }) { value -> - UtAssembleModel( - id = idGenerator.createId(), - classId = classId, - modelName = "", - instantiationCall = UtExecutableCallModel(null, executableId, value.map { it.model }) - ).fuzzed { - summary = "%var% = ${executableId.classId.simpleName}#${executableId.name}" - } - }, - empty = Routine.Empty { - if (executableId.parameters.isEmpty()) { - UtAssembleModel( - id = idGenerator.createId(), - classId = classId, - modelName = "", - instantiationCall = UtExecutableCallModel(null, executableId, emptyList()) - - ).fuzzed{ - summary = "%var% = ${executableId.classId.simpleName}#${executableId.name}" - } - } else { - nullFuzzedValue(classId) - } - }, - )) - } -} - -class MapValueProvider( - idGenerator: IdGenerator -) : CollectionValueProvider(idGenerator, java.util.Map::class.id) { - override fun resolveType(description: FuzzedDescription, type: FuzzedType) = sequence { - val keyGeneric = type.generics.getOrNull(0) ?: FuzzedType(objectClassId) - val valueGeneric = type.generics.getOrNull(1) ?: FuzzedType(objectClassId) - when (type.classId) { - java.util.Map::class.id -> { - if (keyGeneric.classId isSubtypeOf Comparable::class) { - yield(FuzzedType(java.util.TreeMap::class.id, listOf(keyGeneric, valueGeneric))) - } - yield(FuzzedType(java.util.HashMap::class.id, listOf(keyGeneric, valueGeneric))) - } - java.util.NavigableMap::class.id, - java.util.SortedMap::class.id -> { - if (keyGeneric.classId isSubtypeOf Comparable::class) { - yield(FuzzedType(java.util.TreeMap::class.id, listOf(keyGeneric, valueGeneric))) - } - } - else -> yieldConcreteClass(FuzzedType(type.classId, listOf(keyGeneric, valueGeneric))) - } - } - - override fun findMethod(resolvedType: FuzzedType, values: List): MethodId { - return MethodId(resolvedType.classId, "put", objectClassId, listOf(objectClassId, objectClassId)) - } -} - -class ListSetValueProvider( - idGenerator: IdGenerator -) : CollectionValueProvider(idGenerator, java.util.Collection::class.id) { - override fun resolveType(description: FuzzedDescription, type: FuzzedType) = sequence { - val generic = type.generics.firstOrNull() ?: FuzzedType(objectClassId) - when (type.classId) { - java.util.Queue::class.id, - java.util.Deque::class.id-> { - yield(FuzzedType(java.util.ArrayDeque::class.id, listOf(generic))) - } - java.util.List::class.id -> { - yield(FuzzedType(java.util.ArrayList::class.id, listOf(generic))) - yield(FuzzedType(java.util.LinkedList::class.id, listOf(generic))) - } - java.util.Collection::class.id -> { - yield(FuzzedType(java.util.ArrayList::class.id, listOf(generic))) - yield(FuzzedType(java.util.HashSet::class.id, listOf(generic))) - } - java.util.Set::class.id -> { - if (generic.classId isSubtypeOf Comparable::class) { - yield(FuzzedType(java.util.TreeSet::class.id, listOf(generic))) - } - yield(FuzzedType(java.util.HashSet::class.id, listOf(generic))) - } - java.util.NavigableSet::class.id, - java.util.SortedSet::class.id -> { - if (generic.classId isSubtypeOf Comparable::class) { - yield(FuzzedType(java.util.TreeSet::class.id, listOf(generic))) - } - } - else -> yieldConcreteClass(FuzzedType(type.classId, listOf(generic))) - } - } - - override fun findMethod(resolvedType: FuzzedType, values: List): MethodId { - return MethodId(resolvedType.classId, "add", booleanClassId, listOf(objectClassId)) - } -} - -/** - * Accepts only instances of Collection or Map - */ -abstract class CollectionValueProvider( - private val idGenerator: IdGenerator, - vararg acceptableCollectionTypes: ClassId -) : ValueProvider { - - private val acceptableCollectionTypes = acceptableCollectionTypes.toList() - - override fun accept(type: FuzzedType): Boolean { - return with (type.classId) { - acceptableCollectionTypes.any { acceptableCollectionType -> - isSubtypeOf(acceptableCollectionType.kClass) - } - } - } - - protected suspend fun SequenceScope.yieldConcreteClass(type: FuzzedType) { - if (with (type.classId) { !isAbstract && isPublic && (!isInner || isStatic) }) { - val emptyConstructor = type.classId.allConstructors.find { it.parameters.isEmpty() } - if (emptyConstructor != null && emptyConstructor.isPublic) { - yield(type) - } - } - } - - /** - * Types should be resolved with type parameters - */ - abstract fun resolveType(description: FuzzedDescription, type: FuzzedType) : Sequence - - abstract fun findMethod(resolvedType: FuzzedType, values: List) : MethodId - - override fun generate(description: FuzzedDescription, type: FuzzedType) = sequence> { - resolveType(description, type).forEach { resolvedType -> - val typeParameter = resolvedType.generics - yield(Seed.Collection( - construct = Routine.Collection { - UtAssembleModel( - id = idGenerator.createId(), - classId = resolvedType.classId, - modelName = "", - instantiationCall = UtExecutableCallModel( - null, - ConstructorId(resolvedType.classId, emptyList()), - emptyList() - ), - modificationsChainProvider = { mutableListOf() } - ).fuzzed { - summary = "%var% = collection" - } - }, - modify = Routine.ForEach(typeParameter) { self, _, values -> - val model = self.model as UtAssembleModel - (model.modificationsChain as MutableList) += UtExecutableCallModel( - model, - findMethod(resolvedType, values), - values.map { it.model } - ) - } - )) - } - } - - protected infix fun ClassId.isSubtypeOf(klass: KClass<*>): Boolean { - // commented code above doesn't work this case: SomeList extends LinkedList {} and Collection -// return isSubtypeOf(another) - return klass.java.isAssignableFrom(this.jClass) - } -} - -class IteratorValueProvider(val idGenerator: IdGenerator) : ValueProvider { - override fun accept(type: FuzzedType): Boolean { - return type.classId == Iterator::class.id - } - - override fun generate(description: FuzzedDescription, type: FuzzedType): Sequence> { - val generic = type.generics.firstOrNull() ?: FuzzedType(objectClassId) - return sequenceOf(Seed.Recursive( - construct = Routine.Create(listOf(FuzzedType(iterableClassId, listOf(generic)))) { v -> - val id = idGenerator.createId() - val iterable = when (val model = v.first().model) { - is UtAssembleModel -> model - is UtNullModel -> return@Create v.first() - else -> error("Model can be only UtNullModel or UtAssembleModel, but $model is met") - } - UtAssembleModel( - id = id, - classId = type.classId, - modelName = "iterator#${id.hex()}", - instantiationCall = UtExecutableCallModel( - instance = iterable, - executable = MethodId(iterableClassId, "iterator", type.classId, emptyList()), - params = emptyList() - ) - ).fuzzed { - summary = "%var% = ${iterable.classId.simpleName}#iterator()" - } - }, - empty = Routine.Empty { - val id = idGenerator.createId() - UtAssembleModel( - id = id, - classId = type.classId, - modelName = "emptyIterator#${id.hex()}", - instantiationCall = UtExecutableCallModel( - instance = null, - executable = MethodId(java.util.Collections::class.id, "emptyIterator", type.classId, emptyList()), - params = emptyList() - ) - ).fuzzed { - summary = "%var% = empty iterator" - } - } - )) - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Custom.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Custom.kt deleted file mode 100644 index cd51c0a6..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Custom.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzing.FuzzedDescription -import org.utbot.fuzzing.JavaValueProvider -import org.utbot.fuzzing.Seed - -interface CustomJavaValueProviderHolder { - val javaValueProvider: JavaValueProvider -} - -object DelegatingToCustomJavaValueProvider : JavaValueProvider { - override fun accept(type: FuzzedType): Boolean = type is CustomJavaValueProviderHolder - - override fun generate(description: FuzzedDescription, type: FuzzedType): Sequence> = - (type as CustomJavaValueProviderHolder).javaValueProvider.generate(description, type) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Enums.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Enums.kt deleted file mode 100644 index fb1e92e3..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Enums.kt +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.UtEnumConstantModel -import org.utbot.framework.plugin.api.util.isEnum -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdentityPreservingIdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.FuzzedDescription -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider - -class EnumValueProvider( - val idGenerator: IdentityPreservingIdGenerator, -) : ValueProvider { - override fun accept(type: FuzzedType) = type.classId.isEnum - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence> { - val jClass = type.classId.jClass - if (isAccessible(jClass, description.description.packageName)) { - jClass.enumConstants.filterIsInstance>().forEach { enum -> - val id = idGenerator.getOrCreateIdForValue(enum) - yield(Seed.Simple(UtEnumConstantModel(id, type.classId, enum).fuzzed { - summary = "%var% = $enum" - })) - } - } - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Field.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Field.kt deleted file mode 100644 index b211d3c6..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Field.kt +++ /dev/null @@ -1,68 +0,0 @@ -package org.utbot.fuzzing.providers - -import mu.KotlinLogging -import org.utbot.framework.plugin.api.DirectFieldAccessId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtDirectGetFieldModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.UtReferenceModel -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.replaceWithWrapperIfPrimitive -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.FuzzedDescription -import org.utbot.fuzzing.JavaValueProvider -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.toFuzzerType - -class FieldValueProvider( - private val idGenerator: IdGenerator, - private val fieldId: FieldId, -) : JavaValueProvider { - companion object { - private val logger = KotlinLogging.logger {} - } - - override fun accept(type: FuzzedType): Boolean = - replaceWithWrapperIfPrimitive(type.classId).jClass - .isAssignableFrom(replaceWithWrapperIfPrimitive(fieldId.type).jClass) - - override fun generate(description: FuzzedDescription, type: FuzzedType): Sequence> = sequenceOf( - Seed.Recursive( - construct = Routine.Create(listOf( - toFuzzerType(fieldId.declaringClass.jClass, description.typeCache) - )) { values -> - val thisInstanceValue = values.single() - val thisInstanceModel = when (val model = thisInstanceValue.model) { - is UtReferenceModel -> model - is UtNullModel -> return@Create defaultFuzzedValue(type.classId) - else -> { - logger.warn { "This instance model can be only UtReferenceModel or UtNullModel, but $model is met" } - return@Create defaultFuzzedValue(type.classId) - } - } - UtAssembleModel( - id = idGenerator.createId(), - classId = type.classId, - modelName = "${thisInstanceModel.modelName}.${fieldId.name}", - instantiationCall = UtDirectGetFieldModel( - instance = thisInstanceModel, - fieldAccess = DirectFieldAccessId( - classId = fieldId.declaringClass, - name = "", - fieldId = fieldId - ) - ) - ).fuzzed { - summary = "${thisInstanceValue.summary}.${fieldId.name}" - } - }, - modify = emptySequence(), - empty = defaultValueRoutine(type.classId) - ) - ) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/FuzzerProperties.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/FuzzerProperties.kt deleted file mode 100644 index d5f6da74..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/FuzzerProperties.kt +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.fuzzing.ScopeProperty - -val NULLABLE_PROP = ScopeProperty("Whether or not type can be nullable") - -val SPRING_BEAN_PROP = ScopeProperty<(ClassId) -> List>("Maps java class to its beans") \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt deleted file mode 100644 index fac02d05..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Objects.kt +++ /dev/null @@ -1,278 +0,0 @@ -package org.utbot.fuzzing.providers - -import mu.KotlinLogging -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.* -import org.utbot.fuzzer.* -import org.utbot.fuzzing.* -import org.utbot.fuzzing.utils.hex -import soot.Scene -import soot.SootClass -import java.lang.reflect.Field -import java.lang.reflect.Member -import java.lang.reflect.Method -import java.lang.reflect.Modifier - -private val logger = KotlinLogging.logger {} - -private fun isKnownTypes(type: ClassId): Boolean { - return type == stringClassId - || type == dateClassId - || type == NumberValueProvider.classId - || type.isCollectionOrMap - || type.isPrimitiveWrapper - || type.isEnum -} - -private fun isIgnored(type: ClassId): Boolean { - return isKnownTypes(type) - || type.isAbstract - || (type.isInner && !type.isStatic) -} - -fun anyObjectValueProvider(idGenerator: IdentityPreservingIdGenerator) = - ObjectValueProvider(idGenerator).letIf(UtSettings.fuzzingImplementationOfAbstractClasses) { ovp -> - ovp.withFallback(AbstractsObjectValueProvider(idGenerator)) - } - -class ObjectValueProvider( - val idGenerator: IdGenerator, -) : ValueProvider { - - override fun accept(type: FuzzedType) = !isIgnored(type.classId) - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence { - val classId = type.classId - val constructors = classId.allConstructors - .filter { - isAccessible(it.constructor, description.description.packageName) - } - constructors.forEach { constructorId -> - yield(createValue(classId, constructorId, description)) - } - } - - private fun createValue(classId: ClassId, constructorId: ConstructorId, description: FuzzedDescription): Seed.Recursive { - return Seed.Recursive( - construct = Routine.Create(constructorId.executable.genericParameterTypes.map { - toFuzzerType(it, description.typeCache) - }) { values -> - val id = idGenerator.createId() - UtAssembleModel( - id = id, - classId = classId, - modelName = "${constructorId.classId.name}${constructorId.parameters}#" + id.hex(), - instantiationCall = UtExecutableCallModel( - null, - constructorId, - values.map { it.model }), - modificationsChainProvider = { mutableListOf() } - ).fuzzed { - summary = "%var% = ${classId.simpleName}(${constructorId.parameters.joinToString { it.simpleName }})" - } - }, - modify = sequence { - findAccessibleModifiableFields(description, classId, description.description.packageName).forEach { fd -> - when { - fd.canBeSetDirectly -> { - yield(Routine.Call(listOf(fd.type)) { self, values -> - val model = self.model as UtAssembleModel - model.modificationsChain as MutableList += UtDirectSetFieldModel( - model, - FieldId(classId, fd.name), - values.first().model - ) - }) - } - - fd.setter != null && fd.getter != null -> { - yield(Routine.Call(listOf(fd.type)) { self, values -> - val model = self.model as UtAssembleModel - model.modificationsChain as MutableList += UtExecutableCallModel( - model, - fd.setter.executableId, - values.map { it.model }) - }) - } - } - } - }, - empty = nullRoutine(classId) - ) - } -} - -@Suppress("unused") -object NullValueProvider : ValueProvider { - - override fun enrich(description: FuzzedDescription, type: FuzzedType, scope: Scope) { - // any value in static function is ok to fuzz - if (description.description.isStatic == true && scope.recursionDepth == 1) { - scope.putProperty(NULLABLE_PROP, true) - } - // any value except this - if (description.description.isStatic == false && scope.parameterIndex > 0 && scope.recursionDepth == 1) { - scope.putProperty(NULLABLE_PROP, true) - } - } - - override fun accept(type: FuzzedType) = type.classId.isRefType - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence> { - if (description.scope?.getProperty(NULLABLE_PROP) == true) { - yield(Seed.Simple(nullFuzzedValue(classClassId))) - } - } -} - -/** - * Unlike [NullValueProvider] can generate `null` values at any depth. - * - * Intended to be used as a last fallback. - */ -object AnyDepthNullValueProvider : ValueProvider { - - override fun accept(type: FuzzedType) = type.classId.isRefType - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequenceOf>(Seed.Simple(nullFuzzedValue(classClassId))) -} - -/** - * Finds and create object from implementations of abstract classes or interfaces. - */ -class AbstractsObjectValueProvider( - val idGenerator: IdGenerator, -) : ValueProvider { - - override fun accept(type: FuzzedType) = type.classId.isRefType && !isKnownTypes(type.classId) - - override fun generate(description: FuzzedDescription, type: FuzzedType) = sequence> { - val t = try { - Scene.v().getRefType(type.classId.name).sootClass - } catch (ignore: NoClassDefFoundError) { - logger.error(ignore) { "Soot may be not initialized" } - return@sequence - } - fun canCreateClass(sc: SootClass): Boolean { - try { - if (!sc.isConcrete) return false - val packageName = sc.packageName - if (packageName != null) { - if (packageName.startsWith("jdk.internal") || - packageName.startsWith("org.utbot") || - packageName.startsWith("sun.")) - return false - } - val isAnonymousClass = sc.name.matches(""".*\$\d+$""".toRegex()) - if (isAnonymousClass) { - return false - } - val jClass = sc.id.jClass - return isAccessible(jClass, description.description.packageName) && - jClass.declaredConstructors.any { isAccessible(it, description.description.packageName) } && - jClass.let { - // This won't work in case of implementations with generics like `Impl implements A`. - // Should be reworked with accurate generic matching between all classes. - toFuzzerType(it, description.typeCache).traverseHierarchy(description.typeCache).contains(type) - } - } catch (ignore: Throwable) { - return false - } - } - - val implementations = when { - t.isInterface -> Scene.v().fastHierarchy.getAllImplementersOfInterface(t).filter(::canCreateClass) - t.isAbstract -> Scene.v().fastHierarchy.getSubclassesOf(t).filter(::canCreateClass) - else -> emptyList() - } - implementations.shuffled(description.random).take(10).forEach { concrete -> - yield(Seed.Recursive( - construct = Routine.Create(listOf(toFuzzerType(concrete.id.jClass, description.typeCache))) { - it.first() - }, - empty = nullRoutine(type.classId) - )) - } - } -} - -internal class PublicSetterGetter( - val setter: Method, - val getter: Method, -) - -internal class FieldDescription( - val name: String, - val type: FuzzedType, - val canBeSetDirectly: Boolean, - val setter: Method?, - val getter: Method? -) - -internal fun findAccessibleModifiableFields(description: FuzzedDescription?, classId: ClassId, packageName: String?): List { - return generateSequence(classId.jClass) { it.superclass }.flatMap { jClass -> - jClass.declaredFields.map { field -> - val setterAndGetter = jClass.findPublicSetterGetterIfHasPublicGetter(field, packageName) - FieldDescription( - name = field.name, - type = if (description != null) toFuzzerType( - field.genericType, - description.typeCache - ) else FuzzedType(field.type.id), - canBeSetDirectly = isAccessible( - field, - packageName - ) && !Modifier.isFinal(field.modifiers) && !Modifier.isStatic(field.modifiers), - setter = setterAndGetter?.setter, - getter = setterAndGetter?.getter, - ) - } - }.toList() -} - -internal fun Class<*>.findPublicSetterGetterIfHasPublicGetter(field: Field, packageName: String?): PublicSetterGetter? { - @Suppress("DEPRECATION") val postfixName = field.name.capitalize() - val setterName = "set$postfixName" - val getterName = "get$postfixName" - val getter = try { getDeclaredMethod(getterName) } catch (_: NoSuchMethodException) { return null } - return if (isAccessible(getter, packageName) && getter.returnType == field.type) { - declaredMethods.find { - isAccessible(it, packageName) && - it.name == setterName && - it.parameterCount == 1 && - it.parameterTypes[0] == field.type - }?.let { PublicSetterGetter(it, getter) } - } else { - null - } -} - -internal fun isAccessible(member: Member, packageName: String?): Boolean { - var clazz = member.declaringClass - while (clazz != null) { - if (!isAccessible(clazz, packageName)) return false - clazz = clazz.enclosingClass - } - return Modifier.isPublic(member.modifiers) || - (packageName != null && isNotPrivateOrProtected(member.modifiers) && member.declaringClass.`package`?.name == packageName) -} - -internal fun isAccessible(clazz: Class<*>, packageName: String?): Boolean { - return Modifier.isPublic(clazz.modifiers) || - (packageName != null && isNotPrivateOrProtected(clazz.modifiers) && clazz.`package`?.name == packageName) -} - -private fun isNotPrivateOrProtected(modifiers: Int): Boolean { - val hasAnyAccessModifier = Modifier.isPrivate(modifiers) || Modifier.isProtected(modifiers) - return !hasAnyAccessModifier -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Others.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Others.kt deleted file mode 100644 index e019d959..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Others.kt +++ /dev/null @@ -1,140 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.* -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.* -import org.utbot.fuzzing.utils.hex -import java.text.SimpleDateFormat -import java.util.* - -abstract class ClassValueProvider( - val classId: ClassId -) : ValueProvider { - override fun accept(type: FuzzedType) = type.classId == classId -} - -object NumberValueProvider : ClassValueProvider(Number::class.id) { - override fun generate(description: FuzzedDescription, type: FuzzedType) = sequence> { - listOf( - byteClassId, shortClassId, intClassId, longClassId, floatClassId, doubleClassId - ).forEach { numberPrimitiveType -> - yield(Seed.Recursive( - construct = Routine.Create(listOf(FuzzedType(numberPrimitiveType))) { v -> v.first() }, - empty = Routine.Empty { UtNullModel(type.classId).fuzzed() } - )) - } - } -} - -class DateValueProvider( - private val idGenerator: IdGenerator -) : ClassValueProvider(Date::class.id) { - override fun generate(description: FuzzedDescription, type: FuzzedType) = sequence> { - // now date - val nowDateModel = UtAssembleModel( - id = idGenerator.createId(), - classId = type.classId, - modelName = "Date::now", - instantiationCall = UtExecutableCallModel( - instance = null, - executable = type.classId.allConstructors.firstOrNull { it.parameters.isEmpty() } - ?: error("Cannot find default constructor of ${type.classId}"), - params = emptyList()) - ).fuzzed { } - yield(Seed.Simple(nowDateModel)) - - // from string dates - val strings = description.constants - .filter { - it.classId == stringClassId - } - .map { it.value } - .filterIsInstance() - .distinct() - val dateFormats = strings - .filter { it.isDateFormat() } + defaultDateFormat - val formatToDates = dateFormats.associateWith { format -> strings.filter { it.isDate(format) } } - formatToDates.forEach { (format, dates) -> - dates.forEach { date -> - yield(Seed.Simple( - assembleDateFromString(idGenerator.createId(), format, date) - )) - } - } - - // from numbers - type.classId.allConstructors - .filter { - it.parameters.isNotEmpty() && it.parameters.all { p -> p == intClassId || p == longClassId } - } - .forEach { constructor -> - yield(Seed.Recursive( - construct = Routine.Create(constructor.parameters.map { FuzzedType(it) }) { values -> - UtAssembleModel( - id = idGenerator.createId(), - classId = type.classId, - modelName = "Date(${values.map { it.model.classId }})", - instantiationCall = UtExecutableCallModel(null, constructor, values.map { it.model }) - ).fuzzed { } - }, - empty = Routine.Empty { nowDateModel } - )) - } - } - - companion object { - private const val defaultDateFormat = "dd-MM-yyyy HH:mm:ss:ms" - } - - private fun String.isDate(format: String): Boolean { - val formatter = SimpleDateFormat(format).apply { - isLenient = false - } - return runCatching { formatter.parse(trim()) }.isSuccess - } - - private fun String.isDateFormat(): Boolean { - return none { it.isDigit() } && // fixes concrete date values - runCatching { SimpleDateFormat(this) }.isSuccess - } - - private fun assembleDateFromString(id: Int, formatString: String, dateString: String): FuzzedValue { - val simpleDateFormatModel = assembleSimpleDateFormat(idGenerator.createId(), formatString) - val dateFormatParse = simpleDateFormatModel.classId.jClass - .getMethod("parse", String::class.java).executableId - val instantiationCall = UtExecutableCallModel( - simpleDateFormatModel, dateFormatParse, listOf(UtPrimitiveModel(dateString)) - ) - return UtAssembleModel( - id, - dateClassId, - "$dateFormatParse#" + id.hex(), - instantiationCall - ).fuzzed { - summary = "%var% = $dateFormatParse($stringClassId)" - } - } - - private fun assembleSimpleDateFormat(id: Int, formatString: String): UtAssembleModel { - val simpleDateFormatId = SimpleDateFormat::class.java.id - val formatStringConstructor = simpleDateFormatId.allConstructors.first { - it.parameters.singleOrNull() == stringClassId - } - val formatSetLenient = SimpleDateFormat::setLenient.executableId - val formatModel = UtPrimitiveModel(formatString) - - val instantiationCall = UtExecutableCallModel(instance = null, formatStringConstructor, listOf(formatModel)) - return UtAssembleModel( - id, - simpleDateFormatId, - "$simpleDateFormatId[$stringClassId]#" + id.hex(), - instantiationCall - ) { - listOf(UtExecutableCallModel(instance = this, formatSetLenient, listOf(UtPrimitiveModel(false)))) - } - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Primitives.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Primitives.kt deleted file mode 100644 index 6f251ea0..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Primitives.kt +++ /dev/null @@ -1,239 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.* -import org.utbot.fuzzer.FuzzedContext -import org.utbot.fuzzer.FuzzedContext.Comparison.* -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.* -import org.utbot.fuzzing.seeds.* -import java.util.regex.Pattern -import java.util.regex.PatternSyntaxException -import kotlin.random.Random - -abstract class PrimitiveValueProvider( - vararg acceptableTypes: ClassId -) : ValueProvider { - protected val acceptableTypes = acceptableTypes.toSet() - - final override fun accept(type: FuzzedType) = type.classId in acceptableTypes - - protected suspend fun > SequenceScope>.yieldKnown( - value: T, - toValue: T.() -> Any - ) { - yield(Seed.Known(value) { known -> - UtPrimitiveModel(toValue(known)).fuzzed { - summary = buildString { - append("%var% = ${known.valueToString()}") - if (known.mutatedFrom != null) { - append(" (mutated from ${known.mutatedFrom?.valueToString()})") - } - } - } - }) - } - - private fun > T.valueToString(): String { - when (this) { - is BitVectorValue -> { - for (defaultBound in Signed.values()) { - if (defaultBound.test(this)) { - return defaultBound.name.lowercase() - } - } - return when (size) { - 8 -> toByte().toString() - 16 -> toShort().toString() - 32 -> toInt().toString() - 64 -> toLong().toString() - else -> toString(10) - } - } - is IEEE754Value -> { - for (defaultBound in DefaultFloatBound.values()) { - if (defaultBound.test(this)) { - return defaultBound.name.lowercase().replace("_", " ") - } - } - return when { - is32Float() -> toFloat().toString() - is64Float() -> toDouble().toString() - else -> toString() - } - } - is RegexValue -> { - return "'${value.substringToLength(10, "...")}' from $pattern" - } - is StringValue -> { - return "'${value.substringToLength(10, "...")}'" - } - else -> return toString() - } - } - - private fun String.substringToLength(size: Int, postfix: String): String { - return when { - length <= size -> this - else -> substring(0, size) + postfix - } - } -} - -object BooleanValueProvider : PrimitiveValueProvider(booleanClassId, booleanWrapperClassId) { - override fun generate(description: FuzzedDescription, type: FuzzedType) = sequence { - yieldKnown(Bool.TRUE()) { toBoolean() } - yieldKnown(Bool.FALSE()) { toBoolean() } - } -} - -object IntegerValueProvider : PrimitiveValueProvider( - charClassId, charWrapperClassId, - byteClassId, byteWrapperClassId, - shortClassId, shortWrapperClassId, - intClassId, intWrapperClassId, - longClassId, longWrapperClassId, -) { - - private val ClassId.typeSize: Int - get() = when (this) { - charClassId, charWrapperClassId -> 7 - byteClassId, byteWrapperClassId -> 8 - shortClassId, shortWrapperClassId -> 16 - intClassId, intWrapperClassId -> 32 - longClassId, longWrapperClassId -> 64 - else -> error("unknown type $this") - } - - /** - * Returns null when values cannot be cast. - */ - private fun ClassId.tryCast(value: BitVectorValue): Any? = when (this) { - charClassId, charWrapperClassId -> value.takeIf { typeSize <= charClassId.typeSize }?.toCharacter() - byteClassId, byteWrapperClassId -> value.takeIf { typeSize <= byteClassId.typeSize }?.toByte() - shortClassId, shortWrapperClassId -> value.takeIf { typeSize <= shortClassId.typeSize }?.toShort() - intClassId, intWrapperClassId -> value.takeIf { typeSize <= intClassId.typeSize }?.toInt() - longClassId, longWrapperClassId -> value.takeIf { typeSize <= longClassId.typeSize }?.toLong() - else -> error("unknown type $this") - } - - private fun ClassId.cast(value: BitVectorValue): Any = tryCast(value)!! - - private val randomStubWithNoUsage = Random(0) - private val configurationStubWithNoUsage = Configuration() - - private fun BitVectorValue.change(func: BitVectorValue.() -> Unit): BitVectorValue { - return Mutation> { _, _, _ -> - BitVectorValue(this).apply { func() } - }.mutate(this, randomStubWithNoUsage, configurationStubWithNoUsage) as BitVectorValue - } - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence { - description.constants.forEach { (t, v, c) -> - if (t in acceptableTypes) { - val value = BitVectorValue.fromValue(v) - val values = listOfNotNull( - value, - when (c) { - EQ, NE, LE, GT -> value.change { inc() } - LT, GE -> value.change { dec() } - else -> null - } - ) - values.forEach { - if (type.classId.tryCast(it) != null) { - yieldKnown(it) { - type.classId.cast(this) - } - } - } - - } - } - Signed.values().forEach { bound -> - val s = type.classId.typeSize - val value = bound(s) - if (type.classId.tryCast(value) != null) { - yieldKnown(value) { - type.classId.cast(this) - } - } - } - } -} - -object FloatValueProvider : PrimitiveValueProvider( - floatClassId, floatWrapperClassId, - doubleClassId, doubleWrapperClassId, -) { - private val ClassId.typeSize: Pair - get() = when (this) { - floatClassId, floatWrapperClassId -> 23 to 8 - doubleClassId, doubleWrapperClassId -> 52 to 11 - else -> error("unknown type $this") - } - - /** - * Returns null when values cannot be cast. - */ - private fun ClassId.cast(value: IEEE754Value): Any = when (this) { - floatClassId, floatWrapperClassId -> value.toFloat() - doubleClassId, doubleWrapperClassId -> value.toDouble() - else -> error("unknown type $this") - } - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence { - description.constants.forEach { (t, v, _) -> - if (t in acceptableTypes) { - yieldKnown(IEEE754Value.fromValue(v)) { type.classId.cast(this) } - } - } - DefaultFloatBound.values().forEach { bound -> - val (m, e) = type.classId.typeSize - yieldKnown(bound(m ,e)) { - type.classId.cast(this) - } - } - } -} - -object StringValueProvider : PrimitiveValueProvider(stringClassId, java.lang.CharSequence::class.java.id) { - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence { - val constants = description.constants - .filter { it.classId == stringClassId } - val values = constants - .mapNotNull { it.value as? String } + - sequenceOf("", "abc", "XZ", "#$\\\"'", "\n\t\r", "10", "-3") - values.forEach { yieldKnown(StringValue(it), StringValue::value) } - constants - .filter { it.fuzzedContext.isPatterMatchingContext() } - .map { it.value as String } - .distinct() - .filter(String::isSupportedPattern) - .forEach { - yieldKnown(RegexValue(it, Random(0)), StringValue::value) - } - } - - private fun FuzzedContext.isPatterMatchingContext(): Boolean { - if (this !is FuzzedContext.Call) return false - val stringMethodWithRegexArguments = setOf("matches", "split") - return when { - method.classId == Pattern::class.java.id -> true - method.classId == String::class.java.id && stringMethodWithRegexArguments.contains(method.name) -> true - else -> false - } - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Utils.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Utils.kt deleted file mode 100644 index 3e00a45c..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/providers/Utils.kt +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.fuzzing.providers - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.util.defaultValueModel -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.Routine - -fun nullRoutine(classId: ClassId): Routine.Empty = - Routine.Empty { nullFuzzedValue(classId) } - -fun nullFuzzedValue(classId: ClassId): FuzzedValue = - UtNullModel(classId).fuzzed { summary = "%var% = null" } - -fun defaultValueRoutine(classId: ClassId): Routine.Empty = - Routine.Empty { defaultFuzzedValue(classId) } - -fun defaultFuzzedValue(classId: ClassId): FuzzedValue = - classId.defaultValueModel().fuzzed { summary = "%var% = $model" } \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/spring/SavedEntity.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/spring/SavedEntity.kt deleted file mode 100644 index 6032173a..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/spring/SavedEntity.kt +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.fuzzing.spring - -import org.utbot.framework.plugin.api.SpringRepositoryId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtReferenceModel -import org.utbot.framework.plugin.api.util.SpringModelUtils -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.FuzzedDescription -import org.utbot.fuzzing.JavaValueProvider -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.providers.nullRoutine -import org.utbot.fuzzing.toFuzzerType - -class SavedEntityValueProvider( - private val idGenerator: IdGenerator, - private val repositoryId: SpringRepositoryId -) : JavaValueProvider { - override fun accept(type: FuzzedType): Boolean = type.classId.jClass.isAssignableFrom(repositoryId.entityClassId.jClass) - - override fun generate(description: FuzzedDescription, type: FuzzedType): Sequence> = - sequenceOf( - Seed.Recursive( - construct = Routine.Create(listOf(toFuzzerType(repositoryId.entityClassId.jClass, description.typeCache))) { values -> - val entityValue = values.single() - val entityModel = entityValue.model - UtAssembleModel( - id = idGenerator.createId(), - classId = type.classId, - modelName = "${repositoryId.repositoryBeanName}.save(${(entityModel as? UtReferenceModel)?.modelName ?: "..."})", - instantiationCall = SpringModelUtils.createSaveCallModel( - repositoryId = repositoryId, - id = idGenerator.createId(), - entityModel = entityModel - ) - ).fuzzed { - summary = "%var% = ${repositoryId.repositoryBeanName}.save(${entityValue.summary})" - } - }, - modify = emptySequence(), - empty = nullRoutine(type.classId) - ) - ) -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/spring/SpringBeanValueProvider.kt b/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/spring/SpringBeanValueProvider.kt deleted file mode 100644 index 7d659a8e..00000000 --- a/utbot-java-fuzzing/src/main/kotlin/org/utbot/fuzzing/spring/SpringBeanValueProvider.kt +++ /dev/null @@ -1,68 +0,0 @@ -package org.utbot.fuzzing.spring - -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.SpringModelUtils -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdGenerator -import org.utbot.fuzzer.fuzzed -import org.utbot.fuzzing.* -import org.utbot.fuzzing.providers.SPRING_BEAN_PROP -import org.utbot.fuzzing.providers.nullRoutine - -class SpringBeanValueProvider( - private val idGenerator: IdGenerator, - private val beanNameProvider: (ClassId) -> List, - private val relevantRepositories: Set -) : ValueProvider { - - override fun enrich(description: FuzzedDescription, type: FuzzedType, scope: Scope) { - if (description.description.isStatic == false - && scope.parameterIndex == 0 - && scope.recursionDepth == 1) { - scope.putProperty(SPRING_BEAN_PROP, beanNameProvider) - } - } - - override fun generate( - description: FuzzedDescription, - type: FuzzedType - ) = sequence { - val beans = description.scope?.getProperty(SPRING_BEAN_PROP) - beans?.invoke(type.classId)?.forEach { beanName -> - yield( - Seed.Recursive( - construct = Routine.Create(types = emptyList()) { - SpringModelUtils.createBeanModel( - beanName = beanName, - id = idGenerator.createId(), - classId = type.classId, - ).fuzzed { summary = "@Autowired ${type.classId.simpleName} $beanName" } - }, - modify = sequence { - // TODO mutate model itself (not just repositories) - relevantRepositories.forEach { repositoryId -> - yield(Routine.Call( - listOf(toFuzzerType(repositoryId.entityClassId.jClass, description.typeCache)) - ) { self, values -> - val entityValue = values.single() - val model = self.model as UtAssembleModel - val modificationChain: MutableList = - model.modificationsChain as MutableList - modificationChain.add( - SpringModelUtils.createSaveCallModel( - repositoryId = repositoryId, - id = idGenerator.createId(), - entityModel = entityValue.model - ) - ) - }) - } - }, - empty = nullRoutine(type.classId) - ) - ) - } - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/AccessibleObjects.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/AccessibleObjects.java deleted file mode 100644 index 5dd7bb78..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/AccessibleObjects.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings("unused") -public class AccessibleObjects { - - public boolean test(Inn.Node n) { - return n.value * n.value == 36; - } - - private static class Inn { - static class Node { - public int value; - - public Node() { - - } - } - } - - public int ordinal(InnEn val) { - switch (val) { - case ONE: - return 0; - case TWO: - return 1; - } - return -1; - } - - private enum InnEn { - ONE, TWO - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/DeepNested.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/DeepNested.java deleted file mode 100644 index 88c17487..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/DeepNested.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.fuzzing.samples; - -public class DeepNested { - public class Nested1 { - public class Nested2 { - public int f(int i) { - if (i > 0) { - return 10; - } - return 0; - } - } - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/FailToGenerateListGeneric.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/FailToGenerateListGeneric.java deleted file mode 100644 index 0e8a3d9a..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/FailToGenerateListGeneric.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.util.List; - -@SuppressWarnings("unused") -public class FailToGenerateListGeneric { - - interface Something {} - - int func(List x) { - return x.size(); - } - -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/FieldSetterClass.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/FieldSetterClass.java deleted file mode 100644 index d8d184c6..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/FieldSetterClass.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings("All") -public class FieldSetterClass { - - public static int pubStaticField; - public final int pubFinalField = 0; - public int pubField; - public int pubFieldWithSetter; - private int prvField; - private int prvFieldWithSetter; - - public int getPubFieldWithSetter() { - return pubFieldWithSetter; - } - - public void setPubFieldWithSetter(int pubFieldWithSetter) { - this.pubFieldWithSetter = pubFieldWithSetter; - } - - public int getPrvFieldWithSetter() { - return prvFieldWithSetter; - } - - public void setPrvFieldWithSetter(int prvFieldWithSetter) { - this.prvFieldWithSetter = prvFieldWithSetter; - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/Implementations.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/Implementations.java deleted file mode 100644 index 8ad0b55a..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/Implementations.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.fuzzing.samples; - -public final class Implementations { - public interface A { - T getValue(); - } - - public static class AString implements A { - - private final String value; - - public AString(String value) { - this.value = value; - } - - @Override - public String getValue() { - return value; - } - } - - public static class AInteger implements A { - - private final Integer value; - - public AInteger(Integer value) { - this.value = value; - } - - @Override - public Integer getValue() { - return value; - } - } - - @SuppressWarnings("unused") - public static int test(A value) { - if (value.getValue() < 0) { - return 0; - } - return value.getValue(); - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/InnerClassWithEnums.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/InnerClassWithEnums.java deleted file mode 100644 index 5e861974..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/InnerClassWithEnums.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.fuzzing.samples; - -public class InnerClassWithEnums { - private SampleEnum a; - private SampleEnum b; - - public InnerClassWithEnums(SampleEnum a, SampleEnum b) { - this.a = a; - this.b = b; - } - - public SampleEnum getA() { - return a; - } - - public void setA(SampleEnum a) { - this.a = a; - } - - public SampleEnum getB() { - return b; - } - - public void setB(SampleEnum b) { - this.b = b; - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/OuterClassWithEnums.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/OuterClassWithEnums.java deleted file mode 100644 index 41180369..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/OuterClassWithEnums.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.fuzzing.samples; - -public class OuterClassWithEnums { - private SampleEnum value; - private final InnerClassWithEnums left; - private final InnerClassWithEnums right; - - public OuterClassWithEnums(SampleEnum value, InnerClassWithEnums left, InnerClassWithEnums right) { - this.value = value; - this.left = left; - this.right = right; - } - - public void setValue(SampleEnum value) { - this.value = value; - } - - public SampleEnum getA() { - if (value == SampleEnum.LEFT && left != null) { - return left.getA(); - } else if (value == SampleEnum.RIGHT && right != null) { - return right.getA(); - } else { - return null; - } - } - - public SampleEnum getB() { - if (value == SampleEnum.LEFT && left != null) { - return left.getB(); - } else if (value == SampleEnum.RIGHT && right != null) { - return right.getB(); - } else { - return null; - } - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/PackagePrivateFieldAndClass.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/PackagePrivateFieldAndClass.java deleted file mode 100644 index 11986d8a..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/PackagePrivateFieldAndClass.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.fuzzing.samples; - -@SuppressWarnings("All") -public class PackagePrivateFieldAndClass { - - volatile int pkgField = 0; - - PackagePrivateFieldAndClass() { - - } - - PackagePrivateFieldAndClass(int value) { - pkgField = value; - } - -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/SampleEnum.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/SampleEnum.java deleted file mode 100644 index 401bd832..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/SampleEnum.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.fuzzing.samples; - -public enum SampleEnum { - LEFT, - RIGHT -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/StringListHolder.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/StringListHolder.java deleted file mode 100644 index 88df01f1..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/StringListHolder.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.util.List; - -public class StringListHolder { - private List strings; - - - public List getStrings() { - return strings; - } - - - public void setStrings(List strings) { - this.strings = strings; - } - - - public void methodUnderTest() {} -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/Stubs.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/Stubs.java deleted file mode 100644 index 8423b68c..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/Stubs.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.fuzzing.samples; - -import java.util.List; - -@SuppressWarnings("unused") -public class Stubs { - - public static void name(String value) {} - - public static > int resolve(T recursive) { - int result = 0; - for (T t : recursive) { - result++; - } - return result; - } - - public static > int types(T[] t1, T[] t2, T[] t3) { - return t1.length + t2.length + t3.length; - } - - public static int arrayLength(java.util.List[][] test) { - int length = 0; - for (int i = 0; i < test.length; i++) { - for (int j = 0; j < test[i].length; j++) { - length += test[i][j].size(); - } - } - return length; - } - - public static , B extends List, C extends List>> A example(A c1, B c2, C c) { - return c2.iterator().next(); - } -} diff --git a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/WithInnerClass.java b/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/WithInnerClass.java deleted file mode 100644 index 3b012a73..00000000 --- a/utbot-java-fuzzing/src/test/java/org/utbot/fuzzing/samples/WithInnerClass.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.fuzzing.samples; - -public class WithInnerClass { - public class NonStatic { - public int x; - public NonStatic(int x) { this.x = x; } - } - int f(NonStatic b) { - return b.x * b.x; - } - - public static class Static { - public int x; - public Static(int x) { this.x = x; } - } - int g(Static b) { - return b.x * b.x; - } -} diff --git a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/IdGeneratorTest.kt b/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/IdGeneratorTest.kt deleted file mode 100644 index 98efebd2..00000000 --- a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/IdGeneratorTest.kt +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.fuzzing - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.Assertions.assertNotEquals -import org.junit.jupiter.api.Assertions.assertTrue -import org.junit.jupiter.api.Test -import org.utbot.fuzzer.ReferencePreservingIntIdGenerator - -class IdGeneratorTest { - private enum class Size { S, M, L, XL } - private enum class Letter { K, L, M, N } - - @Test - fun `default id generator returns sequential values`() { - val idGenerator = ReferencePreservingIntIdGenerator() - val a = idGenerator.createId() - val b = idGenerator.createId() - val c = idGenerator.createId() - assertTrue(a == ReferencePreservingIntIdGenerator.DEFAULT_LOWER_BOUND + 1) - assertTrue(b == a + 1) - assertTrue(c == b + 1) - } - - @Test - fun `caching generator returns different ids for different values`() { - val idGenerator = ReferencePreservingIntIdGenerator() - val a = idGenerator.getOrCreateIdForValue("a") - val b = idGenerator.getOrCreateIdForValue("b") - assertNotEquals(a, b) - } - - @Test - fun `caching generator returns same ids for same values`() { - val idGenerator = ReferencePreservingIntIdGenerator() - val a = idGenerator.getOrCreateIdForValue("a") - idGenerator.getOrCreateIdForValue("b") - val c = idGenerator.getOrCreateIdForValue("a") - assertEquals(a, c) - } - - @Test - fun `caching generator returns consistent ids for enum values`() { - val idGenerator = ReferencePreservingIntIdGenerator(0) - val sizeIds = Size.values().map { it to idGenerator.getOrCreateIdForValue(it) }.toMap() - - assertEquals(idGenerator.getOrCreateIdForValue(Size.S), sizeIds[Size.S]) - assertEquals(idGenerator.getOrCreateIdForValue(Size.M), sizeIds[Size.M]) - assertEquals(idGenerator.getOrCreateIdForValue(Size.L), sizeIds[Size.L]) - assertEquals(idGenerator.getOrCreateIdForValue(Size.XL), sizeIds[Size.XL]) - - idGenerator.getOrCreateIdForValue(Letter.N) - idGenerator.getOrCreateIdForValue(Letter.M) - idGenerator.getOrCreateIdForValue(Letter.L) - idGenerator.getOrCreateIdForValue(Letter.K) - - assertEquals(1, idGenerator.getOrCreateIdForValue(Size.S)) - assertEquals(2, idGenerator.getOrCreateIdForValue(Size.M)) - assertEquals(3, idGenerator.getOrCreateIdForValue(Size.L)) - assertEquals(4, idGenerator.getOrCreateIdForValue(Size.XL)) - - assertEquals(8, idGenerator.getOrCreateIdForValue(Letter.K)) - assertEquals(7, idGenerator.getOrCreateIdForValue(Letter.L)) - assertEquals(6, idGenerator.getOrCreateIdForValue(Letter.M)) - assertEquals(5, idGenerator.getOrCreateIdForValue(Letter.N)) - } - - @Test - fun `caching generator respects reference equality`() { - val idGenerator = ReferencePreservingIntIdGenerator() - - val objA = listOf(1, 2, 3) - val objB = listOf(1, 2, 3) - val objC = objA - - val idA = idGenerator.getOrCreateIdForValue(objA) - val idB = idGenerator.getOrCreateIdForValue(objB) - val idC = idGenerator.getOrCreateIdForValue(objC) - - assertNotEquals(idA, idB) - assertEquals(idA, idC) - } - -} diff --git a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/JavaFuzzingTest.kt b/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/JavaFuzzingTest.kt deleted file mode 100644 index 360d7063..00000000 --- a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/JavaFuzzingTest.kt +++ /dev/null @@ -1,254 +0,0 @@ -package org.utbot.fuzzing - -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withTimeout -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.* -import org.utbot.framework.plugin.api.util.constructor.ValueConstructor -import org.utbot.fuzzer.FuzzedConcreteValue -import org.utbot.fuzzing.samples.DeepNested -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.IdentityPreservingIdGenerator -import org.utbot.fuzzing.providers.NullValueProvider -import org.utbot.fuzzing.samples.AccessibleObjects -import org.utbot.fuzzing.samples.FailToGenerateListGeneric -import org.utbot.fuzzing.samples.StringListHolder -import org.utbot.fuzzing.samples.Stubs -import org.utbot.fuzzing.utils.Trie -import java.lang.reflect.GenericArrayType -import java.lang.reflect.ParameterizedType -import java.lang.reflect.Type -import java.util.IdentityHashMap -import java.util.concurrent.atomic.AtomicInteger -import kotlin.reflect.jvm.javaMethod - -internal object TestIdentityPreservingIdGenerator : IdentityPreservingIdGenerator { - private val cache = mutableMapOf() - private val gen = AtomicInteger() - override fun getOrCreateIdForValue(value: Any): Int = cache.computeIfAbsent(value) { createId() } - override fun createId(): Int = gen.incrementAndGet() -} - -class JavaFuzzingTest { - - @Test - fun `fuzzing doesn't throw an exception when type is unknown`() { - var count = 0 - runBlockingWithContext { - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = MethodId( - DeepNested.Nested1.Nested2::class.id, - "f", - intClassId, - listOf(intClassId) - ), - constants = emptyList(), - names = emptyList(), - ) { _, _, _ -> - count += 1 - BaseFeedback(Trie.emptyNode(), Control.STOP) - } - } - assertEquals(0, count) - } - - @Test - fun `string generates same values`() { - fun collect(): List { - return runBlockingWithContext { - val results = mutableListOf() - var count = 0 - val probes = 10000 - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = MethodId(Stubs::class.id, "name", voidClassId, listOf(stringClassId)), - constants = listOf( - FuzzedConcreteValue(stringClassId, "Hello"), - FuzzedConcreteValue(stringClassId, "World"), - FuzzedConcreteValue(stringClassId, "!"), - ), - names = emptyList() - ) { _, _, values -> - results += (values.first().model as UtPrimitiveModel).value as String - BaseFeedback(Trie.emptyNode(), if (++count < probes) Control.CONTINUE else Control.STOP) - } - assertEquals(count, results.size) - results - } - } - - val probe1 = collect() - val probe2 = collect() - assertEquals(probe1, probe2) - } - - @Test - fun `fuzzing should not generate values of private classes`() { - var exec = 0 - runBlockingWithContext { - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = AccessibleObjects::class.java.declaredMethods.first { it.name == "test" }.executableId, - constants = emptyList(), - names = emptyList(), - ) { _, _, v -> - if (v.first().model !is UtNullModel) { - exec += 1 - } - BaseFeedback(Trie.emptyNode(), Control.STOP) - } - } - assertEquals(0, exec) { "Fuzzer should not create any values of private classes" } - } - - @Test - fun `fuzzing should not generate values of private enums`() { - var exec = 0 - runBlockingWithContext { - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = AccessibleObjects::class.java.declaredMethods.first { it.name == "ordinal" }.executableId, - constants = emptyList(), - names = emptyList(), - ) { _, _, v -> - if (v.first().model !is UtNullModel) { - exec += 1 - } - BaseFeedback(Trie.emptyNode(), Control.STOP) - } - } - assertEquals(0, exec) { "Fuzzer should not create any values of private classes" } - } - - @Test - fun `fuzzing generate single test in case of collection with fail-to-generate generic type`() { - val size = 100 - var exec = size - val collections = ArrayList(exec) - runBlockingWithContext { - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = FailToGenerateListGeneric::class.java.declaredMethods.first { it.name == "func" }.executableId, - constants = emptyList(), - names = emptyList(), - providers = defaultValueProviders(TestIdentityPreservingIdGenerator).map { it.except { it is NullValueProvider } } - ) { _, _, v -> - collections.add(v.first().model as? UtAssembleModel) - BaseFeedback(Trie.emptyNode(), if (--exec > 0) Control.CONTINUE else Control.STOP) - } - } - assertEquals(0, exec) { "Total fuzzer run number must be 0" } - assertEquals(size, collections.size) { "Total generated values number must be $size" } - assertEquals(size, collections.count { it is UtAssembleModel }) { "Total assemble models size must be $size" } - collections.filterIsInstance().forEach { - assertEquals(0, it.modificationsChain.size) - } - } - - @Test - fun `fuzzer correctly works with settable field that has a parameterized type`() { - val seenStringListHolders = mutableListOf() - var remainingRuns = 100 - runBlockingWithContext { - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = StringListHolder::methodUnderTest.javaMethod!!.executableId, - constants = emptyList(), - names = emptyList(), - ) { thisInstance, _, _ -> - thisInstance?.let { - seenStringListHolders.add( - ValueConstructor().construct(listOf(it.model)).single().value as StringListHolder - ) - } - remainingRuns-- - BaseFeedback(Trie.emptyNode(), if (remainingRuns > 0) Control.CONTINUE else Control.STOP) - } - } - val seenStrings = seenStringListHolders.flatMap { it.strings.orEmpty().filterNotNull() } - assertNotEquals(emptyList(), seenStrings) - seenStrings.forEach { assertInstanceOf(String::class.java, it) } - } - - @Test - fun `value providers override every function of fuzzing in simple case`() { - val provided = MarkerValueProvider("p") - `value providers override every function of fuzzing`(provided, provided) - } - - @Test - fun `value providers override every function of fuzzing when merging`() { - val provider1 = MarkerValueProvider("p1") - val provider2 = MarkerValueProvider("p2") - val provided = provider1.with(provider2) - `value providers override every function of fuzzing`(provided, provider1) - `value providers override every function of fuzzing`(provided, provider2) - } - - @Test - fun `value providers override every function of fuzzing when excepting`() { - val provider1 = MarkerValueProvider("p1") - val provider2 = MarkerValueProvider("p2") - val provided = provider1.except(provider2) - `value providers override every function of fuzzing`(provided, provider1) - } - - @Test - fun `value providers override every function of fuzzing when fallback`() { - val provider1 = MarkerValueProvider("p1") - val provider2 = MarkerValueProvider("p2") - val provided = provider1.withFallback(provider2) - `value providers override every function of fuzzing`(provided, provider1) - `value providers override every function of fuzzing`(provided, provider2) - } - - private fun `value providers override every function of fuzzing`(provided: ValueProvider, valueProvider: MarkerValueProvider) { - var executions = 0 - runBlockingWithContext { - runJavaFuzzing( - TestIdentityPreservingIdGenerator, - methodUnderTest = FailToGenerateListGeneric::class.java.declaredMethods.first { it.name == "func" }.executableId, - constants = emptyList(), - names = emptyList(), - providers = listOfNotNull(provided) - ) { _, _, _ -> - executions++ - BaseFeedback(Trie.emptyNode(), Control.STOP) - } - } - - assertNotEquals(0, valueProvider.enrich) { "Enrich is never called for ${valueProvider.name}" } - assertNotEquals(0, valueProvider.accept) { "Accept is never called for ${valueProvider.name}" } - assertNotEquals(0, valueProvider.generate) { "Generate is never called for ${valueProvider.name}" } - assertEquals(0, executions) { "Execution must be never called, because of empty seed supply for ${valueProvider.name}" } - } -} - -class MarkerValueProvider>( - val name: String -) : ValueProvider { - var enrich: Int = 0 - var accept: Int = 0 - var generate: Int = 0 - - override fun enrich(description: D, type: T, scope: Scope) { - enrich++ - } - - override fun accept(type: T): Boolean { - accept++ - return true - } - - override fun generate(description: D, type: T): Sequence> { - generate++ - return emptySequence() - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/JavaTypesTest.kt b/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/JavaTypesTest.kt deleted file mode 100644 index 5b6a5fbb..00000000 --- a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/JavaTypesTest.kt +++ /dev/null @@ -1,173 +0,0 @@ -package org.utbot.fuzzing - -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.iterableClassId -import org.utbot.fuzzer.FuzzedType -import org.utbot.fuzzing.samples.Implementations -import org.utbot.fuzzing.samples.Stubs -import java.lang.Number -import java.lang.reflect.GenericArrayType -import java.lang.reflect.ParameterizedType -import java.lang.reflect.Type -import java.util.* -import java.util.List -import kotlin.collections.HashMap -import kotlin.collections.HashSet - -class JavaTypesTest { - - @Test - fun `recursive generic types are recognized correctly`() { - runBlockingWithContext { - val methods = Stubs::class.java.methods - val method = methods.first { it.name == "resolve" && it.returnType == Int::class.javaPrimitiveType } - val typeCache = IdentityHashMap() - val type = toFuzzerType(method.genericParameterTypes.first(), typeCache) - Assertions.assertEquals(1, typeCache.size) - Assertions.assertTrue(typeCache.values.all { type === it }) - Assertions.assertEquals(1, type.generics.size) - Assertions.assertTrue(typeCache.values.all { type.generics[0] === it }) - - try { - // If FuzzerType has implemented `equals` and `hashCode` or is data class, - // that implements those methods implicitly, - // then adding it to hash table throws [StackOverflowError] - val set = HashSet() - set += type - } catch (soe: StackOverflowError) { - Assertions.fail( - "Looks like FuzzerType implements equals and hashCode, " + - "which leads unstable behaviour in recursive generics ", soe - ) - } - } - } - - @Test - fun `can pass types through`() { - runBlockingWithContext { - val cache = HashMap() - val methods = Stubs::class.java.methods - val method = methods.first { it.name == "types" } - val types = method.genericParameterTypes.map { - toFuzzerType(it, cache) - } - Assertions.assertEquals( - 3, - cache.size - ) { "Cache should contain following types: List, Number and T[] for $method" } - Assertions.assertTrue(cache.keys.any { t -> - t is Class<*> && t == Number::class.java - }) - Assertions.assertTrue(cache.keys.any { t -> - t is ParameterizedType - && t.rawType == List::class.java - && t.actualTypeArguments.size == 1 - && t.actualTypeArguments.first() == Number::class.java - }) - Assertions.assertTrue(cache.keys.any { t -> - t is GenericArrayType - && t.typeName == "T[]" - }) - } - } - - @Test - fun `arrays with generics can be resolved`() { - runBlockingWithContext { - val cache = HashMap() - val methods = Stubs::class.java.methods - val method = methods.first { it.name == "arrayLength" } - method.genericParameterTypes.map { - toFuzzerType(it, cache) - } - Assertions.assertEquals( - 4, - cache.size - ) { "Cache should contain following types: List, Number and T[] for $method" } - Assertions.assertTrue(cache.keys.any { t -> - t is Class<*> && t == Number::class.java - }) - Assertions.assertTrue(cache.keys.any { t -> - t is ParameterizedType - && t.rawType == List::class.java - && t.actualTypeArguments.size == 1 - && t.actualTypeArguments.first().typeName == "T" - }) - Assertions.assertTrue(cache.keys.any { t -> - t is GenericArrayType - && t.typeName == "java.util.List[]" - }) - Assertions.assertTrue(cache.keys.any { t -> - t is GenericArrayType - && t.typeName == "java.util.List[][]" - }) - } - } - - @Test - fun `run complex type dependency call`() { - runBlockingWithContext { - val cache = HashMap() - val methods = Stubs::class.java.methods - val method = methods.first { it.name == "example" } - val types = method.genericParameterTypes - Assertions.assertTrue(types.size == 3 && types[0].typeName == "A" && types[1].typeName == "B" && types[2].typeName == "C") { "bad input parameters" } - method.genericParameterTypes.map { - toFuzzerType(it, cache) - } - Assertions.assertEquals(4, cache.size) - val typeIterableB = cache[types[0].replaceWithUpperBoundUntilNotTypeVariable()]!! - val genericOfIterableB = with(typeIterableB) { - Assertions.assertEquals(iterableClassId, classId) - Assertions.assertEquals(1, generics.size) - generics[0] - } - val typeListA = cache[types[1].replaceWithUpperBoundUntilNotTypeVariable()]!! - val genericOfListA = with(typeListA) { - Assertions.assertEquals(List::class.id, classId) - Assertions.assertEquals(1, generics.size) - generics[0] - } - Assertions.assertEquals(1, genericOfIterableB.generics.size) - Assertions.assertEquals(1, genericOfListA.generics.size) - Assertions.assertTrue(genericOfIterableB.generics[0] === typeIterableB) { "Because of recursive types generic of B must depend on B itself" } - Assertions.assertTrue(genericOfListA.generics[0] === typeListA) { "Because of recursive types generic of A must depend on A itself" } - - val typeListC = cache[types[2].replaceWithUpperBoundUntilNotTypeVariable()]!! - val genericOfListC = with(typeListC) { - Assertions.assertEquals(List::class.id, classId) - Assertions.assertEquals(1, generics.size) - generics[0] - } - - Assertions.assertEquals(1, genericOfListC.generics.size) - Assertions.assertEquals(iterableClassId, genericOfListC.generics[0].classId) - Assertions.assertTrue(genericOfListC.generics[0].generics[0] === typeListA) { "Generic of C must lead to type A" } - } - } - - @Test - fun `can correctly gather hierarchy information`() { - runBlockingWithContext { - val cache = HashMap() - val methods = Implementations::class.java.methods - val method = methods.first { it.name == "test" } - val type = method.genericParameterTypes.map { - toFuzzerType(it, cache) - }.first() - - val badType = toFuzzerType(Implementations.AString::class.java, cache) - val badTypeHierarchy = badType.traverseHierarchy(cache).toSet() - Assertions.assertEquals(2, badTypeHierarchy.size) { "There's only one class (Object) and one interface should be found" } - Assertions.assertFalse(badTypeHierarchy.contains(type)) { "Bad type hierarchy should not contain tested type $type" } - - val goodType = toFuzzerType(Implementations.AInteger::class.java, cache) - val goodTypeHierarchy = goodType.traverseHierarchy(cache).toSet() - Assertions.assertEquals(2, goodTypeHierarchy.size) { "There's only one class (Object) and one interface should be found" } - Assertions.assertTrue(goodTypeHierarchy.contains(type)) { "Good type hierarchy should contain tested type $type" } - } - } -} \ No newline at end of file diff --git a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/Utils.kt b/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/Utils.kt deleted file mode 100644 index d9a7b10c..00000000 --- a/utbot-java-fuzzing/src/test/kotlin/org/utbot/fuzzing/Utils.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.fuzzing - -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withTimeout -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.withUtContext - -internal fun V.runBlockingWithContext(block: suspend () -> T) : T { - return withUtContext(UtContext(this!!::class.java.classLoader)) { - runBlocking { - withTimeout(10000) { - block() - } - } - } -} \ No newline at end of file diff --git a/utbot-js/.gitignore b/utbot-js/.gitignore deleted file mode 100644 index c7708ff1..00000000 --- a/utbot-js/.gitignore +++ /dev/null @@ -1 +0,0 @@ -samples \ No newline at end of file diff --git a/utbot-js/build.gradle.kts b/utbot-js/build.gradle.kts deleted file mode 100644 index 9fdffc1f..00000000 --- a/utbot-js/build.gradle.kts +++ /dev/null @@ -1,46 +0,0 @@ -val intellijPluginVersion: String? by rootProject -val kotlinLoggingVersion: String? by rootProject -val apacheCommonsTextVersion: String? by rootProject -val jacksonVersion: String? by rootProject -val ideType: String? by rootProject -val pythonCommunityPluginVersion: String? by rootProject -val pythonUltimatePluginVersion: String? by rootProject - -tasks { - compileKotlin { - kotlinOptions { - jvmTarget = "17" - freeCompilerArgs = freeCompilerArgs + listOf("-Xallow-result-return-type", "-Xsam-conversions=class") - allWarningsAsErrors = false - } - } - - java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_17 - } - - test { - useJUnitPlatform() - } -} - -dependencies { - testImplementation("org.junit.jupiter:junit-jupiter-api:5.8.1") - testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.8.1") - api(project(":utbot-framework")) - // https://mvnrepository.com/artifact/com.google.javascript/closure-compiler - implementation("com.google.javascript:closure-compiler:v20221102") - - // https://mvnrepository.com/artifact/org.json/json - implementation(group = "org.json", name = "json", version = "20220320") - - // https://mvnrepository.com/artifact/commons-io/commons-io - implementation(group = "commons-io", name = "commons-io", version = "2.11.0") - - implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) - implementation("org.functionaljava:functionaljava:5.0") - implementation("org.functionaljava:functionaljava-quickcheck:5.0") - implementation("org.functionaljava:functionaljava-java-core:5.0") - implementation(group = "org.apache.commons", name = "commons-text", version = apacheCommonsTextVersion) -} diff --git a/utbot-js/docs/CLI.md b/utbot-js/docs/CLI.md deleted file mode 100644 index ee2c5ff0..00000000 --- a/utbot-js/docs/CLI.md +++ /dev/null @@ -1,70 +0,0 @@ -## Build - -.jar file can be built in GitHub Actions with script publish-plugin-and-cli-from-branch. - -## Requirements - -* NodeJs 10.0.0 or higher (available to download https://nodejs.org/en/download/) -* Java 11 or higher (available to download https://www.oracle.com/java/technologies/downloads/) - -## Basic usage - -Generate tests: - - java -jar utbot-cli.jar generate_js --source="dir/file_with_sources.js" --output="dir/generated_tests.js" - -This will generate tests for top-level functions from `file_with_sources.js`. - -Run generated tests: - - java -jar utbot-cli.jar run_js --fileOrDir="generated_tests.js" - -This will run generated tests from file or directory. - -Generate coverage report: - - java -jar utbot-cli.jar coverage_js --source=dir/generated_tests.js - -This will generate coverage report from generated tests and print in `StdOut` - -## `generate_js` options - -- `-s, --source ` - - (required) Source code file for a test generation. -- `-c, --class ` - - If not specified tests for top-level functions are generated, otherwise for the specified class. - -- `-o, --output ` - - File for generated tests. -- `-p, --print-test` - - Specifies whether test should be printed out to `StdOut` (default = false) -- `-t, --timeout ` - - Timeout for Node.js to run scripts in seconds (default = 5) - -## `run_js` options - -- `-f, --fileOrDir` - - (required) File or directory with tests. -- `-o, --output` - - Specifies output of .txt file for test framework result (If empty prints to `StdOut`) - -- `-t, --test-framework [mocha]` - - Test framework of tests to run. - -## `coverage_js` options - -- `-s, --source ` - - (required) File with tests to generate a report. - -- `-o, --output` - - Specifies output .json file for generated tests (If empty prints .json to `StdOut`) diff --git a/utbot-js/samples/arrays.js b/utbot-js/samples/arrays.js deleted file mode 100644 index 28e39a4c..00000000 --- a/utbot-js/samples/arrays.js +++ /dev/null @@ -1,38 +0,0 @@ -///region Simple array test -function simpleArray(arr) { - if (arr[0] === 5) { - return 5 - } - return 1 -} -simpleArray([0, 2]) -///endregion -///region Array of objects test -class ObjectParameter { - - constructor(a) { - this.first = a - } - - performAction(value) { - return 2 * value - } -} - -function arrayOfObjects(arr) { - if (arr[0].first === 2) { - return 1 - } - return 10 -} - -let arr = [] -arr[0] = new ObjectParameter(10) -arrayOfObjects(arr) -///endregion -///region Function returns array test -function returnsArray(num) { - return [num] -} -returnsArray(5) -///endregion \ No newline at end of file diff --git a/utbot-js/samples/bitOperators.js b/utbot-js/samples/bitOperators.js deleted file mode 100644 index 3f697233..00000000 --- a/utbot-js/samples/bitOperators.js +++ /dev/null @@ -1,31 +0,0 @@ -class BitOperators { - - complement(x) { - return (~x) === 1 - } - - xor(x, y) { - return (x ^ y) === 0 - } - - and(x) { - return (x & (x - 1)) === 0 - } - - Not(a, b) { - let d = a && b - let e = !a || b - return d && e ? 100 : 200 - } - - shl(x) { - return (x << 1) === 2 - } - - shlWithBigLongShift(shift) { - if (shift < 40) { - return 1 - } - return (0x77777777 << shift) === 0x77777770 ? 2 : 3 - } -} diff --git a/utbot-js/samples/commonIfStatement.js b/utbot-js/samples/commonIfStatement.js deleted file mode 100644 index 94b6880a..00000000 --- a/utbot-js/samples/commonIfStatement.js +++ /dev/null @@ -1,7 +0,0 @@ -function foo(a,b) { - if (a > 10) { - return a * b - } else { - return -1 - } -} diff --git a/utbot-js/samples/commonLoops.js b/utbot-js/samples/commonLoops.js deleted file mode 100644 index 9aae3069..00000000 --- a/utbot-js/samples/commonLoops.js +++ /dev/null @@ -1,27 +0,0 @@ -class Loops { - - whileLoop(value) { - let i = 0 - let sum = 0 - while (i < value) { - sum += i - i += 1 - } - return sum - } - - loopInsideLoop(x) { - for (let i = x - 5; i < x; i++) { - if (i < 0) { - return 2 - } else { - for (let j = i; j < x + i; j++) { - if (j === 7) { - return 1 - } - } - } - } - return -1 - } -} diff --git a/utbot-js/samples/commonRecursion.js b/utbot-js/samples/commonRecursion.js deleted file mode 100644 index e2bd6945..00000000 --- a/utbot-js/samples/commonRecursion.js +++ /dev/null @@ -1,19 +0,0 @@ -class Recursion { - factorial(n) { - if (n < 0) - return -1 - if (n === 0) - return 1 - return n * this.factorial(n - 1) - } - - fib(n) { - if (n < 0 || n > 25) - return -1 - if (n === 0) - return 0 - if (n === 1) - return 1 - return this.fib(n - 1) + this.fib(n - 2) - } -} diff --git a/utbot-js/samples/commonString.js b/utbot-js/samples/commonString.js deleted file mode 100644 index 24a5cdc2..00000000 --- a/utbot-js/samples/commonString.js +++ /dev/null @@ -1,19 +0,0 @@ -class StringExamples { - - isNotBlank(cs) { - return cs.length !== 0 - } - - nullableStringBuffer(buffer, i) { - if (i >= 0) { - buffer += "Positive" - } else { - buffer += "Negative" - } - return buffer.toString() - } - - length(cs) { - return cs == null ? 0 : cs.length - } -} diff --git a/utbot-js/samples/functionsThrowExceptionsInRow.js b/utbot-js/samples/functionsThrowExceptionsInRow.js deleted file mode 100644 index 0a90662d..00000000 --- a/utbot-js/samples/functionsThrowExceptionsInRow.js +++ /dev/null @@ -1,18 +0,0 @@ -function customError(a) { - if (a > 5) { - throw Error("MyCustomError") - } else { - return 10 - } -} - -function goodBoy(a) { - switch (a) { - case 5: - return 5 - case 10: - return 10 - default: - return 0 - } -} diff --git a/utbot-js/samples/mapStructure.js b/utbot-js/samples/mapStructure.js deleted file mode 100644 index 2bc07494..00000000 --- a/utbot-js/samples/mapStructure.js +++ /dev/null @@ -1,21 +0,0 @@ -// Maps in JavaScript are untyped, so only maps with basic key/value types are feasible to support -///region Simple Map test -function simpleMap(map, compareValue) { - if (map.get("a") === compareValue) { - return 5 - } - return 1 -} - -const map1 = new Map() -map1.set("b", 3.0) -simpleMap(map1, 5) -///endregion -///region Function returns Map test -function returnsMap(name, value) { - let temp = new Map() - return temp.set(name, value) -} - -returnsMap("a", 5) -///endregion diff --git a/utbot-js/samples/scenarioMultyClassNoTopLevel.js b/utbot-js/samples/scenarioMultyClassNoTopLevel.js deleted file mode 100644 index 7f6973db..00000000 --- a/utbot-js/samples/scenarioMultyClassNoTopLevel.js +++ /dev/null @@ -1,39 +0,0 @@ -class Na { - constructor(num) { - this.num = num - } - - double() { - return this.num * 2 - } - - static test(a, b) { - return a + 2 * b - } -} - -class Kek { - foo(a, b) { - return a + b - } - - fString(a, b) { - return a + b - } - - fDel(a, b) { - return a / b - } - - fObj(a, b) { - return a.num + b.num - } - - getDone(a) { - a.done() - } - - done() { - return this.toString() - } -} diff --git a/utbot-js/samples/scenarioObjectParameter.js b/utbot-js/samples/scenarioObjectParameter.js deleted file mode 100644 index 4096277c..00000000 --- a/utbot-js/samples/scenarioObjectParameter.js +++ /dev/null @@ -1,16 +0,0 @@ -class ObjectParameter { - - constructor(a) { - this.first = a - } - - performAction(value) { - return 2 * value - } -} - -function functionToTest(obj, v) { - return obj.performAction(v) -} - -functionToTest(new ObjectParameter(5), 5) diff --git a/utbot-js/samples/scenarioStaticMethod.js b/utbot-js/samples/scenarioStaticMethod.js deleted file mode 100644 index 783937e8..00000000 --- a/utbot-js/samples/scenarioStaticMethod.js +++ /dev/null @@ -1,13 +0,0 @@ -class Object { - - constructor(a) { - this.first = a - } - - static functionToTest(value) { - if (value > 1024 && value < 1026) { - return 2 * value - } - return value - } -} diff --git a/utbot-js/samples/scenarioThrowError.js b/utbot-js/samples/scenarioThrowError.js deleted file mode 100644 index 2068695d..00000000 --- a/utbot-js/samples/scenarioThrowError.js +++ /dev/null @@ -1,11 +0,0 @@ -function functionToTest(a) { - if (a === true) { - throw Error("err") - } else if (a === 1) { - while (true) { - } - } else { - return -1 - } - -} diff --git a/utbot-js/samples/setStructure.js b/utbot-js/samples/setStructure.js deleted file mode 100644 index 547a2e80..00000000 --- a/utbot-js/samples/setStructure.js +++ /dev/null @@ -1,22 +0,0 @@ -// Sets in JavaScript are untyped, so only sets with basic value types are feasible to support -///region Simple Set test -function setTest(set, checkValue) { - if (set.has(checkValue)) { - return set - } - return set -} - -let s = new Set() -s.add(5) -s.add(6) -setTest(s, 4) -///endregion -///region Function returns Set test -function returnsSet(num) { - let temp = new Set() - return temp.add(num) -} - -returnsSet(5) -///endregion \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/api/JsTestGenerator.kt b/utbot-js/src/main/kotlin/api/JsTestGenerator.kt deleted file mode 100644 index 4446f4b5..00000000 --- a/utbot-js/src/main/kotlin/api/JsTestGenerator.kt +++ /dev/null @@ -1,422 +0,0 @@ -package api - -import codegen.JsCodeGenerator -import com.google.javascript.rhino.Node -import framework.api.js.JsClassId -import framework.api.js.JsMethodId -import framework.api.js.JsUtFuzzedExecution -import framework.api.js.util.isClass -import framework.api.js.util.isJsArray -import framework.api.js.util.isJsBasic -import framework.api.js.util.jsErrorClassId -import framework.api.js.util.jsUndefinedClassId -import framework.codegen.JsImport -import framework.codegen.ModuleType -import fuzzer.JsFeedback -import fuzzer.JsFuzzingExecutionFeedback -import fuzzer.JsMethodDescription -import fuzzer.JsStatement -import fuzzer.JsTimeoutExecution -import fuzzer.JsValidExecution -import fuzzer.runFuzzing -import java.io.File -import java.util.concurrent.CancellationException -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.flow -import mu.KotlinLogging -import org.utbot.common.runBlockingWithCancellationPredicate -import org.utbot.framework.codegen.domain.models.CgMethodTestSet -import org.utbot.framework.plugin.api.EnvironmentModels -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.framework.plugin.api.UtExplicitlyThrownException -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtTimeoutException -import org.utbot.fuzzing.Control -import org.utbot.fuzzing.utils.Trie -import parser.JsAstScrapper -import parser.JsFuzzerAstVisitor -import parser.JsParserUtils -import parser.JsParserUtils.getAbstractFunctionName -import parser.JsParserUtils.getAbstractFunctionParams -import parser.JsParserUtils.getClassMethods -import parser.JsParserUtils.getClassName -import parser.JsParserUtils.getParamName -import parser.JsParserUtils.runParser -import parser.JsToplevelFunctionAstVisitor -import providers.exports.IExportsProvider -import service.InstrumentationService -import service.PackageJson -import service.PackageJsonService -import service.ServiceContext -import service.TernService -import service.coverage.CoverageMode -import service.coverage.CoverageServiceProvider -import settings.JsDynamicSettings -import settings.JsExportsSettings.endComment -import settings.JsExportsSettings.startComment -import settings.JsTestGenerationSettings.fileUnderTestAliases -import settings.JsTestGenerationSettings.fuzzingThreshold -import settings.JsTestGenerationSettings.fuzzingTimeout -import utils.PathResolver -import utils.constructClass -import utils.data.ResultData -import utils.toJsAny - -private val logger = KotlinLogging.logger {} - -class JsTestGenerator( - private val fileText: String, - private var sourceFilePath: String, - private var projectPath: String = sourceFilePath.substringBeforeLast("/"), - private val selectedMethods: List? = null, - private var parentClassName: String? = null, - private var outputFilePath: String?, - private val exportsManager: ((String?, String) -> String) -> Unit, - private val settings: JsDynamicSettings, - private val isCancelled: () -> Boolean = { false } -) { - - private val exports = mutableSetOf() - - private lateinit var parsedFile: Node - - private lateinit var astScrapper: JsAstScrapper - - private val utbotDir = "utbotJs" - - init { - fixPathDelims() - } - - private fun fixPathDelims() { - projectPath = projectPath.replace("\\", "/") - outputFilePath = outputFilePath?.replace("\\", "/") - sourceFilePath = sourceFilePath.replace("\\", "/") - } - - /** - * Returns String representation of generated tests. - */ - fun run(): String { - parsedFile = runParser(fileText) - astScrapper = JsAstScrapper(parsedFile, sourceFilePath) - val context = ServiceContext( - utbotDir = utbotDir, - projectPath = projectPath, - filePathToInference = astScrapper.filesToInfer, - parsedFile = parsedFile, - settings = settings, - ) - context.packageJson = PackageJsonService( - sourceFilePath, - File(projectPath), - ).findClosestConfig() - val paramNames = mutableMapOf>() - val testSets = mutableListOf() - val classNode = - JsParserUtils.searchForClassDecl( - className = parentClassName, - parsedFile = parsedFile, - strict = selectedMethods?.isNotEmpty() ?: false - ) - parentClassName = classNode?.getClassName() - val classId = makeJsClassId(classNode, TernService(context)) - val methods = makeMethodsToTest() - if (methods.isEmpty()) throw IllegalArgumentException("No methods to test were found!") - methods.forEach { funcNode -> - makeTestsForMethod(classId, funcNode, classNode, context, testSets, paramNames) - } - val importPrefix = makeImportPrefix() - val moduleType = ModuleType.fromPackageJson(context.packageJson) - val imports = listOf( - JsImport( - "*", - fileUnderTestAliases, - "./$importPrefix/${sourceFilePath.substringAfterLast("/")}", - moduleType - ), - JsImport( - "*", - "assert", - "assert", - moduleType - ) - ) - val codeGen = JsCodeGenerator( - classUnderTest = classId, - paramNames = paramNames, - imports = imports - ) - return codeGen.generateAsStringWithTestReport(testSets).generatedCode - } - - private fun makeTestsForMethod( - classId: JsClassId, - funcNode: Node, - classNode: Node?, - context: ServiceContext, - testSets: MutableList, - paramNames: MutableMap> - ) { - val execId = classId.allMethods.find { - it.name == funcNode.getAbstractFunctionName() - } ?: throw IllegalStateException() - manageExports(classNode, funcNode, execId, context.packageJson) - val executionResults = mutableListOf() - try { - runBlockingWithCancellationPredicate(isCancelled) { - runFuzzingFlow(funcNode, execId, context).collect { - executionResults += it - } - } - } catch (e: CancellationException) { - logger.info { "Fuzzing was stopped due to test generation cancellation" } - } - if (executionResults.isEmpty()) { - if (isCancelled()) return - throw UnsupportedOperationException("No test cases were generated for ${funcNode.getAbstractFunctionName()}") - } - logger.info { "${executionResults.size} test cases were suggested after fuzzing" } - val testsForGenerator = mutableListOf() - val errorsForGenerator = mutableMapOf() - executionResults.forEach { value -> - when (value) { - is JsTimeoutExecution -> errorsForGenerator[value.utTimeout.exception.message!!] = 1 - is JsValidExecution -> testsForGenerator.add(value.utFuzzedExecution) - } - } - - val testSet = CgMethodTestSet( - executableId = execId, - errors = errorsForGenerator, - executions = testsForGenerator, - ) - testSets += testSet - paramNames[execId] = funcNode.getAbstractFunctionParams().map { it.getParamName() } - } - - private fun makeImportPrefix(): String { - return outputFilePath?.let { - PathResolver.getRelativePath( - File(it).parent, - File(sourceFilePath).parent, - ) - } ?: "" - } - - private fun getUtModelResult( - execId: JsMethodId, - resultData: ResultData, - fuzzedValues: List - ): UtExecutionResult { - if (resultData.isError && resultData.rawString == "Timeout") return UtTimeoutException( - TimeoutException("Timeout in generating test for ${ - execId.parameters - .zip(fuzzedValues) - .joinToString( - prefix = "${execId.name}(", - separator = ", ", - postfix = ")" - ) { (_, value) -> value.toString() } - }") - ) - val (returnValue, valueClassId) = resultData.toJsAny( - if (execId.returnType.isJsBasic) JsClassId(resultData.type) else execId.returnType - ) - val result = JsUtModelConstructor().construct(returnValue, valueClassId) - val utExecResult = when (result.classId) { - jsErrorClassId -> UtExplicitlyThrownException(Throwable(returnValue.toString()), false) - else -> UtExecutionSuccess(result) - } - return utExecResult - } - - private fun runFuzzingFlow( - funcNode: Node, - execId: JsMethodId, - context: ServiceContext, - ): Flow = flow { - val fuzzerVisitor = JsFuzzerAstVisitor() - fuzzerVisitor.accept(funcNode) - val jsDescription = JsMethodDescription( - name = funcNode.getAbstractFunctionName(), - parameters = execId.parameters, - classId = execId.classId, - concreteValues = fuzzerVisitor.fuzzedConcreteValues, - tracer = Trie(JsStatement::number) - ) - val collectedValues = mutableListOf>() - // .location field gets us "jsFile:A:B", then we get A and B as ints - val funcLocation = funcNode.firstChild!!.location.substringAfter("jsFile:") - .split(":").map { it.toInt() } - logger.info { "Function under test location according to parser is [${funcLocation[0]}, ${funcLocation[1]}]" } - val instrService = InstrumentationService(context, funcLocation[0] to funcLocation[1]) - instrService.instrument() - val coverageProvider = CoverageServiceProvider( - context, - instrService, - context.settings.coverageMode, - jsDescription - ) - val allStmts = instrService.allStatements - logger.info { "Statements to cover: (${allStmts.joinToString { toString() }})" } - val currentlyCoveredStmts = mutableSetOf() - val startTime = System.currentTimeMillis() - runFuzzing(jsDescription) { description, values -> - if (isCancelled() || System.currentTimeMillis() - startTime > fuzzingTimeout) - return@runFuzzing JsFeedback(Control.STOP) - collectedValues += values - if (collectedValues.size >= if (context.settings.coverageMode == CoverageMode.FAST) fuzzingThreshold else 1) { - try { - val (coveredStmts, executionResults) = coverageProvider.get( - collectedValues, - execId - ) - coveredStmts.zip(executionResults).forEach { (covData, resultData) -> - val params = collectedValues[resultData.index] - val result = - getUtModelResult( - execId = execId, - resultData = resultData, - jsDescription.thisInstance?.let { params.drop(1) } ?: params - ) - if (result is UtTimeoutException) { - emit(JsTimeoutExecution(result)) - return@runFuzzing JsFeedback(Control.PASS) - } else if (!currentlyCoveredStmts.containsAll(covData.additionalCoverage)) { - val (thisObject, modelList) = if (!funcNode.parent!!.isClassMembers) { - null to params - } else params[0] to params.drop(1) - val initEnv = - EnvironmentModels(thisObject, modelList, mapOf()) - emit( - JsValidExecution( - JsUtFuzzedExecution( - stateBefore = initEnv, - stateAfter = initEnv, - result = result, - ) - ) - ) - currentlyCoveredStmts += covData.additionalCoverage - val trieNode = description.tracer.add(covData.additionalCoverage.map { JsStatement(it) }) - return@runFuzzing JsFeedback(control = Control.CONTINUE, result = trieNode) - } - if (currentlyCoveredStmts.containsAll(allStmts)) return@runFuzzing JsFeedback(Control.STOP) - } - } catch (e: TimeoutException) { - emit( - JsTimeoutExecution( - UtTimeoutException( - TimeoutException("Timeout on unknown test case. Consider using \"Basic\" coverage mode") - ) - ) - ) - return@runFuzzing JsFeedback(Control.STOP) - } finally { - collectedValues.clear() - } - } - return@runFuzzing JsFeedback(Control.PASS) - } - instrService.removeTempFiles() - } - - private fun manageExports( - classNode: Node?, - funcNode: Node, - execId: JsMethodId, - packageJson: PackageJson - ) { - val obligatoryExport = (classNode?.getClassName() ?: funcNode.getAbstractFunctionName()).toString() - val collectedExports = collectExports(execId) - val exportsProvider = IExportsProvider.providerByPackageJson(packageJson) - exports += (collectedExports + obligatoryExport) - exportsManager { existingSection, currentFileText -> - val existingExportsSet = existingSection?.let { section -> - val trimmedSection = section.substringAfter(exportsProvider.exportsPrefix) - .substringBeforeLast(exportsProvider.exportsPostfix) - val exportRegex = exportsProvider.exportsRegex - val existingExports = trimmedSection.split(exportsProvider.exportsDelimiter) - .filter { it.contains(exportRegex) && it.isNotBlank() } - existingExports.map { rawLine -> - exportRegex.find(rawLine)?.groups?.get(1)?.value ?: throw IllegalStateException() - }.toSet() - } ?: emptySet() - val resultSet = existingExportsSet + exports.toSet() - val resSection = resultSet.joinToString( - separator = exportsProvider.exportsDelimiter, - prefix = startComment + exportsProvider.exportsPrefix, - postfix = exportsProvider.exportsPostfix + endComment, - ) { - exportsProvider.getExportsFrame(it) - } - existingSection?.let { currentFileText.replace(startComment + existingSection + endComment, resSection) } ?: resSection - } - } - - private fun makeMethodsToTest(): List { - return selectedMethods?.map { - getFunctionNode( - focusedMethodName = it, - parentClassName = parentClassName, - ) - } ?: getMethodsToTest() - } - - private fun makeJsClassId( - classNode: Node?, - ternService: TernService - ): JsClassId { - return classNode?.let { - JsClassId(parentClassName!!).constructClass(ternService, classNode) - } ?: jsUndefinedClassId.constructClass( - ternService = ternService, - functions = extractToplevelFunctions() - ) - } - - private fun extractToplevelFunctions(): List { - val visitor = JsToplevelFunctionAstVisitor() - visitor.accept(parsedFile) - return visitor.extractedMethods - } - - private fun collectExports(methodId: JsMethodId): List { - return (listOf(methodId.returnType) + methodId.parameters).flatMap { it.collectExportsRecursively() } - } - - private fun JsClassId.collectExportsRecursively(): List { - return when { - this.isClass -> listOf(this.name) + (this.constructor?.parameters ?: emptyList()) - .flatMap { it.collectExportsRecursively() } - - this.isJsArray -> (this.elementClassId as? JsClassId)?.collectExportsRecursively() ?: emptyList() - else -> emptyList() - } - } - - private fun getFunctionNode(focusedMethodName: String, parentClassName: String?): Node { - return parentClassName?.let { astScrapper.findMethod(parentClassName, focusedMethodName, parsedFile) } - ?: astScrapper.findFunction(focusedMethodName, parsedFile) - ?: throw IllegalStateException( - "Couldn't locate function \"$focusedMethodName\" with class ${parentClassName ?: ""}" - ) - } - - private fun getMethodsToTest() = - parentClassName?.let { - getClassMethods(it) - } ?: extractToplevelFunctions().ifEmpty { - getClassMethods("") - } - - private fun getClassMethods(className: String): List { - val classNode = astScrapper.findClass(className, parsedFile) - return classNode?.getClassMethods() ?: throw IllegalStateException("Can't extract methods of class $className") - } -} diff --git a/utbot-js/src/main/kotlin/api/JsUtModelConstructor.kt b/utbot-js/src/main/kotlin/api/JsUtModelConstructor.kt deleted file mode 100644 index 09c5b74a..00000000 --- a/utbot-js/src/main/kotlin/api/JsUtModelConstructor.kt +++ /dev/null @@ -1,141 +0,0 @@ -package api - -import framework.api.js.JsClassId -import framework.api.js.JsEmptyClassId -import framework.api.js.JsMethodId -import framework.api.js.JsNullModel -import framework.api.js.JsPrimitiveModel -import framework.api.js.JsUndefinedModel -import framework.api.js.util.defaultJsValueModel -import framework.api.js.util.isJsArray -import framework.api.js.util.isJsMap -import framework.api.js.util.isJsSet -import framework.api.js.util.jsErrorClassId -import framework.api.js.util.jsUndefinedClassId -import fuzzer.JsIdProvider -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.instrumentation.instrumentation.execution.constructors.UtModelConstructorInterface - -class JsUtModelConstructor : UtModelConstructorInterface { - - // TODO SEVERE: Requires substantial expansion to other types - @Suppress("NAME_SHADOWING") - override fun construct(value: Any?, classId: ClassId): UtModel { - val classId = classId as JsClassId - if (classId == jsErrorClassId) return UtModel(jsErrorClassId) - return when (value) { - null -> JsNullModel(classId) - is Byte, - is Short, - is Char, - is Int, - is Long, - is Float, - is Double, - is String, - is Boolean -> JsPrimitiveModel(value) - is List<*> -> { - constructStructure(classId, value) - } - is Map<*, *> -> { - constructObject(classId, value) - } - - else -> JsUndefinedModel(classId) - } - } - - private fun constructStructure(classId: JsClassId, values: List): UtModel { - return when { - classId.isJsSet -> { - UtAssembleModel( - id = JsIdProvider.createId(), - classId = classId, - modelName = "", - instantiationCall = UtExecutableCallModel( - null, - ConstructorId(classId, emptyList()), - emptyList() - ), - modificationsChainProvider = { mutableListOf() } - ).apply { - this.modificationsChain as MutableList += values.map { value -> - UtExecutableCallModel( - this, - JsMethodId( - classId = classId, - name = "add", - returnTypeNotLazy = jsUndefinedClassId, - parametersNotLazy = listOf(jsUndefinedClassId) - ), - listOf(construct(value, jsUndefinedClassId)) - ) - } - } - } - classId.isJsArray -> { - UtArrayModel( - id = JsIdProvider.createId(), - classId = classId, - stores = buildMap { - putAll(values.indices.zip(values.map { - construct(it, jsUndefinedClassId) - })) - } as MutableMap, - length = values.size, - constModel = jsUndefinedClassId.defaultJsValueModel() - ) - } - classId.isJsMap -> { - UtAssembleModel( - id = JsIdProvider.createId(), - classId = classId, - modelName = "", - instantiationCall = UtExecutableCallModel( - null, - ConstructorId(classId, emptyList()), - emptyList() - ), - modificationsChainProvider = { mutableListOf() } - ).apply { - this.modificationsChain as MutableList += values.map { value -> - UtExecutableCallModel( - this, - JsMethodId( - classId = classId, - name = "set", - returnTypeNotLazy = jsUndefinedClassId, - parametersNotLazy = listOf(jsUndefinedClassId, jsUndefinedClassId) - ), - (value as Pair).toList().map { construct(it, jsUndefinedClassId) } - ) - } - } - } - else -> throw UnsupportedOperationException( - "Can't make UtModel from JavaScript structure with ${classId.name} type" - ) - } - } - - @Suppress("UNCHECKED_CAST") - private fun constructObject(classId: JsClassId, value: Any?): UtModel { - val constructor = classId.allConstructors.first() - val values = (value as Map).values.map { - construct(it, JsEmptyClassId()) - } - val id = JsIdProvider.createId() - val instantiationCall = UtExecutableCallModel(null, constructor, values) - return UtAssembleModel( - id = id, - classId = constructor.classId, - modelName = "${constructor.classId.name}${constructor.parameters}#" + id.toString(16), - instantiationCall = instantiationCall, - ) - } -} diff --git a/utbot-js/src/main/kotlin/codegen/JsCodeGenerator.kt b/utbot-js/src/main/kotlin/codegen/JsCodeGenerator.kt deleted file mode 100644 index f20a5ba8..00000000 --- a/utbot-js/src/main/kotlin/codegen/JsCodeGenerator.kt +++ /dev/null @@ -1,79 +0,0 @@ -package codegen - -import framework.api.js.JsClassId -import framework.codegen.JsCgLanguageAssistant -import framework.codegen.JsImport -import framework.codegen.Mocha -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.HangingTestsTimeout -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.codegen.domain.RuntimeExceptionTestsBehaviour -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.models.CgClassFile -import org.utbot.framework.codegen.domain.models.CgMethodTestSet -import org.utbot.framework.codegen.domain.models.SimpleTestClassModel -import org.utbot.framework.codegen.generator.CodeGeneratorResult -import org.utbot.framework.codegen.renderer.CgAbstractRenderer -import org.utbot.framework.codegen.tree.CgSimpleTestClassConstructor -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.MockFramework - -class JsCodeGenerator( - private val classUnderTest: JsClassId, - paramNames: MutableMap> = mutableMapOf(), - testFramework: TestFramework = Mocha, - runtimeExceptionTestsBehaviour: RuntimeExceptionTestsBehaviour = RuntimeExceptionTestsBehaviour.defaultItem, - hangingTestsTimeout: HangingTestsTimeout = HangingTestsTimeout(), - enableTestsTimeout: Boolean = true, - testClassPackageName: String = classUnderTest.packageName, - imports: List, -) { - private var context: CgContext = CgContext( - classUnderTest = classUnderTest, - projectType = ProjectType.JavaScript, - paramNames = paramNames, - testFramework = testFramework, - mockFramework = MockFramework.MOCKITO, - codegenLanguage = CodegenLanguage.defaultItem, - cgLanguageAssistant = JsCgLanguageAssistant, - parametrizedTestSource = ParametrizedTestSource.defaultItem, - staticsMocking = StaticsMocking.defaultItem, - forceStaticMocking = ForceStaticMocking.defaultItem, - generateWarningsForStaticMocking = true, - runtimeExceptionTestsBehaviour = runtimeExceptionTestsBehaviour, - hangingTestsTimeout = hangingTestsTimeout, - enableTestsTimeout = enableTestsTimeout, - testClassPackageName = testClassPackageName, - collectedImports = imports.toMutableSet() - ) - - fun generateAsStringWithTestReport( - cgTestSets: List, - testClassCustomName: String? = null, - ): CodeGeneratorResult = withCustomContext(testClassCustomName) { - val testClassModel = SimpleTestClassModel(classUnderTest, cgTestSets) - val astConstructor = CgSimpleTestClassConstructor(context) - val testClassFile = astConstructor.construct(testClassModel) - CodeGeneratorResult(renderClassFile(testClassFile), astConstructor.testsGenerationReport) - } - - private fun withCustomContext(testClassCustomName: String? = null, block: () -> R): R { - val prevContext = context - return try { - context = prevContext.customCopy(shouldOptimizeImports = true, testClassCustomName = testClassCustomName) - block() - } finally { - context = prevContext - } - } - - private fun renderClassFile(file: CgClassFile): String { - val renderer = CgAbstractRenderer.makeRenderer(context) - file.accept(renderer) - return renderer.toString() - } -} diff --git a/utbot-js/src/main/kotlin/framework/api/js/JsApi.kt b/utbot-js/src/main/kotlin/framework/api/js/JsApi.kt deleted file mode 100644 index c918a98a..00000000 --- a/utbot-js/src/main/kotlin/framework/api/js/JsApi.kt +++ /dev/null @@ -1,121 +0,0 @@ -package framework.api.js - -import framework.api.js.util.toJsClassId -import java.lang.reflect.Modifier -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.primitiveModelValueToClassId - -open class JsClassId( - private val jsName: String, - private val methods: Sequence = emptySequence(), - val constructor: JsConstructorId? = null, - private val classPackagePath: String = "", - private val classFilePath: String = "", - elementClassId: JsClassId? = null -) : ClassId(jsName, elementClassId) { - override val simpleName: String - get() = jsName - - override val simpleNameWithEnclosingClasses: String - get() = jsName - - override val allMethods: Sequence - get() = methods - - override val allConstructors: Sequence - get() = if (constructor == null) emptySequence() else sequenceOf(constructor) - - override val packageName: String - get() = classPackagePath - - override val canonicalName: String - get() = jsName - - override val isAnonymous: Boolean - get() = false - - override val isInDefaultPackage: Boolean - get() = false - - override val isInner: Boolean - get() = false - - override val isLocal: Boolean - get() = false - - override val isNested: Boolean - get() = false - - override val isNullable: Boolean - get() = false - - override val isSynthetic: Boolean - get() = false - - override val outerClass: Class<*>? - get() = null - - val filePath: String - get() = classFilePath - -} - -class JsEmptyClassId : JsClassId("empty") -class JsMethodId( - override var classId: JsClassId, - override val name: String, - private val returnTypeNotLazy: JsClassId, - private val parametersNotLazy: List, - private val staticModifier: Boolean = false, - private val lazyReturnType: Lazy? = null, - private val lazyParameters: Lazy>? = null -) : MethodId(classId, name, returnTypeNotLazy, parametersNotLazy) { - - override val parameters: List - get() = lazyParameters?.value ?: parametersNotLazy - - override val returnType: JsClassId - get() = lazyReturnType?.value ?: returnTypeNotLazy - - override val modifiers: Int - get() = if (staticModifier) Modifier.STATIC else 0 - -} - -class JsConstructorId( - override var classId: JsClassId, - override val parameters: List, -) : ConstructorId(classId, parameters) { - override val modifiers: Int - get() = 0 -} - -class JsMultipleClassId(jsJoinedName: String) : JsClassId(jsJoinedName) - -open class JsUtModel( - override val classId: JsClassId -) : UtModel(classId) - -class JsNullModel( - override val classId: JsClassId -) : JsUtModel(classId) { - override fun toString() = "null" -} - -class JsUndefinedModel( - classId: JsClassId -) : JsUtModel(classId) { - override fun toString() = "undefined" -} - -data class JsPrimitiveModel( - val value: Any, -) : JsUtModel(jsPrimitiveModelValueToClassId(value)) { - override fun toString() = value.toString() -} - -private fun jsPrimitiveModelValueToClassId(value: Any) = - primitiveModelValueToClassId(value).toJsClassId() diff --git a/utbot-js/src/main/kotlin/framework/api/js/JsUtFuzzedExecution.kt b/utbot-js/src/main/kotlin/framework/api/js/JsUtFuzzedExecution.kt deleted file mode 100644 index 4b6168b5..00000000 --- a/utbot-js/src/main/kotlin/framework/api/js/JsUtFuzzedExecution.kt +++ /dev/null @@ -1,25 +0,0 @@ -package framework.api.js - -import org.utbot.framework.plugin.api.* - -class JsUtFuzzedExecution( - stateBefore: EnvironmentModels, - stateAfter: EnvironmentModels, - result: UtExecutionResult -) : UtExecution(stateBefore, stateAfter, result, null, null, null, null) { - override fun copy( - stateBefore: EnvironmentModels, - stateAfter: EnvironmentModels, - result: UtExecutionResult, - coverage: Coverage?, - summary: List?, - testMethodName: String?, - displayName: String? - ): UtExecution { - return JsUtFuzzedExecution( - stateBefore = stateBefore, - stateAfter = stateAfter, - result = result - ) - } -} diff --git a/utbot-js/src/main/kotlin/framework/api/js/util/JsIdUtil.kt b/utbot-js/src/main/kotlin/framework/api/js/util/JsIdUtil.kt deleted file mode 100644 index f82ce4ac..00000000 --- a/utbot-js/src/main/kotlin/framework/api/js/util/JsIdUtil.kt +++ /dev/null @@ -1,68 +0,0 @@ -package framework.api.js.util - -import framework.api.js.JsClassId -import framework.api.js.JsMultipleClassId -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.booleanClassId -import org.utbot.framework.plugin.api.util.doubleClassId -import org.utbot.framework.plugin.api.util.floatClassId - -val jsUndefinedClassId = JsClassId("undefined") -val jsNumberClassId = JsClassId("number") -val jsBooleanClassId = JsClassId("bool") -val jsDoubleClassId = JsClassId("double") -val jsStringClassId = JsClassId("string") -val jsErrorClassId = JsClassId("error") - -val jsBasic = setOf( - jsBooleanClassId, - jsDoubleClassId, - jsUndefinedClassId, - jsStringClassId, - jsNumberClassId -) - -fun ClassId.toJsClassId() = - when { - this == booleanClassId -> jsBooleanClassId - this == doubleClassId -> jsDoubleClassId - this == floatClassId -> jsDoubleClassId - this.name.lowercase().contains("string") -> jsStringClassId - else -> jsUndefinedClassId - } - -fun JsClassId.defaultJsValueModel(): UtModel = when (this) { - jsNumberClassId -> UtPrimitiveModel(0.0) - jsDoubleClassId -> UtPrimitiveModel(Double.POSITIVE_INFINITY) - jsBooleanClassId -> UtPrimitiveModel(false) - jsStringClassId -> UtPrimitiveModel("default") - jsUndefinedClassId -> UtPrimitiveModel(0.0) - else -> UtNullModel(this) -} - -val JsClassId.isJsBasic: Boolean - get() = this in jsBasic || this.isJsStdStructure - -val JsClassId.isExportable: Boolean - get() = !(this.isJsBasic || this == jsErrorClassId || this is JsMultipleClassId) - -val JsClassId.isClass: Boolean - get() = !(this.isJsBasic || this == jsErrorClassId || this is JsMultipleClassId) - -val JsClassId.isUndefined: Boolean - get() = this == jsUndefinedClassId - -val JsClassId.isJsArray: Boolean - get() = this.name == "Array" - -val JsClassId.isJsMap: Boolean - get() = this.name == "Map" - -val JsClassId.isJsSet: Boolean - get() = this.name == "Set" - -val JsClassId.isJsStdStructure: Boolean - get() = this.isJsArray || this.isJsSet || this.isJsMap diff --git a/utbot-js/src/main/kotlin/framework/codegen/JsCgLanguageAssistant.kt b/utbot-js/src/main/kotlin/framework/codegen/JsCgLanguageAssistant.kt deleted file mode 100644 index 59e1f79d..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/JsCgLanguageAssistant.kt +++ /dev/null @@ -1,47 +0,0 @@ -package framework.codegen - -import framework.codegen.model.constructor.tree.JsCgCallableAccessManager -import framework.codegen.model.constructor.tree.JsCgMethodConstructor -import framework.codegen.model.constructor.tree.JsCgStatementConstructor -import framework.codegen.model.constructor.tree.JsCgVariableConstructor -import framework.codegen.model.constructor.visitor.CgJsRenderer -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.context.TestClassContext -import org.utbot.framework.codegen.renderer.CgAbstractRenderer -import org.utbot.framework.codegen.renderer.CgPrinter -import org.utbot.framework.codegen.renderer.CgRendererContext -import org.utbot.framework.codegen.services.language.AbstractCgLanguageAssistant -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.utils.testClassNameGenerator - -object JsCgLanguageAssistant : AbstractCgLanguageAssistant() { - - override val outerMostTestClassContent: TestClassContext = TestClassContext() - - override val extension: String - get() = ".js" - - override val languageKeywords: Set = setOf( - "abstract", "arguments", "await", "boolean", "break", "byte", "case", "catch", "char", "class", "const", "continue", - "debugger", "default", "delete", "do", "double", "else", "enum", "eval", "export", "extends", "false", "final", - "finally", "float", "for", "function", "goto", "if", "implements", "import", "in", "instanceof", "int", "interface", - "let", "long", "native", "new", "null", "package", "private", "protected", "public", "return", "short", "static", - "super", "switch", "synchronized", "this", "throw", "throws", "transient", "true", "try", "typeof", "var", "void", - "volatile", "while", "with", "yield" - ) - - override fun testClassName( - testClassCustomName: String?, - testClassPackageName: String, - classUnderTest: ClassId - ): Pair { - return testClassNameGenerator(testClassCustomName, testClassPackageName, classUnderTest) - } - - override fun cgRenderer(context: CgRendererContext, printer: CgPrinter): CgAbstractRenderer = CgJsRenderer(context, printer) - override fun getCallableAccessManagerBy(context: CgContext) = JsCgCallableAccessManager(context) - override fun getMethodConstructorBy(context: CgContext) = JsCgMethodConstructor(context) - override fun getStatementConstructorBy(context: CgContext) = JsCgStatementConstructor(context) - override fun getVariableConstructorBy(context: CgContext) = JsCgVariableConstructor(context) - override fun getLanguageTestFrameworkManager() = JsTestFrameworkManager() -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/framework/codegen/JsDomain.kt b/utbot-js/src/main/kotlin/framework/codegen/JsDomain.kt deleted file mode 100644 index 8e8c3222..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/JsDomain.kt +++ /dev/null @@ -1,86 +0,0 @@ -package framework.codegen - -import framework.api.js.JsClassId -import framework.api.js.util.jsErrorClassId -import framework.api.js.util.jsUndefinedClassId -import org.utbot.framework.codegen.domain.Import -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.plugin.api.BuiltinClassId -import org.utbot.framework.plugin.api.BuiltinMethodId -import org.utbot.framework.plugin.api.ClassId -import service.PackageJson - - -object Mocha : TestFramework(id = "Mocha", displayName = "Mocha") { - override val mainPackage = "" - override val assertionsClass = jsUndefinedClassId - override val arraysAssertionsClass = jsUndefinedClassId - override val kotlinFailureAssertionsClass: ClassId = jsUndefinedClassId - - override val beforeMethodId: ClassId = jsUndefinedClassId - override val afterMethodId: ClassId = jsUndefinedClassId - - override val nestedClassesShouldBeStatic: Boolean - get() = false - override val argListClassId: ClassId - get() = jsUndefinedClassId - - override fun getRunTestsCommand( - executionInvoke: String, - classPath: String, - classesNames: List, - buildDirectory: String, - additionalArguments: List - ): List { - throw UnsupportedOperationException() - } - - override val testAnnotationId = BuiltinClassId( - name = "Mocha", - canonicalName = "Mocha", - simpleName = "Test" - ) - - override val parameterizedTestAnnotationId = jsUndefinedClassId - override val methodSourceAnnotationId = jsUndefinedClassId -} - -internal val jsAssertEquals by lazy { - BuiltinMethodId( - JsClassId("assert.deepEqual"), "assert.deepEqual", jsUndefinedClassId, listOf( - jsUndefinedClassId, jsUndefinedClassId - ) - ) -} - -internal val jsAssertThrows by lazy { - BuiltinMethodId( - JsClassId("assert.throws"), "assert.throws", jsErrorClassId, listOf( - jsUndefinedClassId, jsUndefinedClassId, jsUndefinedClassId - ) - ) -} - -enum class ModuleType { - MODULE, - COMMONJS; - - companion object { - fun fromPackageJson(packageJson: PackageJson): ModuleType { - return when (packageJson.isModule) { - true -> MODULE - else -> COMMONJS - } - } - } -} - -data class JsImport( - val name: String, - val aliases: String, - val path: String, - val type: ModuleType -): Import(2) { - - override val qualifiedName: String = "$name as $aliases from $path" -} diff --git a/utbot-js/src/main/kotlin/framework/codegen/JsTestFrameworkManager.kt b/utbot-js/src/main/kotlin/framework/codegen/JsTestFrameworkManager.kt deleted file mode 100644 index 525a267b..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/JsTestFrameworkManager.kt +++ /dev/null @@ -1,17 +0,0 @@ -package framework.codegen - -import framework.codegen.model.constructor.tree.MochaManager -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.services.language.LanguageTestFrameworkManager - -class JsTestFrameworkManager: LanguageTestFrameworkManager() { - - override fun managerByFramework(context: CgContext) = when (context.testFramework) { - is Mocha -> MochaManager(context) - else -> throw UnsupportedOperationException("Incorrect TestFramework ${context.testFramework}") - } - - override val defaultTestFramework = Mocha - - override val testFrameworks = listOf(Mocha) -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgCallableAccessManager.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgCallableAccessManager.kt deleted file mode 100644 index 4c44a4c4..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgCallableAccessManager.kt +++ /dev/null @@ -1,60 +0,0 @@ -package framework.codegen.model.constructor.tree - -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.context.CgContextOwner -import org.utbot.framework.codegen.domain.models.CgConstructorCall -import org.utbot.framework.codegen.domain.models.CgExecutableCall -import org.utbot.framework.codegen.domain.models.CgExpression -import org.utbot.framework.codegen.domain.models.CgMethodCall -import org.utbot.framework.codegen.domain.models.CgStaticFieldAccess -import org.utbot.framework.codegen.services.access.CgCallableAccessManager -import org.utbot.framework.codegen.services.access.CgIncompleteMethodCall -import org.utbot.framework.codegen.util.resolve -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.MethodId - -class JsCgCallableAccessManager(context: CgContext) : CgCallableAccessManager, - CgContextOwner by context { - - override operator fun CgExpression?.get(methodId: MethodId): CgIncompleteMethodCall = - CgIncompleteMethodCall(methodId, this) - - override operator fun ClassId.get(staticMethodId: MethodId): CgIncompleteMethodCall = - CgIncompleteMethodCall(staticMethodId, null) - - override fun CgExpression.get(fieldId: FieldId): CgExpression { - TODO("Not yet implemented") - } - - override fun ClassId.get(fieldId: FieldId): CgStaticFieldAccess { - TODO("Not yet implemented") - } - - override operator fun ConstructorId.invoke(vararg args: Any?): CgExecutableCall { - val resolvedArgs = args.resolve() - val constructorCall = CgConstructorCall(this, resolvedArgs) - newConstructorCall(this) - return constructorCall - } - - override fun CgIncompleteMethodCall.invoke(vararg args: Any?): CgMethodCall { - val resolvedArgs = args.resolve() - val methodCall = CgMethodCall(caller, method, resolvedArgs) - newMethodCall(method) - return methodCall - } - - private fun newConstructorCall(constructorId: ConstructorId) { - importedClasses += constructorId.classId - } - - private fun newMethodCall(methodId: MethodId) { - if (methodId.classId.name == "undefined") { - importedStaticMethods += methodId - return - } - importedClasses += methodId.classId - } -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgMethodConstructor.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgMethodConstructor.kt deleted file mode 100644 index 3ed9b1df..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgMethodConstructor.kt +++ /dev/null @@ -1,116 +0,0 @@ -package framework.codegen.model.constructor.tree - -import framework.api.js.JsClassId -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.models.CgTestMethod -import org.utbot.framework.codegen.domain.models.CgTestMethodType -import org.utbot.framework.codegen.domain.models.CgValue -import org.utbot.framework.codegen.domain.models.CgVariable -import org.utbot.framework.codegen.tree.CgMethodConstructor -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.MethodId -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.onFailure -import org.utbot.framework.plugin.api.onSuccess -import org.utbot.framework.plugin.api.util.voidClassId -import org.utbot.framework.util.isUnit - -class JsCgMethodConstructor(ctx: CgContext) : CgMethodConstructor(ctx) { - - override fun assertEquality(expected: CgValue, actual: CgVariable) { - testFrameworkManager.assertEquals(expected, actual) - } - - override fun createTestMethod(executableId: ExecutableId, execution: UtExecution): CgTestMethod = - withTestMethodScope(execution) { - val testMethodName = nameGenerator.testMethodNameFor(executableId, execution.testMethodName) - execution.displayName = execution.displayName?.let { "${executableId.name}: $it" } - testMethod(testMethodName, execution.displayName) { - val statics = currentExecution!!.stateBefore.statics - rememberInitialStaticFields(statics) - val mainBody = { - substituteStaticFields(statics) - // build this instance - thisInstance = execution.stateBefore.thisInstance?.let { - variableConstructor.getOrCreateVariable(it) - } - // build arguments - for ((index, param) in execution.stateBefore.parameters.withIndex()) { - val name = paramNames[executableId]?.get(index) - methodArguments += variableConstructor.getOrCreateVariable(param, name) - } - recordActualResult() - generateResultAssertions() - generateFieldStateAssertions() - } - - if (statics.isNotEmpty()) { - +tryBlock { - mainBody() - }.finally { - recoverStaticFields() - } - } else { - mainBody() - } - } - } - - override fun generateResultAssertions() { - emptyLineIfNeeded() - val currentExecution = currentExecution!! - val method = currentExecutable as MethodId - // build assertions - currentExecution.result - .onSuccess { result -> - methodType = CgTestMethodType.SUCCESSFUL - if (result.isUnit() || method.returnType == voidClassId) { - +thisInstance[method](*methodArguments.toTypedArray()) - } else { - resultModel = result - val expected = variableConstructor.getOrCreateVariable(result, "expected") - assertEquality(expected, actual) - } - } - .onFailure { exception -> - processExecutionFailure(currentExecution, exception) - } - } - - private fun processExecutionFailure(execution: UtExecution, exception: Throwable) { - val methodInvocationBlock = { - with(currentExecutable) { - when (this) { - is MethodId -> thisInstance[this](*methodArguments.toTypedArray()).intercepted() - is ConstructorId -> this(*methodArguments.toTypedArray()).intercepted() - else -> throw IllegalStateException() - } - } - } - - if (shouldTestPassWithException(execution, exception)) { - testFrameworkManager.expectException(JsClassId(exception.message!!)) { - methodInvocationBlock() - } - methodType = CgTestMethodType.SUCCESSFUL - - return - } - - if (shouldTestPassWithTimeoutException(execution, exception)) { - writeWarningAboutTimeoutExceeding() - testFrameworkManager.expectTimeout(hangingTestsTimeout.timeoutMs) { - methodInvocationBlock() - } - methodType = CgTestMethodType.TIMEOUT - - return - } - - methodType = CgTestMethodType.FAILING - writeWarningAboutFailureTest(exception) - - methodInvocationBlock() - } -} diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgStatementConstructor.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgStatementConstructor.kt deleted file mode 100644 index 54f9eda4..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgStatementConstructor.kt +++ /dev/null @@ -1,286 +0,0 @@ -package framework.codegen.model.constructor.tree - -import fj.data.Either -import framework.codegen.model.constructor.util.plus -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.context.CgContextOwner -import org.utbot.framework.codegen.domain.models.AnnotationTarget -import org.utbot.framework.codegen.domain.models.CgAnnotation -import org.utbot.framework.codegen.domain.models.CgAnonymousFunction -import org.utbot.framework.codegen.domain.models.CgComment -import org.utbot.framework.codegen.domain.models.CgDeclaration -import org.utbot.framework.codegen.domain.models.CgEmptyLine -import org.utbot.framework.codegen.domain.models.CgExpression -import org.utbot.framework.codegen.domain.models.CgIfStatement -import org.utbot.framework.codegen.domain.models.CgInnerBlock -import org.utbot.framework.codegen.domain.models.CgIsInstance -import org.utbot.framework.codegen.domain.models.CgLogicalAnd -import org.utbot.framework.codegen.domain.models.CgLogicalOr -import org.utbot.framework.codegen.domain.models.CgMultilineComment -import org.utbot.framework.codegen.domain.models.CgMultipleArgsAnnotation -import org.utbot.framework.codegen.domain.models.CgNamedAnnotationArgument -import org.utbot.framework.codegen.domain.models.CgParameterDeclaration -import org.utbot.framework.codegen.domain.models.CgReturnStatement -import org.utbot.framework.codegen.domain.models.CgSingleArgAnnotation -import org.utbot.framework.codegen.domain.models.CgSingleLineComment -import org.utbot.framework.codegen.domain.models.CgThrowStatement -import org.utbot.framework.codegen.domain.models.CgTryCatch -import org.utbot.framework.codegen.domain.models.CgVariable -import org.utbot.framework.codegen.services.access.CgCallableAccessManager -import org.utbot.framework.codegen.tree.* -import org.utbot.framework.codegen.util.resolve -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.UtModel - -class JsCgStatementConstructor(context: CgContext) : - CgStatementConstructor, - CgContextOwner by context, - CgCallableAccessManager by CgComponents.getCallableAccessManagerBy(context) { - - private val nameGenerator = CgComponents.getNameGeneratorBy(context) - - override fun newVar( - baseType: ClassId, - model: UtModel?, - baseName: String?, - isMock: Boolean, - isMutable: Boolean, - init: () -> CgExpression - ): CgVariable { - val declarationOrVar: Either = - createDeclarationForNewVarAndUpdateVariableScopeOrGetExistingVariable( - baseType, - model, - baseName, - isMock, - isMutable, - init - ) - - return declarationOrVar.either( - { declaration -> - currentBlock += declaration - - declaration.variable - }, - { variable -> variable } - ) - } - - override fun createDeclarationForNewVarAndUpdateVariableScopeOrGetExistingVariable( - baseType: ClassId, - model: UtModel?, - baseName: String?, - isMock: Boolean, - isMutableVar: Boolean, - init: () -> CgExpression - ): Either { - - val baseExpr = init() - - val name = nameGenerator.variableName(baseType, baseName, isMock) - - // TODO SEVERE: here was import section for CgClassId. Implement it -// importIfNeeded(baseType) -// if ((baseType as JsClassId).name != "undefined") { -// importedClasses += baseType -// } - - val declaration = buildDeclaration { - variableType = baseType - variableName = name - initializer = baseExpr - isMutable = isMutableVar - } - - updateVariableScope(declaration.variable, model) - - return Either.left(declaration) - } - - override fun CgExpression.`=`(value: Any?) { - currentBlock += buildAssignment { - lValue = this@`=` - rValue = value.resolve() - } - } - - override fun CgExpression.and(other: CgExpression): CgLogicalAnd = - CgLogicalAnd(this, other) - - - override fun CgExpression.or(other: CgExpression): CgLogicalOr = - CgLogicalOr(this, other) - - override fun ifStatement( - condition: CgExpression, - trueBranch: () -> Unit, - falseBranch: (() -> Unit)? - ): CgIfStatement { - val trueBranchBlock = block(trueBranch) - val falseBranchBlock = falseBranch?.let { block(it) } - return CgIfStatement(condition, trueBranchBlock, falseBranchBlock).also { - currentBlock += it - } - } - - override fun forLoop(init: CgForLoopBuilder.() -> Unit) { - currentBlock += buildForLoop(init) - } - - override fun whileLoop(condition: CgExpression, statements: () -> Unit) { - currentBlock += buildWhileLoop { - this.condition = condition - this.statements += block(statements) - } - } - - override fun doWhileLoop(condition: CgExpression, statements: () -> Unit) { - currentBlock += buildDoWhileLoop { - this.condition = condition - this.statements += block(statements) - } - } - - override fun forEachLoop(init: CgForEachLoopBuilder.() -> Unit) { - throw UnsupportedOperationException("JavaScript does not have forEach loops") - } - - override fun getClassOf(classId: ClassId): CgExpression { - TODO("Not yet implemented") - } - - override fun createFieldVariable(fieldId: FieldId): CgVariable { - TODO("Not yet implemented") - } - - override fun createExecutableVariable(executableId: ExecutableId, arguments: List): CgVariable { - TODO("Not yet implemented") - } - - override fun tryBlock(init: () -> Unit): CgTryCatch = tryBlock(init, null) - - override fun tryBlock(init: () -> Unit, resources: List?): CgTryCatch = - buildTryCatch { - statements = block(init) - this.resources = resources - } - - override fun CgTryCatch.catch(exception: ClassId, init: (CgVariable) -> Unit): CgTryCatch { - val newHandler = buildExceptionHandler { - val e = declareVariable(exception, nameGenerator.variableName(exception.simpleName.decapitalize())) - this.exception = e - this.statements = block { init(e) } - } - return this.copy(handlers = handlers + newHandler) - } - - override fun CgTryCatch.finally(init: () -> Unit): CgTryCatch { - val finallyBlock = block(init) - return this.copy(finally = finallyBlock) - } - - override fun CgExpression.isInstance(value: CgExpression): CgIsInstance { - TODO("Not yet implemented") - } - - // TODO MINOR: check whether js has inner blocks - override fun innerBlock(init: () -> Unit): CgInnerBlock = - CgInnerBlock(block(init)).also { - currentBlock += it - } - - override fun comment(text: String): CgComment = - CgSingleLineComment(text).also { - currentBlock += it - } - - override fun comment(): CgComment = - CgSingleLineComment("").also { - currentBlock += it - } - - override fun multilineComment(lines: List): CgComment = - CgMultilineComment(lines).also { - currentBlock += it - } - - override fun lambda(type: ClassId, vararg parameters: CgVariable, body: () -> Unit): CgAnonymousFunction { - return withNameScope { - for (parameter in parameters) { - declareParameter(parameter.type, parameter.name) - } - val paramDeclarations = parameters.map { CgParameterDeclaration(it) } - CgAnonymousFunction(type, paramDeclarations, block(body)) - } - } - - override fun addAnnotation(classId: ClassId, argument: Any?, target: AnnotationTarget): CgAnnotation { - val annotation = CgSingleArgAnnotation(classId, argument.resolve(), target) - addAnnotation(annotation) - return annotation - } - - override fun addAnnotation( - classId: ClassId, - namedArguments: List, - target: AnnotationTarget, - ): CgAnnotation { - val annotation = CgMultipleArgsAnnotation(classId, namedArguments.toMutableList(), target) - addAnnotation(annotation) - return annotation - } - - override fun addAnnotation( - classId: ClassId, - target: AnnotationTarget, - buildArguments: MutableList>.() -> Unit, - ): CgAnnotation { - val arguments = mutableListOf>() - .apply(buildArguments) - .map { (name, value) -> CgNamedAnnotationArgument(name, value) } - val annotation = CgMultipleArgsAnnotation(classId, arguments.toMutableList(), target) - addAnnotation(annotation) - return annotation - } - - private fun addAnnotation(annotation: CgAnnotation) { - when (annotation.target) { - AnnotationTarget.Method -> collectedMethodAnnotations.add(annotation) - AnnotationTarget.Class, - AnnotationTarget.Field -> error("Annotation ${annotation.target} is not supported in JavaScript") - } - - importIfNeeded(annotation.classId) - } - - override fun returnStatement(expression: () -> CgExpression) { - currentBlock += CgReturnStatement(expression()) - } - - override fun throwStatement(exception: () -> CgExpression): CgThrowStatement = - CgThrowStatement(exception()).also { currentBlock += it } - - override fun emptyLine() { - currentBlock += CgEmptyLine - } - - override fun emptyLineIfNeeded() { - val lastStatement = currentBlock.lastOrNull() ?: return - if (lastStatement is CgEmptyLine) return - emptyLine() - } - - override fun declareVariable(type: ClassId, name: String): CgVariable = - CgVariable(name, type).also { - updateVariableScope(it) - } - - // TODO SEVERE: think about these 2 functions - override fun guardExpression(baseType: ClassId, expression: CgExpression): ExpressionWithType = - ExpressionWithType(baseType, expression) - - override fun wrapTypeIfRequired(baseType: ClassId): ClassId = baseType -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgVariableConstructor.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgVariableConstructor.kt deleted file mode 100644 index 328ff26f..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsCgVariableConstructor.kt +++ /dev/null @@ -1,181 +0,0 @@ -package framework.codegen.model.constructor.tree - -import framework.api.js.JsClassId -import framework.api.js.JsNullModel -import framework.api.js.JsPrimitiveModel -import framework.api.js.util.isExportable -import framework.api.js.util.jsBooleanClassId -import framework.api.js.util.jsDoubleClassId -import framework.api.js.util.jsNumberClassId -import framework.api.js.util.jsStringClassId -import framework.api.js.util.jsUndefinedClassId -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.models.CgAllocateArray -import org.utbot.framework.codegen.domain.models.CgArrayInitializer -import org.utbot.framework.codegen.domain.models.CgDeclaration -import org.utbot.framework.codegen.domain.models.CgExpression -import org.utbot.framework.codegen.domain.models.CgLiteral -import org.utbot.framework.codegen.domain.models.CgValue -import org.utbot.framework.codegen.domain.models.CgVariable -import org.utbot.framework.codegen.tree.CgComponents -import org.utbot.framework.codegen.tree.CgVariableConstructor -import org.utbot.framework.codegen.util.at -import org.utbot.framework.codegen.util.inc -import org.utbot.framework.codegen.util.lessThan -import org.utbot.framework.codegen.util.nullLiteral -import org.utbot.framework.codegen.util.resolve -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.util.defaultValueModel -import kotlin.collections.component1 -import kotlin.collections.component2 -import kotlin.collections.set - -class JsCgVariableConstructor(ctx: CgContext) : CgVariableConstructor(ctx) { - - private val nameGenerator = CgComponents.getNameGeneratorBy(context) - - override fun getOrCreateVariable(model: UtModel, name: String?): CgValue = - valueByUtModelWrapper.getOrPut(model.wrap()) { - when (model) { - is UtAssembleModel -> { - // TODO SEVERE: May lead to unexpected behavior in case of changes to the original method - super.getOrCreateVariable(model, name) - } - - is JsPrimitiveModel -> CgLiteral(model.classId, model.value) - is UtArrayModel -> { - val baseName = name ?: nameGenerator.nameFrom(model.classId) - constructArray(model, baseName) - } - - else -> nullLiteral() - } - } - - private val MAX_ARRAY_INITIALIZER_SIZE = 10 - - private operator fun UtArrayModel.get(index: Int): UtModel = stores[index] ?: constModel - - private val defaultByPrimitiveType: Map = mapOf( - jsBooleanClassId to false, - jsStringClassId to "default", - jsUndefinedClassId to 0.0, - jsNumberClassId to 0.0, - jsDoubleClassId to Double.POSITIVE_INFINITY - ) - - private infix fun UtModel.isNotJsDefaultValueOf(type: JsClassId): Boolean = !(this isJsDefaultValueOf type) - - private infix fun UtModel.isJsDefaultValueOf(type: JsClassId): Boolean = when (this) { - is JsNullModel -> type.isExportable - is JsPrimitiveModel -> value == defaultByPrimitiveType[type] - else -> false - } - - private fun CgVariable.setArrayElement(index: Any, value: CgValue) { - val i = index.resolve() - this.at(i) `=` value - } - - private fun basicForLoop(until: Any, body: (i: CgExpression) -> Unit) { - basicForLoop(start = 0, until, body) - } - - private fun basicForLoop(start: Any, until: Any, body: (i: CgExpression) -> Unit) { - forLoop { - val (i, init) = loopInitialization(jsNumberClassId, "i", start.resolve()) - initialization = init - condition = i lessThan until.resolve() - update = i.inc() - statements = block { body(i) } - } - } - - private fun loopInitialization( - variableType: ClassId, - baseVariableName: String, - initializer: Any? - ): Pair { - val declaration = CgDeclaration(variableType, baseVariableName.toVarName(), initializer.resolve()) - val variable = declaration.variable - updateVariableScope(variable) - return variable to declaration - } - - private fun constructArray(arrayModel: UtArrayModel, baseName: String?): CgVariable { - val elementType = (arrayModel.classId.elementClassId ?: jsUndefinedClassId) as JsClassId - val elementModels = (0 until arrayModel.length).map { - arrayModel.stores.getOrDefault(it, arrayModel.constModel) - } - - val allPrimitives = elementModels.all { it is JsPrimitiveModel } - val allNulls = elementModels.all { it is JsNullModel } - // we can use array initializer if all elements are primitives or all of them are null, - // and the size of an array is not greater than the fixed maximum size - val canInitWithValues = (allPrimitives || allNulls) && elementModels.size <= MAX_ARRAY_INITIALIZER_SIZE - - val initializer = if (canInitWithValues) { - val elements = elementModels.map { model -> - when (model) { - is JsPrimitiveModel -> model.value.resolve() - is UtNullModel -> null.resolve() - else -> error("Non primitive or null model $model is unexpected in array initializer") - } - } - CgArrayInitializer(arrayModel.classId, elementType, elements) - } else { - CgAllocateArray(arrayModel.classId, elementType, arrayModel.length) - } - - val array = newVar(arrayModel.classId, baseName) { initializer } - valueByUtModelWrapper[arrayModel.wrap()] = array - - if (canInitWithValues) { - return array - } - - if (arrayModel.length <= 0) return array - if (arrayModel.length == 1) { - // take first element value if it is present, otherwise use default value from model - val elementModel = arrayModel[0] - if (elementModel isNotJsDefaultValueOf elementType) { - array.setArrayElement(0, getOrCreateVariable(elementModel)) - } - } else { - val indexedValuesFromStores = - if (arrayModel.stores.size == arrayModel.length) { - // do not use constModel because stores fully cover array - arrayModel.stores.entries.filter { (_, element) -> element isNotJsDefaultValueOf elementType } - } else { - // fill array if constModel is not default type value - if (arrayModel.constModel isNotJsDefaultValueOf elementType) { - val defaultVariable = getOrCreateVariable(arrayModel.constModel, "defaultValue") - basicForLoop(arrayModel.length) { i -> - array.setArrayElement(i, defaultVariable) - } - } - - // choose all not default values - val defaultValue = if (arrayModel.constModel isJsDefaultValueOf elementType) { - arrayModel.constModel - } else { - elementType.defaultValueModel() - } - arrayModel.stores.entries.filter { (_, element) -> element != defaultValue } - } - - // set all values from stores manually - indexedValuesFromStores - .sortedBy { it.key } - .forEach { (index, element) -> array.setArrayElement(index, getOrCreateVariable(element)) } - } - - return array - } - - private fun String.toVarName(): String = nameGenerator.variableName(this) -} diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsTestFrameworkManager.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsTestFrameworkManager.kt deleted file mode 100644 index f7490fd4..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/tree/JsTestFrameworkManager.kt +++ /dev/null @@ -1,58 +0,0 @@ -package framework.codegen.model.constructor.tree - -import framework.codegen.Mocha -import framework.codegen.jsAssertEquals -import framework.codegen.jsAssertThrows -import org.utbot.framework.codegen.domain.context.CgContext -import org.utbot.framework.codegen.domain.context.TestClassContext -import org.utbot.framework.codegen.domain.models.CgAnnotation -import org.utbot.framework.codegen.domain.models.CgValue -import org.utbot.framework.codegen.domain.models.CgVariable -import org.utbot.framework.codegen.services.framework.TestFrameworkManager -import org.utbot.framework.plugin.api.ClassId - -class MochaManager(context: CgContext) : TestFrameworkManager(context) { - override val isExpectedExceptionExecutionBreaking: Boolean = true - - override fun expectException(exception: ClassId, block: () -> Unit) { - require(testFramework is Mocha) { "According to settings, Mocha.js was expected, but got: $testFramework" } - val lambda = statementConstructor.lambda(exception) { block() } - +assertions[jsAssertThrows](lambda, "Error", exception.name) - } - - override fun addDataProviderAnnotations(dataProviderMethodName: String) { - error("Parametrized tests are not supported for JavaScript") - } - - override fun createArgList(length: Int): CgVariable { - error("Parametrized tests are not supported for JavaScript") - } - - override fun addParameterizedTestAnnotations(dataProviderMethodName: String?) { - error("Parametrized tests are not supported for JavaScript") - } - - override fun passArgumentsToArgsVariable(argsVariable: CgVariable, argsArray: CgVariable, executionIndex: Int) { - error("Parametrized tests are not supported for JavaScript") - } - - override fun addTestDescription(description: String) { - TODO("Not yet implemented") - } - - override val dataProviderMethodsHolder: TestClassContext - get() = error("Parametrized tests are not supported for JavaScript") - - override fun addAnnotationForNestedClasses() { - error("Nested classes annotation does not exist in Mocha") - } - - override fun assertEquals(expected: CgValue, actual: CgValue) { - +assertions[jsAssertEquals](expected, actual) - } - - override fun disableTestMethod(reason: String) { - - } - -} diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/util/ConstructorUtils.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/util/ConstructorUtils.kt deleted file mode 100644 index 4b33d306..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/util/ConstructorUtils.kt +++ /dev/null @@ -1,16 +0,0 @@ -package framework.codegen.model.constructor.util - -import kotlinx.collections.immutable.PersistentList -import kotlinx.collections.immutable.PersistentSet - -internal operator fun PersistentList.plus(element: T): PersistentList = - this.add(element) - -internal operator fun PersistentList.plus(other: PersistentList): PersistentList = - this.addAll(other) - -internal operator fun PersistentSet.plus(element: T): PersistentSet = - this.add(element) - -internal operator fun PersistentSet.plus(other: PersistentSet): PersistentSet = - this.addAll(other) diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt deleted file mode 100644 index 4ddcd6de..00000000 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt +++ /dev/null @@ -1,428 +0,0 @@ -package framework.codegen.model.constructor.visitor - -import framework.api.js.JsClassId -import framework.api.js.util.isExportable -import framework.codegen.JsImport -import framework.codegen.ModuleType -import org.apache.commons.text.StringEscapeUtils -import org.utbot.framework.codegen.domain.RegularImport -import org.utbot.framework.codegen.domain.StaticImport -import org.utbot.framework.codegen.domain.models.CgAllocateArray -import org.utbot.framework.codegen.domain.models.CgAllocateInitializedArray -import org.utbot.framework.codegen.domain.models.CgAnonymousFunction -import org.utbot.framework.codegen.domain.models.CgArrayAnnotationArgument -import org.utbot.framework.codegen.domain.models.CgArrayElementAccess -import org.utbot.framework.codegen.domain.models.CgArrayInitializer -import org.utbot.framework.codegen.domain.models.CgClass -import org.utbot.framework.codegen.domain.models.CgClassBody -import org.utbot.framework.codegen.domain.models.CgClassFile -import org.utbot.framework.codegen.domain.models.CgConstructorCall -import org.utbot.framework.codegen.domain.models.CgDeclaration -import org.utbot.framework.codegen.domain.models.CgEqualTo -import org.utbot.framework.codegen.domain.models.CgErrorTestMethod -import org.utbot.framework.codegen.domain.models.CgErrorWrapper -import org.utbot.framework.codegen.domain.models.CgExecutableCall -import org.utbot.framework.codegen.domain.models.CgExpression -import org.utbot.framework.codegen.domain.models.CgFieldAccess -import org.utbot.framework.codegen.domain.models.CgForLoop -import org.utbot.framework.codegen.domain.models.CgFormattedString -import org.utbot.framework.codegen.domain.models.CgFrameworkUtilMethod -import org.utbot.framework.codegen.domain.models.CgGetJavaClass -import org.utbot.framework.codegen.domain.models.CgGetKotlinClass -import org.utbot.framework.codegen.domain.models.CgGetLength -import org.utbot.framework.codegen.domain.models.CgInnerBlock -import org.utbot.framework.codegen.domain.models.CgLiteral -import org.utbot.framework.codegen.domain.models.CgMethod -import org.utbot.framework.codegen.domain.models.CgMethodCall -import org.utbot.framework.codegen.domain.models.CgMultipleArgsAnnotation -import org.utbot.framework.codegen.domain.models.CgNamedAnnotationArgument -import org.utbot.framework.codegen.domain.models.CgNotNullAssertion -import org.utbot.framework.codegen.domain.models.CgParameterDeclaration -import org.utbot.framework.codegen.domain.models.CgParameterizedTestDataProviderMethod -import org.utbot.framework.codegen.domain.models.CgSpread -import org.utbot.framework.codegen.domain.models.CgStaticsRegion -import org.utbot.framework.codegen.domain.models.CgSwitchCase -import org.utbot.framework.codegen.domain.models.CgSwitchCaseLabel -import org.utbot.framework.codegen.domain.models.CgTestMethod -import org.utbot.framework.codegen.domain.models.CgTypeCast -import org.utbot.framework.codegen.domain.models.CgVariable -import org.utbot.framework.codegen.renderer.CgAbstractRenderer -import org.utbot.framework.codegen.renderer.CgPrinter -import org.utbot.framework.codegen.renderer.CgPrinterImpl -import org.utbot.framework.codegen.renderer.CgRendererContext -import org.utbot.framework.codegen.tree.VisibilityModifier -import org.utbot.framework.plugin.api.BuiltinMethodId -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.TypeParameters -import org.utbot.framework.plugin.api.util.isStatic -import settings.JsTestGenerationSettings.fileUnderTestAliases - -internal class CgJsRenderer(context: CgRendererContext, printer: CgPrinter = CgPrinterImpl()) : - CgAbstractRenderer(context, printer) { - - override val statementEnding: String = "" - - override val logicalAnd: String - get() = "&&" - - override val logicalOr: String - get() = "||" - - override val langPackage: String = "js" - - override val ClassId.methodsAreAccessibleAsTopLevel: Boolean - get() = false - - override fun visit(element: CgErrorWrapper) { - element.expression.accept(this) - print("alert(\"${element.message}\")") - } - - override fun visit(element: CgInnerBlock) { - println("{") - withIndent { - for (statement in element.statements) { - statement.accept(this) - } - } - println("}") - } - - override fun visit(element: CgParameterDeclaration) { - if (element.isVararg) { - print("...") - } - print(element.name.escapeNamePossibleKeyword()) - } - - override fun visit(element: CgLiteral) { - val value = with(element.value) { - when (this) { - is Double -> toStringConstant() - is String -> "\"" + escapeCharacters() + "\"" - else -> "$this" - } - } - print(value) - } - - private fun Double.toStringConstant() = when { - isNaN() -> "Number.NaN" - this == Double.POSITIVE_INFINITY -> "Number.POSITIVE_INFINITY" - this == Double.NEGATIVE_INFINITY -> "Number.NEGATIVE_INFINITY" - else -> "$this" - } - - override fun renderRegularImport(regularImport: RegularImport) { - println("const ${regularImport.packageName} = require(\"${regularImport.className}\")") - } - - override fun visit(element: CgStaticsRegion) { - if (element.content.isEmpty()) return - - print(regionStart) - element.header?.let { print(" $it") } - println() - - withIndent { - for (item in element.content) { - println() - item.accept(this) - } - } - - println(regionEnd) - } - - - override fun visit(element: CgClass) { - element.body.accept(this) - } - - override fun visit(element: CgFieldAccess) { - element.caller.accept(this) - renderAccess(element.caller) - print(element.fieldId.name) - } - - override fun visit(element: CgArrayElementAccess) { - element.array.accept(this) - print("[") - element.index.accept(this) - print("]") - } - - override fun visit(element: CgArrayAnnotationArgument) { - throw UnsupportedOperationException() - } - - override fun visit(element: CgAnonymousFunction) { - print("function (") - element.parameters.renderSeparated(true) - println(") {") - // cannot use visit(element.body) here because { was already printed - withIndent { - for (statement in element.body) { - statement.accept(this) - } - } - print("}") - } - - override fun visit(element: CgEqualTo) { - element.left.accept(this) - print(" == ") - element.right.accept(this) - } - - // TODO SEVERE - override fun visit(element: CgTypeCast) { - element.expression.accept(this) -// throw Exception("TypeCast not yet implemented") - } - - override fun visit(element: CgSpread) { - print("...") - element.array.accept(this) - } - - override fun visit(element: CgNotNullAssertion) { - throw UnsupportedOperationException("JavaScript does not support not null assertions") - } - - override fun visit(element: CgAllocateArray) { - print("new Array(${element.size})") - } - - override fun visit(element: CgAllocateInitializedArray) { - print("[") - element.initializer.accept(this) - print("]") - } - - // TODO SEVERE: I am unsure about this - override fun visit(element: CgArrayInitializer) { - val elementType = element.elementType - val elementsInLine = arrayElementsInLine(elementType) - print("[") - element.values.renderElements(elementsInLine) - print("]") - } - - override fun visit(element: CgClassFile) { - element.imports.filterIsInstance().forEach { - renderImport(it) - } - println() - element.declaredClass.accept(this) - } - - override fun visit(element: CgSwitchCaseLabel) { - if (element.label != null) { - print("case ") - element.label!!.accept(this) - } else { - print("default") - } - println(": ") - visit(element.statements, printNextLine = true) - } - - @Suppress("DuplicatedCode") - override fun visit(element: CgSwitchCase) { - print("switch (") - element.value.accept(this) - println(") {") - withIndent { - for (caseLabel in element.labels) { - caseLabel.accept(this) - } - element.defaultLabel?.accept(this) - } - println("}") - } - - override fun visit(element: CgGetLength) { - element.variable.accept(this) - print(".size") - } - - override fun visit(element: CgGetJavaClass) { - throw UnsupportedOperationException("No Java classes in JavaScript") - } - - override fun visit(element: CgGetKotlinClass) { - throw UnsupportedOperationException("No Kotlin classes in JavaScript") - } - - override fun visit(element: CgConstructorCall) { - val importPrefix = "$fileUnderTestAliases.".takeIf { - (element.executableId.classId as JsClassId).isExportable - } ?: "" - print("new $importPrefix${element.executableId.classId.name}") - print("(") - element.arguments.renderSeparated() - print(")") - } - - private fun renderImport(import: JsImport) = with(import) { - when (type) { - ModuleType.COMMONJS -> println("const $aliases = require(\"$path\")") - ModuleType.MODULE -> println("import $name as $aliases from \"$path\"") - } - } - - override fun renderStaticImport(staticImport: StaticImport) { - throw Exception("Not implemented yet") - } - - override fun renderMethodSignature(element: CgTestMethod) { - println("it(\"${element.name}\", function ()") - } - - override fun renderMethodSignature(element: CgErrorTestMethod) { - println("it(\"${element.name}\", function ()") - - } - - override fun visit(element: CgMethod) { - super.visit(element) - if (element is CgTestMethod || element is CgErrorTestMethod) { - println(")") - } - } - - override fun visit(element: CgErrorTestMethod) { - renderMethodSignature(element) - visit(element as CgMethod) - } - - override fun visit(element: CgClassBody) { - // render regions for test methods - for ((i, region) in (element.methodRegions + element.nestedClassRegions).withIndex()) { - if (i != 0) println() - - region.accept(this) - } - - if (element.staticDeclarationRegions.isEmpty()) { - return - } - } - - override fun renderMethodSignature(element: CgParameterizedTestDataProviderMethod) { - throw UnsupportedOperationException() - } - - override fun renderMethodSignature(element: CgFrameworkUtilMethod) { - throw UnsupportedOperationException() - } - - override fun visit(element: CgNamedAnnotationArgument) { - - } - - override fun visit(element: CgMultipleArgsAnnotation) { - - } - - override fun visit(element: CgMethodCall) { - val caller = element.caller - if (caller != null) { - caller.accept(this) - renderAccess(caller) - } else { - val method = element.executableId - if (method is BuiltinMethodId) { - - } else if (method.isStatic) { - val line = if (method.classId.toString() == "undefined") "" else "${method.classId}." - print("$fileUnderTestAliases.$line") - } else { - print("$fileUnderTestAliases.") - } - } - print(element.executableId.name.escapeNamePossibleKeyword()) - renderTypeParameters(element.typeParameters) - if (element.type.name == "error") { - print("(") - element.arguments[0].accept(this@CgJsRenderer) - print(", ") - print("Error, ") - element.arguments[2].accept(this@CgJsRenderer) - print(")") - } else { - renderExecutableCallArguments(element) - } - } - - override fun visit(element: CgFormattedString) { - throw NotImplementedError("String interpolation is not supported in JavaScript renderer") - } - - //TODO MINOR: check - override fun renderForLoopVarControl(element: CgForLoop) { - print("for (") - with(element.initialization) { - print("let ") - visit(variable) - print(" = ") - initializer?.accept(this@CgJsRenderer) - print("; ") - visit(element.condition) - print("; ") - print(element.update) - } - } - - override fun renderDeclarationLeftPart(element: CgDeclaration) { - if (element.isMutable) print("var ") else print("let ") - visit(element.variable) - } - - override fun toStringConstantImpl(byte: Byte) = "$byte" - - override fun toStringConstantImpl(short: Short) = "$short" - - override fun toStringConstantImpl(int: Int) = "$int" - - override fun toStringConstantImpl(long: Long) = "$long" - - override fun toStringConstantImpl(float: Float) = "$float" - - override fun renderAccess(caller: CgExpression) { - print(".") - } - - override fun renderTypeParameters(typeParameters: TypeParameters) { - //TODO MINOR: check - } - - override fun renderExecutableCallArguments(executableCall: CgExecutableCall) { - print("(") - executableCall.arguments.renderSeparated() - print(")") - } - - //TODO SEVERE: check - override fun renderExceptionCatchVariable(exception: CgVariable) { - print("${exception.name.escapeNamePossibleKeyword()}: ${exception.type}") - } - - override fun escapeNamePossibleKeywordImpl(s: String): String = s - - override fun renderVisibility(modifier: VisibilityModifier) { - TODO("Not yet implemented") - } - - override fun renderClassModality(aClass: CgClass) { - TODO("Not yet implemented") - } - - //TODO MINOR: check - override fun String.escapeCharacters(): String = - StringEscapeUtils.escapeJava(this) - .replace("$", "\\$") - .replace("\\f", "\\u000C") - .replace("\\xxx", "\\\u0058\u0058\u0058") -} diff --git a/utbot-js/src/main/kotlin/fuzzer/JsFuzzerApi.kt b/utbot-js/src/main/kotlin/fuzzer/JsFuzzerApi.kt deleted file mode 100644 index feb68bbc..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/JsFuzzerApi.kt +++ /dev/null @@ -1,82 +0,0 @@ -package fuzzer - -import framework.api.js.JsClassId -import framework.api.js.JsUtFuzzedExecution -import framework.api.js.util.isClass -import java.util.concurrent.atomic.AtomicInteger -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtTimeoutException -import org.utbot.fuzzing.Control -import org.utbot.fuzzing.Description -import org.utbot.fuzzing.Feedback -import org.utbot.fuzzing.utils.Trie - -sealed interface JsFuzzingExecutionFeedback -class JsValidExecution(val utFuzzedExecution: JsUtFuzzedExecution) : JsFuzzingExecutionFeedback - -class JsTimeoutExecution(val utTimeout: UtTimeoutException) : JsFuzzingExecutionFeedback - -class JsMethodDescription( - val name: String, - parameters: List, - val concreteValues: Collection, - val thisInstance: JsClassId? = null, - val tracer: Trie -) : Description(parameters) { - - constructor( - name: String, - parameters: List, - classId: JsClassId, - concreteValues: Collection, - tracer: Trie - ) : this( - name, - if (classId.isClass) listOf(classId) + parameters else parameters, - concreteValues, - classId.takeIf { it.isClass }, - tracer - ) -} - -data class JsFeedback( - override val control: Control = Control.CONTINUE, - val result: Trie.Node = Trie.emptyNode() -) : Feedback - -data class JsStatement( - val number: Int -) - -data class JsFuzzedConcreteValue( - val classId: ClassId, - val value: Any, - val fuzzedContext: JsFuzzedContext = JsFuzzedContext.Unknown, -) - -enum class JsFuzzedContext { - EQ, - NE, - GT, - GE, - LT, - LE, - Unknown; - - fun reverse(): JsFuzzedContext = when (this) { - EQ -> NE - NE -> EQ - GT -> LE - LT -> GE - LE -> GT - GE -> LT - Unknown -> Unknown - } -} - -object JsIdProvider { - private var id = AtomicInteger(0) - - fun createId() = id.incrementAndGet() -} diff --git a/utbot-js/src/main/kotlin/fuzzer/JsFuzzing.kt b/utbot-js/src/main/kotlin/fuzzer/JsFuzzing.kt deleted file mode 100644 index c9953083..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/JsFuzzing.kt +++ /dev/null @@ -1,48 +0,0 @@ -package fuzzer - -import framework.api.js.JsClassId -import fuzzer.providers.ArrayValueProvider -import fuzzer.providers.BoolValueProvider -import fuzzer.providers.MapValueProvider -import fuzzer.providers.NumberValueProvider -import fuzzer.providers.ObjectValueProvider -import fuzzer.providers.SetValueProvider -import fuzzer.providers.StringValueProvider -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Fuzzing -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.fuzz - -fun defaultValueProviders() = listOf( - BoolValueProvider, - NumberValueProvider, - StringValueProvider, - MapValueProvider, - SetValueProvider, - ObjectValueProvider(), - ArrayValueProvider() -) - -class JsFuzzing( - val exec: suspend (JsMethodDescription, List) -> JsFeedback -) : Fuzzing { - - override fun generate(description: JsMethodDescription, type: JsClassId): Sequence> { - return defaultValueProviders().asSequence().flatMap { provider -> - if (provider.accept(type)) { - provider.generate(description, type) - } else { - emptySequence() - } - } - } - - override suspend fun handle(description: JsMethodDescription, values: List): JsFeedback { - return exec(description, values) - } -} - -suspend fun runFuzzing( - description: JsMethodDescription, - exec: suspend (JsMethodDescription, List) -> JsFeedback -) = JsFuzzing(exec).fuzz(description) diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/ArrayValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/ArrayValueProvider.kt deleted file mode 100644 index ab966c29..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/ArrayValueProvider.kt +++ /dev/null @@ -1,38 +0,0 @@ -package fuzzer.providers - -import framework.api.js.JsClassId -import framework.api.js.util.defaultJsValueModel -import framework.api.js.util.isJsArray -import fuzzer.JsIdProvider -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider - -class ArrayValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean = type.isJsArray - - override fun generate( - description: JsMethodDescription, - type: JsClassId - ) = sequence> { - yield( - Seed.Collection( - construct = Routine.Collection { - UtArrayModel( - id = JsIdProvider.createId(), - classId = type, - length = it, - constModel = (type.elementClassId!! as JsClassId).defaultJsValueModel(), - stores = hashMapOf(), - ) - }, - modify = Routine.ForEach(listOf(type.elementClassId!! as JsClassId)) { self, i, values -> - (self as UtArrayModel).stores[i] = values.first() - } - )) - } -} diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/BoolValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/BoolValueProvider.kt deleted file mode 100644 index 87031b65..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/BoolValueProvider.kt +++ /dev/null @@ -1,27 +0,0 @@ -package fuzzer.providers - -import framework.api.js.JsClassId -import framework.api.js.JsPrimitiveModel -import framework.api.js.util.isJsBasic -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.seeds.Bool - -object BoolValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean { - return type.isJsBasic - } - - override fun generate(description: JsMethodDescription, type: JsClassId): Sequence> = - sequence { - yield(Seed.Known(Bool.TRUE()) { - JsPrimitiveModel(true) - }) - yield(Seed.Known(Bool.FALSE()) { - JsPrimitiveModel(false) - }) - } -} diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/MapValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/MapValueProvider.kt deleted file mode 100644 index 79122fa6..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/MapValueProvider.kt +++ /dev/null @@ -1,58 +0,0 @@ -package fuzzer.providers - - -import framework.api.js.JsClassId -import framework.api.js.JsMethodId -import framework.api.js.util.isJsMap -import framework.api.js.util.jsUndefinedClassId -import fuzzer.JsIdProvider -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider - -object MapValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean = type.isJsMap - - override fun generate( - description: JsMethodDescription, - type: JsClassId - ) = sequence> { - yield( - Seed.Collection( - construct = Routine.Collection { - UtAssembleModel( - id = JsIdProvider.createId(), - classId = type, - modelName = "", - instantiationCall = UtExecutableCallModel( - null, - ConstructorId(type, emptyList()), - emptyList() - ), - modificationsChainProvider = { mutableListOf() } - ) - }, - modify = Routine.ForEach(listOf(jsUndefinedClassId, jsUndefinedClassId)) { self, _, values -> - val model = self as UtAssembleModel - model.modificationsChain as MutableList += - UtExecutableCallModel( - model, - JsMethodId( - classId = type, - name = "set", - returnTypeNotLazy = jsUndefinedClassId, - parametersNotLazy = listOf(jsUndefinedClassId, jsUndefinedClassId) - ), - values - ) - } - ) - ) - } -} diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/NumberValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/NumberValueProvider.kt deleted file mode 100644 index b82f06bd..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/NumberValueProvider.kt +++ /dev/null @@ -1,46 +0,0 @@ -package fuzzer.providers - -import framework.api.js.JsClassId -import framework.api.js.JsPrimitiveModel -import framework.api.js.util.isJsBasic -import fuzzer.JsFuzzedContext.EQ -import fuzzer.JsFuzzedContext.GE -import fuzzer.JsFuzzedContext.GT -import fuzzer.JsFuzzedContext.LE -import fuzzer.JsFuzzedContext.LT -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.seeds.DefaultFloatBound -import org.utbot.fuzzing.seeds.IEEE754Value - -object NumberValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean { - return type.isJsBasic - } - - override fun generate(description: JsMethodDescription, type: JsClassId): Sequence> = - sequence { - description.concreteValues.forEach { (_, v, c) -> - if (v is Double) { - val balance = when (c) { - EQ, LE, GT -> 1 - LT, GE -> -1 - else -> 0 - } - - yield(Seed.Known(IEEE754Value.fromValue(v)) { known -> - JsPrimitiveModel(known.toDouble() + balance) - }) - } - } - DefaultFloatBound.values().forEach { bound -> - // All numbers in JavaScript are like Double in Java/Kotlin - yield(Seed.Known(bound(52, 11)) { known -> - JsPrimitiveModel(known.toDouble()) - }) - } - } -} diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/ObjectValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/ObjectValueProvider.kt deleted file mode 100644 index 73706548..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/ObjectValueProvider.kt +++ /dev/null @@ -1,58 +0,0 @@ -package fuzzer.providers - -import framework.api.js.JsClassId -import framework.api.js.JsConstructorId -import framework.api.js.util.isClass -import fuzzer.JsIdProvider -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNullModel - - -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.utils.hex - -class ObjectValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean { - return type.isClass - } - - override fun generate( - description: JsMethodDescription, - type: JsClassId - ) = sequence { - val constructor = type.constructor ?: JsConstructorId(type, emptyList()) - yield(createValue(type, constructor)) - } - - private fun createValue( - classId: JsClassId, - constructorId: JsConstructorId - ): Seed.Recursive { - return Seed.Recursive( - construct = Routine.Create(constructorId.parameters) { values -> - val id = JsIdProvider.createId() - UtAssembleModel( - id = id, - classId = classId, - modelName = "${constructorId.classId.name}${constructorId.parameters}#" + id.hex(), - instantiationCall = UtExecutableCallModel( - null, - constructorId, - values - ), - modificationsChainProvider = { mutableListOf() } - ) - }, - modify = emptySequence(), - empty = Routine.Empty { - UtNullModel(classId) - } - ) - } -} diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/SetValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/SetValueProvider.kt deleted file mode 100644 index 6991518c..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/SetValueProvider.kt +++ /dev/null @@ -1,57 +0,0 @@ -package fuzzer.providers - -import framework.api.js.JsClassId -import framework.api.js.JsMethodId -import framework.api.js.util.isJsSet -import framework.api.js.util.jsUndefinedClassId -import fuzzer.JsIdProvider -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.ConstructorId -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Routine -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider - -object SetValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean = type.isJsSet - - override fun generate( - description: JsMethodDescription, - type: JsClassId - ) = sequence> { - yield( - Seed.Collection( - construct = Routine.Collection { - UtAssembleModel( - id = JsIdProvider.createId(), - classId = type, - modelName = "", - instantiationCall = UtExecutableCallModel( - null, - ConstructorId(type, emptyList()), - emptyList() - ), - modificationsChainProvider = { mutableListOf() } - ) - }, - modify = Routine.ForEach(listOf(jsUndefinedClassId)) { self, _, values -> - val model = self as UtAssembleModel - model.modificationsChain as MutableList += - UtExecutableCallModel( - model, - JsMethodId( - classId = type, - name = "add", - returnTypeNotLazy = jsUndefinedClassId, - parametersNotLazy = listOf(jsUndefinedClassId) - ), - values - ) - } - ) - ) - } -} diff --git a/utbot-js/src/main/kotlin/fuzzer/providers/StringValueProvider.kt b/utbot-js/src/main/kotlin/fuzzer/providers/StringValueProvider.kt deleted file mode 100644 index a885c9b9..00000000 --- a/utbot-js/src/main/kotlin/fuzzer/providers/StringValueProvider.kt +++ /dev/null @@ -1,34 +0,0 @@ -package fuzzer.providers - -import framework.api.js.JsClassId -import framework.api.js.JsPrimitiveModel -import framework.api.js.util.isJsBasic -import framework.api.js.util.jsStringClassId -import fuzzer.JsMethodDescription -import org.utbot.framework.plugin.api.UtModel -import org.utbot.fuzzing.Seed -import org.utbot.fuzzing.ValueProvider -import org.utbot.fuzzing.seeds.StringValue - -object StringValueProvider : ValueProvider { - - override fun accept(type: JsClassId): Boolean { - return type.isJsBasic - } - - override fun generate( - description: JsMethodDescription, - type: JsClassId - ): Sequence> = sequence { - val constants = description.concreteValues.asSequence() - .filter { it.classId == jsStringClassId } - val values = constants - .mapNotNull { it.value as? String } + - sequenceOf("", "abc", "\n\t\n") - values.forEach { value -> - yield(Seed.Known(StringValue(value)) { known -> - JsPrimitiveModel(known.value) - }) - } - } -} diff --git a/utbot-js/src/main/kotlin/parser/IAstVisitor.kt b/utbot-js/src/main/kotlin/parser/IAstVisitor.kt deleted file mode 100644 index 1d8bcf64..00000000 --- a/utbot-js/src/main/kotlin/parser/IAstVisitor.kt +++ /dev/null @@ -1,8 +0,0 @@ -package parser - -import com.google.javascript.rhino.Node - -interface IAstVisitor { - - fun accept(rootNode: Node) -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/parser/JsAstScrapper.kt b/utbot-js/src/main/kotlin/parser/JsAstScrapper.kt deleted file mode 100644 index a22b232c..00000000 --- a/utbot-js/src/main/kotlin/parser/JsAstScrapper.kt +++ /dev/null @@ -1,149 +0,0 @@ -package parser - -import com.google.javascript.jscomp.Compiler -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.jscomp.SourceFile -import com.google.javascript.rhino.Node -import java.io.File -import java.nio.file.Paths -import mu.KotlinLogging -import parser.JsParserUtils.getAbstractFunctionName -import parser.JsParserUtils.getClassMethods -import parser.JsParserUtils.getImportSpecAliases -import parser.JsParserUtils.getImportSpecName -import parser.JsParserUtils.getModuleImportSpecsAsList -import parser.JsParserUtils.getModuleImportText -import parser.JsParserUtils.getRequireImportText -import parser.JsParserUtils.isRequireImport -import kotlin.io.path.pathString - -private val logger = KotlinLogging.logger {} - -class JsAstScrapper( - private val parsedFile: Node, - private val basePath: String, -) { - - // Used not to parse the same file multiple times. - private val _parsedFilesCache = mutableMapOf() - private val _filesToInfer: MutableList = mutableListOf(basePath) - val filesToInfer: List - get() = _filesToInfer.toList() - private val _importsMap = mutableMapOf() - val importsMap: Map - get() = _importsMap.toMap() - - init { - _importsMap.apply { - val visitor = Visitor() - visitor.accept(parsedFile) - val res = visitor.importNodes.fold(emptyMap()) { acc, node -> - val currAcc = acc.toList().toTypedArray() - val more = node.importedNodes().toList().toTypedArray() - mapOf(*currAcc, *more) - } - this.putAll(res) - this.toMap() - } - } - - fun findFunction(key: String, file: Node): Node? { - if (_importsMap[key]?.isFunction == true) return _importsMap[key] - val functionVisitor = JsFunctionAstVisitor(key, null) - functionVisitor.accept(file) - return try { - functionVisitor.targetFunctionNode - } catch (e: Exception) { null } - } - - fun findClass(key: String, file: Node): Node? { - if (_importsMap[key]?.isClass == true) return _importsMap[key] - val classVisitor = JsClassAstVisitor(key) - classVisitor.accept(file) - return try { - classVisitor.targetClassNode - } catch (e: Exception) { null } - } - - fun findMethod(classKey: String, methodKey: String, file: Node): Node? { - val classNode = findClass(classKey, file) - return classNode?.getClassMethods()?.find { it.getAbstractFunctionName() == methodKey } - } - - private fun File.parseIfNecessary(): Node = - _parsedFilesCache.getOrPut(this.path) { - _filesToInfer += this.path.replace("\\", "/") - Compiler().parse(SourceFile.fromCode(this.path, readText())) - } - - private fun Node.importedNodes(): Map { - return when { - this.isRequireImport() -> mapOf( - this.parent!!.string to (makePathFromImport(this.getRequireImportText())?.let { - File(it).parseIfNecessary().findEntityInFile(null) - // Workaround for std imports. - } ?: this.firstChild!!.next!!) - ) - this.isImport -> this.processModuleImport() - else -> emptyMap() - } - } - - private fun Node.processModuleImport(): Map { - try { - val pathToFile = makePathFromImport(this.getModuleImportText()) ?: return emptyMap() - val pFile = File(pathToFile).parseIfNecessary() - return when { - NodeUtil.findPreorder(this, { it.isImportSpecs }, { true }) != null -> { - this.getModuleImportSpecsAsList().associate { spec -> - val realName = spec.getImportSpecName() - val aliases = spec.getImportSpecAliases() - aliases to pFile.findEntityInFile(realName) - } - } - NodeUtil.findPreorder(this, { it.isImportStar }, { true }) != null -> { - val aliases = this.getImportSpecAliases() - mapOf(aliases to pFile) - } - // For example: import foo from "bar" - else -> { - val realName = this.getImportSpecName() - mapOf(realName to pFile.findEntityInFile(realName)) - } - } - } catch (e: Exception) { - logger.error { e.toString() } - return emptyMap() - } - } - - private fun makePathFromImport(importText: String): String? { - val relPath = importText + if (importText.endsWith(".js")) "" else ".js" - // If import text doesn't contain "/", then it is NodeJS stdlib import. - if (!relPath.contains("/")) return null - return Paths.get(File(basePath).parent).resolve(Paths.get(relPath)).pathString - } - - private fun Node.findEntityInFile(key: String?): Node { - return key?.let { k -> - findClass(k, this) - ?: findFunction(k, this) - ?: throw ClassNotFoundException("Could not locate entity $k in ${this.sourceFileName}") - } ?: this - } - - private class Visitor: IAstVisitor { - - private val _importNodes = mutableListOf() - - val importNodes: List - get() = _importNodes.toList() - - // TODO: commented for release since features are incomplete - override fun accept(rootNode: Node) { -// NodeUtil.visitPreOrder(rootNode) { node -> -// if (node.isImport || node.isRequireImport()) _importNodes += node -// } - } - } -} diff --git a/utbot-js/src/main/kotlin/parser/JsClassAstVisitor.kt b/utbot-js/src/main/kotlin/parser/JsClassAstVisitor.kt deleted file mode 100644 index 925d9a22..00000000 --- a/utbot-js/src/main/kotlin/parser/JsClassAstVisitor.kt +++ /dev/null @@ -1,26 +0,0 @@ -package parser - -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.rhino.Node -import parser.JsParserUtils.getClassName - -class JsClassAstVisitor( - private val target: String? -): IAstVisitor { - - lateinit var targetClassNode: Node - lateinit var atLeastSomeClassNode: Node - var classNodesCount = 0 - - override fun accept(rootNode: Node) = - NodeUtil.visitPreOrder(rootNode) { - if (it.isClass) { - classNodesCount++ - atLeastSomeClassNode = it - if (it.getClassName() == target) { - targetClassNode = it - return@visitPreOrder - } - } - } -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/parser/JsFunctionAstVisitor.kt b/utbot-js/src/main/kotlin/parser/JsFunctionAstVisitor.kt deleted file mode 100644 index 0ded81e3..00000000 --- a/utbot-js/src/main/kotlin/parser/JsFunctionAstVisitor.kt +++ /dev/null @@ -1,40 +0,0 @@ -package parser - -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.rhino.Node -import parser.JsParserUtils.getAbstractFunctionName -import parser.JsParserUtils.getClassName - -class JsFunctionAstVisitor( - private val target: String, - private val className: String? -): IAstVisitor { - - lateinit var targetFunctionNode: Node - - override fun accept(rootNode: Node) { - NodeUtil.visitPreOrder(rootNode) { node -> - when { - node.isMemberFunctionDef -> { - val name = node.getAbstractFunctionName() - if ( - name == target && - (node.parent?.parent?.getClassName() - ?: throw IllegalStateException("Method AST node has no parent class node")) == className - ) { - targetFunctionNode = node - return@visitPreOrder - } - } - - node.isFunction -> { - val name = node.getAbstractFunctionName() - if (name == target && className == null && node.parent?.isMemberFunctionDef != true) { - targetFunctionNode = node - return@visitPreOrder - } - } - } - } - } -} diff --git a/utbot-js/src/main/kotlin/parser/JsFuzzerAstVisitor.kt b/utbot-js/src/main/kotlin/parser/JsFuzzerAstVisitor.kt deleted file mode 100644 index 463edcfb..00000000 --- a/utbot-js/src/main/kotlin/parser/JsFuzzerAstVisitor.kt +++ /dev/null @@ -1,68 +0,0 @@ -package parser - - -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.rhino.Node -import framework.api.js.util.jsBooleanClassId -import framework.api.js.util.jsDoubleClassId -import framework.api.js.util.jsStringClassId -import fuzzer.JsFuzzedConcreteValue -import fuzzer.JsFuzzedContext -import parser.JsParserUtils.getAnyValue -import parser.JsParserUtils.getBinaryExprLeftOperand -import parser.JsParserUtils.getBinaryExprRightOperand -import parser.JsParserUtils.toFuzzedContextComparisonOrNull - -class JsFuzzerAstVisitor : IAstVisitor { - - private var lastFuzzedOpGlobal: JsFuzzedContext = JsFuzzedContext.Unknown - val fuzzedConcreteValues = mutableSetOf() - - override fun accept(rootNode: Node) { - NodeUtil.visitPreOrder(rootNode) { node -> - val currentFuzzedOp = node.toFuzzedContextComparisonOrNull() - when { - node.isCase -> validateNode(node.firstChild?.getAnyValue(), JsFuzzedContext.NE) - node.isCall -> { - validateNode(node.getAnyValue(), JsFuzzedContext.NE) - } - - currentFuzzedOp != null -> { - lastFuzzedOpGlobal = currentFuzzedOp - validateNode(node.getBinaryExprLeftOperand().getAnyValue(), lastFuzzedOpGlobal) - lastFuzzedOpGlobal = lastFuzzedOpGlobal.reverse() - validateNode(node.getBinaryExprRightOperand().getAnyValue(), lastFuzzedOpGlobal) - } - } - } - - } - - private fun validateNode(value: Any?, fuzzedOp: JsFuzzedContext) { - when (value) { - is String -> { - fuzzedConcreteValues.add( - JsFuzzedConcreteValue( - jsStringClassId, - value.toString(), - fuzzedOp - ) - ) - } - - is Boolean -> { - fuzzedConcreteValues.add( - JsFuzzedConcreteValue( - jsBooleanClassId, - value, - fuzzedOp - ) - ) - } - - is Double -> { - fuzzedConcreteValues.add(JsFuzzedConcreteValue(jsDoubleClassId, value, fuzzedOp)) - } - } - } -} diff --git a/utbot-js/src/main/kotlin/parser/JsParserUtils.kt b/utbot-js/src/main/kotlin/parser/JsParserUtils.kt deleted file mode 100644 index e1d1df23..00000000 --- a/utbot-js/src/main/kotlin/parser/JsParserUtils.kt +++ /dev/null @@ -1,209 +0,0 @@ -package parser - -import com.google.javascript.jscomp.Compiler -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.jscomp.SourceFile -import com.google.javascript.rhino.Node -import fuzzer.JsFuzzedContext -import parser.JsParserUtils.getMethodName - -// TODO: make methods more safe by checking the Node method is called on. -// Used for .children() calls. -@Suppress("DEPRECATION") -object JsParserUtils { - - fun runParser(fileText: String): Node = - Compiler().parse(SourceFile.fromCode("jsFile", fileText)) - - // TODO SEVERE: function only works in the same file scope. Add search in exports. - fun searchForClassDecl(className: String?, parsedFile: Node, strict: Boolean = false): Node? { - val visitor = JsClassAstVisitor(className) - visitor.accept(parsedFile) - return try { - visitor.targetClassNode - } catch (e: Exception) { - if (!strict && visitor.classNodesCount == 1) { - visitor.atLeastSomeClassNode - } else null - } - } - - /** - * Called upon node with Class token. - */ - fun Node.getClassName(): String = - this.firstChild?.string ?: throw IllegalStateException("Class AST node has no children") - - /** - * Called upon node with Method token. - */ - private fun Node.getMethodName(): String = this.string - - /** - * Called upon node with Function token. - */ - private fun Node.getFunctionName(): String = - this.firstChild?.string ?: throw IllegalStateException("Function AST node has no children") - - /** - * Called upon node with Parameter token. - */ - fun Node.getParamName(): String = this.string - - /** - * Convenience method. Used as a wrapper for [getFunctionName] and [getMethodName] - * functions when the type of function is unknown. - */ - fun Node.getAbstractFunctionName(): String = when { - this.isMemberFunctionDef -> this.getMethodName() - this.isFunction -> this.getFunctionName() - else -> throw IllegalStateException() - } - - /** - * Called upon node with any kind of literal value token. - */ - fun Node.getAnyValue(): Any? = when { - this.isNumber -> this.double - this.isString -> this.string - this.isTrue -> true - this.isFalse -> false - this.isCall -> { - if (this.firstChild?.isGetProp == true) { - this.firstChild?.next?.getAnyValue() - } else null - } - - else -> null - } - - // For some reason Closure Compiler doesn't contain a built-in method - // to check for some tokens. - /** - * Called upon node with any kind of binary comparison token. - */ - fun Node.toFuzzedContextComparisonOrNull(): JsFuzzedContext? = when { - this.isEQ -> JsFuzzedContext.EQ - this.isNE -> JsFuzzedContext.NE - this.token.name == "LT" -> JsFuzzedContext.LT - this.token.name == "GT" -> JsFuzzedContext.GT - this.token.name == "LE" -> JsFuzzedContext.LE - this.token.name == "GE" -> JsFuzzedContext.GE - this.token.name == "SHEQ" -> JsFuzzedContext.EQ - else -> null - } - - /** - * Called upon node with any kind of binary comparison token. - */ - fun Node.getBinaryExprLeftOperand(): Node = this.getChildAtIndex(0) - - /** - * Called upon node with any kind of binary comparison token. - */ - fun Node.getBinaryExprRightOperand(): Node = this.getChildAtIndex(1) - - /** - * Called upon node with Function token. - */ - private fun Node.getFunctionParams(): List = this.getChildAtIndex(1).children().map { it } - - /** - * Called upon node with Method token. - */ - private fun Node.getMethodParams(): List = - this.firstChild?.getFunctionParams() ?: throw IllegalStateException("Method AST node has no children") - - /** - * Convenience method. Used as a wrapper for [getFunctionParams] and [getMethodParams] - * function when the type of function is unknown. - */ - fun Node.getAbstractFunctionParams(): List = when { - this.isMemberFunctionDef -> getMethodParams() - this.isFunction -> getFunctionParams() - else -> throw IllegalStateException() - } - - /** - * Called upon node with Class token. - */ - fun Node.getClassMethods(): List { - val classMembers = this.children().find { it.isClassMembers } - ?: throw IllegalStateException("Can't extract class members of class ${this.getClassName()}") - return classMembers.children().filter { it.isMemberFunctionDef } - - } - - /** - * Called upon node with Class token. - * - * Returns null if class has no constructor. - */ - fun Node.getConstructor(): Node? { - val classMembers = this.children().find { it.isClassMembers } - ?: throw IllegalStateException("Can't extract methods of class ${this.getClassName()}") - return classMembers.children().find { - it.isMemberFunctionDef && it.getMethodName() == "constructor" - }?.firstChild - } - - /** - * Called upon node with Method token. - */ - fun Node.isStatic(): Boolean = this.isStaticMember - - /** - * Checks if node is "require" JavaScript import. - */ - fun Node.isRequireImport(): Boolean = try { - this.isCall && this.firstChild?.string == "require" - } catch (e: ClassCastException) { - false - } - - /** - * Called upon "require" JavaScript import. - * - * Returns path to imported file as [String]. - */ - fun Node.getRequireImportText(): String = this.firstChild!!.next!!.string - - /** - * Called upon "import" JavaScript import. - * - * Returns path to imported file as [String]. - */ - fun Node.getModuleImportText(): String = this.firstChild!!.next!!.next!!.string - - /** - * Called upon "import" JavaScript import. - * - * Returns imported objects as [List]. - */ - fun Node.getModuleImportSpecsAsList(): List { - val importSpecsNode = NodeUtil.findPreorder(this, { it.isImportSpecs }, { true }) - ?: throw UnsupportedOperationException("Module import doesn't contain \"import_specs\" token as an AST child") - var currNode: Node? = importSpecsNode.firstChild!! - val importSpecsList = mutableListOf() - do { - importSpecsList += currNode!! - currNode = currNode?.next - } while (currNode?.isImportSpec == true) - return importSpecsList - } - - /** - * Called upon IMPORT_SPEC Node. - * - * Returns name of imported object as [String]. - */ - fun Node.getImportSpecName(): String = this.firstChild!!.string - - /** - * Called upon IMPORT_SPEC Node. - * - * Returns import alias as [String]. - */ - fun Node.getImportSpecAliases(): String = this.firstChild!!.next!!.string - -} diff --git a/utbot-js/src/main/kotlin/parser/JsToplevelFunctionAstVisitor.kt b/utbot-js/src/main/kotlin/parser/JsToplevelFunctionAstVisitor.kt deleted file mode 100644 index 92e32d3b..00000000 --- a/utbot-js/src/main/kotlin/parser/JsToplevelFunctionAstVisitor.kt +++ /dev/null @@ -1,18 +0,0 @@ -package parser - -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.rhino.Node - -class JsToplevelFunctionAstVisitor : IAstVisitor { - - val extractedMethods = mutableListOf() - - - override fun accept(rootNode: Node) { - NodeUtil.visitPreOrder(rootNode) { node -> - when { - node.isFunction && !(node.parent?.isMemberFunctionDef ?: true) -> extractedMethods += node - } - } - } -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/providers/exports/IExportsProvider.kt b/utbot-js/src/main/kotlin/providers/exports/IExportsProvider.kt deleted file mode 100644 index 895b0a8c..00000000 --- a/utbot-js/src/main/kotlin/providers/exports/IExportsProvider.kt +++ /dev/null @@ -1,25 +0,0 @@ -package providers.exports - -import service.PackageJson - -interface IExportsProvider { - - val exportsRegex: Regex - - val exportsDelimiter: String - - fun getExportsFrame(exportString: String): String - - val exportsPrefix: String - - val exportsPostfix: String - - fun instrumentationFunExport(funName: String): String - - companion object { - fun providerByPackageJson(packageJson: PackageJson): IExportsProvider = when (packageJson.isModule) { - true -> ModuleExportsProvider() - else -> RequireExportsProvider() - } - } -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/providers/exports/ModuleExportsProvider.kt b/utbot-js/src/main/kotlin/providers/exports/ModuleExportsProvider.kt deleted file mode 100644 index 77fae0fc..00000000 --- a/utbot-js/src/main/kotlin/providers/exports/ModuleExportsProvider.kt +++ /dev/null @@ -1,16 +0,0 @@ -package providers.exports - -class ModuleExportsProvider : IExportsProvider { - - override val exportsDelimiter: String = "," - - override val exportsPostfix: String = "}\n" - - override val exportsPrefix: String = "\nexport {" - - override val exportsRegex: Regex = Regex("(.*)") - - override fun getExportsFrame(exportString: String): String = exportString - - override fun instrumentationFunExport(funName: String): String = "\nexport {$funName}" -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/providers/exports/RequireExportsProvider.kt b/utbot-js/src/main/kotlin/providers/exports/RequireExportsProvider.kt deleted file mode 100644 index 644744bd..00000000 --- a/utbot-js/src/main/kotlin/providers/exports/RequireExportsProvider.kt +++ /dev/null @@ -1,16 +0,0 @@ -package providers.exports - -class RequireExportsProvider : IExportsProvider { - - override val exportsDelimiter: String = "\n" - - override val exportsPostfix: String = "\n" - - override val exportsPrefix: String = "\n" - - override val exportsRegex: Regex = Regex("exports[.](.*) =") - - override fun getExportsFrame(exportString: String): String = "exports.$exportString = $exportString" - - override fun instrumentationFunExport(funName: String): String = "\nexports.$funName = $funName" -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/providers/imports/IImportsProvider.kt b/utbot-js/src/main/kotlin/providers/imports/IImportsProvider.kt deleted file mode 100644 index c2b821a9..00000000 --- a/utbot-js/src/main/kotlin/providers/imports/IImportsProvider.kt +++ /dev/null @@ -1,18 +0,0 @@ -package providers.imports - -import service.PackageJson -import service.ServiceContext - -interface IImportsProvider { - - val ternScriptImports: String - - val tempFileImports: String - - companion object { - fun providerByPackageJson(packageJson: PackageJson, context: ServiceContext): IImportsProvider = when (packageJson.isModule) { - true -> ModuleImportsProvider(context) - else -> RequireImportsProvider(context) - } - } -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/providers/imports/ModuleImportsProvider.kt b/utbot-js/src/main/kotlin/providers/imports/ModuleImportsProvider.kt deleted file mode 100644 index 7d1aa55c..00000000 --- a/utbot-js/src/main/kotlin/providers/imports/ModuleImportsProvider.kt +++ /dev/null @@ -1,22 +0,0 @@ -package providers.imports - -import service.ContextOwner -import service.ServiceContext -import settings.JsTestGenerationSettings.fileUnderTestAliases - -class ModuleImportsProvider(context: ServiceContext) : IImportsProvider, ContextOwner by context { - - override val ternScriptImports: String = buildString { - appendLine("import * as tern from \"tern/lib/tern.js\"") - appendLine("import * as condense from \"tern/lib/condense.js\"") - appendLine("import * as util from \"tern/test/util.js\"") - appendLine("import * as fs from \"fs\"") - appendLine("import * as path from \"path\"") - } - - override val tempFileImports: String = buildString { - val importFileUnderTest = "./instr/${filePathToInference.first().substringAfterLast("/")}" - appendLine("import * as $fileUnderTestAliases from \"$importFileUnderTest\"") - appendLine("import * as fs from \"fs\"") - } -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/providers/imports/RequireImportsProvider.kt b/utbot-js/src/main/kotlin/providers/imports/RequireImportsProvider.kt deleted file mode 100644 index d653b2b0..00000000 --- a/utbot-js/src/main/kotlin/providers/imports/RequireImportsProvider.kt +++ /dev/null @@ -1,23 +0,0 @@ -package providers.imports - -import service.ContextOwner -import service.ServiceContext -import settings.JsTestGenerationSettings.fileUnderTestAliases - -class RequireImportsProvider(context: ServiceContext) : IImportsProvider, ContextOwner by context { - - override val ternScriptImports: String = buildString { - appendLine("const tern = require(\"tern/lib/tern\")") - appendLine("const condense = require(\"tern/lib/condense.js\")") - appendLine("const util = require(\"tern/test/util.js\")") - appendLine("const fs = require(\"fs\")") - appendLine("const path = require(\"path\")") - } - - override val tempFileImports: String = buildString { - val importFileUnderTest = "instr/${filePathToInference.first().substringAfterLast("/")}" - appendLine("const $fileUnderTestAliases = require(\"./$importFileUnderTest\")") - appendLine("const fs = require(\"fs\")\n") - } - -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/service/InstrumentationService.kt b/utbot-js/src/main/kotlin/service/InstrumentationService.kt deleted file mode 100644 index 71031359..00000000 --- a/utbot-js/src/main/kotlin/service/InstrumentationService.kt +++ /dev/null @@ -1,194 +0,0 @@ -package service - -import com.google.javascript.jscomp.CodePrinter -import com.google.javascript.jscomp.NodeUtil -import com.google.javascript.rhino.Node -import java.io.File -import java.nio.file.Paths -import org.apache.commons.io.FileUtils -import parser.JsFunctionAstVisitor -import parser.JsParserUtils.getAnyValue -import parser.JsParserUtils.getModuleImportText -import parser.JsParserUtils.getRequireImportText -import parser.JsParserUtils.isRequireImport -import parser.JsParserUtils.runParser -import providers.exports.IExportsProvider -import utils.JsCmdExec -import utils.PathResolver.getRelativePath -import kotlin.io.path.pathString -import kotlin.math.roundToInt - -class InstrumentationService(context: ServiceContext, private val funcDeclOffset: Pair) : - ContextOwner by context { - - private val destinationFolderPath = "${projectPath}/${utbotDir}/instr" - private val instrumentedFilePath = "$destinationFolderPath/${filePathToInference.first().substringAfterLast("/")}" - private lateinit var parsedInstrFile: Node - lateinit var covFunName: String - - val allStatements: Set - get() = getStatementMapKeys() - - private data class Location( - val start: Pair, - val end: Pair - ) - - - /* - Extension functions below are used to parse instrumented file's block that looks like this: - - fnMap: { - "0": { - name: "testFunction", - decl: {start: {line: 4, column: 9}, end: {line: 4, column: 12}}, - loc: {start: {line: 4, column: 20}, end: {line: 9, column: 1}}, - line: 4 - } - } - - Node.getObjectFirstKey() returns "0" Node if called on "fnMap" Node. - Node.getObjectField("loc") returns loc Node if called on "0" Node. - Node.getObjectValue() returns 4 if called on any "line" Node. - Node.getObjectLocation("decl") returns Location class ((4, 9), (4, 12)) if called on "0" Node. - */ - private fun Node.getObjectFirstKey(): Node = this.firstFirstChild - ?: throw IllegalStateException("Node doesn't have child of child") - - private fun Node.getObjectField(fieldName: String): Node? { - var fieldNode: Node? = this.getObjectFirstKey() - do { - if (fieldNode?.string == fieldName) return fieldNode - fieldNode = fieldNode?.next - } while (fieldNode != null) - return null - } - - private fun Node.getObjectValue(): Any = this.firstChild?.getAnyValue() - ?: throw IllegalStateException("Can't get Node's simple value") - - private fun Node.getObjectLocation(locKey: String?): Location { - val generalField = locKey?.let { this.getObjectField(it) } ?: this - val startField = generalField.getObjectFirstKey() - val endField = startField.next!! - return Location( - startField.getLineValue() to startField.getColumnValue(), - endField.getLineValue() to endField.getColumnValue() - ) - } - - private fun Node.getLineValue(): Int = this.getObjectFirstKey().getObjectValue() - .toString() - .toFloat() - .roundToInt() - - private fun Node.getColumnValue(): Int = this.getObjectFirstKey().next!! - .getObjectValue() - .toString() - .toFloat() - .roundToInt() - - private fun Node.findAndIterateOver(key: String, func: (Node?) -> Unit) { - NodeUtil.visitPreOrder(this) { node -> - if (node.isStringKey && node.string == key) { - var currKey: Node? = node.firstChild!!.firstChild!! - do { - func(currKey) - currKey = currKey?.next - } while (currKey != null) - return@visitPreOrder - } - } - } - - private fun getStatementMapKeys() = buildSet { - val funcVisitor = JsFunctionAstVisitor(covFunName, null) - funcVisitor.accept(parsedInstrFile) - val funcNode = funcVisitor.targetFunctionNode - val funcLocation = getFuncLocation(funcNode) - funcNode.findAndIterateOver("statementMap") { currKey -> - operator fun Pair.compareTo(other: Pair): Int = - when { - this.first < other.first || (this.first == other.first && this.second <= other.second) -> -1 - this.first > other.first || (this.first == other.first && this.second >= other.second) -> 1 - else -> 0 - } - - val stmtLocation = currKey!!.getObjectLocation(null) - if (funcLocation.start < stmtLocation.start && funcLocation.end > stmtLocation.end) - add(currKey.string.toInt()) - } - } - - private fun getFuncLocation(covFuncNode: Node): Location { - var result = Location(0 to 0, Int.MAX_VALUE to Int.MAX_VALUE) - covFuncNode.findAndIterateOver("fnMap") { currKey -> - val declLocation = currKey!!.getObjectLocation("decl") - if (funcDeclOffset == declLocation.start) { - result = currKey.getObjectLocation("loc") - return@findAndIterateOver - } - } - return result - } - - fun instrument() { - val fileName = filePathToInference.first().substringAfterLast("/") - - JsCmdExec.runCommand( - cmd = arrayOf(settings.pathToNYC, "instrument", fileName, destinationFolderPath), - dir = filePathToInference.first().substringBeforeLast("/"), - shouldWait = true, - timeout = settings.timeout, - ) - val instrumentedFileText = File(instrumentedFilePath).readText() - parsedInstrFile = runParser(instrumentedFileText) - val covFunRegex = Regex("function (cov_.*)\\(\\).*") - val funName = covFunRegex.find(instrumentedFileText.takeWhile { it != '{' })?.groups?.get(1)?.value - ?: throw IllegalStateException("") - val fixedFileText = fixImportsInInstrumentedFile() + - IExportsProvider.providerByPackageJson(packageJson).instrumentationFunExport(funName) - File(instrumentedFilePath).writeTextAndUpdate(fixedFileText) - - covFunName = funName - } - - private fun File.writeTextAndUpdate(newText: String) { - this.writeText(newText) - parsedInstrFile = runParser(File(instrumentedFilePath).readText()) - } - - private fun fixImportsInInstrumentedFile(): String { - // nyc poorly handles imports paths in file to instrument. Manual fix required. - NodeUtil.visitPreOrder(parsedInstrFile) { node -> - when { - node.isRequireImport() -> { - val currString = node.getRequireImportText() - val relPath = Paths.get( - getRelativePath( - "${projectPath}/${utbotDir}/instr", - File(filePathToInference.first()).parent - ) - ).resolve(currString).pathString.replace("\\", "/") - node.firstChild!!.next!!.string = relPath - } - node.isImport -> { - val currString = node.getModuleImportText() - val relPath = Paths.get( - getRelativePath( - "${projectPath}/${utbotDir}/instr", - File(filePathToInference.first()).parent - ) - ).resolve(currString).pathString.replace("\\", "/") - node.firstChild!!.next!!.next!!.string = relPath - } - } - } - return CodePrinter.Builder(parsedInstrFile).build() - } - - fun removeTempFiles() { - FileUtils.deleteDirectory(File("$projectPath/$utbotDir/instr")) - } - -} diff --git a/utbot-js/src/main/kotlin/service/PackageJsonService.kt b/utbot-js/src/main/kotlin/service/PackageJsonService.kt deleted file mode 100644 index 586a0daf..00000000 --- a/utbot-js/src/main/kotlin/service/PackageJsonService.kt +++ /dev/null @@ -1,42 +0,0 @@ -package service - -import java.io.File -import java.io.FilenameFilter -import org.json.JSONObject - -data class PackageJson( - val isModule: Boolean, - val deps: Set -) { - companion object { - val defaultConfig = PackageJson(false, emptySet()) - } -} - -class PackageJsonService( - private val filePathToInference: String, - private val projectDir: File -) { - - fun findClosestConfig(): PackageJson { - var currDir = File(filePathToInference) - do { - currDir = currDir.parentFile - val matchingFiles: Array = currDir.listFiles( - FilenameFilter { _, name -> - return@FilenameFilter name == "package.json" - } - ) ?: throw IllegalStateException("Error occurred while scanning file system") - if (matchingFiles.isNotEmpty()) return parseConfig(matchingFiles.first()) - } while (currDir != projectDir) - return PackageJson.defaultConfig - } - - private fun parseConfig(configFile: File): PackageJson { - val configAsJson = JSONObject(configFile.readText()) - return PackageJson( - isModule = configAsJson.optString("type") == "module", - deps = configAsJson.optJSONObject("dependencies")?.keySet() ?: emptySet() - ) - } -} diff --git a/utbot-js/src/main/kotlin/service/ServiceContext.kt b/utbot-js/src/main/kotlin/service/ServiceContext.kt deleted file mode 100644 index d30ccf1f..00000000 --- a/utbot-js/src/main/kotlin/service/ServiceContext.kt +++ /dev/null @@ -1,22 +0,0 @@ -package service - -import com.google.javascript.rhino.Node -import settings.JsDynamicSettings - -class ServiceContext( - override val utbotDir: String, - override val projectPath: String, - override val filePathToInference: List, - override val parsedFile: Node, - override val settings: JsDynamicSettings, - override var packageJson: PackageJson = PackageJson.defaultConfig -) : ContextOwner - -interface ContextOwner { - val utbotDir: String - val projectPath: String - val filePathToInference: List - val parsedFile: Node - val settings: JsDynamicSettings - var packageJson: PackageJson -} diff --git a/utbot-js/src/main/kotlin/service/TernService.kt b/utbot-js/src/main/kotlin/service/TernService.kt deleted file mode 100644 index fd215752..00000000 --- a/utbot-js/src/main/kotlin/service/TernService.kt +++ /dev/null @@ -1,190 +0,0 @@ -package service - -import com.google.javascript.rhino.Node -import framework.api.js.JsClassId -import framework.api.js.JsMultipleClassId -import framework.api.js.util.jsUndefinedClassId -import java.io.File -import org.json.JSONException -import org.json.JSONObject -import parser.JsParserUtils -import parser.JsParserUtils.getAbstractFunctionName -import parser.JsParserUtils.getAbstractFunctionParams -import parser.JsParserUtils.getClassName -import parser.JsParserUtils.getConstructor -import providers.imports.IImportsProvider -import utils.JsCmdExec -import utils.constructClass -import utils.data.MethodTypes - -/** - * Installs and sets up scripts for running Tern.js type guesser. - */ -class TernService(context: ServiceContext) : ContextOwner by context { - - private val importProvider = IImportsProvider.providerByPackageJson(packageJson, context) - - private fun ternScriptCode() = """ -${generateImportsSection()} - -var condenseDir = ""; - -function runTest(options) { - - var server = new tern.Server({ - projectDir: util.resolve(condenseDir), - defs: [util.ecmascript], - plugins: options.plugins, - getFile: function(name) { - return fs.readFileSync(path.resolve(condenseDir, name), "utf8"); - } - }); - options.load.forEach(function(file) { - server.addFile(file) - }); - server.flush(function() { - var origins = options.include || options.load; - var condensed = condense.condense(origins, null, {sortOutput: true}); - var out = JSON.stringify(condensed, null, 2); - console.log(out) - }); -} - -function test(options) { - options = {load: options}; - runTest(options); -} - -test(["${filePathToInference.joinToString(separator = "\", \"")}"]) - """ - - init { - with(context) { - setupTernEnv("$projectPath/$utbotDir") - runTypeInferencer() - } - } - - private lateinit var json: JSONObject - - private fun generateImportsSection(): String = importProvider.ternScriptImports - - private fun setupTernEnv(path: String) { - File(path).mkdirs() - val ternScriptFile = File("$path/ternScript.js") - ternScriptFile.writeText(ternScriptCode()) - } - - private fun runTypeInferencer() { - val (inputText, _) = JsCmdExec.runCommand( - dir = "$projectPath/$utbotDir/", - shouldWait = true, - timeout = 20, - cmd = arrayOf("\"${settings.pathToNode}\"", "\"${projectPath}/$utbotDir/ternScript.js\""), - ) - json = try { - JSONObject(inputText.replaceAfterLast("}", "")) - } catch (_: Throwable) { - JSONObject() - } - } - - fun processConstructor(classNode: Node): List { - return try { - val classJson = json.getJSONObject(classNode.getClassName()) - val constructorFunc = classJson.getString("!type") - .filterNot { setOf(' ', '+').contains(it) } - extractParameters(constructorFunc) - } catch (e: JSONException) { - classNode.getConstructor()?.getAbstractFunctionParams()?.map { jsUndefinedClassId } ?: emptyList() - } - } - - private fun extractParameters(line: String): List { - val parametersRegex = Regex("fn[(](.+)[)]") - return parametersRegex.find(line)?.groups?.get(1)?.let { matchResult -> - val value = matchResult.value - val paramGroupList = Regex("(\\w+:\\[\\w+(,\\w+)*]|\\w+:\\w+)|\\w+:\\?").findAll(value).toList() - paramGroupList.map { paramGroup -> - val paramReg = Regex("\\w*:(.*)") - try { - val param = paramGroup.groups[0]!!.value - makeClassId( - paramReg.find(param)?.groups?.get(1)?.value - ?: throw IllegalStateException() - ) - } catch (t: Throwable) { - jsUndefinedClassId - } - } - } ?: emptyList() - } - - private fun extractReturnType(line: String): JsClassId { - val returnTypeRegex = Regex("->(.*)") - return returnTypeRegex.find(line)?.groups?.get(1)?.let { matchResult -> - val value = matchResult.value - try { - makeClassId(value) - } catch (t: Throwable) { - jsUndefinedClassId - } - } ?: jsUndefinedClassId - } - - fun processMethod(className: String?, funcNode: Node, isToplevel: Boolean = false): MethodTypes { - // Js doesn't support nested classes, so if the function is not top-level, then we can check for only one parent class. - try { - var scope = className?.let { - if (!isToplevel) json.getJSONObject(it) else json - } ?: json - try { - scope.getJSONObject(funcNode.getAbstractFunctionName()) - } catch (e: JSONException) { - scope = scope.getJSONObject("prototype") - } - val methodJson = scope.getJSONObject(funcNode.getAbstractFunctionName()) - val typesString = methodJson.getString("!type") - .filterNot { setOf(' ', '+').contains(it) } - val parametersList = lazy { extractParameters(typesString) } - val returnType = lazy { extractReturnType(typesString) } - - return MethodTypes(parametersList, returnType) - } catch (e: Exception) { - return MethodTypes( - lazy { funcNode.getAbstractFunctionParams().map { jsUndefinedClassId } }, - lazy { jsUndefinedClassId } - ) - } - } - - private fun makeClassId(name: String): JsClassId { - val classId = when { - name == "?" || name.toIntOrNull() != null || name.contains('!') -> jsUndefinedClassId - Regex("\\[(.*)]").matches(name) -> { - val arrType = Regex("\\[(.*)]").find(name)?.groups?.get(1)?.value?.substringBefore(",") - ?: throw IllegalStateException() - JsClassId( - jsName = "Array", - elementClassId = makeClassId(arrType) - ) - } - - name.contains('|') -> JsMultipleClassId(name) - else -> JsClassId(name) - } - - return try { - val classNode = JsParserUtils.searchForClassDecl( - className = name, - parsedFile = parsedFile, - strict = true, - ) - classNode?.let { - JsClassId(name).constructClass(this, it) - } ?: classId - } catch (e: Exception) { - classId - } - } -} diff --git a/utbot-js/src/main/kotlin/service/coverage/BasicCoverageService.kt b/utbot-js/src/main/kotlin/service/coverage/BasicCoverageService.kt deleted file mode 100644 index 9b774d81..00000000 --- a/utbot-js/src/main/kotlin/service/coverage/BasicCoverageService.kt +++ /dev/null @@ -1,50 +0,0 @@ -package service.coverage - -import java.io.File -import mu.KotlinLogging -import org.json.JSONObject -import org.utbot.framework.plugin.api.TimeoutException -import service.ServiceContext -import settings.JsTestGenerationSettings.tempFileName -import utils.JsCmdExec -import utils.data.ResultData - -private val logger = KotlinLogging.logger {} - -class BasicCoverageService( - context: ServiceContext, - baseCoverage: Map, - private val scriptTexts: List, -) : CoverageService(context, baseCoverage, scriptTexts) { - - override fun generateCoverageReport() { - scriptTexts.indices.forEach { index -> - try { - val (_, errorText) = JsCmdExec.runCommand( - cmd = arrayOf("\"${settings.pathToNode}\"", "\"$utbotDirPath/$tempFileName$index.js\""), - dir = projectPath, - shouldWait = true, - timeout = settings.timeout, - ) - val resFile = File("$utbotDirPath/$tempFileName$index.json") - val rawResult = resFile.readText() - resFile.delete() - val json = JSONObject(rawResult) - coverageList.add(index to json.getJSONObject("s")) - val resultData = ResultData(json) - _resultList.add(resultData) - if (errorText.isNotEmpty()) { - logger.error { errorText } - } - } catch (e: TimeoutException) { - val resultData = ResultData( - rawString = "Timeout", - index = index, - isError = true, - ) - coverageList.add(index to JSONObject()) - _resultList.add(resultData) - } - } - } -} diff --git a/utbot-js/src/main/kotlin/service/coverage/CoverageMode.kt b/utbot-js/src/main/kotlin/service/coverage/CoverageMode.kt deleted file mode 100644 index 5fee242a..00000000 --- a/utbot-js/src/main/kotlin/service/coverage/CoverageMode.kt +++ /dev/null @@ -1,6 +0,0 @@ -package service.coverage - -enum class CoverageMode { - FAST, - BASIC -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/service/coverage/CoverageService.kt b/utbot-js/src/main/kotlin/service/coverage/CoverageService.kt deleted file mode 100644 index b51106e8..00000000 --- a/utbot-js/src/main/kotlin/service/coverage/CoverageService.kt +++ /dev/null @@ -1,110 +0,0 @@ -package service.coverage - -import java.io.File -import org.json.JSONException -import org.json.JSONObject -import service.ContextOwner -import service.ServiceContext -import settings.JsTestGenerationSettings -import utils.JsCmdExec -import utils.data.CoverageData -import utils.data.ResultData - -abstract class CoverageService( - context: ServiceContext, - private val baseCoverage: Map, - private val scriptTexts: List, -) : ContextOwner by context { - - private val _utbotDirPath = lazy { "${projectPath}/${utbotDir}" } - protected val utbotDirPath: String - get() = _utbotDirPath.value - protected val coverageList = mutableListOf>() - protected val _resultList = mutableListOf() - val resultList: List - get() = _resultList.toList() - - companion object { - - private fun createTempScript(path: String, scriptText: String) { - val file = File(path) - file.writeText(scriptText) - file.createNewFile() - } - - fun getBaseCoverage(context: ServiceContext, baseCoverageScriptText: String): Map { - with(context) { - val utbotDirPath = "${projectPath}/${utbotDir}" - createTempScript( - path = "$utbotDirPath/${JsTestGenerationSettings.tempFileName}Base.js", - scriptText = baseCoverageScriptText - ) - JsCmdExec.runCommand( - cmd = arrayOf( - "\"${settings.pathToNode}\"", - "\"$utbotDirPath/${JsTestGenerationSettings.tempFileName}Base.js\"" - ), - dir = projectPath, - shouldWait = true, - timeout = settings.timeout, - ) - return JSONObject(File("$utbotDirPath/${JsTestGenerationSettings.tempFileName}Base.json").readText()) - .getJSONObject("s").let { obj -> - obj.keySet().associate { key -> - key.toInt() to obj.getInt(key) - } - } - } - } - } - - init { - generateTempFiles() - } - - private fun generateTempFiles() { - scriptTexts.forEachIndexed { index, scriptText -> - val tempScriptPath = "$utbotDirPath/${JsTestGenerationSettings.tempFileName}$index.js" - createTempScript( - path = tempScriptPath, - scriptText = scriptText - ) - } - } - - fun getCoveredLines(): List { - try { - // TODO: sort by coverage size desc - return coverageList - .map { (_, obj) -> - val map = obj.keySet().associate { key -> - val intKey = key.toInt() - intKey to (obj.getInt(key) - baseCoverage.getOrDefault(intKey, 0)) - } - CoverageData(map.mapNotNull { entry -> - entry.key.takeIf { entry.value > 0 } - }.toSet()) - } - } catch (e: JSONException) { - throw Exception("Could not get coverage of test cases!") - } finally { - removeTempFiles() - } - } - - abstract fun generateCoverageReport() - - private fun createTempScript(path: String, scriptText: String) { - val file = File(path) - file.writeText(scriptText) - file.createNewFile() - } - - private fun removeTempFiles() { - File("$utbotDirPath/${JsTestGenerationSettings.tempFileName}Base.js").delete() - File("$utbotDirPath/${JsTestGenerationSettings.tempFileName}Base.json").delete() - for (index in scriptTexts.indices) { - File("$utbotDirPath/${JsTestGenerationSettings.tempFileName}$index.js").delete() - } - } -} diff --git a/utbot-js/src/main/kotlin/service/coverage/CoverageServiceProvider.kt b/utbot-js/src/main/kotlin/service/coverage/CoverageServiceProvider.kt deleted file mode 100644 index e88b283f..00000000 --- a/utbot-js/src/main/kotlin/service/coverage/CoverageServiceProvider.kt +++ /dev/null @@ -1,303 +0,0 @@ -package service.coverage - -import framework.api.js.JsClassId -import framework.api.js.JsMethodId -import framework.api.js.JsPrimitiveModel -import framework.api.js.util.isExportable -import framework.api.js.util.isUndefined -import fuzzer.JsMethodDescription -import java.util.regex.Pattern -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtExecutableCallModel -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtNullModel -import org.utbot.framework.plugin.api.util.isStatic -import providers.imports.IImportsProvider -import service.ContextOwner -import service.InstrumentationService -import service.ServiceContext -import settings.JsTestGenerationSettings -import settings.JsTestGenerationSettings.tempFileName -import utils.data.CoverageData -import utils.data.ResultData - -class CoverageServiceProvider( - private val context: ServiceContext, - private val instrumentationService: InstrumentationService, - private val mode: CoverageMode, - private val description: JsMethodDescription -) : ContextOwner by context { - - private val imports = IImportsProvider.providerByPackageJson(packageJson, context).tempFileImports - - private val filePredicate = """ -function check_value(value, json) { - if (value === Infinity) { - json.is_inf = true - json.spec_sign = 1 - } - if (value === -Infinity) { - json.is_inf = true - json.spec_sign = -1 - } - if (Number.isNaN(value)) { - json.is_nan = true - } -} - -function getType(value) { - if (value instanceof Set) { - return "Set" - } else if (value instanceof Map) { - return "Map" - } else if (value instanceof Array) { - return "Array" - } - return typeof value -} - -function getRes(value, type) { - if (type === "Set" || type === "Array") { - return Array.from(value, (value) => { - let json = {} - json.type = getType(value) - check_value(value, json) - json.result = getRes(value, json.type) - json.index = 0 - return json - }) - } else if (type === "Map") { - return Array.from(value, ([name, value]) => { - let json = {} - json.type = getType(value) - check_value(value, json) - json.result = getRes(value, json.type) - json.index = 0 - return {name, json} - }) - } - return value -} - """ - - private val baseCoverage: Map - - init { - val temp = makeScriptForBaseCoverage( - instrumentationService.covFunName, - "${projectPath}/${utbotDir}/${tempFileName}Base.json" - ) - baseCoverage = CoverageService.getBaseCoverage( - context, - temp - ) - } - - fun get( - fuzzedValues: List>, - execId: JsMethodId, - ): Pair, List> { - return when (mode) { - CoverageMode.FAST -> runFastCoverageAnalysis( - fuzzedValues, - execId - ) - - CoverageMode.BASIC -> runBasicCoverageAnalysis( - fuzzedValues, - execId - ) - } - } - - private fun runBasicCoverageAnalysis( - fuzzedValues: List>, - execId: JsMethodId, - ): Pair, List> { - val covFunName = instrumentationService.covFunName - val tempScriptTexts = fuzzedValues.indices.map { - imports + "$filePredicate\n\n" + makeStringForRunJs( - fuzzedValue = fuzzedValues[it], - method = execId, - containingClass = if (!execId.classId.isUndefined) execId.classId.name else null, - covFunName = covFunName, - index = it, - resFilePath = "${projectPath}/${utbotDir}/$tempFileName", - ) - } - val coverageService = BasicCoverageService( - context = context, - baseCoverage = baseCoverage, - scriptTexts = tempScriptTexts, - ) - coverageService.generateCoverageReport() - return coverageService.getCoveredLines() to coverageService.resultList - } - - private fun runFastCoverageAnalysis( - fuzzedValues: List>, - execId: JsMethodId, - ): Pair, List> { - val covFunName = instrumentationService.covFunName - val tempScriptTexts = imports + "$filePredicate\n\n" + fuzzedValues.indices.joinToString("\n\n") { - makeStringForRunJs( - fuzzedValue = fuzzedValues[it], - method = execId, - containingClass = if (!execId.classId.isUndefined) execId.classId.name else null, - covFunName = covFunName, - index = it, - resFilePath = "${projectPath}/${utbotDir}/$tempFileName", - ) - } - val coverageService = FastCoverageService( - context = context, - baseCoverage = baseCoverage, - scriptTexts = listOf(tempScriptTexts), - testCaseIndices = fuzzedValues.indices, - ) - coverageService.generateCoverageReport() - return coverageService.getCoveredLines() to coverageService.resultList - } - - private fun makeScriptForBaseCoverage(covFunName: String, resFilePath: String): String { - return """ -$imports - -let json = {} -json.s = ${JsTestGenerationSettings.fileUnderTestAliases}.$covFunName().s -fs.writeFileSync("$resFilePath", JSON.stringify(json)) - """ - } - - private fun makeStringForRunJs( - fuzzedValue: List, - method: JsMethodId, - containingClass: String?, - covFunName: String, - index: Int, - resFilePath: String, - ): String { - val callString = makeCallFunctionString(fuzzedValue, method, containingClass, index) - return """ -let json$index = {} -json$index.is_inf = false -json$index.is_nan = false -json$index.is_error = false -json$index.spec_sign = 1 -let res$index -try { - $callString - check_value(res$index, json$index) -} catch(e) { - res$index = e.message - json$index.is_error = true -} -json$index.type = getType(res$index) -json$index.result = getRes(res$index, json$index.type) -json$index.index = $index -json$index.s = ${JsTestGenerationSettings.fileUnderTestAliases}.$covFunName().s - -fs.writeFileSync("$resFilePath$index.json", JSON.stringify(json$index)) - """ - } - - private fun makeCallFunctionString( - fuzzedValue: List, - method: JsMethodId, - containingClass: String?, - index: Int - ): String { - val paramsInit = initParams(fuzzedValue) - val actualParams = description.thisInstance?.let { fuzzedValue.drop(1) } ?: fuzzedValue - val initClass = containingClass?.let { - if (!method.isStatic) { - description.thisInstance?.let { fuzzedValue[0].initModelAsString() } - ?: "new ${JsTestGenerationSettings.fileUnderTestAliases}.${it}()" - } else "${JsTestGenerationSettings.fileUnderTestAliases}.$it" - } ?: JsTestGenerationSettings.fileUnderTestAliases - var callString = "$initClass.${method.name}" - callString = List(actualParams.size) { idx -> "param$idx" }.joinToString( - prefix = "res$index = $callString(", - postfix = ")", - ) - return paramsInit + callString - } - - private fun initParams(fuzzedValue: List): String { - val actualParams = description.thisInstance?.let { fuzzedValue.drop(1) } ?: fuzzedValue - return actualParams.mapIndexed { index, param -> - val varName = "param$index" - buildString { - appendLine("let $varName = ${param.initModelAsString()}") - (param as? UtAssembleModel)?.initModificationsAsString(this, varName) - } - }.joinToString(separator = "\n") - } - - private fun Any.quoteWrapIfNecessary(): String = - when (this) { - is String -> "`$this`" - else -> "$this" - } - - private val symbolsToEscape = setOf("`", Pattern.quote("\\")) - - private fun Any.escapeSymbolsIfNecessary(): Any = - when (this) { - is String -> this.replace(Regex(symbolsToEscape.joinToString(separator = "|")), "") - else -> this - } - - private fun UtAssembleModel.toParamString(): String { - val importPrefix = "new ${JsTestGenerationSettings.fileUnderTestAliases}.".takeIf { - (classId as JsClassId).isExportable - } ?: "new " - val callConstructorString = importPrefix + classId.name - val paramsString = instantiationCall.params.joinToString( - prefix = "(", - postfix = ")", - ) { - it.initModelAsString() - } - return callConstructorString + paramsString - } - - private fun UtArrayModel.toParamString(): String { - val paramsString = stores.values.joinToString( - prefix = "[", - postfix = "]", - ) { - it.initModelAsString() - } - return paramsString - } - - private fun UtModel.initModelAsString(): String = - when (this) { - is UtAssembleModel -> this.toParamString() - is UtArrayModel -> this.toParamString() - is UtNullModel -> "null" - else -> { - (this as JsPrimitiveModel).value.escapeSymbolsIfNecessary().quoteWrapIfNecessary() - } - } - - private fun UtAssembleModel.initModificationsAsString(stringBuilder: StringBuilder, varName: String) { - with(stringBuilder) { - this@initModificationsAsString.modificationsChain.forEach { - if (it is UtExecutableCallModel) { - val exec = it.executable as JsMethodId - appendLine( - it.params.joinToString( - prefix = "$varName.${exec.name}(", - postfix = ")" - ) { model -> - model.initModelAsString() - } - ) - } - } - } - } -} diff --git a/utbot-js/src/main/kotlin/service/coverage/FastCoverageService.kt b/utbot-js/src/main/kotlin/service/coverage/FastCoverageService.kt deleted file mode 100644 index a2c3c0f0..00000000 --- a/utbot-js/src/main/kotlin/service/coverage/FastCoverageService.kt +++ /dev/null @@ -1,43 +0,0 @@ -package service.coverage - -import java.io.File -import mu.KotlinLogging -import org.json.JSONObject -import service.ServiceContext -import settings.JsTestGenerationSettings.fuzzingThreshold -import settings.JsTestGenerationSettings.tempFileName -import utils.JsCmdExec -import utils.data.ResultData - -private val logger = KotlinLogging.logger {} - -class FastCoverageService( - context: ServiceContext, - baseCoverage: Map, - scriptTexts: List, - private val testCaseIndices: IntRange, -) : CoverageService(context, baseCoverage, scriptTexts) { - - override fun generateCoverageReport() { - val (_, errorText) = JsCmdExec.runCommand( - cmd = arrayOf("\"${settings.pathToNode}\"", "\"$utbotDirPath/$tempFileName" + "0.js\""), - dir = projectPath, - shouldWait = true, - timeout = settings.timeout, - ) - for (i in 0..minOf(fuzzingThreshold - 1, testCaseIndices.last)) { - val resFile = File("$utbotDirPath/$tempFileName$i.json") - val rawResult = resFile.readText() - resFile.delete() - val json = JSONObject(rawResult) - val index = json.getInt("index") - if (index != i) logger.error { "Index $index != i $i" } - coverageList.add(index to json.getJSONObject("s")) - val resultData = ResultData(json) - _resultList.add(resultData) - } - if (errorText.isNotEmpty()) { - logger.error { errorText } - } - } -} diff --git a/utbot-js/src/main/kotlin/settings/JsDynamicSettings.kt b/utbot-js/src/main/kotlin/settings/JsDynamicSettings.kt deleted file mode 100644 index c985b245..00000000 --- a/utbot-js/src/main/kotlin/settings/JsDynamicSettings.kt +++ /dev/null @@ -1,11 +0,0 @@ -package settings - -import service.coverage.CoverageMode - -data class JsDynamicSettings( - val pathToNode: String = "node", - val pathToNYC: String = "nyc", - val pathToNPM: String = "npm", - val timeout: Long = 15L, - val coverageMode: CoverageMode = CoverageMode.FAST -) diff --git a/utbot-js/src/main/kotlin/settings/JsExportsSettings.kt b/utbot-js/src/main/kotlin/settings/JsExportsSettings.kt deleted file mode 100644 index 2c301959..00000000 --- a/utbot-js/src/main/kotlin/settings/JsExportsSettings.kt +++ /dev/null @@ -1,8 +0,0 @@ -package settings - -object JsExportsSettings { - - // Anchors for exports in user's code. Used in regexes to modify this section on demand. - const val startComment = "// Start of exports generated by UTBot" - const val endComment = "// End of exports generated by UTBot" -} \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt b/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt deleted file mode 100644 index ebea20a6..00000000 --- a/utbot-js/src/main/kotlin/settings/JsPackagesSettings.kt +++ /dev/null @@ -1,127 +0,0 @@ -package settings - -import java.io.File -import org.utbot.common.PathUtil.replaceSeparator -import service.PackageJsonService -import settings.JsPackagesSettings.mochaData -import settings.JsPackagesSettings.nycData -import settings.JsPackagesSettings.ternData -import utils.JsCmdExec -import utils.OsProvider - -object JsPackagesSettings { - val mochaData: PackageData = PackageData("mocha", NpmListFlag.L) - val nycData: PackageData = PackageData("nyc", NpmListFlag.G) - val ternData: PackageData = PackageData("tern", NpmListFlag.L) -} - -val jsPackagesList = listOf( - mochaData, - nycData, - ternData -) - -enum class NpmListFlag { - L { - override fun toString(): String = "-l" - }, - G { - override fun toString(): String = "-g" - } -} - -data class PackageData( - val packageName: String, - val npmListFlag: NpmListFlag -) { - - fun findPackagePath(): String? { - val (inputText, _) = JsCmdExec.runCommand( - dir = null, - shouldWait = true, - timeout = 10, - cmd = arrayOf(OsProvider.getProviderByOs().getAbstractivePathTool(), packageName) - ) - - return inputText.split(System.lineSeparator()).first().takeIf { it.contains(packageName) } - } -} - -class PackageDataService( - filePathToInference: String, - private val projectPath: String, - private val pathToNpm: String, -) { - private val packageJson = PackageJsonService(filePathToInference, File(projectPath)).findClosestConfig() - - companion object { - var nycPath: String = "" - private set - } - - fun findPackage(packageData: PackageData): Boolean = with(packageData) { - when (npmListFlag) { - NpmListFlag.G -> { - val (inputText, _) = JsCmdExec.runCommand( - dir = projectPath, - shouldWait = true, - timeout = 10, - cmd = arrayOf("\"$pathToNpm\"", "list", npmListFlag.toString()) - ) - var result = inputText.contains(packageName) - if (!result || this == nycData) { - val packagePath = this.findPackagePath() - nycPath = packagePath?.let { - replaceSeparator(it) + OsProvider.getProviderByOs().npmPackagePostfix - } ?: "Nyc was not found" - if (!result) { - result = this.findPackagePath()?.isNotBlank() ?: false - } - } - return result - } - - NpmListFlag.L -> { - packageJson.deps.contains(packageName) - } - } - } - - fun installMissingPackages(packages: List): Pair { - var inputTextAllPackages = "" - var errorTextAllPackages = "" - if (packages.isEmpty()) return inputTextAllPackages to errorTextAllPackages - - val localPackageNames = packages.filter { it.npmListFlag == NpmListFlag.L } - .map { it.packageName }.toTypedArray() - val globalPackageNames = packages.filter { it.npmListFlag == NpmListFlag.G } - .map { it.packageName }.toTypedArray() - - // Local packages installation - if (localPackageNames.isNotEmpty()) { - val (inputText, errorText) = JsCmdExec.runCommand( - dir = projectPath, - shouldWait = true, - timeout = 10, - cmd = arrayOf("\"$pathToNpm\"", "install", NpmListFlag.L.toString(), *localPackageNames) - ) - inputTextAllPackages += inputText - errorTextAllPackages += errorText - } - // Global packages installation - if (globalPackageNames.isNotEmpty()) { - val (inputText, errorText) = JsCmdExec.runCommand( - dir = projectPath, - shouldWait = true, - timeout = 10, - cmd = arrayOf("\"$pathToNpm\"", "install", NpmListFlag.G.toString(), *globalPackageNames) - ) - inputTextAllPackages += inputText - errorTextAllPackages += errorText - } - // Find path to nyc execution file after installation - if (packages.contains(nycData)) findPackage(nycData) - - return Pair(inputTextAllPackages, errorTextAllPackages) - } -} diff --git a/utbot-js/src/main/kotlin/settings/JsTestGenerationSettings.kt b/utbot-js/src/main/kotlin/settings/JsTestGenerationSettings.kt deleted file mode 100644 index 37922d5d..00000000 --- a/utbot-js/src/main/kotlin/settings/JsTestGenerationSettings.kt +++ /dev/null @@ -1,21 +0,0 @@ -package settings - -object JsTestGenerationSettings { - - // Used for toplevel functions in IDEA plugin. - const val dummyClassName = "toplevelHack" - - // Default timeout for Node.js try to run a single testcase. - const val defaultTimeout = 10L - - const val fuzzingTimeout = 30_000L - - // Name of file under test when importing it. - const val fileUnderTestAliases = "fileUnderTest" - - // Name of temporary files created. - const val tempFileName = "temp" - - // Number of test cases that can fit in one temporary file for Fast coverage mode - const val fuzzingThreshold = 300 -} diff --git a/utbot-js/src/main/kotlin/utils/JsClassConstructors.kt b/utbot-js/src/main/kotlin/utils/JsClassConstructors.kt deleted file mode 100644 index 54149f92..00000000 --- a/utbot-js/src/main/kotlin/utils/JsClassConstructors.kt +++ /dev/null @@ -1,76 +0,0 @@ -package utils - -import com.google.javascript.rhino.Node -import framework.api.js.JsClassId -import framework.api.js.JsConstructorId -import framework.api.js.JsMethodId -import framework.api.js.util.jsUndefinedClassId -import parser.JsParserUtils.getAbstractFunctionName -import parser.JsParserUtils.getClassMethods -import parser.JsParserUtils.getClassName -import parser.JsParserUtils.isStatic -import service.TernService - -fun JsClassId.constructClass( - ternService: TernService, - classNode: Node? = null, - functions: List = emptyList() -): JsClassId { - val className = classNode?.getClassName() - val methods = constructMethods(classNode, ternService, className, functions) - - val constructor = classNode?.let { - JsConstructorId( - JsClassId(name), - ternService.processConstructor(it), - ) - } - val newClassId = JsClassId( - jsName = name, - methods = methods, - constructor = constructor, - classPackagePath = ternService.projectPath, - classFilePath = ternService.filePathToInference.first(), - ) - methods.forEach { - it.classId = newClassId - } - constructor?.classId = newClassId - return newClassId -} - -private fun JsClassId.constructMethods( - classNode: Node?, - ternService: TernService, - className: String?, - functions: List -): Sequence { - with(this) { - val methods = classNode?.getClassMethods()?.map { methodNode -> - val types = ternService.processMethod(className, methodNode) - JsMethodId( - classId = JsClassId(name), - name = methodNode.getAbstractFunctionName(), - returnTypeNotLazy = jsUndefinedClassId, - parametersNotLazy = emptyList(), - staticModifier = methodNode.isStatic(), - lazyReturnType = types.returnType, - lazyParameters = types.parameters, - ) - }?.asSequence() ?: - // used for toplevel functions - functions.map { funcNode -> - val types = ternService.processMethod(className, funcNode, true) - JsMethodId( - classId = JsClassId(name), - name = funcNode.getAbstractFunctionName(), - returnTypeNotLazy = jsUndefinedClassId, - parametersNotLazy = emptyList(), - staticModifier = true, - lazyReturnType = types.returnType, - lazyParameters = types.parameters, - ) - }.asSequence() - return methods - } -} diff --git a/utbot-js/src/main/kotlin/utils/JsCmdExec.kt b/utbot-js/src/main/kotlin/utils/JsCmdExec.kt deleted file mode 100644 index c94a4377..00000000 --- a/utbot-js/src/main/kotlin/utils/JsCmdExec.kt +++ /dev/null @@ -1,35 +0,0 @@ -package utils - -import java.io.File -import java.util.concurrent.TimeUnit -import org.utbot.framework.plugin.api.TimeoutException -import settings.JsTestGenerationSettings.defaultTimeout - -object JsCmdExec { - - fun runCommand( - dir: String? = null, - shouldWait: Boolean = false, - timeout: Long = defaultTimeout, - vararg cmd: String, - ): Pair { - val builder = ProcessBuilder(*OsProvider.getProviderByOs().getCmdPrefix(), *cmd) - dir?.let { - builder.directory(File(it)) - } - val process = builder.start() - if (shouldWait) { - if (!process.waitFor(timeout, TimeUnit.SECONDS)) { - process.descendants().forEach { - it.destroy() - } - process.destroy() - throw TimeoutException("") - } - } - return Pair( - process.inputStream.bufferedReader().use { it.readText() }, - process.errorStream.bufferedReader().use { it.readText() } - ) - } -} diff --git a/utbot-js/src/main/kotlin/utils/JsOsUtils.kt b/utbot-js/src/main/kotlin/utils/JsOsUtils.kt deleted file mode 100644 index 0b8c295f..00000000 --- a/utbot-js/src/main/kotlin/utils/JsOsUtils.kt +++ /dev/null @@ -1,36 +0,0 @@ -package utils - -import java.util.Locale - -abstract class OsProvider { - - abstract fun getCmdPrefix(): Array - abstract fun getAbstractivePathTool(): String - - abstract val npmPackagePostfix: String - - companion object { - - fun getProviderByOs(): OsProvider { - val osData = System.getProperty("os.name").lowercase(Locale.getDefault()) - return when { - osData.contains("windows") -> WindowsProvider() - else -> LinuxProvider() - } - } - } -} - -class WindowsProvider : OsProvider() { - override fun getCmdPrefix() = emptyArray() - override fun getAbstractivePathTool() = "where" - - override val npmPackagePostfix = ".cmd" -} - -class LinuxProvider : OsProvider() { - override fun getCmdPrefix() = emptyArray() - override fun getAbstractivePathTool() = "which" - - override val npmPackagePostfix = "" -} diff --git a/utbot-js/src/main/kotlin/utils/PathResolver.kt b/utbot-js/src/main/kotlin/utils/PathResolver.kt deleted file mode 100644 index 8e1730db..00000000 --- a/utbot-js/src/main/kotlin/utils/PathResolver.kt +++ /dev/null @@ -1,12 +0,0 @@ -package utils - -import java.nio.file.Paths - -object PathResolver { - - fun getRelativePath(to: String, from: String): String { - val toPath = Paths.get(to) - val fromPath = Paths.get(from) - return toPath.relativize(fromPath).toString().replace("\\", "/") - } -} diff --git a/utbot-js/src/main/kotlin/utils/ValueUtil.kt b/utbot-js/src/main/kotlin/utils/ValueUtil.kt deleted file mode 100644 index 0c9480d0..00000000 --- a/utbot-js/src/main/kotlin/utils/ValueUtil.kt +++ /dev/null @@ -1,89 +0,0 @@ -package utils - -import framework.api.js.JsClassId -import framework.api.js.util.isJsStdStructure -import framework.api.js.util.jsBooleanClassId -import framework.api.js.util.jsDoubleClassId -import framework.api.js.util.jsErrorClassId -import framework.api.js.util.jsNumberClassId -import framework.api.js.util.jsStringClassId -import framework.api.js.util.jsUndefinedClassId -import org.json.JSONArray -import org.json.JSONException -import org.json.JSONObject -import utils.data.ResultData - -fun ResultData.toJsAny(returnType: JsClassId = jsUndefinedClassId): Pair { - try { - this.buildUniqueValue()?.let { return it } - with(this.rawString) { - return when { - isError -> this to jsErrorClassId - this == "true" || this == "false" -> toBoolean() to jsBooleanClassId - this == "null" || this == "undefined" -> null to jsUndefinedClassId - returnType.isJsStdStructure -> - makeStructure(this, returnType) to returnType - returnType == jsStringClassId || this@toJsAny.type == jsStringClassId.name -> - this.replace("\"", "") to jsStringClassId - - else -> { - if (contains('.')) { - (toDoubleOrNull() ?: toBigDecimal()) to jsDoubleClassId - } else { - val value = toByteOrNull() ?: toShortOrNull() ?: toIntOrNull() ?: toLongOrNull() - ?: toBigIntegerOrNull() ?: toDoubleOrNull() - if (value != null) value to jsNumberClassId else { - val obj = makeObject(this) - obj!! to returnType - } - } - } - } - } - } catch(e: Exception) { - if (e is IllegalStateException) throw e else - throw IllegalStateException("Could not make JavaScript value from $this value with type ${returnType.name}") - } -} - -private fun ResultData.buildUniqueValue(): Pair? { - return when { - isInf -> specSign * Double.POSITIVE_INFINITY to jsDoubleClassId - isNan -> Double.NaN to jsDoubleClassId - else -> null - } -} - -private fun makeObject(objString: String): Map? { - return try { - val trimmed = objString.substringAfter(" ") - val json = JSONObject(trimmed) - val resMap = mutableMapOf() - json.keySet().forEach { - resMap[it] = ResultData(json.get(it).toString(), index = 0).toJsAny().first as Any - } - resMap - } catch (e: JSONException) { - null - } -} - -private fun makeStructure(structString: String, type: JsClassId): List { - val json = JSONArray(structString) - return when (type.name) { - "Array", "Set" -> { - json.map { jsonObj -> - ResultData(jsonObj as JSONObject).toJsAny().first - } - } - "Map" -> { - json.map { jsonObj -> - val name = (jsonObj as JSONObject).get("name") - name to ResultData(jsonObj.getJSONObject("json")).toJsAny().first - } - } - else -> throw UnsupportedOperationException( - "Can't make JavaScript structure from $structString with type ${type.name}" - ) - } -} diff --git a/utbot-js/src/main/kotlin/utils/data/CoverageData.kt b/utbot-js/src/main/kotlin/utils/data/CoverageData.kt deleted file mode 100644 index b64fdfda..00000000 --- a/utbot-js/src/main/kotlin/utils/data/CoverageData.kt +++ /dev/null @@ -1,5 +0,0 @@ -package utils.data - -data class CoverageData( - val additionalCoverage: Set -) diff --git a/utbot-js/src/main/kotlin/utils/data/MethodTypes.kt b/utbot-js/src/main/kotlin/utils/data/MethodTypes.kt deleted file mode 100644 index cea1c403..00000000 --- a/utbot-js/src/main/kotlin/utils/data/MethodTypes.kt +++ /dev/null @@ -1,8 +0,0 @@ -package utils.data - -import framework.api.js.JsClassId - -data class MethodTypes( - val parameters: Lazy>, - val returnType: Lazy, -) \ No newline at end of file diff --git a/utbot-js/src/main/kotlin/utils/data/ResultData.kt b/utbot-js/src/main/kotlin/utils/data/ResultData.kt deleted file mode 100644 index c3cc1d68..00000000 --- a/utbot-js/src/main/kotlin/utils/data/ResultData.kt +++ /dev/null @@ -1,33 +0,0 @@ -package utils.data - -import org.json.JSONObject - -/** - * Represents results after running function with arguments using Node.js - * @param rawString raw result as [String]. - * @param type result JavaScript type as [String]. - * @param index result index according to fuzzed parameters index. - * @param isNan true if the result is JavaScript NaN. - * @param isInf true if the result is JavaScript Infinity. - * @param isError true if the result contains JavaScript error text. - * @param specSign used for -Infinity and Infinity. - */ -data class ResultData( - val rawString: String, - val type: String = "string", - val index: Int, - val isNan: Boolean = false, - val isInf: Boolean = false, - val isError: Boolean = false, - val specSign: Byte = 1 -) { - constructor(json: JSONObject) : this( - rawString = if (json.has("result")) json.get("result").toString() else "undefined", - type = json.get("type").toString(), - index = json.getInt("index"), - isNan = json.optBoolean("is_nan", false), - isInf = json.optBoolean("is_inf", false), - isError = json.optBoolean("is_error", false), - specSign = json.optInt("spec_sign", 1).toByte() - ) -} diff --git a/utbot-junit-contest/README.md b/utbot-junit-contest/README.md deleted file mode 100644 index 63717d7d..00000000 --- a/utbot-junit-contest/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Contest estimator - -Contest estimator runs UnitTestBot on the provided projects and returns the generation statistics such as instruction coverage. - -There are two entry points: -- [ContestEstimator.kt][ep 1] is the main entry point. It runs UnitTestBot on the specified projects, calculates statistics for the target classes and projects, and outputs them to a console. -- [StatisticsMonitoring.kt][ep 2] is an additional entry point, which does the same as the previous one but can be configured from a file and dumps the resulting statistics to a file. -It is used to [monitor and chart][monitoring] statistics nightly. - - -[ep 1]: src/main/kotlin/org/utbot/contest/ContestEstimator.kt -[ep 2]: src/main/kotlin/org/utbot/monitoring/StatisticsMonitoring.kt -[monitoring]: ../docs/NightStatisticsMonitoring.md - -## Key functions - -| Function name | File name | Description | -|---------------|---------------------|----------------------------------------------------------------------------------------| -| runGeneration | Contest.kt | Runs UnitTestBot and manages its work | -| runEstimator | ContestEstimator.kt | Configures a project classpath, runs the main generation loop, and collects statistics | - - -## Projects - -The projects are provided to Contest estimator in advance. - -### Structure -All available projects are placed in the [resources][resources] folder, which contains: -- [projects][projects] consisting of the folders with the project JAR files in them. -- [classes][classes] consisting of the folders — each named after the project and containing the `list` file with the fully qualified class names. -It also may contain an `exceptions` file with the description of the expected exceptions, that utbot should find. -Description is presented in the format: `.: ...`. -For example, see this [file](src/main/resources/classes/codeforces/exceptions). - -### How to add a new project -You should add both the JAR files to the `projects` folder and the file with a list of classes to the `classes` folder. - -[resources]: src/main/resources -[projects]: src/main/resources/projects -[classes]: src/main/resources/classes - -## Statistics -Statistics are collected and memorized by the corresponding classes placed in [Statistics.kt][statistics]. -Then [monitoring][ep 2] dumps them using auxiliary classes that are defined in [MonitoringReport.kt][report] — they describe the format of output data. - -[statistics]: src/main/kotlin/org/utbot/contest/Statistics.kt -[report]: src/main/kotlin/org/utbot/monitoring/MonitoringReport.kt diff --git a/utbot-junit-contest/build.gradle b/utbot-junit-contest/build.gradle deleted file mode 100644 index 430299e9..00000000 --- a/utbot-junit-contest/build.gradle +++ /dev/null @@ -1,199 +0,0 @@ -plugins { - id 'org.jetbrains.kotlin.plugin.serialization' version '1.7.20' -} -apply plugin: 'jacoco' - -configurations { - fetchInstrumentationJar -} - -compileJava { - options.compilerArgs << '-XDignore.symbol.file' -} - -compileTestJava { - options.fork = true - options.compilerArgs << "-XDignore.symbol.file" -} - -def testProjects = [ - 'build/output/test/antlr', - 'build/output/test/codeforces', - 'build/output/test/fastjson-1.2.50', - 'build/output/test/fescar', - 'build/output/test/guava', - 'build/output/test/guava-26.0', - 'build/output/test/guava-30.0', - 'build/output/test/pdfbox', - 'build/output/test/seata', - 'build/output/test/seata-core-0.5.0', - 'build/output/test/spoon', - 'build/output/test/spoon-core-7.0.0', -] - -sourceSets { - test { - java { - testProjects.forEach { - srcDir(it) - } - } - } -} - -test { - useJUnit() - jvmArgs =[ - "--add-opens", "java.base/java.util.concurrent.atomic=ALL-UNNAMED", - "--add-opens", "java.base/java.lang.invoke=ALL-UNNAMED", - "--add-opens", "java.base/java.util.concurrent=ALL-UNNAMED", - "--add-opens", "java.base/java.util.concurrent.locks=ALL-UNNAMED", - "--add-opens", "java.base/java.text=ALL-UNNAMED", - "--add-opens", "java.base/java.io=ALL-UNNAMED", - "--add-opens", "java.base/java.nio=ALL-UNNAMED", - "--add-opens", "java.base/java.nio.file=ALL-UNNAMED", - "--add-opens", "java.base/java.net=ALL-UNNAMED", - "--add-opens", "java.base/sun.security.util=ALL-UNNAMED", - "--add-opens", "java.base/sun.reflect.generics.repository=ALL-UNNAMED", - "--add-opens", "java.base/sun.net.util=ALL-UNNAMED", - "--add-opens", "java.base/sun.net.fs=ALL-UNNAMED", - "--add-opens", "java.base/java.security=ALL-UNNAMED", - "--add-opens", "java.base/java.lang.ref=ALL-UNNAMED", - "--add-opens", "java.base/java.math=ALL-UNNAMED", - "--add-opens", "java.base/java.util.stream=ALL-UNNAMED", - "--add-opens", "java.base/java.util=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.misc=ALL-UNNAMED", - "--add-opens", "java.base/java.lang=ALL-UNNAMED", - "--add-opens", "java.base/java.lang.reflect=ALL-UNNAMED", - "--add-opens", "java.base/sun.security.provider=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.event=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.jimage=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.jimage.decompressor=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.jmod=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.jtrfs=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.loader=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.logger=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.math=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.misc=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.module=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.objectweb.asm.commons=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.objectweb.asm.signature=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.objectweb.asm.tree.analysis=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.objectweb.asm.util=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.xml.sax=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.org.xml.sax.helpers=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.perf=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.platform=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.ref=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.reflect=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.util=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.util.jar=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.util.xml=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.util.xml.impl=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.vm=ALL-UNNAMED", - "--add-opens", "java.base/jdk.internal.vm.annotation=ALL-UNNAMED" - ] - finalizedBy jacocoTestReport -} - -jacocoTestReport { - afterEvaluate { - def r = testProjects.collect { - fileTree(dir: it) - }.findAll { - it.dir.exists() - } - sourceDirectories.setFrom(r.collect {files(it) }) - classDirectories.setFrom( - r.collect { - fileTree(dir: it.dir.toPath().parent.resolveSibling("unzipped").resolve(it.dir.name)) - }.findAll { - it.dir.exists() - }.collect { - files(it) - } - ) - } - - reports { - csv.enabled = true - html.enabled = true - } -} - -dependencies { - implementation project(":utbot-framework") - implementation project(":utbot-analytics") - - - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude group:'com.google.guava', module:'guava' - } - implementation group: 'org.apache.commons', name: 'commons-exec', version: '1.2' - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'org.jsoup', name: 'jsoup', version: '1.6.2' - implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1' - // need for tests - implementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - implementation group: 'org.mockito', name: 'mockito-inline', version: mockitoInlineVersion - implementation 'junit:junit:4.13.2' - testImplementation fileTree(dir: 'src/main/resources/projects/', include: '*/*.jar') - testImplementation files('src/main/resources/evosuite/evosuite-1.2.0.jar') - testImplementation files('src/main/resources/evosuite/evosuite-standalone-runtime-1.2.0.jar') - - fetchInstrumentationJar project(path: ':utbot-instrumentation', configuration: 'instrumentationArchive') -} - -processResources { - from(configurations.fetchInstrumentationJar) { - into "lib" - } -} - -jar { - dependsOn classes - - manifest { - attributes 'Main-Class': 'org.utbot.contest.ContestKt' - attributes 'Bundle-SymbolicName': 'org.utbot.contest' - attributes 'Bundle-Version': "${project.version}" - attributes 'Implementation-Title': 'UtBot JUnit contest' - attributes 'JAR-Type': 'Fat JAR' - } - - version '1.0' - - dependsOn configurations.runtimeClasspath - from { - sourceSets.main.output + configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE - zip64 = true - -} - -task monitoringJar(type: Jar) { - dependsOn classes - - archiveBaseName.set('monitoring') - archiveClassifier.set('') - archiveVersion.set('') - - dependsOn configurations.runtimeClasspath - from { - sourceSets.main.output + configurations.runtimeClasspath - .collect { it.isDirectory() ? it : zipTree(it) } - } - - manifest { - attributes 'Main-Class': 'org.utbot.monitoring.StatisticsMonitoringKt' - attributes 'Bundle-SymbolicName': 'org.utbot.monitoring' - attributes 'Bundle-Version': "${project.version}" - attributes 'Implementation-Title': 'UtBot Monitoring' - attributes 'JAR-Type': 'Fat JAR' - } - - duplicatesStrategy = DuplicatesStrategy.EXCLUDE -} diff --git a/utbot-junit-contest/runtool b/utbot-junit-contest/runtool deleted file mode 100644 index 43e3becd..00000000 --- a/utbot-junit-contest/runtool +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# switch to environment JVM as needed -JAVA_HOME=/usr - -APACHE_EXECS_LIB=lib/org/apache/commons/commons-exec/1.2/commons-exec-1.2.jar -TOOL=lib/runtool-1.0.0.jar - -export JAVA_HOME=$JAVA_HOME -$JAVA_HOME/bin/java -cp $TOOL:$APACHE_EXECS_LIB sbst.runtool.Main diff --git a/utbot-junit-contest/sample/classes/com/google/common/primitives/Doubles.class b/utbot-junit-contest/sample/classes/com/google/common/primitives/Doubles.class deleted file mode 100644 index 915263ef..00000000 Binary files a/utbot-junit-contest/sample/classes/com/google/common/primitives/Doubles.class and /dev/null differ diff --git a/utbot-junit-contest/sample/runtool-sample.in b/utbot-junit-contest/sample/runtool-sample.in deleted file mode 100644 index e688cec3..00000000 --- a/utbot-junit-contest/sample/runtool-sample.in +++ /dev/null @@ -1,11 +0,0 @@ -BENCHMARK -utbot-junit-contest/sample/sources -utbot-junit-contest/sample/classes -4 -utbot-junit-contest/src/main/resources/projects/antlr/antlr-4.7.2-complete.jar -utbot-junit-contest/src/main/resources/projects/antlr/icu4j-64.2.jar -utbot-junit-contest/src/main/resources/projects/custom/contest-utbot-jar-1.0.jar -utbot-junit-contest/src/main/resources/projects/guava/guava-28.2-jre.jar -1 -60 -com.google.common.primitives.Doubles diff --git a/utbot-junit-contest/sample/sources/stubfile.txt b/utbot-junit-contest/sample/sources/stubfile.txt deleted file mode 100644 index 289fecf2..00000000 --- a/utbot-junit-contest/sample/sources/stubfile.txt +++ /dev/null @@ -1 +0,0 @@ -We don't use this file and dir, it's purpose is not to let git to remove folder \ No newline at end of file diff --git a/utbot-junit-contest/src/main/java/sbst/runtool/ITestingTool.java b/utbot-junit-contest/src/main/java/sbst/runtool/ITestingTool.java deleted file mode 100644 index e7fa820c..00000000 --- a/utbot-junit-contest/src/main/java/sbst/runtool/ITestingTool.java +++ /dev/null @@ -1,33 +0,0 @@ -package sbst.runtool; - -import java.io.File; -import java.util.List; - -public interface ITestingTool { - - /** - * List of additional class path entries required by a testing tool - * - * @return List of directories/jar files - */ - public List getExtraClassPath(); - - /** - * Initialize the testing tool, with details about the code to be tested (SUT) - * Called only once. - * - * @param src Directory containing source files of the SUT - * @param bin Directory containing class files of the SUT - * @param classPath List of directories/jar files (dependencies of the SUT) - */ - public void initialize(File src, File bin, List classPath); - - /** - * Run the test tool, and let it generate test cases for a given class - * - * @param cName Name of the class for which unit tests should be generated - * @param timeBudget How long the tool must run to test the class (in miliseconds) - */ - public void run(String cName, long timeBudget); - -} diff --git a/utbot-junit-contest/src/main/java/sbst/runtool/Main.java b/utbot-junit-contest/src/main/java/sbst/runtool/Main.java deleted file mode 100644 index fedfdf7a..00000000 --- a/utbot-junit-contest/src/main/java/sbst/runtool/Main.java +++ /dev/null @@ -1,22 +0,0 @@ -package sbst.runtool; - - -import org.utbot.runtool.UtBotTool2; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.io.Reader; -import java.io.Writer; - -public class Main { - - //see 'runtool-sample.in' file for reference inpt - public static void main(String[] args) throws IOException { - Writer writer = new PrintWriter(System.out); - Reader reader = new InputStreamReader(System.in); - ITestingTool tool = new UtBotTool2(); - RunTool runTool = new RunTool(tool, reader, writer); - runTool.run(); - } - -} diff --git a/utbot-junit-contest/src/main/java/sbst/runtool/RunTool.java b/utbot-junit-contest/src/main/java/sbst/runtool/RunTool.java deleted file mode 100644 index 17e18610..00000000 --- a/utbot-junit-contest/src/main/java/sbst/runtool/RunTool.java +++ /dev/null @@ -1,48 +0,0 @@ -package sbst.runtool; - -import java.io.File; -import java.io.IOException; -import java.io.Reader; -import java.io.Writer; -import java.util.ArrayList; -import java.util.List; - -public class RunTool { - private final ITestingTool tool; - private final SBSTChannel channel; - - public RunTool(ITestingTool tool, Reader input, Writer output) { - this.tool = tool; - this.channel = new SBSTChannel(input, output); - } - - public void run() throws IOException { - channel.token("BENCHMARK"); - File src = channel.directory(); - File bin = channel.directory(); - int n = channel.number(); - List classPath = new ArrayList(); - for (int i = 0; i < n; i++) { - classPath.add(channel.directory_jarfile()); - } - tool.initialize(src, bin, classPath); - - int m = channel.number(); - if (tool.getExtraClassPath() != null) { - channel.emit("CLASSPATH"); - List extraCP = tool.getExtraClassPath(); - int k = extraCP.size(); - channel.emit(k); - for (File file : extraCP) { - channel.emit(file); - } - } - channel.emit("READY"); - for (int i = 0; i < m; i++) { - long timeBudget = channel.longnumber(); - String cName = channel.className(); - tool.run(cName, timeBudget); - channel.emit("READY"); - } - } -} diff --git a/utbot-junit-contest/src/main/java/sbst/runtool/SBSTChannel.java b/utbot-junit-contest/src/main/java/sbst/runtool/SBSTChannel.java deleted file mode 100644 index 0bef7d48..00000000 --- a/utbot-junit-contest/src/main/java/sbst/runtool/SBSTChannel.java +++ /dev/null @@ -1,96 +0,0 @@ -package sbst.runtool; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.Reader; -import java.io.Writer; - -public class SBSTChannel { - private PrintWriter output; - private BufferedReader input; - - public SBSTChannel(Reader input, Writer output) { - this.input = new BufferedReader(input); - this.output = new PrintWriter(output); - } - - public void token(String string) throws IOException { -// System.out.println("Await to receive token " + string); - String line = input.readLine(); -// System.out.println("Received token " + line); - if (!string.equals(line)) { - throw new IOException("Unexpected: " + line + " expecting: " + string); - } - } - - public File directory() throws IOException { - String line = input.readLine(); - File file = new File(line); - if (file.exists() && file.isDirectory()) { - return file; - } else { - throw new IOException("Not a valid directory name: " + line); - } - } - - public int number() throws IOException { - String line = input.readLine(); - try { - return Integer.parseInt(line); - } catch (NumberFormatException e) { - throw new IOException("Not a valid number: " + line); - } - } - - public long longnumber() throws IOException { - String line = input.readLine(); - try { - return Long.parseLong(line); - } catch (NumberFormatException e) { - throw new IOException("Not a valid longnumber: " + line); - } - } - - public File directory_jarfile() throws IOException { - String line = input.readLine(); - File file = new File(line); - if (file.exists()) { - if (file.isDirectory() || (file.isFile() && file.getName().endsWith(".jar"))) { - return file; - } else { - throw new IOException("Not a valid directory/jar file name: " + line); - } - } else { - throw new IOException("File/Directory does not exist: " + line); - } - } - - public String className() throws IOException { - String line = input.readLine(); - if (line.matches("[a-zA-Z_][a-zA-Z_0-9$]*(\\.[a-zA-Z_][a-zA-Z_0-9$]*)*")) { - return line; - } else { - throw new IOException("Not a valid class name: " + line); - } - } - - public void emit(String string) { - output.println(string); - output.flush(); - } - - public void emit(int k) { - emit("" + k); - } - - public void emit(File file) { - emit(file.getAbsolutePath()); - } - - public String readLine() throws IOException { - return input.readLine(); - } - -} diff --git a/utbot-junit-contest/src/main/java/sbst/runtool/UtBotToolLegacy.java b/utbot-junit-contest/src/main/java/sbst/runtool/UtBotToolLegacy.java deleted file mode 100644 index 3d3d5d79..00000000 --- a/utbot-junit-contest/src/main/java/sbst/runtool/UtBotToolLegacy.java +++ /dev/null @@ -1,208 +0,0 @@ -package sbst.runtool; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.util.ArrayList; -import java.util.List; -import org.apache.commons.exec.CommandLine; -import org.apache.commons.exec.DefaultExecutor; -import org.apache.commons.exec.PumpStreamHandler; - -//not used -@SuppressWarnings("unused") -public class UtBotToolLegacy implements ITestingTool { - - private PrintStream logOut = null; - - public UtBotToolLegacy() { - super(); - } - - private boolean useClassList = true; - - public void setUseClassList(boolean isMandatory) { - this.useClassList = isMandatory; - } - - private File binFile; - private List classPathList; - - public List getExtraClassPath() { - return new ArrayList(); - } - - public void initialize(File src, File bin, List classPath) { - this.binFile = bin; - this.classPathList = classPath; - } - - - public void run(String cName, long timeBudget) { - - this.cleanLatestUtBotRetVal(); - - final String homeDirName = "."; // current folder - final String toolJarFile = "utbot-1.0.0.jar"; - new File(homeDirName + "/temp").mkdir(); - - final String tempDirName = String.join(File.separator, homeDirName, "temp"); - File tempDir = new File(tempDirName); - if (!tempDir.exists()) { - throw new RuntimeException("Expected Temporary folder " + tempDirName + " was not found"); - } - - if (logOut == null) { - final String logUtBotFileName = String.join(File.separator, tempDirName, "log_utbot.txt"); - PrintStream outStream; - try { - outStream = new PrintStream(new FileOutputStream(logUtBotFileName, true)); - this.setLoggingPrintWriter(outStream); - } catch (FileNotFoundException e) { - throw new RuntimeException( - "FileNotFoundException signaled while creating output stream for " + logUtBotFileName); - } - } - - log("Checking environment variable JAVA_HOME "); - if (System.getenv("JAVA_HOME") == null) { - throw new RuntimeException("JAVA_HOME must be configured in order to run this program"); - } - - log("Execution of tool UtBot STARTED"); - log("user.home=" + homeDirName); - final String utBotJarFileName = String.join(File.separator, homeDirName, "lib", toolJarFile); - - File utbotJarFile = new File(utBotJarFileName); - if (!utbotJarFile.exists()) { - throw new RuntimeException("File utbot.jar was not found at folder " - + String.join(File.separator, homeDirName, "utbot", "dist")); - } - - final String junitOutputDirName = String.join(File.separator, homeDirName, "temp", "testcases"); - File junitOutputDir = new File(junitOutputDirName); - if (!junitOutputDir.exists()) { - log("Creating directory " + junitOutputDir); - junitOutputDir.mkdirs(); - } - - final String testClass = cName; - final long timeLimit = timeBudget; - - final String junitPackageName; - if (!testClass.contains(".")) { - junitPackageName = null; - } else { - final int lastIndexOfDot = testClass.lastIndexOf("."); - junitPackageName = testClass.substring(0, lastIndexOfDot); - } - - final String classPath = createClassPath(binFile, classPathList, utbotJarFile); - StringBuffer cmdLine = new StringBuffer(); - - String javaCommand = buildJavaCommand(); - cmdLine.append(String.format("%s -cp %s org.utbot.contest.ContestKt", javaCommand, classPath)); - cmdLine.append(String.format(" %s", testClass)); - cmdLine.append(String.format(" %s", timeLimit)); - cmdLine.append(String.format(" %s", junitOutputDirName)); - - final String regressionTestFileName; - if (junitPackageName != null) { - cmdLine.append(String.format(" %s", junitPackageName)); - - regressionTestFileName = String.join(File.separator, junitOutputDirName, - junitPackageName.replace(".", File.separator), "RegressionTest.java"); - } else { - regressionTestFileName = String.join(File.separator, junitOutputDirName, "RegressionTest.java"); - - } - - - String cmdToExecute = cmdLine.toString(); - - File homeDir = new File(homeDirName); - - //REAL LAUNCH - int retVal = launch(homeDir, cmdToExecute); - - - log("UtBot execution finished with exit code " + retVal); - this.setLatestUtBotRetVal(retVal); - - File regressionTestFile = new File(regressionTestFileName); - if (regressionTestFile.exists()) { - log("Deleting regression test suite file " + regressionTestFileName); - regressionTestFile.delete(); - } else { - log("Regression test suite file " + regressionTestFileName - + " could not be deleted since it does not exist"); - } - - log("Execution of tool UtBot FINISHED"); - } - - private void setLatestUtBotRetVal(int retVal) { - this.latestUtBotRetVal = Integer.valueOf(retVal); - } - - private void cleanLatestUtBotRetVal() { - this.latestUtBotRetVal = null; - } - - private String buildJavaCommand() { - String cmd = String.join(File.separator, System.getenv("JAVA_HOME"), "bin", "java"); - return cmd; - } - - private static String createClassPath(File subjectBinFile, List subjectClassPathList, File utbotJarFile) { - StringBuffer buff = new StringBuffer(); - buff.append(subjectBinFile.getAbsolutePath()); - for (File classPathFile : subjectClassPathList) { - buff.append(File.pathSeparator); - buff.append(classPathFile.getAbsolutePath()); - } - buff.append(File.pathSeparator); - buff.append(utbotJarFile.getAbsolutePath()); - return buff.toString(); - } - - public void setLoggingPrintWriter(PrintStream w) { - this.logOut = w; - } - - private void log(String msg) { - if (logOut != null) { - logOut.println(msg); - } - } - - private int launch(File baseDir, String cmdString) { - DefaultExecutor executor = new DefaultExecutor(); - PumpStreamHandler streamHandler; - streamHandler = new PumpStreamHandler(logOut, logOut, null); - executor.setStreamHandler(streamHandler); - if (baseDir != null) { - executor.setWorkingDirectory(baseDir); - } - - int exitValue; - try { - log("Spawning new process of command " + cmdString); - exitValue = executor.execute(CommandLine.parse(cmdString)); - log("Execution of subprocess finished with ret_code " + exitValue); - return exitValue; - } catch (IOException e) { - log("An IOException occurred during the execution of UtBot"); - return -1; - } - } - - private Integer latestUtBotRetVal = null; - - public Integer getLatestUtBotRetValue() { - return latestUtBotRetVal; - } - -} diff --git a/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ClassUnderTest.kt b/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ClassUnderTest.kt deleted file mode 100644 index b7252e49..00000000 --- a/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ClassUnderTest.kt +++ /dev/null @@ -1,56 +0,0 @@ -package org.utbot.contest - -import org.utbot.common.FileUtil -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.util.nameWithEnclosingClassesAsContigousString -import org.utbot.framework.plugin.api.util.utContext -import java.io.File -import java.nio.file.Paths - -class ClassUnderTest( - val classId: ClassId, - private val generatedTestsSourcesDir: File, - classfileDirSecondaryLocation: File? = null -) { - - val fqn: String - get() = classId.name - val classLoader: ClassLoader - get() = utContext.classLoader - val clazz - get() = classLoader.loadClass(fqn) - - /** - * Directory where this .class file is located without package folder structure - * E.g. for gradle projects it's `project/build/classes`. - */ - val classfileDir: File by lazy { - (FileUtil.locateClassPath(clazz) - ?: classfileDirSecondaryLocation - ?: FileUtil.isolateClassFiles(clazz) - ).absoluteFile - } -// val classpathDir : File get() = FileUtil.locateClassPath(kotlinClass)?.absoluteFile !! - - - /** - * These properties should be obtained only with utContext set - */ - private val packageName: String get() = classId.packageName - val simpleName: String get() = classId.nameWithEnclosingClassesAsContigousString - val testClassSimpleName: String get() = simpleName + "Test" - val generatedTestFile: File - get() = Paths.get( - generatedTestsSourcesDir.canonicalPath, - *(packageName.split('.') + "$testClassSimpleName.java").toTypedArray() - ).toFile().absoluteFile - - override fun toString(): String { - return "ClassUnderTest[ FQN: $fqn" + - "\n classfileDir: $classfileDir" + - "\n testClassSimpleName: $testClassSimpleName" + - "\n generatedTestFile: $generatedTestFile" + - "\n generatedTestsSourcesDir: $generatedTestsSourcesDir" + - "\n]" - } -} \ No newline at end of file diff --git a/utbot-junit-contest/src/main/kotlin/org/utbot/contest/Contest.kt b/utbot-junit-contest/src/main/kotlin/org/utbot/contest/Contest.kt deleted file mode 100644 index 896cd350..00000000 --- a/utbot-junit-contest/src/main/kotlin/org/utbot/contest/Contest.kt +++ /dev/null @@ -1,521 +0,0 @@ -package org.utbot.contest - -import mu.KotlinLogging -import org.objectweb.asm.Type -import org.utbot.common.FileUtil -import org.utbot.common.measureTime -import org.utbot.common.filterWhen -import org.utbot.common.info -import org.utbot.common.isAbstract -import org.utbot.engine.EngineController -import org.utbot.framework.TestSelectionStrategyType -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.utContext -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.plugin.services.JdkInfoService -import org.utbot.framework.util.isKnownImplicitlyDeclaredMethod -import org.utbot.fuzzer.UtFuzzedExecution -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.instrumentation.ConcreteExecutorPool -import org.utbot.instrumentation.Settings -import org.utbot.instrumentation.warmup.Warmup -import java.io.File -import java.lang.reflect.Method -import java.lang.reflect.Modifier -import java.net.URL -import java.net.URLClassLoader -import java.nio.file.Paths -import kotlin.concurrent.thread -import kotlin.math.max -import kotlin.math.min -import kotlin.reflect.KCallable -import kotlin.reflect.jvm.isAccessible -import kotlinx.coroutines.CancellationException -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.ObsoleteCoroutinesApi -import kotlinx.coroutines.SupervisorJob -import kotlinx.coroutines.currentCoroutineContext -import kotlinx.coroutines.delay -import kotlinx.coroutines.isActive -import kotlinx.coroutines.job -import kotlinx.coroutines.launch -import kotlinx.coroutines.newSingleThreadContext -import kotlinx.coroutines.runBlocking -import kotlinx.coroutines.withTimeoutOrNull -import org.utbot.framework.SummariesGenerationType -import org.utbot.framework.codegen.domain.* -import org.utbot.framework.codegen.generator.CodeGenerator -import org.utbot.framework.codegen.generator.CodeGeneratorParams -import org.utbot.framework.codegen.services.language.CgLanguageAssistant -import org.utbot.framework.minimization.minimizeExecutions -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.isSynthetic -import org.utbot.framework.util.jimpleBody -import org.utbot.summary.summarizeAll - -internal const val junitVersion = 4 -private val logger = KotlinLogging.logger {} - -@Suppress("unused") -object Contest - -enum class ContestMessage { - INIT, - READY, - RUN; - - override fun toString(): String { - return "[${super.toString()}]" - } - -} - -val charset = Charsets.UTF_8 - -val generatedLanguage: CodegenLanguage = CodegenLanguage.JAVA -val mockStrategyApi: MockStrategyApi = mockStrategyApiFromString(System.getProperty("utBotMockStrategyApi")) ?: MockStrategyApi.NO_MOCKS -val staticsMocking = StaticsMocking.defaultItem -val forceStaticMocking: ForceStaticMocking = ForceStaticMocking.FORCE - -val dependencyPath = System.getProperty("java.class.path") - -fun mockStrategyApiFromString(value:String?):MockStrategyApi? = when(value) { - "NO_MOCKS" -> MockStrategyApi.NO_MOCKS - "OTHER_PACKAGES" -> MockStrategyApi.OTHER_PACKAGES - "OTHER_CLASSES" -> MockStrategyApi.OTHER_CLASSES - else -> null -} - -@ObsoleteCoroutinesApi -fun main(args: Array) { - require(args.size == 3) { - """Wrong arguments. Expected arguments: - |Actual arguments: ${args.joinToString()} - """.trimMargin() - } - - setOptions() - - val classfileDir = Paths.get(args[0]) - val classpathString = args[1] - val outputDir = File(args[2]) - - println("Started UtBot Contest, classfileDir = $classfileDir, classpathString=$classpathString, outputDir=$outputDir, mocks=$mockStrategyApi") - - val cpEntries = classpathString.split(File.pathSeparator).map { File(it) } - val classLoader = URLClassLoader(cpEntries.map { it.toUrl() }.toTypedArray()) - val context = UtContext(classLoader) - - - withUtContext(context) { - // Initialize the soot before a contest is started. - // This saves the time budget for real work instead of soot initialization. - TestCaseGenerator(listOf(classfileDir), classpathString, dependencyPath, JdkInfoService.provide()) - - logger.info().measureTime({ "warmup: kotlin reflection :: init" }) { - prepareClass(ConcreteExecutorPool::class.java, "") - prepareClass(Warmup::class.java, "") - } - - println("${ContestMessage.INIT}") - - while (true) { - val line = readLine() - println(">> $line") - if (line == null) { - return - } - val cmd = line.split(" ") - if (cmd.isEmpty() || cmd[0] != "${ContestMessage.RUN}") - continue - - val classUnderTestName = cmd[1] - val timeBudgetSec = cmd[2].toLong() - val cut = ClassUnderTest(classLoader.loadClass(classUnderTestName).id, outputDir, classfileDir.toFile()) - - runGeneration( - project = "Contest", - cut, - timeBudgetSec, - fuzzingRatio = 0.1, - classpathString, - runFromEstimator = false, - expectedExceptions = ExpectedExceptionsForClass(), - methodNameFilter = null - ) - println("${ContestMessage.READY}") - } - } - ConcreteExecutor.defaultPool.close() -} - -fun setOptions() { - Settings.defaultConcreteExecutorPoolSize = 1 - UtSettings.useFuzzing = true - UtSettings.classfilesCanChange = false - // We need to use assemble model generator to increase readability - UtSettings.useAssembleModelGenerator = true - UtSettings.summaryGenerationType = SummariesGenerationType.LIGHT - UtSettings.preferredCexOption = false - UtSettings.warmupConcreteExecution = true - UtSettings.testMinimizationStrategyType = TestSelectionStrategyType.COVERAGE_STRATEGY - UtSettings.ignoreStringLiterals = true - UtSettings.maximizeCoverageUsingReflection = true - UtSettings.useSandbox = false -} - - -@ObsoleteCoroutinesApi -@SuppressWarnings -fun runGeneration( - project: String, - cut: ClassUnderTest, - timeLimitSec: Long, - fuzzingRatio: Double, - classpathString: String, - runFromEstimator: Boolean, - expectedExceptions: ExpectedExceptionsForClass, - methodNameFilter: String? = null // For debug purposes you can specify method name -): StatsForClass = runBlocking { - val testsByMethod: MutableMap> = mutableMapOf() - val currentContext = utContext - - val timeBudgetMs = timeLimitSec * 1000 - val generationTimeout: Long = timeBudgetMs - timeBudgetMs * 15 / 100 // 4000 ms for terminate all activities and finalize code in file - - logger.debug { "-----------------------------------------------------------------------------" } - logger.info( - "Contest.runGeneration: Time budget: $timeBudgetMs ms, Generation timeout=$generationTimeout ms, " + - "classpath=$classpathString, methodNameFilter=$methodNameFilter" - ) - - if (runFromEstimator) { - setOptions() - //will not be executed in real contest - logger.info().measureTime({ "warmup: 1st optional soot initialization and executor warmup (not to be counted in time budget)" }) { - TestCaseGenerator(listOf(cut.classfileDir.toPath()), classpathString, dependencyPath, JdkInfoService.provide(), forceSootReload = false) - } - logger.info().measureTime({ "warmup (first): kotlin reflection :: init" }) { - prepareClass(ConcreteExecutorPool::class.java, "") - prepareClass(Warmup::class.java, "") - } - } - - //remaining budget - val startTime = System.currentTimeMillis() - fun remainingBudget() = max(0, generationTimeout - (System.currentTimeMillis() - startTime)) - - logger.info("$cut") - - if (cut.classLoader.javaClass != URLClassLoader::class.java) { - logger.error("Seems like classloader for cut not valid (maybe it was backported to system): ${cut.classLoader}") - } - - val statsForClass = StatsForClass(project, cut.fqn) - - val codeGenerator = CodeGenerator( - CodeGeneratorParams( - cut.classId, - projectType = ProjectType.PureJvm, - testFramework = junitByVersion(junitVersion), - staticsMocking = staticsMocking, - forceStaticMocking = forceStaticMocking, - generateWarningsForStaticMocking = false, - cgLanguageAssistant = CgLanguageAssistant.getByCodegenLanguage(CodegenLanguage.defaultItem), - runtimeExceptionTestsBehaviour = RuntimeExceptionTestsBehaviour.PASS, - ) - ) - - logger.info().measureTime({ "class ${cut.fqn}" }, { statsForClass }) { - - val filteredMethods = logger.info().measureTime({ "preparation class ${cut.clazz}: kotlin reflection :: run" }) { - prepareClass(cut.clazz, methodNameFilter) - } - - statsForClass.methodsCount = filteredMethods.size - - // nothing to process further - if (filteredMethods.isEmpty()) return@runBlocking statsForClass - - val testCaseGenerator = - logger.info().measureTime({ "2nd optional soot initialization" }) { - TestCaseGenerator(listOf(cut.classfileDir.toPath()), classpathString, dependencyPath, JdkInfoService.provide(), forceSootReload = false) - } - - - val engineJob = CoroutineScope(SupervisorJob() + newSingleThreadContext("SymbolicExecution") + currentContext ).launch { - - if (remainingBudget() == 0L) { - logger.warn {"No time left for processing class"} - return@launch - } - - var remainingMethodsCount = filteredMethods.size - val method2controller = filteredMethods.associateWith { EngineController() } - - for ((method, controller) in method2controller) { - val job = launch(currentContext) { - val methodJob = currentCoroutineContext().job - - logger.debug { " ... " } - val statsForMethod = StatsForMethod( - "${method.classId.simpleName}#${method.name}", - expectedExceptions.getForMethod(method.name).exceptionNames - ) - statsForClass.statsForMethods.add(statsForMethod) - - - if (!isActive) { - logger.warn { "Stop processing methods of [${cut.fqn}] because job has been canceled" } - return@launch - } - - - val minSolverTimeout = 10L - val remainingBudget = remainingBudget() - if (remainingBudget < minSolverTimeout*2 ) { - logger.warn { "No time left for [${cut.fqn}]" } - return@launch - } - - val budgetForMethod = remainingBudget / remainingMethodsCount - - val solverTimeout = min(1000L, max(minSolverTimeout /* 0 means solver have no timeout*/, budgetForMethod / 2)).toInt() - - // @todo change to the constructor parameter - UtSettings.checkSolverTimeoutMillis = solverTimeout - - val budgetForLastSolverRequestAndConcreteExecutionRemainingStates = min(solverTimeout + 200L, budgetForMethod / 2) - - - val budgetForSymbolicExecution = max(0, budgetForMethod - budgetForLastSolverRequestAndConcreteExecutionRemainingStates) - - UtSettings.utBotGenerationTimeoutInMillis = budgetForMethod - UtSettings.fuzzingTimeoutInMillis = (budgetForMethod * fuzzingRatio).toLong() - - //start controller that will activate symbolic execution - GlobalScope.launch(currentContext) { - delay(budgetForSymbolicExecution) - - if (methodJob.isActive) { - logger.info { "|> Starting concrete execution for remaining state: $method" } - controller.executeConcretely = true - } - - delay(budgetForLastSolverRequestAndConcreteExecutionRemainingStates) - if (methodJob.isActive) { - logger.info { "(X) Cancelling concrete execution: $method" } - methodJob.cancel() - } - } - - - var testsCounter = 0 - logger.info().measureTime({ "method $method" }, { statsForMethod }) { - logger.info { - " -- Remaining time budget: $remainingBudget ms, " + - "#remaining_methods: $remainingMethodsCount, " + - "budget for method: $budgetForMethod ms, " + - "solver timeout: $solverTimeout ms, " + - "budget for symbolic execution: $budgetForSymbolicExecution ms, " + - "budget for concrete execution: $budgetForLastSolverRequestAndConcreteExecutionRemainingStates ms, " + - " -- " - - } - - testCaseGenerator.generateAsync(controller, method, mockStrategyApi) - .collect { result -> - when (result) { - is UtExecution -> { - try { - val testMethodName = testMethodName(method.toString(), ++testsCounter) - val className = Type.getInternalName(method.classId.jClass) - logger.debug { "--new testCase collected, to generate: $testMethodName" } - statsForMethod.testsGeneratedCount++ - result.result.exceptionOrNull()?.let { exception -> - statsForMethod.detectedExceptionFqns += exception::class.java.name - } - result.coverage?.let { - statsForClass.updateCoverage( - newCoverage = it, - isNewClass = !statsForClass.testedClassNames.contains(className), - fromFuzzing = result is UtFuzzedExecution - ) - } - statsForClass.testedClassNames.add(className) - - testsByMethod.getOrPut(method) { mutableListOf() } += result - } catch (e: Throwable) { - //Here we need isolation - logger.error(e) { "Code generation failed" } - } - } - is UtError -> { - if (statsForMethod.failReasons.add(FailReason(result))) - logger.error(result.error) { "Symbolic execution FAILED" } - else - logger.error { "Symbolic execution FAILED ... <>" } - } - } - } - - //hack - if (statsForMethod.isSuspicious && (ConcreteExecutor.lastSendTimeMs - ConcreteExecutor.lastReceiveTimeMs) > 5000) { - logger.error { "HEURISTICS: close instrumented process, because it haven't responded for long time: ${ConcreteExecutor.lastSendTimeMs - ConcreteExecutor.lastReceiveTimeMs}" } - ConcreteExecutor.defaultPool.close() - } - } - } - controller.job = job - - //don't start other methods while last method still in progress - try { - job.join() - } catch (t: Throwable) { - logger.error(t) { "Internal job error" } - } - - remainingMethodsCount-- - } - } - - - val cancellator = GlobalScope.launch(currentContext) { - delay(remainingBudget()) - if (engineJob.isActive) { - logger.warn { "Cancelling job because timeout $generationTimeout ms elapsed (real cancellation can take time)" } - statsForClass.canceledByTimeout = true - engineJob.cancel() - } - } - - withTimeoutOrNull(remainingBudget() + 200 /* Give job some time to finish gracefully */) { - try { - engineJob.join() - } catch (_: CancellationException) { - } catch (e: Exception) { // need isolation because we want to write tests for class in any case - logger.error(e) { "Error in engine invocation on class [${cut.fqn}]" } - } - } - cancellator.cancel() - - val testSets = testsByMethod.map { (method, executions) -> - UtMethodTestSet(method, minimizeExecutions(executions), jimpleBody(method)) - }.summarizeAll(cut.classfileDir.toPath(), sourceFile = null) - - logger.info().measureTime({ "Flushing tests for [${cut.simpleName}] on disk" }) { - writeTestClass(cut, codeGenerator.generateAsString(testSets)) - } - //write classes - } - - statsForClass -} - -private fun prepareClass(javaClazz: Class<*>, methodNameFilter: String?): List { - //1. all methods from cut - val methods = javaClazz.declaredMethods - .filterNot { it.isAbstract } - .filterNotNull() - - //2. all constructors from cut - val constructors = - if (javaClazz.isAbstract || javaClazz.isEnum) emptyList() else javaClazz.declaredConstructors.filterNotNull() - - //3. Now join methods and constructors together - val methodsToGenerate = methods.filter { it.isVisibleFromGeneratedTest } + constructors - - val classFilteredMethods = methodsToGenerate - .map { it.executableId } - .filter { methodNameFilter?.equals(it.name) ?: true } - .filterWhen(UtSettings.skipTestGenerationForSyntheticAndImplicitlyDeclaredMethods) { - !it.isSynthetic && !it.isKnownImplicitlyDeclaredMethod - } - .toList() - - - return if (javaClazz.declaredClasses.isEmpty()) { - classFilteredMethods - } else { - val nestedFilteredMethods = javaClazz.declaredClasses.flatMap { prepareClass(it, methodNameFilter) } - classFilteredMethods + nestedFilteredMethods - } -} - -fun writeTestClass(cut: ClassUnderTest, testSetsAsString: String) { - logger.info { "File size for ${cut.testClassSimpleName}: ${FileUtil.byteCountToDisplaySize(testSetsAsString.length.toLong())}" } - cut.generatedTestFile.parentFile.mkdirs() - cut.generatedTestFile.writeText(testSetsAsString, charset) -} - -private inline fun KCallable<*>.withAccessibility(block: () -> R): R { - val prevAccessibility = isAccessible - try { - isAccessible = true - return block() - } finally { - isAccessible = prevAccessibility - } -} - -@Suppress("DEPRECATION", "SameParameterValue") -private inline fun runWithTimeout(timeout: Long, crossinline block: () -> T): T? { - var value: T? = null - val thread = thread { - value = block() //highly depends that block doesn't throw exceptions - } - try { - thread.join(timeout) - - if (thread.isAlive) { - thread.interrupt() - thread.join(50) - } - if (thread.isAlive) - thread.stop() - } catch (e: Exception) { - logger.error(e) { "Can't run with timeout" } - } - return value -} - -//val start = System.currentTimeMillis() -//internal fun currentTime(start: Long) = (System.currentTimeMillis() - start) - -internal fun File.toUrl(): URL = toURI().toURL() - -internal fun testMethodName(name: String, num: Int): String = "test${name.capitalize()}$num" - -internal val Method.isVisibleFromGeneratedTest: Boolean - get() = (this.modifiers and Modifier.ABSTRACT) == 0 - && (this.modifiers and Modifier.NATIVE) == 0 - -private fun StatsForClass.updateCoverage(newCoverage: Coverage, isNewClass: Boolean, fromFuzzing: Boolean) { - coverage.update(newCoverage, isNewClass) - // other coverage type updates by empty coverage to respect new class - val emptyCoverage = newCoverage.copy( - coveredInstructions = emptyList() - ) - if (fromFuzzing) { - fuzzedCoverage to concolicCoverage - } else { - concolicCoverage to fuzzedCoverage - }.let { (targetSource, otherSource) -> - targetSource.update(newCoverage, isNewClass) - otherSource.update(emptyCoverage, isNewClass) - } -} - -private fun CoverageInstructionsSet.update(newCoverage: Coverage, isNewClass: Boolean) { - if (isNewClass) { - newCoverage.instructionsCount?.let { - totalInstructions += it - } - } - coveredInstructions.addAll(newCoverage.coveredInstructions) -} diff --git a/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ContestEstimator.kt b/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ContestEstimator.kt deleted file mode 100644 index d1271f70..00000000 --- a/utbot-junit-contest/src/main/kotlin/org/utbot/contest/ContestEstimator.kt +++ /dev/null @@ -1,579 +0,0 @@ -package org.utbot.contest - -import kotlinx.coroutines.ObsoleteCoroutinesApi -import java.io.File -import java.io.FileInputStream -import java.net.URLClassLoader -import java.nio.file.Files -import java.nio.file.Paths -import java.nio.file.StandardCopyOption -import java.util.concurrent.CancellationException -import java.util.concurrent.TimeUnit -import java.util.zip.ZipInputStream -import mu.KotlinLogging -import org.utbot.analytics.EngineAnalyticsContext -import org.utbot.analytics.Predictors -import org.utbot.common.FileUtil -import org.utbot.common.measureTime -import org.utbot.common.getPid -import org.utbot.common.info -import org.utbot.contest.Paths.classesLists -import org.utbot.contest.Paths.dependenciesJars -import org.utbot.contest.Paths.evosuiteGeneratedTestsFile -import org.utbot.contest.Paths.evosuiteJarPath -import org.utbot.contest.Paths.evosuiteOutputDir -import org.utbot.contest.Paths.evosuiteReportFile -import org.utbot.contest.Paths.jarsDir -import org.utbot.contest.Paths.moduleTestDir -import org.utbot.contest.Paths.outputDir -import org.utbot.features.FeatureExtractorFactoryImpl -import org.utbot.features.FeatureProcessorWithStatesRepetitionFactory -import org.utbot.framework.PathSelectorType -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.plugin.services.JdkInfoService -import org.utbot.instrumentation.ConcreteExecutor -import org.utbot.predictors.MLPredictorFactoryImpl -import kotlin.math.min - -private val logger = KotlinLogging.logger {} - -private val classPathSeparator = System.getProperty("path.separator") -//To hack it to debug something be like Duke -// if (System.getProperty("user.name") == "duke") my_path else "JAVA_HOME" -private val javaHome = System.getenv("JAVA_HOME") - -private val javacCmd = "$javaHome/bin/javac" -private val javaCmd = "$javaHome/bin/java" - -private const val compileAttempts = 2 - -private data class UnnamedPackageInfo(val pack: String, val module: String) - -private fun findAllNotExportedPackages(report: String): List { - val regex = """package ([\d\w.]+) is declared in module ([\d\w.]+), which does not export it to the unnamed module""".toRegex() - return regex.findAll(report).map { - val pack = it.groupValues[1] - val module = it.groupValues[2] - UnnamedPackageInfo(pack, module) - }.toList().distinct() -} - -private fun compileClass(testDir: String, classPath: String, testClass: String): Int { - val exports = mutableSetOf() - var exitCode = 0 - - repeat(compileAttempts) { attemptNumber -> - val cmd = arrayOf( - javacCmd, - *exports.flatMap { - listOf("--add-exports", "${it.module}/${it.pack}=ALL-UNNAMED") - }.toTypedArray(), - "-d", testDir, - "-cp", classPath, - "-nowarn", - "-XDignore.symbol.file", - testClass - ) - logger.debug { "Compile attempt ${attemptNumber + 1}" } - - logger.trace { cmd.toText() } - - val process = Runtime.getRuntime().exec(cmd) - - val errors = process.errorStream.reader().buffered().readText() - - exitCode = process.waitFor() - if (exitCode == 0) { - return 0 - } else { - if (errors.isNotEmpty()) - logger.error { "Compilation errors: $errors" } - exports += findAllNotExportedPackages(errors) - } - } - - return exitCode -} - -fun Array.toText() = joinToString(separator = ",") - -@Suppress("unused") -object ContestEstimator - -object Paths { - private const val projectPath = "utbot-junit-contest" - private const val resourcesPath = "$projectPath/src/main/resources" - private const val evosuiteDir = "$resourcesPath/evosuite" - - const val classesLists = "$resourcesPath/classes" - const val jarsDir = "$resourcesPath/projects" - const val outputDir = "$projectPath/build/output" - const val moduleTestDir = "$projectPath/src/test/java" - const val evosuiteJarPath = "$evosuiteDir/evosuite-1.2.0.jar" - const val evosuiteOutputDir = "$outputDir/evosuite" - private const val evosuiteReportPath = "$evosuiteOutputDir/evosuite-report" - private const val evosuiteGeneratedTestsPath = "$evosuiteOutputDir/evosuite-tests" - - val evosuiteReportFile = File(evosuiteReportPath) - val evosuiteGeneratedTestsFile = File(evosuiteGeneratedTestsPath) - - private val dependenciesJarsDir = System.getProperty("utBotDependenciesJarsDir") ?: "$resourcesPath/dependencies" - internal val dependenciesJars = File(dependenciesJarsDir).listFiles()?.joinToString(classPathSeparator) - ?: System.getProperty("java.class.path") -} - -@Suppress("unused") -enum class Tool { - UtBot { - @OptIn(ObsoleteCoroutinesApi::class) - @Suppress("EXPERIMENTAL_API_USAGE") - override fun run( - project: ProjectToEstimate, - cut: ClassUnderTest, - timeLimit: Long, - fuzzingRatio: Double, - methodNameFilter: String?, - statsForProject: StatsForProject, - compiledTestDir: File, - classFqn: String, - expectedExceptions: ExpectedExceptionsForClass - ) = withUtContext(ContextManager.createNewContext(project.classloader)) { - val classStats: StatsForClass = try { - runGeneration( - project.name, - cut, - timeLimit, - fuzzingRatio, - project.sootClasspathString, - runFromEstimator = true, - expectedExceptions, - methodNameFilter - ) - } catch (e: CancellationException) { - logger.info { "[$classFqn] finished with CancellationException" } - return - } catch (e: Throwable) { - logger.info { "ISOLATION: $e" } - logger.info { "continue without compilation" } - return - } - - statsForProject.statsForClasses.add(classStats) - - try { - val testClass = cut.generatedTestFile - classStats.testClassFile = testClass - - logger.info().measureTime({ "Compiling class ${testClass.absolutePath}" }) { - val exitCode = compileClass( - compiledTestDir.absolutePath, - project.compileClasspathString, - testClass.absolutePath - ) - if (exitCode != 0) { - logger.error { "Failed to compile test class ${cut.testClassSimpleName}" } - classStats.failedToCompile = true - - } else { - val compilableTestSourcePath = Paths.get( - testClass.toString() - .replace("test_candidates", "test") - ) - Files.createDirectories(compilableTestSourcePath.parent) - Files.move( - testClass.toPath(), - compilableTestSourcePath, - StandardCopyOption.REPLACE_EXISTING - ) - logger.info("Moved successfully compiled file into $compilableTestSourcePath") - } - } - } catch (t: Throwable) { - logger.error(t) { "Unexpected exception while running external compilation process" } - } - } - - override fun moveProducedFilesIfNeeded() { - // don't do anything - } - }, - EvoSuite { - override fun run( - project: ProjectToEstimate, - cut: ClassUnderTest, - timeLimit: Long, - fuzzingRatio: Double, - methodNameFilter: String?, - statsForProject: StatsForProject, - compiledTestDir: File, - classFqn: String, - expectedExceptions: ExpectedExceptionsForClass - ) { - // EvoSuite has several phases, the variable below is responsible for assert generation - // timeout. We want to give 10s for a big time budgets and timeLimit / 5 for small budgets. - val timeLimitForGeneration = min(10, timeLimit / 5) - - val command = listOf( - javaCmd, "-jar", evosuiteJarPath, - "-generateSuite", - "-Dsearch_budget=${timeLimit - timeLimitForGeneration}", - "-Dstopping_condition=MaxTime", - "-projectCP", "\"${project.compileClasspathString}\"", - "-class", "\"$classFqn\"", - "-D", "minimize=false", - "-D", "minimize_second_pass=false", - "-D", "minimization_timeout=0", - "-D", "extra_timeout=0", - "-D", "assertion_timeout=$timeLimitForGeneration", - "-D", "junit_check=FALSE", - "-D", "minimize_skip_coincidental=false", - - // because of some unknown reasons, the option below doesn't work - // and the generated files will be stored in the root directory - // in folders "evosuite-report" and "evosuite-tests" - "-D", "OUTPUT_DIR=\"evosuite-tests-custom-folder\"" - ) - - try { - logger.info { "Started processing $classFqn" } - val process = ProcessBuilder(command).redirectErrorStream(true).start() - - logger.info { "Pid: ${process.getPid}" } - - process.inputStream.bufferedReader().use { reader -> - while (true) { - reader.readLine()?.let { logger.info { it } } ?: break - } - } - - // EvoSuite in its way work with timeouts: it might generate 93 second for 90s timeout - // or start to minimize code with disabled minimization. Moreover, it takes time to - // analyze classpath (for now it is about 15 seconds). So we have to wait for a bit more - // than we want. From some experience I put here 50 seconds, but it might not be enough. - val timeoutForProcessSeconds = timeLimit + 50 // seconds - if (!process.waitFor(timeoutForProcessSeconds, TimeUnit.SECONDS)) { - process.destroyForcibly().waitFor() - logger.info { "Cancelled by timeout" } - } - - logger.info { "Processed $classFqn, exit code: ${process.exitValue()}" } - } catch (e: Throwable) { - logger.error { "$classFqn: ${e.message}" } - } - } - - override fun moveProducedFilesIfNeeded() { - val output = Paths.get(evosuiteOutputDir) - Files.createDirectories(output) - moveFolder(sourceFile = File("./evosuite-report"), targetFile = evosuiteReportFile) - moveFolder(sourceFile = File("./evosuite-tests"), targetFile = evosuiteGeneratedTestsFile) - } - }; - - abstract fun run( - project: ProjectToEstimate, - cut: ClassUnderTest, - timeLimit: Long, - fuzzingRatio: Double, // maybe create some specific settings - methodNameFilter: String?, - statsForProject: StatsForProject, - compiledTestDir: File, - classFqn: String, - expectedExceptions: ExpectedExceptionsForClass - ) - - abstract fun moveProducedFilesIfNeeded() -} - -fun main(args: Array) { - val estimatorArgs: Array - val methodFilter: String? - val projectFilter: List? - val processedClassesThreshold: Int - val tools: List - - // very special case when you run your project directly from IntellijIDEA omitting command line arguments - if (args.isEmpty() && System.getProperty("os.name")?.run { contains("win", ignoreCase = true) } == true) { - processedClassesThreshold = 9999 //change to change number of classes to run - val timeLimit = 20 // increase if you want to debug something - val fuzzingRatio = 0.1 // sets fuzzing ratio to total test generation - - // Uncomment it for debug purposes: - // you can specify method for test generation in format `classFqn.methodName` - // examples: -// methodFilter = "org.antlr.v4.codegen.model.decl.ContextGetterDecl.*" -// methodFilter = "org.antlr.v4.parse.LeftRecursiveRuleWalker.*" -// methodFilter = "com.google.common.graph.Graphs.*" -// methodFilter = "com.google.common.math.LongMath.sqrt" -// methodFilter = "org/antlr/v4/tool/ErrorManager.*" -// methodFilter = null - -// projectFilter = listOf("samples", "utbottest") -// projectFilter = listOf("samples") -// tools = listOf(Tool.UtBot, Tool.EvoSuite) -// tools = listOf(Tool.UtBot) -// tools = listOf(Tool.EvoSuite) - - // config for SBST 2022 - methodFilter = null - projectFilter = listOf("fastjson-1.2.50", "guava-26.0", "seata-core-0.5.0", "spoon-core-7.0.0") - tools = listOf(Tool.UtBot) - - estimatorArgs = arrayOf( - classesLists, - jarsDir, - "$timeLimit", - "$fuzzingRatio", - outputDir, - moduleTestDir - ) - } else { - require(args.size == 7) { - "Wrong arguments: -class Fail(val message: String) : Optional() -class Success(val value: A) : Optional() - -fun bind( - value: Optional, - f: (A) -> Optional -): Optional = - when (value) { - is Fail -> Fail(value.message) - is Success -> f(value.value) - } - -fun pack(vararg values: Optional): Optional> { - val result = mutableListOf() - for (elem in values) { - when (elem) { - is Fail -> return Fail(elem.message) - is Success -> result.add(elem.value) - } - } - return Success(result) -} \ No newline at end of file diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/PriorityCartesianProduct.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/PriorityCartesianProduct.kt deleted file mode 100644 index 5cd6ca50..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/PriorityCartesianProduct.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.python.utils - -import java.lang.Integer.min - -class PriorityCartesianProduct(private val lists: List>) { - - private fun generateFixedSumRepresentation( - sum: Int, - index: Int = 0, - curRepr: List = emptyList() - ): Sequence> { - val itemNumber = lists.size - var result = emptySequence>() - if (index == itemNumber && sum == 0) { - return sequenceOf(curRepr) - } else if (index < itemNumber && sum >= 0) { - for (i in 0..min(sum, lists[index].size - 1)) { - result += generateFixedSumRepresentation( - sum - i, - index + 1, - curRepr + listOf(i) - ) - } - } - return result - } - - fun getSequence(): Sequence> { - var curSum = 0 - val maxSum = lists.fold(0) { acc, elem -> acc + elem.size } - val combinations = generateSequence { - if (curSum > maxSum) - null - else - generateFixedSumRepresentation(curSum++) - } - return combinations.flatten().map { combination: List -> - combination.mapIndexed { element, value -> lists[element][value] } - } - } -} diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt deleted file mode 100644 index 583e0531..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/ProcessUtils.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.python.utils - -import java.io.BufferedReader -import java.io.InputStreamReader -import java.util.concurrent.TimeUnit - -data class CmdResult( - val stdout: String, - val stderr: String, - val exitValue: Int, - val terminatedByTimeout: Boolean = false -) - -fun startProcess(command: List): Process = ProcessBuilder(command).start() - -fun getResult(process: Process, timeout: Long? = null): CmdResult { - if (timeout != null) { - if (!process.waitFor(timeout, TimeUnit.MILLISECONDS)) { - process.destroy() - return CmdResult("", "", 1, terminatedByTimeout = true) - } - } - - val reader = BufferedReader(InputStreamReader(process.inputStream)) - var stdout = "" - var line: String? = "" - while (line != null) { - stdout += "$line\n" - line = reader.readLine() - } - - if (timeout == null) - process.waitFor() - - val stderr = process.errorStream.readBytes().decodeToString().trimIndent() - return CmdResult(stdout.trimIndent(), stderr, process.exitValue()) -} - -fun runCommand(command: List, timeout: Long? = null): CmdResult { - val process = startProcess(command) - return getResult(process, timeout) -} \ No newline at end of file diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/RequirementsInstaller.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/RequirementsInstaller.kt deleted file mode 100644 index 2aace97d..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/RequirementsInstaller.kt +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.python.utils - -interface RequirementsInstaller { - fun checkRequirements(pythonPath: String, requirements: List): Boolean - fun installRequirements(pythonPath: String, requirements: List) - - companion object { - fun checkRequirements(requirementsInstaller: RequirementsInstaller, pythonPath: String, additionalRequirements: List): Boolean { - val requirements = RequirementsUtils.requirements + additionalRequirements - if (!requirementsInstaller.checkRequirements(pythonPath, requirements)) { - requirementsInstaller.installRequirements(pythonPath, requirements) - return requirementsInstaller.checkRequirements(pythonPath, requirements) - } - return true - } - - } -} \ No newline at end of file diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/RequirementsUtils.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/RequirementsUtils.kt deleted file mode 100644 index 008439aa..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/RequirementsUtils.kt +++ /dev/null @@ -1,46 +0,0 @@ -package org.utbot.python.utils - -object RequirementsUtils { - val requirements: List = listOf( - "mypy==1.0.0", - "utbot-executor==1.4.32", - "utbot-mypy-runner==0.2.11", - ) - - private val requirementsScriptContent: String = - RequirementsUtils::class.java.getResource("/check_requirements.py") - ?.readText() - ?: error("Didn't find /check_requirements.py") - - fun requirementsAreInstalled(pythonPath: String): Boolean { - return requirementsAreInstalled(pythonPath, requirements) - } - - fun requirementsAreInstalled(pythonPath: String, requirementList: List): Boolean { - val requirementsScript = - TemporaryFileManager.createTemporaryFile(requirementsScriptContent, tag = "requirements") - val result = runCommand( - listOf( - pythonPath, - requirementsScript.path - ) + requirementList - ) - requirementsScript.delete() - return result.exitValue == 0 - } - - fun installRequirements(pythonPath: String): CmdResult { - return installRequirements(pythonPath, requirements) - } - - fun installRequirements(pythonPath: String, moduleNames: List): CmdResult { - return runCommand( - listOf( - pythonPath, - "-m", - "pip", - "install" - ) + moduleNames - ) - } -} diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/StringUtils.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/StringUtils.kt deleted file mode 100644 index 2daa6368..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/StringUtils.kt +++ /dev/null @@ -1,47 +0,0 @@ -package org.utbot.python.utils - -import org.utbot.common.PathUtil.toPath -import java.io.File -import java.nio.file.Paths - -// numeration from zero -fun getLineNumber(content: String, pos: Int) = - content.substring(0, pos).count { it == '\n' } - -fun getLineOfFunction(code: String, functionName: String? = null): Int? { - val regex = - if (functionName != null) - """(?m)^def +$functionName\(""".toRegex() - else - """(?m)^def""".toRegex() - - val trimmedCode = code.replaceIndent() - return regex.find(trimmedCode)?.range?.first?.let { getLineNumber(trimmedCode, it) } -} - -fun String.camelToSnakeCase(): String { - val camelRegex = "(?<=[a-zA-Z])[\\dA-Z]".toRegex() - return camelRegex.replace(this) { - "_${it.value}" - }.lowercase() -} - -fun moduleOfType(typeName: String): String? { - val lastIndex = typeName.lastIndexOf('.') - return if (lastIndex == -1) null else typeName.substring(0, lastIndex) -} - -fun checkIfFileLiesInPath(path: String, fileWithClassPath: String): Boolean { - val parentPath = Paths.get(path).toAbsolutePath() - val childPath = Paths.get(fileWithClassPath).toAbsolutePath() - return childPath.startsWith(parentPath) -} - -fun getModuleNameWithoutCheck(path: File, fileWithClass: File): String = - path.toURI().relativize(fileWithClass.toURI()).path.removeSuffix(".py").toPath().joinToString(".") - -fun getModuleName(path: String, fileWithClassPath: String): String? { - if (checkIfFileLiesInPath(path, fileWithClassPath)) - return getModuleNameWithoutCheck(File(path), File(fileWithClassPath)) - return null -} \ No newline at end of file diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/TemporaryFileManager.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/TemporaryFileManager.kt deleted file mode 100644 index c05ff623..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/TemporaryFileManager.kt +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.python.utils - -import org.utbot.common.FileUtil -import java.io.File -import java.nio.file.Path -import java.nio.file.Paths - -object TemporaryFileManager { - private var tmpDirectory: Path - private var nextId = 0 - - init { - tmpDirectory = FileUtil.createTempDirectory("python-test-generation-${nextId++}") - Cleaner.addFunction { tmpDirectory.toFile().deleteRecursively() } - } - - fun assignTemporaryFile(fileName_: String? = null, tag: String? = null, addToCleaner: Boolean = true): File { - val fileName = fileName_ ?: ("tmp_${nextId++}_" + (tag ?: "")) - val fullpath = Paths.get(tmpDirectory.toString(), fileName) - val result = fullpath.toFile() - if (addToCleaner) - Cleaner.addFunction { result.delete() } - return result - } - - fun writeToAssignedFile(file: File, content: String) { - file.writeText(content) - file.parentFile?.mkdirs() - file.createNewFile() - } - - fun createTemporaryFile( - content: String, - fileName: String? = null, - tag: String? = null, - addToCleaner: Boolean = true - ): File { - val file = assignTemporaryFile(fileName, tag, addToCleaner) - writeToAssignedFile(file, content) - return file - } -} \ No newline at end of file diff --git a/utbot-python/src/main/kotlin/org/utbot/python/utils/TestGenerationLimitManager.kt b/utbot-python/src/main/kotlin/org/utbot/python/utils/TestGenerationLimitManager.kt deleted file mode 100644 index b731bf3f..00000000 --- a/utbot-python/src/main/kotlin/org/utbot/python/utils/TestGenerationLimitManager.kt +++ /dev/null @@ -1,75 +0,0 @@ -package org.utbot.python.utils - -class TestGenerationLimitManager( - // global settings - var mode: LimitManagerMode, - val until: Long, - - // local settings: one type inference iteration - var executions: Int = 150, - var invalidExecutions: Int = 10, - var fakeNodeExecutions: Int = 20, - var missedLines: Int? = null, -) { - private val initExecution = executions - private val initInvalidExecutions = invalidExecutions - private val initFakeNodeExecutions = fakeNodeExecutions - private val initMissedLines = missedLines - - fun restart() { - executions = initExecution - invalidExecutions = initInvalidExecutions - fakeNodeExecutions = initFakeNodeExecutions - missedLines = initMissedLines - } - - fun addSuccessExecution() { - executions -= 1 - } - - fun addInvalidExecution() { - invalidExecutions -= 1 - } - - fun addFakeNodeExecutions() { - fakeNodeExecutions -= 1 - } - - fun isCancelled(): Boolean { - return mode.isCancelled(this) - } -} - -interface LimitManagerMode { - fun isCancelled(manager: TestGenerationLimitManager): Boolean -} - -object MaxCoverageMode : LimitManagerMode { - override fun isCancelled(manager: TestGenerationLimitManager): Boolean { - return manager.missedLines?.equals(0) == true - } -} - -object TimeoutMode : LimitManagerMode { - override fun isCancelled(manager: TestGenerationLimitManager): Boolean { - return System.currentTimeMillis() >= manager.until - } -} - -object ExecutionMode : LimitManagerMode { - override fun isCancelled(manager: TestGenerationLimitManager): Boolean { - return manager.invalidExecutions <= 0 || manager.executions <= 0 || manager.fakeNodeExecutions <= 0 - } -} - -object MaxCoverageWithTimeoutMode : LimitManagerMode { - override fun isCancelled(manager: TestGenerationLimitManager): Boolean { - return MaxCoverageMode.isCancelled(manager) || TimeoutMode.isCancelled(manager) - } -} - -object ExecutionWithTimeoutMode : LimitManagerMode { - override fun isCancelled(manager: TestGenerationLimitManager): Boolean { - return ExecutionMode.isCancelled(manager) || TimeoutMode.isCancelled(manager) - } -} diff --git a/utbot-python/src/main/resources/check_requirements.py b/utbot-python/src/main/resources/check_requirements.py deleted file mode 100644 index e1b466d6..00000000 --- a/utbot-python/src/main/resources/check_requirements.py +++ /dev/null @@ -1,7 +0,0 @@ -import pkg_resources -import sys - - -if __name__ == "__main__": - dependencies = sys.argv[1:] - pkg_resources.require(dependencies) diff --git a/utbot-python/src/main/resources/preprocessed_values.json b/utbot-python/src/main/resources/preprocessed_values.json deleted file mode 100644 index 19f47bdf..00000000 --- a/utbot-python/src/main/resources/preprocessed_values.json +++ /dev/null @@ -1,429 +0,0 @@ -[ - { - "name": "builtins.float", - "instances": [ - "float('-inf')", - "float('inf')", - "float('nan')" - ] - }, - { - "name": "builtins.BaseException", - "instances": [ - "BaseException()" - ] - }, - { - "name": "builtins.object", - "instances": [ - "object()" - ] - }, - { - "name": "builtins.type", - "instances": [ - "type(len)", - "type('123')", - "type(1.0)", - "type({})", - "type('foo', (), {})", - "type('A', (), {'__qualname__': 'B.C'})", - "type(lambda x: x)", - "type((True).real)", - "type(list.append)", - "type('blah', (), {})", - "type(())", - "type('A', (), {})", - "type(list)", - "type({}.items())", - "type({}.values())", - "type('NewClass', (object,), {})", - "type(list.__add__)", - "type(classmethod(lambda c: None))", - "type(range(0))", - "type(None)", - "type(iter(range(0)))", - "type('C', (object,), {'__hash__': None})", - "type(complex('1' * 500))", - "type(staticmethod(lambda : None))", - "type(iter(range(1 << 1000)))", - "type('C', (), {})", - "type({}.keys())" - ] - }, - { - "name": "datetime.date", - "instances": [ - "datetime.date(1, 1, 1)", - "datetime.date(1995, 4, 12)", - "datetime.date(2011, 1, 1)", - "datetime.date(2002, 3, 4)", - "datetime.date(1993, 8, 26)", - "datetime.date(2000, 1, 2)", - "datetime.date(1970, 1, 1)" - ] - }, - { - "name": "datetime.datetime", - "instances": [ - "datetime.datetime(2011, 1, 1)", - "datetime.datetime(1970, 1, 1)", - "datetime.datetime(2015, 4, 5, 1, 45)", - "datetime.datetime(1, 1, 1)", - "datetime.datetime(2014, 11, 2, 1, 30)", - "datetime.datetime(1, 2, 3, 4, 5, 6, 7)", - "datetime.datetime(2002, 4, 7, 2)", - "datetime.datetime(1, 1, 1, fold=1)", - "datetime.datetime(2010, 1, 1)", - "datetime.datetime(2011, 1, 1, 12, 30)", - "datetime.datetime(1993, 8, 26, 22, 12, 55, 99999)", - "datetime.datetime(1, 4, 1, 2)", - "datetime.datetime(1995, 4, 12)", - "datetime.datetime(1, 10, 25, 1)", - "datetime.datetime(10, 10, 10, 10, 10, 10, 10)", - "datetime.datetime(2002, 10, 27, 1)" - ] - }, - { - "name": "datetime.time", - "instances": [ - "datetime.time(fold=1)", - "datetime.time()", - "datetime.time(0, fold=1)", - "datetime.time(22, 12, 55, 99999)", - "datetime.time(0)", - "datetime.time(microsecond=40)", - "datetime.time(18, 45, 3, 1234)", - "datetime.time(12, 0)", - "datetime.time(12, 30)" - ] - }, - { - "name": "datetime.timedelta", - "instances": [ - "datetime.timedelta(days=100, weeks=-7, hours=-24 * (100 - 49), minutes=-3, seconds=12, microseconds=(3 * 60 - 12) * 1000000)", - "datetime.timedelta(hours=24)", - "datetime.timedelta(hours=23, minutes=59)", - "datetime.timedelta(0, 4000, 1)", - "datetime.timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)", - "datetime.timedelta(minutes=1440)", - "datetime.timedelta(microseconds=1)", - "datetime.timedelta(minutes=24)", - "datetime.timedelta(minutes=60)", - "datetime.timedelta(weeks=13)", - "datetime.timedelta(minutes=2, seconds=1, microseconds=3)", - "datetime.timedelta(26, 55, 99999)", - "datetime.timedelta(seconds=0.5)", - "datetime.timedelta(minutes=-200)", - "datetime.timedelta(seconds=30)", - "datetime.timedelta(days=-999999999)", - "datetime.timedelta(minutes=-2)", - "datetime.timedelta(minutes=2 * 1439)", - "datetime.timedelta(hours=12, minutes=32, seconds=30)", - "datetime.timedelta(hours=-5)", - "datetime.timedelta(hours=5)", - "datetime.timedelta(42)", - "datetime.timedelta(minutes=23)", - "datetime.timedelta(minutes=3)", - "datetime.timedelta(microseconds=-1)", - "datetime.timedelta(0, 0, 1000)", - "datetime.timedelta(minutes=1)", - "datetime.timedelta(days=365)", - "datetime.timedelta(minutes=0)", - "datetime.timedelta(microseconds=-81)", - "datetime.timedelta(hours=9.5)", - "datetime.timedelta(minutes=2, seconds=30)", - "datetime.timedelta(hours=-4)", - "datetime.timedelta(minutes=-300)", - "datetime.timedelta(days=1, seconds=2, microseconds=3)", - "datetime.timedelta(hours=2)", - "datetime.timedelta(0)" - ] - }, - { - "name": "decimal.Decimal", - "instances": [ - "decimal.Decimal('22.2')", - "decimal.Decimal('1.234e7')", - "decimal.Decimal('sNaN')", - "decimal.Decimal(3)", - "decimal.Decimal('45.34')", - "decimal.Decimal('580')", - "decimal.Decimal((0, (0,), 0))", - "decimal.Decimal('3.4e200')", - "decimal.Decimal('1e2')", - "decimal.Decimal('2.59')", - "decimal.Decimal((1, (0, 0, 0), 37))", - "decimal.Decimal(10000)", - "decimal.Decimal('10e99999')", - "decimal.Decimal(7.5)", - "decimal.Decimal('1.1')", - "decimal.Decimal(10 ** (19 * 24))", - "decimal.Decimal('-inf')", - "decimal.Decimal(' 3.45679 ')", - "decimal.Decimal('1.0e-20')", - "decimal.Decimal('-0.8')", - "decimal.Decimal('1652.9E100')", - "decimal.Decimal('-10')", - "decimal.Decimal('0E10')", - "decimal.Decimal('2.54')", - "decimal.Decimal('15.32')", - "decimal.Decimal('-0')", - "decimal.Decimal('0.00390625')", - "decimal.Decimal(5)", - "decimal.Decimal((1, (0, 0, 0), 'N'))", - "decimal.Decimal('-3.141590000')", - "decimal.Decimal('0')", - "decimal.Decimal(45)", - "decimal.Decimal('1234e9999')", - "decimal.Decimal(2)", - "decimal.Decimal('1.634E100')", - "decimal.Decimal('4.125')", - "decimal.Decimal('4.2084')", - "decimal.Decimal('56531E100')", - "decimal.Decimal((1, [4, 3, 4, 9, 1, 3, 5, 3, 4], -25))", - "decimal.Decimal('9.99')", - "decimal.Decimal('45')", - "decimal.Decimal('100.0')", - "decimal.Decimal('7')", - "decimal.Decimal('1.01')", - "decimal.Decimal('111')", - "decimal.Decimal(2 ** 16)", - "decimal.Decimal('0.0012885819')", - "decimal.Decimal('1')", - "decimal.Decimal(-12)", - "decimal.Decimal('1.12345')", - "decimal.Decimal('-0.5')", - "decimal.Decimal((0, (4, 5, 3, 4), -2))", - "decimal.Decimal('-0.4')", - "decimal.Decimal('-33.3')", - "decimal.Decimal(2 ** 578)", - "decimal.Decimal('1.00000001e-20')", - "decimal.Decimal('10001111111')", - "decimal.Decimal([0, [0], 0])", - "decimal.Decimal('INF')", - "decimal.Decimal(2 ** 64 + 2 ** 32 - 1)", - "decimal.Decimal('4.9712')", - "decimal.Decimal('8.392')", - "decimal.Decimal('1e-9999')", - "decimal.Decimal('9.123')", - "decimal.Decimal('1e99')", - "decimal.Decimal('1.47e5')", - "decimal.Decimal(23)", - "decimal.Decimal('3.0')", - "decimal.Decimal('152587890625')", - "decimal.Decimal('3.1234')", - "decimal.Decimal(+45)", - "decimal.Decimal(float('nan'))", - "decimal.Decimal('32')", - "decimal.Decimal('snan123')", - "decimal.Decimal(10101)", - "decimal.Decimal('28.5')", - "decimal.Decimal('0.00')", - "decimal.Decimal('11.68')", - "decimal.Decimal('99999999999999999999999999.9')", - "decimal.Decimal('1_0_0_0')", - "decimal.Decimal('5')", - "decimal.Decimal('1.00000001e-100')", - "decimal.Decimal('0.28')", - "decimal.Decimal('NaN')", - "decimal.Decimal((0, (), 'F'))", - "decimal.Decimal('-NaN')", - "decimal.Decimal('9.87654321')", - "decimal.Decimal('10912837129')", - "decimal.Decimal('1.00000001')", - "decimal.Decimal('2E+1')", - "decimal.Decimal('-1')", - "decimal.Decimal('Nan891287828')", - "decimal.Decimal('-11.1')", - "decimal.Decimal((1, (), 37))", - "decimal.Decimal('1e1')", - "decimal.Decimal('NAN')", - "decimal.Decimal('9.8765e-12')", - "decimal.Decimal(99)", - "decimal.Decimal('625')", - "decimal.Decimal(200)", - "decimal.Decimal(123)", - "decimal.Decimal('1.00')", - "decimal.Decimal('81.3971')", - "decimal.Decimal('123456789.1')", - "decimal.Decimal('0.372')", - "decimal.Decimal('1.23')", - "decimal.Decimal(1234)", - "decimal.Decimal('-21.1')", - "decimal.Decimal('10901935')", - "decimal.Decimal('-0E12')", - "decimal.Decimal('Inf')", - "decimal.Decimal((0, (0,), 'F'))", - "decimal.Decimal('-0.6')", - "decimal.Decimal('9e2')", - "decimal.Decimal('35.719')", - "decimal.Decimal('390625')", - "decimal.Decimal(10 ** (19 * 25))", - "decimal.Decimal('-2.5')", - "decimal.Decimal('3.571')", - "decimal.Decimal('1e797')", - "decimal.Decimal('1e-425000000')", - "decimal.Decimal('188.83E100')", - "decimal.Decimal('0.001')", - "decimal.Decimal((1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25))", - "decimal.Decimal('100E-425000010')", - "decimal.Decimal('1e100000')", - "decimal.Decimal('3.5e-2')", - "decimal.Decimal('100000000000000000000000000')", - "decimal.Decimal('-5')", - "decimal.Decimal(11)", - "decimal.Decimal('1.0e20')", - "decimal.Decimal('1e4')", - "decimal.Decimal(1001)", - "decimal.Decimal('-4.34913534E-17')", - "decimal.Decimal('-23.00000')", - "decimal.Decimal('-25e55')", - "decimal.Decimal('456789')", - "decimal.Decimal('10')", - "decimal.Decimal('999.9')", - "decimal.Decimal([1, (4, 3, 4, 9, 1, 3, 5, 3, 4), -25])", - "decimal.Decimal(0)", - "decimal.Decimal('-0.0625')", - "decimal.Decimal('9.99e-5')", - "decimal.Decimal('256e7')", - "decimal.Decimal('1.3E4 \\n')", - "decimal.Decimal()", - "decimal.Decimal('10.0')", - "decimal.Decimal('3.1415926')", - "decimal.Decimal(0.1)", - "decimal.Decimal('0.25')", - "decimal.Decimal('9.8182731e181273')", - "decimal.Decimal('16.1')", - "decimal.Decimal('nan')", - "decimal.Decimal('-3.217160342717258261933904529E-7')", - "decimal.Decimal('1e9999')", - "decimal.Decimal('0.05')", - "decimal.Decimal('25')", - "decimal.Decimal(100)", - "decimal.Decimal(-2)", - "decimal.Decimal('NaN12345')", - "decimal.Decimal('1e-99')", - "decimal.Decimal('0.' + '9' * 30)", - "decimal.Decimal(1221 ** 1271)", - "decimal.Decimal('32.9714')", - "decimal.Decimal((1, (0, 2, 7, 1), 'F'))", - "decimal.Decimal((1, (4, 5), 0))", - "decimal.Decimal(50)", - "decimal.Decimal([1, [4, 3, 4, 9, 1, 3, 5, 3, 4], -25])", - "decimal.Decimal('45e2')", - "decimal.Decimal('2.234e2000')", - "decimal.Decimal(1000)", - "decimal.Decimal('7.33')", - "decimal.Decimal('5e3')", - "decimal.Decimal('-0.0')", - "decimal.Decimal('1.0e-100')", - "decimal.Decimal('5.5')", - "decimal.Decimal('-75')", - "decimal.Decimal('1.2')", - "decimal.Decimal('-0.625')", - "decimal.Decimal((0, (0, 0, 4, 0, 5, 3, 4), 'n'))", - "decimal.Decimal('33.3')", - "decimal.Decimal(9)", - "decimal.Decimal(4)", - "decimal.Decimal('1230E100')", - "decimal.Decimal('.000e20')", - "decimal.Decimal((0, (0, 0, 4, 0, 5, 3, 4), -2))", - "decimal.Decimal(67)", - "decimal.Decimal('sNAN')", - "decimal.Decimal(float('-inf'))", - "decimal.Decimal(123456789000)", - "decimal.Decimal('NaN123')", - "decimal.Decimal(True)", - "decimal.Decimal('5e-3')", - "decimal.Decimal('-6.1')", - "decimal.Decimal('-25')", - "decimal.Decimal('2')", - "decimal.Decimal('-1.25')", - "decimal.Decimal('0.1')", - "decimal.Decimal('1.0')", - "decimal.Decimal('90.697E100')", - "decimal.Decimal(152587890625)", - "decimal.Decimal(10 ** (9 * 24))", - "decimal.Decimal('12.7')", - "decimal.Decimal('66')", - "decimal.Decimal(-100)", - "decimal.Decimal('.1')", - "decimal.Decimal('7.34')", - "decimal.Decimal(float('inf'))", - "decimal.Decimal('7.335')", - "decimal.Decimal('1.2345')", - "decimal.Decimal('0.2')", - "decimal.Decimal((0, (4, 5, 3, 4), 'F'))", - "decimal.Decimal('Infinity')", - "decimal.Decimal('0.871831e800')", - "decimal.Decimal('1.00000001e20')", - "decimal.Decimal('3.1415')", - "decimal.Decimal('-Inf')", - "decimal.Decimal('-nan')", - "decimal.Decimal(456)", - "decimal.Decimal('194')", - "decimal.Decimal('0.025')", - "decimal.Decimal('snan')", - "decimal.Decimal(567)", - "decimal.Decimal('9.8765e12')", - "decimal.Decimal('3.1')", - "decimal.Decimal('-1.5')", - "decimal.Decimal('inf')", - "decimal.Decimal('1.3')", - "decimal.Decimal('-4.5678E50')", - "decimal.Decimal(5 ** 2659)", - "decimal.Decimal('33e+33')", - "decimal.Decimal('1e-100000')", - "decimal.Decimal(float('-0.0'))", - "decimal.Decimal('1.23456789')", - "decimal.Decimal('1e-10')", - "decimal.Decimal(12)", - "decimal.Decimal('nan123')", - "decimal.Decimal('0.0')", - "decimal.Decimal('-0.000')", - "decimal.Decimal('152587890625e7')", - "decimal.Decimal('-16.1')", - "decimal.Decimal('0.333333333333333333')", - "decimal.Decimal(-1)", - "decimal.Decimal('43.24')", - "decimal.Decimal('9.9')", - "decimal.Decimal('3.1416')", - "decimal.Decimal('2.1')", - "decimal.Decimal('16807')", - "decimal.Decimal('62.4802')", - "decimal.Decimal('-15')", - "decimal.Decimal(500000123)", - "decimal.Decimal('-38.3')", - "decimal.Decimal('0.333333333333333333333333')", - "decimal.Decimal('1e425000000')", - "decimal.Decimal('1.5')", - "decimal.Decimal(768)", - "decimal.Decimal(10 ** (9 * 25))", - "decimal.Decimal((1, (), 'n'))", - "decimal.Decimal('11.1')", - "decimal.Decimal('0.01')", - "decimal.Decimal(-45)", - "decimal.Decimal('9.99e10')", - "decimal.Decimal('1e-3')", - "decimal.Decimal('100000000.123')", - "decimal.Decimal('0.5')", - "decimal.Decimal('3')", - "decimal.Decimal(1)", - "decimal.Decimal(10)", - "decimal.Decimal('20')", - "decimal.Decimal('0.1234')", - "decimal.Decimal('-Infinity')", - "decimal.Decimal('.01')", - "decimal.Decimal('23.42')", - "decimal.Decimal(' -7.89')", - "decimal.Decimal(False)", - "decimal.Decimal('1_3.3e4_0')", - "decimal.Decimal('2.234e-2000')", - "decimal.Decimal('-1E+1')", - "decimal.Decimal('1.50001')", - "decimal.Decimal('8.71E+799')", - "decimal.Decimal('20.686')" - ] - } -] diff --git a/utbot-python/src/test/kotlin/org/utbot/python/framework/api/python/utils/PythonTreeComparatorTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/framework/api/python/utils/PythonTreeComparatorTest.kt deleted file mode 100644 index 77b2177e..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/framework/api/python/utils/PythonTreeComparatorTest.kt +++ /dev/null @@ -1,380 +0,0 @@ -package org.utbot.python.framework.api.python.utils - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.Test -import org.utbot.python.framework.api.python.PythonClassId -import org.utbot.python.framework.api.python.PythonTree -import org.utbot.python.framework.api.python.util.comparePythonTree -import org.utbot.python.framework.api.python.util.pythonIntClassId -import org.utbot.python.framework.api.python.util.pythonStrClassId - -internal class PythonTreeComparatorTest { - @Test - fun testEqualPrimitive() { - val left = PythonTree.PrimitiveNode(pythonIntClassId, "1") - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualList() { - val left = PythonTree.ListNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualTuple() { - val left = PythonTree.TupleNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualDict() { - val left = PythonTree.DictNode(mapOf( - PythonTree.PrimitiveNode(pythonStrClassId, "'a'") to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonStrClassId, "'b'") to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualSet() { - val left = PythonTree.SetNode(setOf( - PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableSet()) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualEmptyReduce() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(PythonTree.PrimitiveNode(pythonIntClassId, "2")), - ) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualNotEmptyReduce() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(PythonTree.PrimitiveNode(pythonIntClassId, "2")), - ) - left.state["my_field"] = PythonTree.PrimitiveNode(pythonIntClassId, "2") - left.state["my_field_1"] = PythonTree.PrimitiveNode(pythonIntClassId, "1") - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualReduceWithListItems() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(PythonTree.PrimitiveNode(pythonIntClassId, "2")), - ) - left.listitems = listOf( - PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualReduceWithDictItems() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(PythonTree.PrimitiveNode(pythonIntClassId, "2")), - ) - left.dictitems = mapOf( - PythonTree.PrimitiveNode(pythonStrClassId, "'a'") to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonStrClassId, "'b'") to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualRecursiveReduce() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child2 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - left.state["children"] = PythonTree.ListNode( - mapOf(0 to child).toMutableMap() - ) - child.state["children"] = PythonTree.ListNode( - mapOf(0 to child2).toMutableMap() - ) - child2.state["children"] = PythonTree.ListNode( - mapOf(0 to left).toMutableMap() - ) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testEqualHardRecursiveReduce() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child2 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child3 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child4 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child5 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val child6 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - left.state["children"] = PythonTree.ListNode(mapOf( - 0 to child, - 1 to child2, - 2 to child3, - ).toMutableMap()) - child.state["children"] = PythonTree.ListNode(mapOf( - 0 to child2, - 1 to child3, - ).toMutableMap()) - child2.state["children"] = PythonTree.ListNode(mapOf( - 0 to child2, - 1 to child3, - 2 to left, - 3 to child4, - ).toMutableMap()) - child3.state["children"] = PythonTree.ListNode(mapOf( - 0 to left, - ).toMutableMap()) - child4.state["children"] = PythonTree.ListNode(mapOf( - 0 to left, - 1 to child5, - ).toMutableMap()) - child5.state["children"] = PythonTree.ListNode(mapOf( - 0 to child2, - ).toMutableMap()) - child6.state["children"] = PythonTree.ListNode(mapOf( - 0 to child2, - ).toMutableMap()) - - assertTrue(comparePythonTree(left, left)) - } - - @Test - fun testNotEqualPrimitive() { - val left = PythonTree.PrimitiveNode(pythonIntClassId, "1") - val right = PythonTree.PrimitiveNode(pythonIntClassId, "2") - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualList() { - val left = PythonTree.ListNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - val right = PythonTree.ListNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "0"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualTuple() { - val left = PythonTree.TupleNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - val right = PythonTree.TupleNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "0"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualDict() { - val left = PythonTree.DictNode(mapOf( - PythonTree.PrimitiveNode(pythonStrClassId, "'c'") to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonStrClassId, "'b'") to PythonTree.PrimitiveNode(pythonIntClassId, "0"), - ).toMutableMap()) - val right = PythonTree.DictNode(mapOf( - PythonTree.PrimitiveNode(pythonStrClassId, "'a'") to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonStrClassId, "'b'") to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualSet() { - val left = PythonTree.SetNode(setOf( - PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableSet()) - val right = PythonTree.SetNode(setOf( - PythonTree.PrimitiveNode(pythonIntClassId, "0"), - PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableSet()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualListDiffSize() { - val left = PythonTree.ListNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - val right = PythonTree.ListNode(mapOf( - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualTupleDiffSize() { - val left = PythonTree.TupleNode(mapOf( - 0 to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - val right = PythonTree.TupleNode(mapOf( - 1 to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualDictDiffSize() { - val left = PythonTree.DictNode(mapOf( - PythonTree.PrimitiveNode(pythonStrClassId, "'c'") to PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonStrClassId, "'b'") to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - val right = PythonTree.DictNode(mapOf( - PythonTree.PrimitiveNode(pythonStrClassId, "'b'") to PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualSetDiffSize() { - val left = PythonTree.SetNode(setOf( - PythonTree.PrimitiveNode(pythonIntClassId, "1"), - PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableSet()) - val right = PythonTree.SetNode(setOf( - PythonTree.PrimitiveNode(pythonIntClassId, "2"), - ).toMutableSet()) - - assertFalse(comparePythonTree(left, right)) - } - - @Test - fun testNotEqualRecursiveReduce() { - val left = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val leftChild1 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val leftChild2 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - left.state["children"] = PythonTree.ListNode( - mapOf(0 to leftChild1).toMutableMap() - ) - leftChild1.state["children"] = PythonTree.ListNode( - mapOf(0 to leftChild2).toMutableMap() - ) - leftChild2.state["children"] = PythonTree.ListNode( - mapOf(0 to left).toMutableMap() - ) - - val right = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val rightChild1 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - val rightChild2 = PythonTree.ReduceNode( - PythonClassId("my_module", "MyClass"), - PythonClassId("my_module.MyClass"), - listOf(), - ) - right.state["children"] = PythonTree.ListNode(mapOf( - 0 to rightChild1, - 1 to rightChild2, - ).toMutableMap()) - rightChild1.state["children"] = PythonTree.ListNode(mapOf( - 0 to rightChild2, - ).toMutableMap()) - - assertFalse(comparePythonTree(left, right)) - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt deleted file mode 100644 index 359fa5dd..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonCompositeTypeDescriptionTest.kt +++ /dev/null @@ -1,64 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.mypy.MypyStorageKtTest -import org.utbot.python.newtyping.mypy.MypyAnnotationStorage -import org.utbot.python.newtyping.mypy.readMypyAnnotationStorage - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonCompositeTypeDescriptionTest { - lateinit var storage: MypyAnnotationStorage - lateinit var pythonTypeStorage: PythonTypeStorage - @BeforeAll - fun setup() { - val sample = MypyStorageKtTest::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyAnnotationStorage(sample) - pythonTypeStorage = PythonTypeStorage.get(storage) - } - - @Test - fun testMroForCounter() { - val counter = storage.definitions["collections"]!!["Counter"]!!.getUtBotType() - val counterDescription = counter.pythonDescription() as PythonCompositeTypeDescription - assertTrue( - counterDescription.mro(pythonTypeStorage, counter).map { it.pythonDescription().name.name } == listOf( - "Counter", "dict", "MutableMapping", "Mapping", "Collection", "Iterable", "Container", "object" - ) - ) - val dict = counterDescription.mro(pythonTypeStorage, counter).find { it.pythonDescription().name.name == "dict" }!! - assertTrue(dict.parameters.size == 2) - assertTrue(dict.parameters[0] == counter.parameters[0]) - assertTrue(dict.parameters[1].pythonDescription().name.name == "int") - - val mapping = counterDescription.mro(pythonTypeStorage, counter).find { it.pythonDescription().name.name == "Mapping" }!! - assertTrue(mapping.parameters.size == 2) - assertTrue(mapping.parameters[0] == counter.parameters[0]) - assertTrue(mapping.parameters[1].pythonDescription().name.name == "int") - } - - @Test - fun testMroForObject() { - val obj = storage.definitions["builtins"]!!["object"]!!.getUtBotType() - val description = obj.pythonDescription() as PythonCompositeTypeDescription - assertTrue( - description.mro(pythonTypeStorage, obj).map { it.pythonDescription().name.name } == listOf("object") - ) - } - - @Test - fun testMroForDeque() { - val deque = storage.definitions["collections"]!!["deque"]!!.getUtBotType() - val description = deque.pythonDescription() as PythonCompositeTypeDescription - assertTrue( - description.mro(pythonTypeStorage, deque).map { it.pythonDescription().name.name } == listOf( - "deque", "MutableSequence", "Sequence", "Collection", "Reversible", "Iterable", "Container", "object" - ) - ) - val iterable = description.mro(pythonTypeStorage, deque).find { it.pythonDescription().name.name == "Iterable" }!! - assertTrue(deque.parameters.size == 1) - assertTrue(iterable.parameters == deque.parameters) - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt deleted file mode 100644 index 58f874fa..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonSubtypeCheckerTest.kt +++ /dev/null @@ -1,131 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.PythonSubtypeChecker.Companion.checkIfRightIsSubtypeOfLeft -import org.utbot.python.newtyping.ast.visitor.hints.createBinaryProtocol -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.FunctionType -import org.utbot.python.newtyping.general.TypeParameter -import org.utbot.python.newtyping.mypy.MypyAnnotationStorage -import org.utbot.python.newtyping.mypy.readMypyAnnotationStorage - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonSubtypeCheckerTest { - lateinit var storage: MypyAnnotationStorage - lateinit var pythonTypeStorage: PythonTypeStorage - @BeforeAll - fun setup() { - val sample = PythonSubtypeCheckerTest::class.java.getResource("/subtypes_sample.json")!!.readText() - storage = readMypyAnnotationStorage(sample) - pythonTypeStorage = PythonTypeStorage.get(storage) - } - - @Test - fun testCustomProtocol() { - val protocolP = storage.definitions["subtypes"]!!["P"]!!.getUtBotType() - assertTrue(protocolP.pythonDescription() is PythonProtocolDescription) - val classS = storage.definitions["subtypes"]!!["S"]!!.getUtBotType() - assertTrue(classS.pythonDescription() is PythonConcreteCompositeTypeDescription) - val classS1 = storage.definitions["subtypes"]!!["S1"]!!.getUtBotType() - assertTrue(classS1.pythonDescription() is PythonConcreteCompositeTypeDescription) - assertTrue(checkIfRightIsSubtypeOfLeft(protocolP, classS, pythonTypeStorage)) - assertFalse(checkIfRightIsSubtypeOfLeft(protocolP, classS1, pythonTypeStorage)) - } - - @Test - fun testCustomProtocolWithPossibleInfiniteRecursion() { - val protocolR = storage.definitions["subtypes"]!!["R"]!!.getUtBotType() - assertTrue(protocolR.pythonDescription() is PythonProtocolDescription) - val classRImpl = storage.definitions["subtypes"]!!["RImpl"]!!.getUtBotType() - assertTrue(classRImpl.pythonDescription() is PythonConcreteCompositeTypeDescription) - assertTrue(checkIfRightIsSubtypeOfLeft(protocolR, classRImpl, pythonTypeStorage)) - } - - @Test - fun testVariance() { - val list = storage.definitions["builtins"]!!["list"]!!.getUtBotType() - val frozenset = storage.definitions["builtins"]!!["frozenset"]!!.getUtBotType() - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val obj = storage.definitions["builtins"]!!["object"]!!.getUtBotType() - val listOfInt = DefaultSubstitutionProvider.substitute(list, - mapOf(list.parameters.first() as TypeParameter to int) - ) - val listOfObj = DefaultSubstitutionProvider.substitute(list, - mapOf(list.parameters.first() as TypeParameter to obj) - ) - val listOfAny = DefaultSubstitutionProvider.substitute(list, - mapOf(list.parameters.first() as TypeParameter to pythonAnyType) - ) - val frozensetOfInt = DefaultSubstitutionProvider.substitute(frozenset, - mapOf(frozenset.parameters.first() as TypeParameter to int) - ) - val frozensetOfObj = DefaultSubstitutionProvider.substitute(frozenset, - mapOf(frozenset.parameters.first() as TypeParameter to obj) - ) - - // list is invariant - assertFalse(checkIfRightIsSubtypeOfLeft(listOfObj, listOfInt, pythonTypeStorage)) - assertTrue(checkIfRightIsSubtypeOfLeft(listOfAny, listOfInt, pythonTypeStorage)) - assertTrue(checkIfRightIsSubtypeOfLeft(listOfInt, listOfAny, pythonTypeStorage)) - - // frozenset is covariant - assertTrue(checkIfRightIsSubtypeOfLeft(frozensetOfObj, frozensetOfInt, pythonTypeStorage)) - assertFalse(checkIfRightIsSubtypeOfLeft(frozensetOfInt, frozensetOfObj, pythonTypeStorage)) - } - - @Test - fun testSimpleFunctionWithVariables() { - val b = storage.definitions["subtypes"]!!["b"]!!.getUtBotType() - val func = storage.definitions["subtypes"]!!["func_abs"]!!.getUtBotType() as FunctionType - - assertTrue(checkIfRightIsSubtypeOfLeft(func.arguments[0], b, pythonTypeStorage)) - } - - @Test - fun testSyntheticProtocol() { - val getItemProtocol = createBinaryProtocol("__getitem__", pythonAnyType, pythonAnyType) - val list = DefaultSubstitutionProvider.substituteAll( - storage.definitions["builtins"]!!["list"]!!.getUtBotType(), - listOf(pythonAnyType) - ) - - assertTrue(checkIfRightIsSubtypeOfLeft(getItemProtocol, list, pythonTypeStorage)) - } - - @Test - fun testNumpyArray() { - val numpyArray = storage.definitions["numpy"]!!["ndarray"]!!.getUtBotType() - val numpyArrayOfAny = DefaultSubstitutionProvider.substituteAll(numpyArray, listOf(pythonAnyType, pythonAnyType)) - val getItemProtocol = createBinaryProtocol("__getitem__", pythonTypeStorage.tupleOfAny, pythonAnyType) - - assertTrue(checkIfRightIsSubtypeOfLeft(getItemProtocol, numpyArrayOfAny, pythonTypeStorage)) - } - - @Test - fun testTuple() { - val tuple = storage.definitions["builtins"]!!["tuple"]!!.getUtBotType() - val tupleOfAny = DefaultSubstitutionProvider.substituteAll(tuple, listOf(pythonAnyType)) - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val float = storage.definitions["builtins"]!!["float"]!!.getUtBotType() - val tupleOfInt = DefaultSubstitutionProvider.substituteAll(tuple, listOf(int)) - val tupleOfIntAndFloat = createPythonTupleType(listOf(int, float)) - - assertTrue(checkIfRightIsSubtypeOfLeft(tupleOfAny, tupleOfIntAndFloat, pythonTypeStorage)) - assertFalse(checkIfRightIsSubtypeOfLeft(tupleOfInt, tupleOfIntAndFloat, pythonTypeStorage)) - } - - @Test - fun testAbstractSet() { - val abstractSet = storage.definitions["typing"]!!["AbstractSet"]!!.getUtBotType() - assertTrue((abstractSet.pythonDescription() as PythonConcreteCompositeTypeDescription).isAbstract) - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() - - val abstractSetOfAny = DefaultSubstitutionProvider.substituteByIndex(abstractSet, 0, pythonAnyType) - val setOfAny = DefaultSubstitutionProvider.substituteByIndex(set, 0, pythonAnyType) - - assertTrue(checkIfRightIsSubtypeOfLeft(abstractSetOfAny, setOfAny, pythonTypeStorage)) - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt deleted file mode 100644 index f7bdfb63..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonTypeConstraintPropagationKtTest.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.mypy.MypyStorageKtTest -import org.utbot.python.newtyping.mypy.MypyAnnotationStorage -import org.utbot.python.newtyping.mypy.readMypyAnnotationStorage - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonTypeConstraintPropagationKtTest { - lateinit var storage: MypyAnnotationStorage - lateinit var pythonTypeStorage: PythonTypeStorage - @BeforeAll - fun setup() { - val sample = MypyStorageKtTest::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyAnnotationStorage(sample) - pythonTypeStorage = PythonTypeStorage.get(storage) - } - - @Test - fun testSimpleCompositeTypePropagation() { - val dict = storage.definitions["builtins"]!!["dict"]!!.getUtBotType() - val str = storage.definitions["builtins"]!!["str"]!!.getUtBotType() - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val dictOfAny = DefaultSubstitutionProvider.substituteAll(dict, listOf(pythonAnyType, pythonAnyType)) - val dictOfStrToInt = DefaultSubstitutionProvider.substituteAll(dict, listOf(str, int)) - val constraint = TypeConstraint(dictOfStrToInt, ConstraintKind.LowerBound) - val propagated = propagateConstraint(dictOfAny, constraint, pythonTypeStorage) - assertTrue(propagated.size == 2) - assertTrue(PythonTypeWrapperForEqualityCheck(propagated[0]!!.type) == PythonTypeWrapperForEqualityCheck(str)) - assertTrue(propagated[0]!!.kind == ConstraintKind.BothSided) - assertTrue(PythonTypeWrapperForEqualityCheck(propagated[1]!!.type) == PythonTypeWrapperForEqualityCheck(int)) - assertTrue(propagated[1]!!.kind == ConstraintKind.BothSided) - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt deleted file mode 100644 index 115d3837..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/PythonTypeWrapperForEqualityCheckTest.kt +++ /dev/null @@ -1,60 +0,0 @@ -package org.utbot.python.newtyping - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.general.DefaultSubstitutionProvider -import org.utbot.python.newtyping.general.TypeParameter -import org.utbot.python.newtyping.mypy.MypyStorageKtTest -import org.utbot.python.newtyping.mypy.MypyAnnotationStorage -import org.utbot.python.newtyping.mypy.readMypyAnnotationStorage - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class PythonTypeWrapperForEqualityCheckTest { - lateinit var storage: MypyAnnotationStorage - @BeforeAll - fun setup() { - val sample = MypyStorageKtTest::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyAnnotationStorage(sample) - } - - @Test - fun smokeTest() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() - - assert(PythonTypeWrapperForEqualityCheck(int) == PythonTypeWrapperForEqualityCheck(int)) - assert(PythonTypeWrapperForEqualityCheck(int).hashCode() == PythonTypeWrapperForEqualityCheck(int).hashCode()) - assert(PythonTypeWrapperForEqualityCheck(int) != PythonTypeWrapperForEqualityCheck(set)) - assert(PythonTypeWrapperForEqualityCheck(int).hashCode() != PythonTypeWrapperForEqualityCheck(set).hashCode()) - } - - @Test - fun testSubstitutions() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() - val set1 = DefaultSubstitutionProvider.substitute(set, emptyMap()) - val setOfInt = DefaultSubstitutionProvider.substitute(set, mapOf((set.parameters.first() as TypeParameter) to int)) - val setOfInt1 = DefaultSubstitutionProvider.substitute(set, mapOf((set.parameters.first() as TypeParameter) to int)) - - assert(set != set1) - assert(PythonTypeWrapperForEqualityCheck(set) == PythonTypeWrapperForEqualityCheck(set1)) - assert(PythonTypeWrapperForEqualityCheck(set).hashCode() == PythonTypeWrapperForEqualityCheck(set1).hashCode()) - - assert(setOfInt != setOfInt1) - assert(PythonTypeWrapperForEqualityCheck(setOfInt) == PythonTypeWrapperForEqualityCheck(setOfInt1)) - assert(PythonTypeWrapperForEqualityCheck(setOfInt).hashCode() == PythonTypeWrapperForEqualityCheck(setOfInt1).hashCode()) - } - - @Test - fun testBuiltinsModule() { - storage.definitions["builtins"]!!.forEach { (_, def) -> - val type = def.getUtBotType() - val type1 = DefaultSubstitutionProvider.substitute(type, emptyMap()) - assert(type != type1) - assert(PythonTypeWrapperForEqualityCheck(type) == PythonTypeWrapperForEqualityCheck(type1)) - assert(PythonTypeWrapperForEqualityCheck(type).hashCode() == PythonTypeWrapperForEqualityCheck(type1).hashCode()) - } - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt deleted file mode 100644 index c5910315..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/general/DefaultSubstitutionProviderTest.kt +++ /dev/null @@ -1,176 +0,0 @@ -package org.utbot.python.newtyping.general - -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.Assertions.* - -internal class DefaultSubstitutionProviderTest { - @Test - fun test1() { - val unionOfTwo = TypeCreator.create(2, TypeMetaDataWithName(Name(listOf("typing"), "Union"))) {} - - val provider = DefaultSubstitutionProvider - val set = CompositeTypeCreator.create( - numberOfParameters = 1, - TypeMetaDataWithName(Name(listOf("builtins"), "set")) - ) { set -> - val T = set.parameters.first() - CompositeTypeCreator.InitializationData( - members = listOf( - FunctionTypeCreator.create( - numberOfParameters = 1, - TypeMetaData() - ) { self -> - val S = self.parameters.first() - FunctionTypeCreator.InitializationData( - arguments = listOf(provider.substitute(set, mapOf(T to S))), - returnValue = provider.substitute( - set, - mapOf( - T to DefaultSubstitutionProvider.substituteAll(unionOfTwo, listOf(T, S)) - ) - ) - ) - } - ), - supertypes = emptyList() - ) - } - assertTrue(set.members[0] is FunctionType) - val unionMethod = set.members[0] as FunctionType - assertTrue(unionMethod.arguments.size == 1) - assertTrue(unionMethod.arguments[0] is CompositeType) - val setOfS = unionMethod.arguments[0] as CompositeType - assertTrue(setOfS.members.size == 1) - assertTrue(setOfS.members[0] is FunctionType) - assertTrue((setOfS.members[0] as FunctionType).returnValue is CompositeType) - // (setOfS.members[0] as FunctionType).returnValue --- Set> - assertTrue(((setOfS.members[0] as FunctionType).returnValue.parameters[0]).parameters.let { it[0] != it[1] }) - val setOfUnionType = (setOfS.members[0] as FunctionType).returnValue as CompositeType - assertTrue(setOfUnionType.parameters.size == 1) - assertTrue((setOfUnionType.parameters[0].meta as TypeMetaDataWithName).name.name == "Union") - assertTrue(setOfUnionType.parameters[0].parameters.size == 2) - assertTrue(setOfUnionType.parameters[0].parameters.all { it is TypeParameter }) - - val compositeTypeDescriptor = CompositeTypeSubstitutionProvider(provider) - val T = set.parameters.first() as TypeParameter - val int = TypeCreator.create(0, TypeMetaDataWithName(Name(emptyList(), "int"))) {} - val setOfInt = compositeTypeDescriptor.substitute( - set, - mapOf(T to int) - ) - assertTrue(setOfInt.members[0] is FunctionType) - val unionMethod1 = setOfInt.members[0] as FunctionType - val innerUnionType = (unionMethod1.returnValue as CompositeType).parameters[0] - assertTrue(innerUnionType.parameters.size == 2) - assertTrue(((innerUnionType.parameters[0].meta as TypeMetaDataWithName).name.name == "int")) - assertTrue(innerUnionType.parameters[1] is TypeParameter) - - val setOfSets = compositeTypeDescriptor.substitute(set, mapOf(T to setOfInt)) - assertTrue(setOfSets.members[0] is FunctionType) - val unionMethod2 = setOfSets.members[0] as FunctionType - assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters.size == 2) - assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters[0] is CompositeType) - assertTrue((unionMethod2.returnValue as CompositeType).parameters[0].parameters[1] is TypeParameter) - } - - @Test - fun testCyclicParameter() { - var classA: CompositeType? = null - val classB = CompositeTypeCreator.create( - 1, - TypeMetaDataWithName(Name(emptyList(), "B")) - ) { classB -> - classA = CompositeTypeCreator.create( - 0, - TypeMetaDataWithName(Name(emptyList(), "A")) - ) { - CompositeTypeCreator.InitializationData( - members = listOf( - FunctionTypeCreator.create( - numberOfParameters = 0, - TypeMetaData() - ) { - FunctionTypeCreator.InitializationData( - arguments = emptyList(), - returnValue = classB - ) - } - ), - supertypes = emptyList() - ) - } - val paramT = classB.parameters.first() - paramT.constraints = setOf( - TypeParameterConstraint(TypeRelation(":"), classA!!) - ) - CompositeTypeCreator.InitializationData( - members = listOf( - FunctionTypeCreator.create( - numberOfParameters = 0, - TypeMetaData() - ) { - FunctionTypeCreator.InitializationData( - arguments = emptyList(), - returnValue = paramT - ) - } - ), - supertypes = listOf(classA!!) - ) - } - - assertTrue(classB.parameters.size == 1) - assertTrue((classB.parameters[0] as TypeParameter).constraints.size == 1) - assertTrue(classB.supertypes.size == 1) - assertTrue(classB.supertypes.first() == classA) - assertTrue((classA as CompositeType).members.size == 1) - assertTrue((classA as CompositeType).members[0] is FunctionType) - - val paramT = classB.parameters.first() as TypeParameter - val bOfA = DefaultSubstitutionProvider.substitute(classB, mapOf(paramT to classA!!)) as CompositeType - assertTrue(bOfA.parameters.size == 1) - assertTrue(bOfA.parameters[0] == classA) - assertTrue(bOfA.members.size == 1) - assertTrue(bOfA.members[0] is FunctionType) - assertTrue((bOfA.members[0] as FunctionType).returnValue == classA) - - val classC = CompositeTypeCreator.create( - numberOfParameters = 0, - TypeMetaDataWithName(Name(emptyList(), "C")) - ) { - CompositeTypeCreator.InitializationData( - members = emptyList(), - supertypes = listOf(bOfA), - ) - } - assertTrue(classC.supertypes.size == 1) - assertTrue(classC.supertypes.first() == bOfA) - } - - @Test - fun testSubstitutionInConstraint() { - val int = TypeCreator.create(0, TypeMetaDataWithName(Name(emptyList(), "int"))) {} - lateinit var classA: Type - val dummyFunction = FunctionTypeCreator.create( - numberOfParameters = 1, - TypeMetaData() - ) { dummyFunction -> - val typeVarT = dummyFunction.parameters.first() - classA = CompositeTypeCreator.create( - numberOfParameters = 1, - TypeMetaDataWithName(Name(emptyList(), "A")) - ) { classA -> - val param = classA.parameters.first() - param.constraints = setOf(TypeParameterConstraint(TypeRelation(":"), typeVarT)) - CompositeTypeCreator.InitializationData( - members = emptyList(), - supertypes = emptyList() - ) - } - FunctionTypeCreator.InitializationData(arguments = emptyList(), returnValue = classA) - } - val typeVarT = dummyFunction.parameters.first() as TypeParameter - val substituted = DefaultSubstitutionProvider.substitute(classA, mapOf(typeVarT to int)) - assertTrue(substituted.parameters.map { it as TypeParameter }.first().constraints.first().boundary == int) - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt deleted file mode 100644 index 410c7fa5..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/mypy/GlobalNamesStorageTest.kt +++ /dev/null @@ -1,49 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.general.Type -import org.utbot.python.newtyping.general.TypeMetaDataWithName -import org.utbot.python.newtyping.pythonTypeRepresentation - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class GlobalNamesStorageTest { - lateinit var namesStorage: GlobalNamesStorage - @BeforeAll - fun setup() { - val sample = MypyStorageKtTest::class.java.getResource("/imports_sample.json")!!.readText() - namesStorage = GlobalNamesStorage(readMypyAnnotationStorage(sample)) - } - - @Test - fun testImportlib1() { - val pathFinderClass = namesStorage.resolveTypeName("import_test", "im.PathFinder") - assertTrue(pathFinderClass is Type && (pathFinderClass.meta as TypeMetaDataWithName).name.name == "PathFinder") - } - - @Test - fun testImportlib2() { - val pathFinderClass = namesStorage.resolveTypeName("import_test", "importlib.machinery.PathFinder") - assertTrue(pathFinderClass is Type && (pathFinderClass.meta as TypeMetaDataWithName).name.name == "PathFinder") - } - - @Test - fun testSimpleAsImport() { - val deque = namesStorage.resolveTypeName("import_test", "c.deque") - assertTrue(deque is Type && deque.pythonTypeRepresentation().startsWith("collections.deque")) - } - - @Test - fun testImportFrom() { - val deque = namesStorage.resolveTypeName("import_test", "deque") - assertTrue(deque is Type && deque.pythonTypeRepresentation().startsWith("collections.deque")) - } - - @Test - fun testLocal() { - val classA = namesStorage.resolveTypeName("import_test", "A") - assertTrue(classA is Type && classA.pythonTypeRepresentation() == "import_test.A") - } -} \ No newline at end of file diff --git a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyStorageKtTest.kt b/utbot-python/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyStorageKtTest.kt deleted file mode 100644 index c50a8d57..00000000 --- a/utbot-python/src/test/kotlin/org/utbot/python/newtyping/mypy/MypyStorageKtTest.kt +++ /dev/null @@ -1,144 +0,0 @@ -package org.utbot.python.newtyping.mypy - -import org.junit.jupiter.api.Assertions.* -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.utbot.python.newtyping.* -import org.utbot.python.newtyping.general.* - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -internal class MypyStorageKtTest { - lateinit var storage: MypyAnnotationStorage - lateinit var typeStorage: PythonTypeStorage - lateinit var storageBoruvka: MypyAnnotationStorage - @BeforeAll - fun setup() { - val sample = MypyStorageKtTest::class.java.getResource("/annotation_sample.json")!!.readText() - storage = readMypyAnnotationStorage(sample) - typeStorage = PythonTypeStorage.get(storage) - val sample1 = MypyStorageKtTest::class.java.getResource("/boruvka.json")!!.readText() - storageBoruvka = readMypyAnnotationStorage(sample1) - } - - @Test - fun testDefinitions() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - assertTrue( - int.getPythonAttributes().map { it.meta.name }.containsAll( - listOf("__add__", "__sub__", "__pow__", "__abs__", "__or__", "__eq__") - ) - ) - - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType - assertTrue( - set.getPythonAttributes().map { it.meta.name }.containsAll( - listOf("add", "copy", "difference", "intersection", "remove", "union") - ) - ) - } - - @Test - fun testUnionMethodOfSet() { - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType - val unionMethod = set.getPythonAttributes().find { it.meta.name == "__or__" }!!.type as FunctionType - assertTrue(unionMethod.parameters.size == 1) - - val setOfUnion = unionMethod.returnValue as CompositeType - assertTrue(setOfUnion.getPythonAttributes().find { it.meta.name == "__or__" }!!.type.parameters.size == 1) - - val unionType = setOfUnion.parameters[0] - assert(unionType.pythonDescription().name == pythonUnionName) - - val s = unionType.parameters[1] as TypeParameter - val paramOfUnionMethod = setOfUnion.getPythonAttributes().find { it.meta.name == "__or__" }!!.type.parameters[0] as TypeParameter - assertTrue(s != paramOfUnionMethod) - } - - @Test - fun testSubstitution() { - val set = storage.definitions["builtins"]!!["set"]!!.getUtBotType() as CompositeType - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - val setOfInts = DefaultSubstitutionProvider.substitute( - set, - mapOf((set.parameters.first() as TypeParameter) to int) - ) as CompositeType - assertTrue(setOfInts.meta is PythonConcreteCompositeTypeDescription) - assertTrue((setOfInts.getPythonAttributes().find { it.meta.name == "add" }!!.type as FunctionType).arguments[1] == int) - } - - @Test - fun testSubstitution2() { - val counter = storage.definitions["collections"]!!["Counter"]!!.getUtBotType() as CompositeType - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - val counterOfInt = DefaultSubstitutionProvider.substituteByIndex(counter, 0, int) - val subtract = counterOfInt.getPythonAttributeByName(typeStorage, "subtract")!!.type.parameters[2] as FunctionType - val iterable = storage.definitions["typing"]!!["Iterable"]!!.getUtBotType() - val iterableOfInt = DefaultSubstitutionProvider.substituteByIndex(iterable, 0, int) - assertTrue(typesAreEqual(subtract.arguments.last(), iterableOfInt)) - } - - @Test - fun testUserClass() { - val classA = storage.definitions["annotation_tests"]!!["A"]!!.getUtBotType() as CompositeType - assertTrue(classA.parameters.size == 1) - assertTrue((classA.parameters[0] as TypeParameter).constraints.size == 2) - assertTrue((classA.parameters[0] as TypeParameter).definedAt === classA) - assertTrue( - (classA.parameters[0] as TypeParameter).constraints.any { - it.boundary.pythonDescription().name == classA.pythonDescription().name && it.relation == exactTypeRelation - } - ) - assertTrue( - (classA.parameters[0] as TypeParameter).constraints.all { - it.relation == exactTypeRelation - } - ) - } - - @Test - fun testUserFunction() { - val int = storage.definitions["builtins"]!!["int"]!!.getUtBotType() as CompositeType - val square = storage.definitions["annotation_tests"]!!["square"]!!.getUtBotType() as FunctionType - assertTrue(square.arguments[0].parameters[0].pythonDescription().name == int.pythonDescription().name) - } - - @Test - fun initializeAllTypes() { - storage.definitions.forEach { (_, contents) -> - contents.forEach { (_, annotation) -> - assert(annotation.getUtBotType().isPythonType()) - } - } - } - - @Test - fun testIncludedDefinitions() { - val defs = storage.definitions["annotation_tests"]!!.keys - assertTrue(listOf("Optional", "collections", "Enum", "Iterable", "list", "int").all { !defs.contains(it) }) - assertTrue(listOf("sequence", "enum_literal", "Color", "A", "tuple_").all { defs.contains(it) }) - } - - @Test - fun testFunctionArgNames() { - val square = storage.definitions["annotation_tests"]!!["square"]!!.getUtBotType() - assertTrue( - (square.pythonDescription() as PythonCallableTypeDescription).argumentNames == listOf("collection", "x") - ) - } - - @Test - fun testCustomClassAttributes() { - val A = storage.definitions["annotation_tests"]!!["A"]!!.getUtBotType() - val attrs = A.getPythonAttributes().map { it.meta.name } - assertTrue(attrs.containsAll(listOf("y", "x", "self_"))) - } - - @Test - fun testTypeAlias() { - val isinstance = storageBoruvka.types["boruvka"]!!.find { it.startOffset == 3731L }!!.type.asUtBotType - val func = isinstance as FunctionType - val classInfo = func.arguments[1] - assertTrue(classInfo.pythonDescription() is PythonTypeAliasDescription) - } -} \ No newline at end of file diff --git a/utbot-python/src/test/resources/annotation_sample.json b/utbot-python/src/test/resources/annotation_sample.json deleted file mode 100644 index 85e48e52..00000000 --- a/utbot-python/src/test/resources/annotation_sample.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"140305627449712": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602173904"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682446624"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447072"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447520"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682447968"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682563360"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682563808"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682564256"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682565152"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682565600"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566048"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566496"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682566944"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682567392"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682567840"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682568288"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682568736"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682569184"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682569632"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570080"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570528"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682570976"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682571424"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682571872"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682572320"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682572768"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682573216"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682573664"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682574112"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682574560"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575008"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575456"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682575904"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682576352"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682576800"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682577248"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682577696"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682578144"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682578592"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682579040"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677435168"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677435616"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436064"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436512"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677436960"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677437408"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677437856"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602174016"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677439200"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677439648"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440096"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440544"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677440992"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677441440"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677441888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677442336"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677442784"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677443232"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677443680"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677444128"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677444576"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677445024"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677445472"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305602173904": {"type": "Overloaded", "items": [{"nodeId": "140305682445728"}, {"nodeId": "140305602007712"}]}, "140305682445728": {"type": "Function", "typeVars": [".-1.140305682445728"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305682445728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140305719629120": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619585056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606901008"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547490272"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694714208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694714656"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694715104"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694715552"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716000"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716448"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694716896"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694717344"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694717792"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694718240"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694718688"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694719136"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694719584"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695113504"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695114400"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695114848"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140305619585056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140305627451392": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594848"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678427168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678427616"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428064"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428512"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678428960"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602595072"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602595408"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596192"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432096"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432544"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678432992"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678433440"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678433888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673322784"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673323232"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673323680"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673324128"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596528"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "isAbstract": false}, "140305602594848": {"type": "Overloaded", "items": [{"nodeId": "140305678424032"}, {"nodeId": "140305678424480"}, {"nodeId": "140305678424928"}, {"nodeId": "140305678425376"}, {"nodeId": "140305678425824"}, {"nodeId": "140305678426272"}, {"nodeId": "140305678426720"}]}, "140305678424032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627451392": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451392", "variance": "INVARIANT"}, ".2.140305627451392": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451392", "variance": "INVARIANT"}, "140305678424480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305678424928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619086896": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304096"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304544"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__", "keys"]}, "140305707304096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}]}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619086896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619086896": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086896", "variance": "INVARIANT"}, ".2.140305619086896": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086896", "variance": "COVARIANT"}, "140305719633152": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598339936"}}], "typeVars": [{"nodeId": ".1.140305719633152"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__iter__"]}, "140305598339936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633152"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633152"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719633152": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633152", "variance": "COVARIANT"}, "140305719633488": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598342848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703080832"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140305719633488"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633488"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140305598342848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}], "returnType": {"nodeId": ".1.140305719633488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719633488": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633488", "variance": "COVARIANT"}, "140305703080832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633488"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140305707304544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305619086896"}, {"nodeId": ".2.140305619086896"}]}, {"nodeId": ".1.140305619086896"}], "returnType": {"nodeId": ".2.140305619086896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678425376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305678425824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602595632"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602595632": {"type": "Tuple", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "140305678426272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602595856"}]}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305602595856": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627451392"}]}, "140305678426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627451056": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602592944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678279264"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678279712"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678280160"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678280608"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281056"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281504"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678281952"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678282400"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602593056"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678283744"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678284192"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594288"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594400"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678286432"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602594624"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678419104"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678419552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420000"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420448"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678420896"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678421344"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678421792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678422240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678422688"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678423136"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678423584"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627451056"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627451056"}]}], "isAbstract": false}, "140305602592944": {"type": "Overloaded", "items": [{"nodeId": "140305678278368"}, {"nodeId": "140305678278816"}]}, "140305678278368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627451056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627451056", "variance": "INVARIANT"}, "140305678278816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678279264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678279712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678280160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678280608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627451056"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305627772768": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305597898464"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__index__"]}, "140305597898464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627448032": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602167744"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690397152"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479968"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547480864"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479744"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547479520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690399392"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690399840"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690400288"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690401632"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547478624"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690402528"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690402976"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690403424"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690403872"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690404320"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690404768"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690405216"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690405664"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690406112"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690406560"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407008"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407456"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690407904"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690408352"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602168864"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682186976"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682187424"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682187872"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682188320"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682188768"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682189216"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682189664"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682190112"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682190560"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191008"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191456"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682191904"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682192352"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682192800"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682193248"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682193696"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682194144"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682194592"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195040"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195488"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682195936"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682196384"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682196832"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682197280"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682197728"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682198176"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682198624"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199072"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199520"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682199968"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602167744": {"type": "Overloaded", "items": [{"nodeId": "140305602006816"}, {"nodeId": "140305690396704"}]}, "140305602006816": {"type": "Function", "typeVars": [".-1.140305602006816"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602169536"}], "returnType": {"nodeId": ".-1.140305602006816"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140305602169536": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305602169424"}, {"nodeId": "140305627758992"}, {"nodeId": "140305627772768"}, {"nodeId": "140305619086224"}]}, "140305602169424": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305619227856": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305619227744"}]}, "140305627766048": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602175136"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677447264"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677447712"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677448160"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677448608"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677449056"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677449504"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677450400"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677450848"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677566688"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677567136"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677567584"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568032"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568480"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677568928"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677569376"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677569824"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677570272"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677570720"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677571168"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677571616"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572064"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572512"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677572960"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677573408"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677573856"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677574304"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677574752"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677575200"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677575648"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576096"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576544"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677576992"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677577440"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677577888"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677578336"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677578784"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677579232"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677579680"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677580128"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677580576"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547737600"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547903712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677581920"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677713696"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602178608"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715040"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715488"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677715936"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677716384"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677716832"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677717280"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677717728"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677718176"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677718624"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719072"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719520"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677719968"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305627764032"}], "isAbstract": false}, "140305602175136": {"type": "Overloaded", "items": [{"nodeId": "140305602008160"}, {"nodeId": "140305677446368"}, {"nodeId": "140305677446816"}]}, "140305602008160": {"type": "Function", "typeVars": [".-1.140305602008160"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602179840"}], "returnType": {"nodeId": ".-1.140305602008160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305602179840": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627772768"}, {"nodeId": "140305627760000"}, {"nodeId": "140305602179728"}]}, "140305627760000": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598230848"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__bytes__"]}, "140305598230848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760000"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602179728": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602008160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602008160", "variance": "INVARIANT"}, "140305677446368": {"type": "Function", "typeVars": [".-1.140305677446368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305677446368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140305677446368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677446368", "variance": "INVARIANT"}, "140305677446816": {"type": "Function", "typeVars": [".-1.140305677446816"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305677446816"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305677446816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677446816", "variance": "INVARIANT"}, "140305677447264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677447712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305677448160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602180064"}, {"nodeId": "140305602180176"}, {"nodeId": "140305602180288"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602180064": {"type": "Union", "items": [{"nodeId": "140305602179952"}, {"nodeId": "140305627772768"}]}, "140305602179952": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602180176": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602180288": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677448608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305677449056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602180624"}, {"nodeId": "140305602180736"}, {"nodeId": "140305602180848"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602180624": {"type": "Union", "items": [{"nodeId": "140305602180400"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602180512"}]}]}, "140305602180400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627450720": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678104864"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678105312"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678105760"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443888"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678271200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678271648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272096"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272544"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678272992"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602444560"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678274336"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678274784"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678275232"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678275680"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678276128"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627450720"}], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305627450720"}]}], "isAbstract": false}, "140305678104864": {"type": "Function", "typeVars": [".-1.140305678104864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": ".-1.140305678104864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140305627450720": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627450720", "variance": "COVARIANT"}, ".-1.140305678104864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678104864", "variance": "INVARIANT"}, "140305678105312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678105760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719629456": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678095904"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602442432"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602442544"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443328"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443440"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443552"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443664"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678101728"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}], "isAbstract": false}, "140305678095904": {"type": "Function", "typeVars": [".-1.140305678095904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305678095904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140305678095904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678095904", "variance": "INVARIANT"}, "140305602442432": {"type": "Overloaded", "items": [{"nodeId": "140305678096352"}, {"nodeId": "140305678096800"}]}, "140305678096352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678096800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602442544": {"type": "Overloaded", "items": [{"nodeId": "140305678097248"}, {"nodeId": "140305678097696"}]}, "140305678097248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678097696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443328": {"type": "Overloaded", "items": [{"nodeId": "140305678098144"}, {"nodeId": "140305678098592"}]}, "140305678098144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678098592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443440": {"type": "Overloaded", "items": [{"nodeId": "140305678099040"}, {"nodeId": "140305678099488"}]}, "140305678099040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678099488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443552": {"type": "Overloaded", "items": [{"nodeId": "140305678099936"}, {"nodeId": "140305678100384"}]}, "140305678099936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678100384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602443664": {"type": "Overloaded", "items": [{"nodeId": "140305678100832"}, {"nodeId": "140305678101280"}]}, "140305678100832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678101280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678101728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305602444112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602444112": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305602443888": {"type": "Overloaded", "items": [{"nodeId": "140305678106208"}, {"nodeId": "140305678270752"}]}, "140305678106208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627450720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678270752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627450384": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548098048"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548165856"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548166080"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602443776"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678104416"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548098048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548165856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548166080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602443776": {"type": "Overloaded", "items": [{"nodeId": "140305678103520"}, {"nodeId": "140305678103968"}]}, "140305678103520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678103968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678104416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305602592832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602592832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305678271200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678271648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678272992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602444560": {"type": "Overloaded", "items": [{"nodeId": "140305678273440"}, {"nodeId": "140305678273888"}]}, "140305678273440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678273888": {"type": "Function", "typeVars": [".-1.140305678273888"], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": ".-1.140305678273888"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305602593168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678273888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678273888", "variance": "INVARIANT"}, "140305602593168": {"type": "Union", "items": [{"nodeId": ".1.140305627450720"}, {"nodeId": ".-1.140305678273888"}]}, "140305678274336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678274784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678275232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678275680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450720", "args": [{"nodeId": ".1.140305627450720"}]}, {"nodeId": "A"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678276128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305635973760": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594326752"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594327200"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594327424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686192064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686192512"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686193856"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594326752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627447360": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547485120"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484672"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484448"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484224"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547484000"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483776"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483552"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483328"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547483104"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606901456"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305601968304"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126048"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126496"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695126944"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695127392"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695127840"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547482880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695128736"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695129184"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547485120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635967712": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690188864"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690189312"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690189760"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690190208"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690190656"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690191104"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690191552"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192000"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192448"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690192896"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690193344"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690193792"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690194240"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "isAbstract": false}, "140305690188864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305635967712": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635967712", "variance": "INVARIANT"}, ".2.140305635967712": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635967712", "variance": "COVARIANT"}, "140305690189312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": ".1.140305635967712"}], "returnType": {"nodeId": ".2.140305635967712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690189760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690190208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690190656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690191104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690191552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762352": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703400192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703400640"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401088"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703401984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703402432"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703402880"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703583808"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703584256"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703584704"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703585152"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703585600"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140305627762352"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627762352"}]}], "isAbstract": false}, "140305703400192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627762352"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762352": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762352", "variance": "COVARIANT"}, "140305719638192": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598592640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949168"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703589184"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703589632"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703590080"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703590528"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719638192"}]}], "isAbstract": true}, "140305598592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}], "returnType": {"nodeId": ".2.140305719638192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719638192": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638192", "variance": "INVARIANT"}, ".2.140305719638192": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638192", "variance": "COVARIANT"}, "140305614949168": {"type": "Overloaded", "items": [{"nodeId": "140305703588288"}, {"nodeId": "140305703588736"}]}, "140305703588288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}], "returnType": {"nodeId": "140305614954320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614954320": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": "N"}]}, "140305703588736": {"type": "Function", "typeVars": [".-1.140305703588736"], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": ".1.140305719638192"}, {"nodeId": "140305614954432"}], "returnType": {"nodeId": "140305614954544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140305614954432": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": ".-1.140305703588736"}]}, ".-1.140305703588736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703588736", "variance": "INVARIANT"}, "140305614954544": {"type": "Union", "items": [{"nodeId": ".2.140305719638192"}, {"nodeId": ".-1.140305703588736"}]}, "140305703589184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762016": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703394816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703395264"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703395712"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703396160"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703396608"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397056"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397504"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703397952"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703398400"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703398848"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703399296"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703399744"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305631852048"}]}], "isAbstract": false}, "140305703394816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762016": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762016", "variance": "COVARIANT"}, ".2.140305627762016": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762016", "variance": "COVARIANT"}, "140305703395264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614951072"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627766720": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602596976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673326368"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673326816"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673327264"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673327712"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673328160"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673328608"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329056"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329504"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673329952"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673330400"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673330848"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673331296"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673331744"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673332192"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673332640"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333088"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673333984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673334432"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673334880"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673335328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673335776"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673336224"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673336672"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673337120"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673337568"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673338016"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673338464"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673470240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673470688"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673471136"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627766720"}], "bases": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305627766720"}]}], "isAbstract": false}, "140305602596976": {"type": "Overloaded", "items": [{"nodeId": "140305673325472"}, {"nodeId": "140305673325920"}]}, "140305673325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627766720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627766720", "variance": "INVARIANT"}, "140305673325920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673326368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673326816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305673327264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673327712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673328160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673328608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673329056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673329504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673329952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673330400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673330848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": ".1.140305627766720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673331296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673331744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673332192": {"type": "Function", "typeVars": [".-1.140305673332192"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673332192"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140305673332192": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673332192", "variance": "INVARIANT"}, "140305602599104": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673332192"}]}, "140305673332640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673333088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673333536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673333984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673334432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719637520": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598502208"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703319616"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320064"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320512"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703320960"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703387200"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703387648"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388096"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388544"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703388992"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703389440"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140305719637520"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719637520"}]}], "isAbstract": true}, "140305598502208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719637520": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637520", "variance": "COVARIANT"}, "140305703319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703320960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703387200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703387648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703388096": {"type": "Function", "typeVars": [".-1.140305703388096"], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305703388096"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305614949952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703388096": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703388096", "variance": "INVARIANT"}, "140305614949952": {"type": "Union", "items": [{"nodeId": ".1.140305719637520"}, {"nodeId": ".-1.140305703388096"}]}, "140305703388544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703388992": {"type": "Function", "typeVars": [".-1.140305703388992"], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305703388992"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305614950176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703388992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703388992", "variance": "INVARIANT"}, "140305614950176": {"type": "Union", "items": [{"nodeId": ".1.140305719637520"}, {"nodeId": ".-1.140305703388992"}]}, "140305703389440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637520"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140305719636512": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598446976"}}], "typeVars": [{"nodeId": ".1.140305719636512"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719636512"}]}, {"nodeId": "140305719636176", "args": [{"nodeId": ".1.140305719636512"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140305598446976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719636512"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719636512": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636512", "variance": "COVARIANT"}, "140305719636176": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598444288"}}], "typeVars": [{"nodeId": ".1.140305719636176"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__"]}, "140305598444288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636176", "args": [{"nodeId": ".1.140305719636176"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719636176": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636176", "variance": "COVARIANT"}, "140305673334880": {"type": "Function", "typeVars": [".-1.140305673334880"], "argTypes": [{"nodeId": ".-1.140305673334880"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": ".-1.140305673334880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673334880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673334880", "variance": "INVARIANT"}, "140305673335328": {"type": "Function", "typeVars": [".-1.140305673335328"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673335328"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673335328": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673335328", "variance": "INVARIANT"}, "140305602599216": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673335328"}]}, "140305673335776": {"type": "Function", "typeVars": [".-1.140305673335776"], "argTypes": [{"nodeId": ".-1.140305673335776"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": ".-1.140305673335776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673335776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673335776", "variance": "INVARIANT"}, "140305673336224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305602599328"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602599328": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": "N"}]}, "140305673336672": {"type": "Function", "typeVars": [".-1.140305673336672"], "argTypes": [{"nodeId": ".-1.140305673336672"}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": ".-1.140305673336672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673336672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673336672", "variance": "INVARIANT"}, "140305673337120": {"type": "Function", "typeVars": [".-1.140305673337120"], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673337120"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305602599440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673337120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673337120", "variance": "INVARIANT"}, "140305602599440": {"type": "Union", "items": [{"nodeId": ".1.140305627766720"}, {"nodeId": ".-1.140305673337120"}]}, "140305673337568": {"type": "Function", "typeVars": [".-1.140305673337568"], "argTypes": [{"nodeId": ".-1.140305673337568"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627766720"}]}], "returnType": {"nodeId": ".-1.140305673337568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673337568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673337568", "variance": "INVARIANT"}, "140305673338016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673338464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673470240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673470688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627766720"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673471136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305719637856": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598503776"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598511392"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703390784"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703391232"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703391680"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703392128"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703392576"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393024"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393472"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140305719637856"}], "bases": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "isAbstract": true}, "140305598503776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140305719637856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637856", "variance": "INVARIANT"}, "140305598511392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".1.140305719637856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703391680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637856", "args": [{"nodeId": ".1.140305719637856"}]}, {"nodeId": ".1.140305719637856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703392128": {"type": "Function", "typeVars": [".-1.140305703392128"], "argTypes": [{"nodeId": ".-1.140305703392128"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".-1.140305703392128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703392128": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703392128", "variance": "INVARIANT"}, "140305703392576": {"type": "Function", "typeVars": [".-1.140305703392576"], "argTypes": [{"nodeId": ".-1.140305703392576"}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305703392576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703392576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703392576", "variance": "INVARIANT"}, "140305703393024": {"type": "Function", "typeVars": [".-1.140305703393024"], "argTypes": [{"nodeId": ".-1.140305703393024"}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305719637856"}]}], "returnType": {"nodeId": ".-1.140305703393024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703393024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703393024", "variance": "INVARIANT"}, "140305703393472": {"type": "Function", "typeVars": [".-1.140305703393472"], "argTypes": [{"nodeId": ".-1.140305703393472"}, {"nodeId": "140305719637520", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305703393472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703393472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703393472", "variance": "INVARIANT"}, "140305614951072": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703395712": {"type": "Function", "typeVars": [".-1.140305703395712"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703395712"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703395712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703395712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703395712", "variance": "INVARIANT"}, "140305703396160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703396608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614951296"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614951296": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614951520"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614951520": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397504": {"type": "Function", "typeVars": [".-1.140305703397504"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703397504"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614951856"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703397504": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703397504", "variance": "INVARIANT"}, "140305614951856": {"type": "Union", "items": [{"nodeId": "140305614951744"}, {"nodeId": ".-1.140305703397504"}]}, "140305614951744": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703397952": {"type": "Function", "typeVars": [".-1.140305703397952"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703397952"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703397952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703397952", "variance": "INVARIANT"}, "140305614952192": {"type": "Union", "items": [{"nodeId": "140305614952080"}, {"nodeId": ".-1.140305703397952"}]}, "140305614952080": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703398400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305614952528": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703398848": {"type": "Function", "typeVars": [".-1.140305703398848"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703398848"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703398848"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703398848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703398848", "variance": "INVARIANT"}, "140305703399296": {"type": "Function", "typeVars": [".-1.140305703399296"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703399296"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614952864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703399296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703399296", "variance": "INVARIANT"}, "140305614952864": {"type": "Union", "items": [{"nodeId": "140305614952752"}, {"nodeId": ".-1.140305703399296"}]}, "140305614952752": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703399744": {"type": "Function", "typeVars": [".-1.140305703399744"], "argTypes": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703399744"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953200"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703399744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703399744", "variance": "INVARIANT"}, "140305614953200": {"type": "Union", "items": [{"nodeId": "140305614953088"}, {"nodeId": ".-1.140305703399744"}]}, "140305614953088": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305627761680": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703393920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703394368"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140305627760672"}], "isAbstract": false}, "140305703393920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761680"}, {"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140305703394368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627760672": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598337920"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__len__"]}, "140305598337920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305631852048": {"type": "Tuple", "items": [{"nodeId": ".1.140305627762016"}, {"nodeId": ".2.140305627762016"}]}, "140305703589632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703590080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}], "returnType": {"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305719638192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627762688": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586048"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586496"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703586944"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703587392"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627762688"}], "bases": [{"nodeId": "140305627761680"}, {"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305627762688"}]}], "isAbstract": false}, "140305703586048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140305627762688": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627762688", "variance": "COVARIANT"}, "140305703586496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703586944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762688"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703587392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305627762688"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762688"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703590528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638192"}, {"nodeId": ".2.140305719638192"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703400640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703401088": {"type": "Function", "typeVars": [".-1.140305703401088"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703401088"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703401088"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703401088": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703401088", "variance": "INVARIANT"}, "140305703401536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703401984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703402880": {"type": "Function", "typeVars": [".-1.140305703402880"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703402880"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703402880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703402880", "variance": "INVARIANT"}, "140305614953536": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703402880"}]}, "140305703583808": {"type": "Function", "typeVars": [".-1.140305703583808"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703583808"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703583808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703583808", "variance": "INVARIANT"}, "140305614953648": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703583808"}]}, "140305703584256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".1.140305627762352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703584704": {"type": "Function", "typeVars": [".-1.140305703584704"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703584704"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": ".-1.140305703584704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703584704": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703584704", "variance": "INVARIANT"}, "140305703585152": {"type": "Function", "typeVars": [".-1.140305703585152"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703585152"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703585152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703585152", "variance": "INVARIANT"}, "140305614953872": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703585152"}]}, "140305703585600": {"type": "Function", "typeVars": [".-1.140305703585600"], "argTypes": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627762352"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305703585600"}]}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305614953984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703585600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703585600", "variance": "INVARIANT"}, "140305614953984": {"type": "Union", "items": [{"nodeId": ".1.140305627762352"}, {"nodeId": ".-1.140305703585600"}]}, "140305690192000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690192448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690192896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305690193344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635967712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305690193792": {"type": "Function", "typeVars": [".-1.140305690193792", ".-2.140305690193792"], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305690193792"}, {"nodeId": ".-2.140305690193792"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305614962160"}, {"nodeId": "140305614962272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690193792": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690193792", "variance": "INVARIANT"}, ".-2.140305690193792": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690193792", "variance": "INVARIANT"}, "140305614962160": {"type": "Union", "items": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".-1.140305690193792"}]}, "140305614962272": {"type": "Union", "items": [{"nodeId": ".2.140305635967712"}, {"nodeId": ".-2.140305690193792"}]}, "140305690194240": {"type": "Function", "typeVars": [".-1.140305690194240", ".-2.140305690194240"], "argTypes": [{"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".2.140305635967712"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305690194240"}, {"nodeId": ".-2.140305690194240"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305614962384"}, {"nodeId": "140305614962496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690194240": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690194240", "variance": "INVARIANT"}, ".-2.140305690194240": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690194240", "variance": "INVARIANT"}, "140305614962384": {"type": "Union", "items": [{"nodeId": ".1.140305635967712"}, {"nodeId": ".-1.140305690194240"}]}, "140305614962496": {"type": "Union", "items": [{"nodeId": ".2.140305635967712"}, {"nodeId": ".-2.140305690194240"}]}, "140305547484224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547484000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547483328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305602167296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602167296": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305547483104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606901456": {"type": "Overloaded", "items": [{"nodeId": "140305695124256"}, {"nodeId": "140305695124704"}]}, "140305695124256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305695124704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140305601968304": {"type": "Overloaded", "items": [{"nodeId": "140305695125152"}, {"nodeId": "140305695125600"}]}, "140305695125152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305695125600": {"type": "Function", "typeVars": [".-1.140305695125600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305695125600"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140305695125600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695125600", "variance": "INVARIANT"}, "140305695126048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140305695126496": {"type": "Function", "typeVars": [".-1.140305695126496"], "argTypes": [{"nodeId": ".-1.140305695126496"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305695126496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305695126496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695126496", "variance": "INVARIANT"}, "140305695126944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627447360"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695127392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305695127840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547482880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140305695128736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635974432": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594329888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686195200"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686195648"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594329888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686195200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686195648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305695129184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635974432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305594327200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594327424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686192064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "140305627447360"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140305686192512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686193856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973760"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719636848": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614947712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703310656"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703311104"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703311552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703312000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703312448"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305719636848"}], "bases": [{"nodeId": "140305719636512", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305719636848"}]}], "isAbstract": true}, "140305614947712": {"type": "Overloaded", "items": [{"nodeId": "140305703309760"}, {"nodeId": "140305703310208"}]}, "140305703309760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719636848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305719636848": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719636848", "variance": "COVARIANT"}, "140305703310208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703310656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "A"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140305703311104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703311552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703312000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305703312448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719636848"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719636848"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305719633824": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598345088"}}], "typeVars": [{"nodeId": ".1.140305719633824"}], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719633824"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140305598345088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305719633824"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719633824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719633824": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719633824", "variance": "COVARIANT"}, "140305602180512": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602180736": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602180848": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677449504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305677450400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181072"}, {"nodeId": "140305602181184"}, {"nodeId": "140305602181296"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602181072": {"type": "Union", "items": [{"nodeId": "140305602180960"}, {"nodeId": "140305627772768"}]}, "140305602180960": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602181184": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602181296": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677450848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181408"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602181408": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305677566688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602181632"}, {"nodeId": "140305602181744"}, {"nodeId": "140305602181856"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602181632": {"type": "Union", "items": [{"nodeId": "140305602181520"}, {"nodeId": "140305627772768"}]}, "140305602181520": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602181744": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602181856": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677567136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677567584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677568928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677569376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677570272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677570720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602181968"}]}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602181968": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677571168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602182080"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602182080": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305627766384": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602179616"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677722208"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677722656"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677723104"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677723552"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724000"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724448"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677724896"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677725344"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677726240"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677726688"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677727136"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728480"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677728928"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677729376"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677844768"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677845216"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677845664"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677846112"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677846560"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847008"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847456"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677847904"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677848352"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677848800"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677849248"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677849696"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677850144"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677850592"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851040"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851488"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677851936"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677852384"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677852832"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677853280"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677853728"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677854176"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677854624"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855072"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855520"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677855968"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677856416"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677856864"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677857312"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677857760"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677858208"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547911776"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547910656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677859552"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677860000"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602432352"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602433136"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677993568"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677994016"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305602018240"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677994912"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677995360"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677995808"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677996256"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677996704"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677997152"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677997600"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998048"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998496"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677998944"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677999392"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305677999840"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627764032"}], "isAbstract": false}, "140305602179616": {"type": "Overloaded", "items": [{"nodeId": "140305677720864"}, {"nodeId": "140305677721312"}, {"nodeId": "140305677721760"}]}, "140305677720864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677721312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602433360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602433360": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627772768"}, {"nodeId": "140305602433248"}]}, "140305602433248": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677721760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140305677722208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677722656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677723104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305677723552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602433584"}, {"nodeId": "140305602433696"}, {"nodeId": "140305602433808"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602433584": {"type": "Union", "items": [{"nodeId": "140305602433472"}, {"nodeId": "140305627772768"}]}, "140305602433472": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602433696": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602433808": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677724000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677724448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305677724896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434144"}, {"nodeId": "140305602434256"}, {"nodeId": "140305602434368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602434144": {"type": "Union", "items": [{"nodeId": "140305602433920"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602434032"}]}]}, "140305602433920": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434032": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434256": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602434368": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677725344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305677726240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677726688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434592"}, {"nodeId": "140305602434704"}, {"nodeId": "140305602434816"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602434592": {"type": "Union", "items": [{"nodeId": "140305602434480"}, {"nodeId": "140305627772768"}]}, "140305602434480": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602434704": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602434816": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677727136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602434928"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602434928": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305677728032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435152"}, {"nodeId": "140305602435264"}, {"nodeId": "140305602435376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602435152": {"type": "Union", "items": [{"nodeId": "140305602435040"}, {"nodeId": "140305627772768"}]}, "140305602435040": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602435264": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602435376": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677728480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305677728928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677729376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677844768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677845216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677845664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677846112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677846560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677847008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677847456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602435488"}]}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602435488": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677847904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602435600"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602435600": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677848352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677848800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435824"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602435824": {"type": "Union", "items": [{"nodeId": "140305602435712"}, {"nodeId": "N"}]}, "140305602435712": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677849248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602435936"}], "returnType": {"nodeId": "140305602436160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602435936": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436160": {"type": "Tuple", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}]}, "140305677849696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305677850144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305677850592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436272"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602436272": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602436384": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436496"}, {"nodeId": "140305602436608"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602436496": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436608": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677851936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602436832"}, {"nodeId": "140305602436944"}, {"nodeId": "140305602437056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602436832": {"type": "Union", "items": [{"nodeId": "140305602436720"}, {"nodeId": "140305627772768"}]}, "140305602436720": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602436944": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602437056": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677852384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602437280"}, {"nodeId": "140305602437392"}, {"nodeId": "140305602437504"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602437280": {"type": "Union", "items": [{"nodeId": "140305602437168"}, {"nodeId": "140305627772768"}]}, "140305602437168": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602437392": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602437504": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677852832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602437616"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602437616": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677853280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602437728"}], "returnType": {"nodeId": "140305602437952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602437728": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602437952": {"type": "Tuple", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627766384"}]}, "140305677853728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438176"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602438176": {"type": "Union", "items": [{"nodeId": "140305602438064"}, {"nodeId": "N"}]}, "140305602438064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677854176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438400"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602438400": {"type": "Union", "items": [{"nodeId": "140305602438288"}, {"nodeId": "N"}]}, "140305602438288": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677854624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438624"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602438624": {"type": "Union", "items": [{"nodeId": "140305602438512"}, {"nodeId": "N"}]}, "140305602438512": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677855072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766384"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677855520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602438960"}, {"nodeId": "140305602439072"}, {"nodeId": "140305602439184"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602438960": {"type": "Union", "items": [{"nodeId": "140305602438736"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602438848"}]}]}, "140305602438736": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602438848": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602439072": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602439184": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677855968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602439408"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602439408": {"type": "Union", "items": [{"nodeId": "140305602439296"}, {"nodeId": "N"}]}, "140305602439296": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677856416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677856864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677857312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602439632"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140305602439632": {"type": "Union", "items": [{"nodeId": "140305602439520"}, {"nodeId": "N"}]}, "140305602439520": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677857760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677858208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547911776": {"type": "Function", "typeVars": [".-1.140305547911776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547911776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547911776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547911776", "variance": "INVARIANT"}, "140305547910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305602439744"}, {"nodeId": "140305602439856"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602439744": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602439856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677859552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677860000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602432352": {"type": "Overloaded", "items": [{"nodeId": "140305677860448"}, {"nodeId": "140305677992224"}]}, "140305677860448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677992224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602433136": {"type": "Overloaded", "items": [{"nodeId": "140305677992672"}, {"nodeId": "140305677993120"}]}, "140305677992672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305677993120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450384"}, {"nodeId": "140305602440192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305602440192": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627766048"}]}, "140305677993568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440304": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305677994016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440416"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602018240": {"type": "Function", "typeVars": [".-1.140305602018240"], "argTypes": [{"nodeId": ".-1.140305602018240"}, {"nodeId": "140305602440528"}], "returnType": {"nodeId": ".-1.140305602018240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305602018240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602018240", "variance": "INVARIANT"}, "140305602440528": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677994912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677995360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677995808": {"type": "Function", "typeVars": [".-1.140305677995808"], "argTypes": [{"nodeId": ".-1.140305677995808"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305677995808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305677995808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677995808", "variance": "INVARIANT"}, "140305677996256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677996704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440864"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440864": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305602440752"}]}, "140305602440752": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677997152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677997600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677998048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602440976"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602440976": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677998496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441088": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677998944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441200"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441200": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677999392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}, {"nodeId": "140305602441312"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602441312": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677999840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719637184": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598500192"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614948160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614948720"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949056"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316032"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316480"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703316928"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703317376"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703317824"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703318272"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703318720"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140305719637184"}], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": ".1.140305719637184"}]}], "isAbstract": true}, "140305598500192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140305719637184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719637184", "variance": "INVARIANT"}, "140305614948160": {"type": "Overloaded", "items": [{"nodeId": "140305703313344"}, {"nodeId": "140305703313792"}]}, "140305703313344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719637184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703313792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305614948720": {"type": "Overloaded", "items": [{"nodeId": "140305703314240"}, {"nodeId": "140305703314688"}]}, "140305703314240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305703314688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305614949056": {"type": "Overloaded", "items": [{"nodeId": "140305703315136"}, {"nodeId": "140305703315584"}]}, "140305703315136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703315584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703316032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703316480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703316928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140305703317376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703317824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719637184"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140305703318272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305719637184"}]}, {"nodeId": ".1.140305719637184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140305703318720": {"type": "Function", "typeVars": [".-1.140305703318720"], "argTypes": [{"nodeId": ".-1.140305703318720"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305719637184"}]}], "returnType": {"nodeId": ".-1.140305703318720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305703318720": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703318720", "variance": "INVARIANT"}, "140305627764032": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": true}, "140305677571616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677572064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182304"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602182304": {"type": "Union", "items": [{"nodeId": "140305602182192"}, {"nodeId": "N"}]}, "140305602182192": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677572512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182416"}], "returnType": {"nodeId": "140305602182640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602182416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602182640": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}]}, "140305677572960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182752"}, {"nodeId": "140305602182864"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602182752": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602182864": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677573408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602182976"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602182976": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677573856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602428992"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602428992": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677574304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602429216"}, {"nodeId": "140305602429328"}, {"nodeId": "140305602429440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602429216": {"type": "Union", "items": [{"nodeId": "140305602429104"}, {"nodeId": "140305627772768"}]}, "140305602429104": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602429328": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602429440": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677574752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602429664"}, {"nodeId": "140305602429776"}, {"nodeId": "140305602429888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602429664": {"type": "Union", "items": [{"nodeId": "140305602429552"}, {"nodeId": "140305627772768"}]}, "140305602429552": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602429776": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602429888": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677575200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602430000"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602430000": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305677575648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430112"}], "returnType": {"nodeId": "140305602430336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602430112": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602430336": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}]}, "140305677576096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430560"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602430560": {"type": "Union", "items": [{"nodeId": "140305602430448"}, {"nodeId": "N"}]}, "140305602430448": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677576544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602430784"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602430784": {"type": "Union", "items": [{"nodeId": "140305602430672"}, {"nodeId": "N"}]}, "140305602430672": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677576992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431008"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602431008": {"type": "Union", "items": [{"nodeId": "140305602430896"}, {"nodeId": "N"}]}, "140305602430896": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677577440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677577888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431344"}, {"nodeId": "140305602431456"}, {"nodeId": "140305602431568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602431344": {"type": "Union", "items": [{"nodeId": "140305602431120"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305602431232"}]}]}, "140305602431120": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602431232": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602431456": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602431568": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677578336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602431792"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602431792": {"type": "Union", "items": [{"nodeId": "140305602431680"}, {"nodeId": "N"}]}, "140305602431680": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677578784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677579232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677579680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432016"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140305602432016": {"type": "Union", "items": [{"nodeId": "140305602431904"}, {"nodeId": "N"}]}, "140305602431904": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677580128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677580576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305547737600": {"type": "Function", "typeVars": [".-1.140305547737600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547737600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547737600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547737600", "variance": "INVARIANT"}, "140305547903712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305602432128"}, {"nodeId": "140305602432240"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432128": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602432240": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677581920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602178608": {"type": "Overloaded", "items": [{"nodeId": "140305677714144"}, {"nodeId": "140305677714592"}]}, "140305677714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677715040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432464"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432464": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677715488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677715936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677716384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305602432800"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602432800": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305602432688"}]}, "140305602432688": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305677717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677717728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677718176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677718624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677719968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305602433024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602433024": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}]}, "140305619227744": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305619229200": {"type": "Union", "items": [{"nodeId": "140305627766384"}, {"nodeId": "140305627450048"}, {"nodeId": "140305619080176", "args": [{"nodeId": "A"}]}, {"nodeId": "140305628004416"}, {"nodeId": "140305618824416"}, {"nodeId": "140305635980480"}]}, "140305627450048": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084160"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084608"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548084832"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085056"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085280"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085504"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085728"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548085952"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086176"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086400"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086624"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548086848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678005664"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678006112"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678006560"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678007008"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602439968"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678090528"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678090976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678091424"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602440080"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678092768"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678093664"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678094112"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678094560"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678095008"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305548084160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548084608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548084832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441424": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441536": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441648": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305548085504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548085728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548085952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305602441760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602441760": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305548086176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548086848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678005664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602441872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305602441872": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305678006112": {"type": "Function", "typeVars": [".-1.140305678006112"], "argTypes": [{"nodeId": ".-1.140305678006112"}], "returnType": {"nodeId": ".-1.140305678006112"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305678006112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678006112", "variance": "INVARIANT"}, "140305678006560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602441984"}, {"nodeId": "140305602442096"}, {"nodeId": "140305602442208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305602441984": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602442096": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627455424": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632055632"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632055296"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674268768"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674269216"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674269664"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632055632": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305632055296": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305632054512": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635972416": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685849792"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849360"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594268384"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594268832"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594269056"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305685849792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}, {"nodeId": "140305615232400"}, {"nodeId": "140305635972752"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140305615232400": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635972752": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594319584"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320256"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320480"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320704"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594320928"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594321152"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594321376"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631426176"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685854720"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594319584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305615232512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615232512": {"type": "Union", "items": [{"nodeId": "140305635972752"}, {"nodeId": "N"}]}, "140305594320256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594320480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635967376": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593935104"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936448"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936000"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936672"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593936896"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937120"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937344"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937568"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593937792"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938016"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938240"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938464"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938688"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593938912"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593939136"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593939360"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593940032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690183936"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690186176"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690187968"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305593935104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593936896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593937792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593938912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593939136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593939360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593940032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690183936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305614961936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614961936": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305614961712"}]}, "140305614961712": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305690186176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140305690187968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967376"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140305594320704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594320928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594321152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305615232960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615232960": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}, "140305594321376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631426176": {"type": "Union", "items": [{"nodeId": "140305643944000"}, {"nodeId": "N"}]}, "140305643944000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305685854720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631849360": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305594268384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594268832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594269056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305674268768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140305674269216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627455424"}, {"nodeId": "140305602936528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602936528": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305674269664": {"type": "Function", "typeVars": [".-1.140305674269664"], "argTypes": [{"nodeId": ".-1.140305674269664"}, {"nodeId": "140305602936640"}], "returnType": {"nodeId": ".-1.140305674269664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305674269664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674269664", "variance": "INVARIANT"}, "140305602936640": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305602442208": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305678007008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602442320"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140305602442320": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}]}, "140305602439968": {"type": "Overloaded", "items": [{"nodeId": "140305678007456"}, {"nodeId": "140305678007904"}]}, "140305678007456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678007904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678090528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678090976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678091424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602440080": {"type": "Overloaded", "items": [{"nodeId": "140305678091872"}, {"nodeId": "140305678092320"}]}, "140305678091872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627450384"}, {"nodeId": "140305602442656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305602442656": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305678092320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678092768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602443216"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140305602443216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140305678093664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678094112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678094560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678095008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627450048"}, {"nodeId": "140305602443104"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140305602443104": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}]}, "140305619080176": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560668640"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560670432"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606888352"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665305600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306048"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306496"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665306944"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665307392"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665307840"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665308288"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665308736"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665309184"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665309632"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665425472"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665425920"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665426368"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665426816"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665427264"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665427712"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665428160"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665429504"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606888464"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606898768"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665431744"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665432192"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665432640"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433088"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433536"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665433984"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665434432"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665434880"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665435328"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665435776"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665436224"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665436672"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140305619080176"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305619080176"}]}], "isAbstract": false}, "140305560668640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305606897200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619080176": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627449712"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619080176", "variance": "INVARIANT"}, "140305627448368": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305602007488"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682200864"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682201312"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682201760"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305547654336"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547654560"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547654784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682318496"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682318944"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682319392"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682319840"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682320288"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682320736"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682321184"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682321632"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602169312"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682322976"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682323424"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682323872"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682324320"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682324768"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682325216"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682325664"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602174240"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682327456"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682327904"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682328352"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682328800"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602173232"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682330144"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682330592"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331040"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331488"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682331936"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682332384"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682332832"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682333280"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682432288"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682432736"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682433184"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682433632"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602007488": {"type": "Function", "typeVars": [".-1.140305602007488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602172672"}], "returnType": {"nodeId": ".-1.140305602007488"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140305602172672": {"type": "Union", "items": [{"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602172560"}]}, "140305627759328": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598228160"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__float__"]}, "140305598228160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627759328"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602172560": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602007488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602007488", "variance": "INVARIANT"}, "140305682200864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602172896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602172896": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305682201312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682201760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547654336": {"type": "Function", "typeVars": [".-1.140305547654336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305547654336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305547654336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547654336", "variance": "INVARIANT"}, "140305547654560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547654784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602173120": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305602169312": {"type": "Overloaded", "items": [{"nodeId": "140305682322080"}, {"nodeId": "140305682322528"}]}, "140305682322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682322976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682323424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682323872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682324320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682324768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682325216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682325664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602173568": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305602174240": {"type": "Overloaded", "items": [{"nodeId": "140305682326112"}, {"nodeId": "140305682326560"}, {"nodeId": "140305682327008"}]}, "140305682326112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305602173792"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602173792": {"type": "TypeAlias", "target": {"nodeId": "140305619236816"}}, "140305619236816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305682326560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305602177040"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602177040": {"type": "TypeAlias", "target": {"nodeId": "140305619583152"}}, "140305619583152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305627448704": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602176256"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547725952"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547726848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682436768"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682437216"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682437664"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682438112"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682438560"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439008"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439456"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682439904"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682440352"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682440800"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682441248"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682441696"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682442144"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682442592"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443040"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443488"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682443936"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602176256": {"type": "Overloaded", "items": [{"nodeId": "140305682434080"}, {"nodeId": "140305682434528"}]}, "140305682434080": {"type": "Function", "typeVars": [".-1.140305682434080"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602174128"}, {"nodeId": "140305602174464"}], "returnType": {"nodeId": ".-1.140305682434080"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140305602174128": {"type": "Union", "items": [{"nodeId": "140305627448704"}, {"nodeId": "140305627759664"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}]}, "140305627759664": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598229504"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__complex__"]}, "140305598229504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627759664"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602174464": {"type": "Union", "items": [{"nodeId": "140305627448704"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}]}, ".-1.140305682434080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682434080", "variance": "INVARIANT"}, "140305682434528": {"type": "Function", "typeVars": [".-1.140305682434528"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602174576"}], "returnType": {"nodeId": ".-1.140305682434528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140305602174576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627759664"}, {"nodeId": "140305627759328"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627448704"}]}, ".-1.140305682434528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682434528", "variance": "INVARIANT"}, "140305547725952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547726848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682436768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682437216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682437664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682438112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682438560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682439008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682439456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682439904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682440352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682440800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682441248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682441696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682442144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682442592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682443936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448704"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682327008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682327456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305602173680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602173680": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}]}, "140305682327904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682328352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682328800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602173232": {"type": "Overloaded", "items": [{"nodeId": "140305682329248"}, {"nodeId": "140305682329696"}]}, "140305682329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305682329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682332384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682332832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682333280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682432288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682432736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682433184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682433632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606897200": {"type": "TypeAlias", "target": {"nodeId": "140305619109584"}}, "140305619109584": {"type": "Union", "items": [{"nodeId": "140305631854176"}, {"nodeId": "140305631854400"}, {"nodeId": "140305619108128"}]}, "140305631854176": {"type": "TypeAlias", "target": {"nodeId": "140305619109472"}}, "140305619109472": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305631854400": {"type": "TypeAlias", "target": {"nodeId": "140305627332416"}}, "140305627332416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305619108128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140305560670432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606888352": {"type": "Overloaded", "items": [{"nodeId": "140305606273600"}, {"nodeId": "140305665303808"}, {"nodeId": "140305665304256"}, {"nodeId": "140305665304704"}, {"nodeId": "140305665305152"}]}, "140305606273600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305606897424"}, {"nodeId": "140305606897536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606897424": {"type": "TypeAlias", "target": {"nodeId": "140305619109472"}}, "140305606897536": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}]}, "140305665303808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305606898432"}, {"nodeId": "140305606897312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606898432": {"type": "TypeAlias", "target": {"nodeId": "140305627332416"}}, "140305606897312": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627448368"}]}]}, "140305665304256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305606898656"}, {"nodeId": "140305606898320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606898656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140305606898320": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}]}, "140305665304704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305665305152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305606897760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305606897760": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305665305600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665306048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305606897872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606897872": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305665306496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665306944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665307392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665307840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305606897984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606897984": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305665308288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619088240", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305619088240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707307232"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140305619088240"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["read"]}, "140305707307232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088240", "args": [{"nodeId": ".1.140305619088240"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619088240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305619088240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088240", "variance": "COVARIANT"}, "140305665308736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665309184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665309632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305665425472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305665425920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619080176"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665426368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665426816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665427264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619089248", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619089248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707308576"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140305619089248"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["write"]}, "140305707308576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619089248", "args": [{"nodeId": ".1.140305619089248"}]}, {"nodeId": ".1.140305619089248"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305619089248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619089248", "variance": "CONTRAVARIANT"}, "140305665427712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665428160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665429504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606888464": {"type": "Overloaded", "items": [{"nodeId": "140305665429952"}, {"nodeId": "140305665430400"}]}, "140305665429952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305619080176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665430400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606898768": {"type": "Overloaded", "items": [{"nodeId": "140305665430848"}, {"nodeId": "140305665431296"}]}, "140305665430848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305619080176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665431296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665431744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305606898544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606898544": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305665432192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665432640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665433088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665433536": {"type": "Function", "typeVars": [".-1.140305665433536"], "argTypes": [{"nodeId": ".-1.140305665433536"}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": ".-1.140305665433536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305665433536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665433536", "variance": "INVARIANT"}, "140305665433984": {"type": "Function", "typeVars": [".-1.140305665433984"], "argTypes": [{"nodeId": ".-1.140305665433984"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305665433984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305665433984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665433984", "variance": "INVARIANT"}, "140305665434432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665434880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665435328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665435776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665436224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665436672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305619080176", "args": [{"nodeId": ".1.140305619080176"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305628004416": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665832800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665833248"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665833696"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665834592"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656283424"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656283872"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656284320"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656284768"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656285216"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656285664"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656286112"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656286560"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287008"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287456"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656287904"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656288352"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656288800"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610833616"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656290144"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610997456"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656291488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656291936"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656292384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656292832"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627760672"}], "isAbstract": false}, "140305665832800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140305665833248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665833696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140305665834592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140305656283424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656283872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656284320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140305656284768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140305656285216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656285664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656286112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140305656286560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656287008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140305656287456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065040"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140305611065040": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656287904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065152"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140305611065152": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656288352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065264"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140305611065264": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305656288800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065376"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140305611065376": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610833616": {"type": "Overloaded", "items": [{"nodeId": "140305656289248"}, {"nodeId": "140305656289696"}]}, "140305656289248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656289696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656290144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305611065600"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611065600": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610997456": {"type": "Overloaded", "items": [{"nodeId": "140305656290592"}, {"nodeId": "140305656291040"}]}, "140305656290592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305656291040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305627450384"}, {"nodeId": "140305611065824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305611065824": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656291488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656291936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656292384": {"type": "Function", "typeVars": [".-1.140305656292384"], "argTypes": [{"nodeId": ".-1.140305656292384"}], "returnType": {"nodeId": ".-1.140305656292384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305656292384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656292384", "variance": "INVARIANT"}, "140305656292832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628004416"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305618824416": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631418224"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569021088"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569136704"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569137600"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569138720"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569139168"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631418224": {"type": "Union", "items": [{"nodeId": "140305719638192", "args": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, {"nodeId": "N"}]}, "140305569021088": {"type": "Function", "typeVars": [".-1.140305569021088"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305606336784"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569021088"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140305606336784": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, ".-1.140305569021088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569021088", "variance": "INVARIANT"}, "140305569136704": {"type": "Function", "typeVars": [".-1.140305569136704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305606336896"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569136704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140305606336896": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305569136704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569136704", "variance": "INVARIANT"}, "140305569137600": {"type": "Function", "typeVars": [".-1.140305569137600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305569137600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140305569137600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569137600", "variance": "INVARIANT"}, "140305569138720": {"type": "Function", "typeVars": [".-1.140305569138720"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305606337120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140305606337120": {"type": "Union", "items": [{"nodeId": ".-1.140305569138720"}, {"nodeId": "140305618826432"}]}, ".-1.140305569138720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569138720", "variance": "INVARIANT"}, "140305618826432": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305569139168": {"type": "Function", "typeVars": [".-1.140305569139168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305569139168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140305618823408": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305618824416"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665437792"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665438688"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665439136"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305665437792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305606336336"}, {"nodeId": "140305627448032"}, {"nodeId": "140305606336448"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606336560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140305606336336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606336448": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606336560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305665438688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618825760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618825760": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305618825424"}], "isAbstract": false}, "140305618825424": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305686131904"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627323456"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606334320"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665676384"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618824416"}], "isAbstract": false}, "140305686131904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140305640400576"}, {"nodeId": "N"}]}, "140305640400576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627323456": {"type": "TypeAlias", "target": {"nodeId": "140305643937728"}}, "140305643937728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305694785936"}, {"nodeId": "140305618825424"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305618824416"}]}], "returnType": {"nodeId": "140305618824416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305694785936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606334320": {"type": "Overloaded", "items": [{"nodeId": "140305665674592"}, {"nodeId": "140305665675040"}, {"nodeId": "140305665675488"}, {"nodeId": "140305665675936"}]}, "140305665674592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140305665675040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305606265984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140305606265984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305665675488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305606337792"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305606337904"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140305606337792": {"type": "Tuple", "items": [{"nodeId": "140305606337456"}, {"nodeId": "140305618823408"}]}, "140305606337456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305606337904": {"type": "TypeAlias", "target": {"nodeId": "140305627320768"}}, "140305627320768": {"type": "Union", "items": [{"nodeId": "140305627324800"}, {"nodeId": "140305627321440"}, {"nodeId": "140305627320880"}]}, "140305627324800": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305627321440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305627320880": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305665675936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305606338240"}]}, {"nodeId": "140305614570544", "args": [{"nodeId": "140305618944064"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140305606338240": {"type": "TypeAlias", "target": {"nodeId": "140305627320768"}}, "140305614570544": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305614570544"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606334432"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606338016"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665686688"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140305614570544"}], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618824416"}], "isAbstract": false}, ".1.140305614570544": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140305618824416"}, "def": "140305614570544", "variance": "INVARIANT"}, "140305606334432": {"type": "Overloaded", "items": [{"nodeId": "140305665684896"}, {"nodeId": "140305665685344"}]}, "140305665684896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": ".1.140305614570544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140305606338016": {"type": "Overloaded", "items": [{"nodeId": "140305665685792"}, {"nodeId": "140305665686240"}]}, "140305665685792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665686240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665686688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570544", "args": [{"nodeId": ".1.140305614570544"}]}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305618825088": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618824752"}], "isAbstract": false}, "140305618824752": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, "140305618944064": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618826768": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305618826768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822048"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305618826768"}], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, ".1.140305618826768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618826768", "variance": "INVARIANT"}, "140305665822048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618826768", "args": [{"nodeId": ".1.140305618826768"}]}, {"nodeId": ".1.140305618826768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305665676384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618825424"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305665439136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823408"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618825760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305569139168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305569139168", "variance": "INVARIANT"}, "140305635980480": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656294624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656295072"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656295520"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305656294624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}, {"nodeId": "140305610608416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140305610608416": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305656295072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656295520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627758992": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598227264"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__int__"]}, "140305598227264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627758992"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619086224": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707303200"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__trunc__"]}, "140305707303200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305602006816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602006816", "variance": "INVARIANT"}, "140305690396704": {"type": "Function", "typeVars": [".-1.140305690396704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602169648"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305690396704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140305602169648": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, ".-1.140305690396704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690396704", "variance": "INVARIANT"}, "140305690397152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602169984"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602169984": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "0"}]}, "140305547479968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547480864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547479744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305547479520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690399392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690399840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690400288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690401632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627772768"}, {"nodeId": "140305602170544"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140305602170544": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305547478624": {"type": "Function", "typeVars": [".-1.140305547478624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602170768"}, {"nodeId": "140305602171104"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": ".-1.140305547478624"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140305602170768": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627772768"}]}, {"nodeId": "140305627760000"}, {"nodeId": "140305602170656"}]}, "140305602170656": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305602171104": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140305547478624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547478624", "variance": "INVARIANT"}, "140305690402528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690402976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690403424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690403872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690404320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690404768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690405216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602171328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602171328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305690405664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690406112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690406560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690407904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690408352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602171552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602171552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305602168864": {"type": "Overloaded", "items": [{"nodeId": "140305690408800"}, {"nodeId": "140305690409248"}, {"nodeId": "140305690409696"}, {"nodeId": "140305690410144"}, {"nodeId": "140305690410592"}, {"nodeId": "140305682186528"}]}, "140305690408800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690409248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305690409696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305602172224"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602172224": {"type": "TypeAlias", "target": {"nodeId": "140305619236816"}}, "140305690410144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305602175024"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602175024": {"type": "TypeAlias", "target": {"nodeId": "140305619583152"}}, "140305690410592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305682186528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305682186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305602174912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602174912": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305682187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682187872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682188768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682189216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682189664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682190112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682190560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682191904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682192352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682192800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682193248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682193696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682194144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682194592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305682195040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602172448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602172448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305682195488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682195936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682196384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682196832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682197280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682197728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682198176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682198624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682199072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305682199520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682199968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678281056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305678281504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678281952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305678282400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602593056": {"type": "Overloaded", "items": [{"nodeId": "140305678282848"}, {"nodeId": "140305678283296"}]}, "140305678282848": {"type": "Function", "typeVars": [".-1.140305678282848"], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305678282848"}]}, {"nodeId": "N"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140305678282848": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140305619697360"}, "def": "140305678282848", "variance": "INVARIANT"}, "140305619697360": {"type": "Union", "items": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}]}, "140305619081520": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669318560"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140305619081520"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__lt__"]}, "140305669318560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081520", "args": [{"nodeId": ".1.140305619081520"}]}, {"nodeId": ".1.140305619081520"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619081520": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081520", "variance": "CONTRAVARIANT"}, "140305619081856": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319008"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140305619081856"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__gt__"]}, "140305669319008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081856", "args": [{"nodeId": ".1.140305619081856"}]}, {"nodeId": ".1.140305619081856"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619081856": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081856", "variance": "CONTRAVARIANT"}, "140305678283296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305602560960"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140305602560960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "140305602594736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602594736": {"type": "TypeAlias", "target": {"nodeId": "140305619112384"}}, "140305619112384": {"type": "Union", "items": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}]}, "140305678283744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678284192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602594288": {"type": "Overloaded", "items": [{"nodeId": "140305678284640"}, {"nodeId": "140305678285088"}]}, "140305678284640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627451056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678285088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602594400": {"type": "Overloaded", "items": [{"nodeId": "140305678285536"}, {"nodeId": "140305678285984"}]}, "140305678285536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627451056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678285984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678286432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305602594960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602594960": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305602594624": {"type": "Overloaded", "items": [{"nodeId": "140305678418208"}, {"nodeId": "140305678418656"}]}, "140305678418208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678418656": {"type": "Function", "typeVars": [".-1.140305678418656"], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".-1.140305678418656"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305602595184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678418656": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678418656", "variance": "INVARIANT"}, "140305602595184": {"type": "Union", "items": [{"nodeId": ".-1.140305678418656"}, {"nodeId": ".1.140305627451056"}]}, "140305678419104": {"type": "Function", "typeVars": [".-1.140305678419104"], "argTypes": [{"nodeId": ".-1.140305678419104"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": ".-1.140305678419104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678419104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678419104", "variance": "INVARIANT"}, "140305678419552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678420000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678420448": {"type": "Function", "typeVars": [".-1.140305678420448"], "argTypes": [{"nodeId": ".-1.140305678420448"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".-1.140305678420448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305678420448": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678420448", "variance": "INVARIANT"}, "140305678420896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678421344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678421792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678422240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678422688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678423136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627451056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678423584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305678427168": {"type": "Function", "typeVars": [".-1.140305678427168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305678427168"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140305678427168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678427168", "variance": "INVARIANT"}, "140305678427616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678428064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765040": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556277280"}}], "typeVars": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}], "bases": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305627765040"}]}], "isAbstract": false}, "140305556277280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765040"}, {"nodeId": ".2.140305627765040"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765040": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765040", "variance": "COVARIANT"}, ".2.140305627765040": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765040", "variance": "COVARIANT"}, "140305678428512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765376": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556289376"}}], "typeVars": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}], "bases": [{"nodeId": "140305627762688", "args": [{"nodeId": ".2.140305627765376"}]}], "isAbstract": false}, "140305556289376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765376"}, {"nodeId": ".2.140305627765376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765376": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765376", "variance": "COVARIANT"}, ".2.140305627765376": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765376", "variance": "COVARIANT"}, "140305678428960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627765712": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556223392"}}], "typeVars": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}], "bases": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}], "isAbstract": false}, "140305556223392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": ".1.140305627765712"}, {"nodeId": ".2.140305627765712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627765712": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765712", "variance": "COVARIANT"}, ".2.140305627765712": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627765712", "variance": "COVARIANT"}, "140305602595072": {"type": "Overloaded", "items": [{"nodeId": "140305678429408"}, {"nodeId": "140305678429856"}]}, "140305678429408": {"type": "Function", "typeVars": [".-1.140305678429408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305678429408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305678429408"}, {"nodeId": "140305602596416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140305678429408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429408", "variance": "INVARIANT"}, "140305602596416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305678429856": {"type": "Function", "typeVars": [".-1.140305678429856", ".-2.140305678429856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305678429856"}]}, {"nodeId": ".-2.140305678429856"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305678429856"}, {"nodeId": ".-2.140305678429856"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140305678429856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429856", "variance": "INVARIANT"}, ".-2.140305678429856": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678429856", "variance": "INVARIANT"}, "140305602595408": {"type": "Overloaded", "items": [{"nodeId": "140305678430304"}, {"nodeId": "140305678430752"}]}, "140305678430304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": "140305602596640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602596640": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": "N"}]}, "140305678430752": {"type": "Function", "typeVars": [".-1.140305678430752"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": "140305602596752"}], "returnType": {"nodeId": "140305602596864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602596752": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678430752"}]}, ".-1.140305678430752": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678430752", "variance": "INVARIANT"}, "140305602596864": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678430752"}]}, "140305602596192": {"type": "Overloaded", "items": [{"nodeId": "140305678431200"}, {"nodeId": "140305678431648"}]}, "140305678431200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": ".2.140305627451392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305678431648": {"type": "Function", "typeVars": [".-1.140305678431648"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": "140305602597088"}], "returnType": {"nodeId": "140305602597200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602597088": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678431648"}]}, ".-1.140305678431648": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305678431648", "variance": "INVARIANT"}, "140305602597200": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-1.140305678431648"}]}, "140305678432096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305678432544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": ".2.140305627451392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678432992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305678433440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": ".1.140305627451392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305678433888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673322784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627451392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673323232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305673323680": {"type": "Function", "typeVars": [".-1.140305673323680", ".-2.140305673323680"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305673323680"}, {"nodeId": ".-2.140305673323680"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305602597424"}, {"nodeId": "140305602597536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673323680": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673323680", "variance": "INVARIANT"}, ".-2.140305673323680": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673323680", "variance": "INVARIANT"}, "140305602597424": {"type": "Union", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".-1.140305673323680"}]}, "140305602597536": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-2.140305673323680"}]}, "140305673324128": {"type": "Function", "typeVars": [".-1.140305673324128", ".-2.140305673324128"], "argTypes": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305673324128"}, {"nodeId": ".-2.140305673324128"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305602597648"}, {"nodeId": "140305602597760"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673324128": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324128", "variance": "INVARIANT"}, ".-2.140305673324128": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324128", "variance": "INVARIANT"}, "140305602597648": {"type": "Union", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".-1.140305673324128"}]}, "140305602597760": {"type": "Union", "items": [{"nodeId": ".2.140305627451392"}, {"nodeId": ".-2.140305673324128"}]}, "140305602596528": {"type": "Overloaded", "items": [{"nodeId": "140305673324576"}, {"nodeId": "140305673325024"}]}, "140305673324576": {"type": "Function", "typeVars": [".-1.140305673324576"], "argTypes": [{"nodeId": ".-1.140305673324576"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}], "returnType": {"nodeId": ".-1.140305673324576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673324576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673324576", "variance": "INVARIANT"}, "140305673325024": {"type": "Function", "typeVars": [".-1.140305673325024"], "argTypes": [{"nodeId": ".-1.140305673325024"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602598096"}]}], "returnType": {"nodeId": ".-1.140305673325024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673325024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673325024", "variance": "INVARIANT"}, "140305602598096": {"type": "Tuple", "items": [{"nodeId": ".1.140305627451392"}, {"nodeId": ".2.140305627451392"}]}, "140305719638528": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598594208"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598594656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703591872"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614949280"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703593216"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614954208"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614954656"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "isAbstract": true}, "140305598594208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305719638528": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638528", "variance": "INVARIANT"}, ".2.140305719638528": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719638528", "variance": "INVARIANT"}, "140305598594656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305703591872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614949280": {"type": "Overloaded", "items": [{"nodeId": "140305703592320"}, {"nodeId": "140305703592768"}]}, "140305703592320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": ".2.140305719638528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305703592768": {"type": "Function", "typeVars": [".-1.140305703592768"], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": "140305614954768"}], "returnType": {"nodeId": "140305614954880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140305614954768": {"type": "Union", "items": [{"nodeId": ".2.140305719638528"}, {"nodeId": ".-1.140305703592768"}]}, ".-1.140305703592768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703592768", "variance": "INVARIANT"}, "140305614954880": {"type": "Union", "items": [{"nodeId": ".2.140305719638528"}, {"nodeId": ".-1.140305703592768"}]}, "140305703593216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}], "returnType": {"nodeId": "140305614955104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614955104": {"type": "Tuple", "items": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, "140305614954208": {"type": "Overloaded", "items": [{"nodeId": "140305703593664"}, {"nodeId": "140305703594112"}]}, "140305703593664": {"type": "Function", "typeVars": [".-1.140305703593664"], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": "140305614955328"}]}, {"nodeId": ".1.140305719638528"}], "returnType": {"nodeId": "140305614955440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614955328": {"type": "Union", "items": [{"nodeId": ".-1.140305703593664"}, {"nodeId": "N"}]}, ".-1.140305703593664": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305703593664", "variance": "INVARIANT"}, "140305614955440": {"type": "Union", "items": [{"nodeId": ".-1.140305703593664"}, {"nodeId": "N"}]}, "140305703594112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": ".2.140305719638528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305614954656": {"type": "Overloaded", "items": [{"nodeId": "140305703594560"}, {"nodeId": "140305703595008"}, {"nodeId": "140305703595456"}]}, "140305703594560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305703595008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614955776"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305614955776": {"type": "Tuple", "items": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, "140305703595456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305719638528"}, {"nodeId": ".2.140305719638528"}]}, {"nodeId": ".2.140305719638528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305606901008": {"type": "Overloaded", "items": [{"nodeId": "140305694713312"}]}, "140305694713312": {"type": "Function", "typeVars": [".-1.140305694713312"], "argTypes": [{"nodeId": ".-1.140305694713312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305694713312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694713312", "variance": "INVARIANT"}, "140305547490272": {"type": "Function", "typeVars": [".-1.140305547490272"], "argTypes": [{"nodeId": ".-1.140305547490272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305547490272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305547490272", "variance": "INVARIANT"}, "140305694714208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694714656": {"type": "Function", "typeVars": [".-1.140305694714656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305694714656"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305694714656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694714656", "variance": "INVARIANT"}, "140305694715104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305694715552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694716896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694717344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694717792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694718240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694718688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694719136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694719584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305601968752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305601968752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305695113504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305601968976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305601968976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305695114400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695114848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305682445728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305682445728", "variance": "INVARIANT"}, "140305602007712": {"type": "Function", "typeVars": [".-1.140305602007712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305602175248"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305602007712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140305602175248": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, ".-1.140305602007712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602007712", "variance": "INVARIANT"}, "140305682446624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682447072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682447520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682447968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602175360"}, {"nodeId": "140305602175472"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140305602175360": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602175472": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682563360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305682563808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602175584"}, {"nodeId": "140305602175696"}, {"nodeId": "140305602175808"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602175584": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305602175696": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602175808": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682564256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140305682565152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602175920"}, {"nodeId": "140305602176032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602175920": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602176032": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682565600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305682566048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449040"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140305627449040": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682444832"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305682444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449040"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305682566496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602176144"}, {"nodeId": "140305602176480"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602176144": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602176480": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682566944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682567392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682567840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682568288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682568736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682569184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682569632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682570976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682571424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682571872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682572320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682572768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682573216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305682573664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602176592"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602176592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682574112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602176816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602176816": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305682574560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305682575008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682575456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305682575904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602177152"}, {"nodeId": "140305602177264"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602177152": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602177264": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682576352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602177376"}, {"nodeId": "140305602177488"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602177376": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602177488": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305682576800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305682577248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602177712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602177712": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305682577696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602177824"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602177824": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682578144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602177936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602177936": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682578592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178048"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305602178048": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305682579040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305677435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178160"}, {"nodeId": "140305602178272"}, {"nodeId": "140305602178384"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305602178160": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305602178272": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305602178384": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "N"}]}, "140305677435616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602178496"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305602178496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305677436064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677436512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677436960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449376"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627449376": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305682445280"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305682445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449376"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305602174800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602174800": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305677437408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305677437856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602174016": {"type": "Overloaded", "items": [{"nodeId": "140305677438304"}, {"nodeId": "140305677438752"}]}, "140305677438304": {"type": "Function", "typeVars": [".-1.140305677438304"], "argTypes": [{"nodeId": "140305602178832"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305677438304"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602178832": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305677438304"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305677438304"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305602178720"}, {"nodeId": ".-1.140305677438304"}]}]}, ".-1.140305677438304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305677438304", "variance": "INVARIANT"}, "140305602178720": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305677438752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305602178944"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305602179056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305602178944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305602179056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305677439200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677439648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677440992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305602179168"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602179168": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305677441440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677441888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677442336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677442784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305677443232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677443680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677444128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677444576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677445024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305677445472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305602179504"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602179504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614579280": {"type": "Concrete", "module": "annotation_tests", "simpleName": "A", "members": [{"kind": "Variable", "name": "self_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305614579280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711241856"}, "name": "f"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305724060480"}, "name": "g"}, {"kind": "Variable", "name": "y", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614579280", "args": [{"nodeId": "140305627448032"}]}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [{"nodeId": ".1.140305614579280"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, ".1.140305614579280": {"type": "TypeVar", "varName": "XXX", "values": [{"nodeId": "140305614579280", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627448032"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305614579280", "variance": "INVARIANT"}, "140305711241856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614579280", "args": [{"nodeId": ".1.140305614579280"}]}, {"nodeId": "A"}, {"nodeId": "140305614579280", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140305724060480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614579280"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543282272": {"type": "Function", "typeVars": [".-1.140305543282272"], "argTypes": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": ".-1.140305543282272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["collection", "x"]}, ".-1.140305543282272": {"type": "TypeVar", "varName": "XXX", "values": [{"nodeId": "140305614579280", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627448032"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305543282272", "variance": "INVARIANT"}, "140305724061024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305551846176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["x", "y", "a", "b", "c"]}, "140305543281152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547809552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547809552": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305548177952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547809328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547809328": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305614579616": {"type": "Concrete", "module": "annotation_tests", "simpleName": "Color", "members": [{"kind": "Variable", "name": "RED", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "GREEN", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "BLUE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305628017856"}], "isAbstract": false}, "140305628017856": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568413536"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568414208"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305665475744"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568414432"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568414656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707401952"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707402400"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707402848"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707403296"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305568413536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305568414208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665475744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305568414432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140305568414656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140305707401952": {"type": "Function", "typeVars": [".-1.140305707401952"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305707401952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707401952": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707401952", "variance": "INVARIANT"}, "140305707402400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707402848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140305707403296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017856"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "140305694467552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547808768"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547808768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305548169888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719637520", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305548175712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305711248352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305711247456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632480", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305719632480": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598233760"}}], "typeVars": [{"nodeId": ".1.140305719632480"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__abs__"]}, "140305598233760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632480", "args": [{"nodeId": ".1.140305719632480"}]}], "returnType": {"nodeId": ".1.140305719632480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305719632480": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719632480", "variance": "COVARIANT"}, "140305707090208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305547808320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305547808320": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305627773776": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850032"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850256"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690277728"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305597903616"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305597904736"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631850032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305631850256": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305690277728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614770960"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614770624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140305614770960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140305627449712"}]}, "140305614770624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305597903616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}], "returnType": {"nodeId": "140305719630800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719630800": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719631472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707097600"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305719631472": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054624"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707098496"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598223456"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598223904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707100736"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707101184"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632054624": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707098496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614772304"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140305614772304": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305598223456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}], "returnType": {"nodeId": "140305719630800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598223904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}], "returnType": {"nodeId": "140305719631136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719631136": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719631472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707098048"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707098048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631136"}, {"nodeId": "140305719631472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140305707100736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719630464": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707093568"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707094016"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707094464"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707093568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707094016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707094464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630464"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707101184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631472"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707097600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630800"}, {"nodeId": "140305719631472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140305597904736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773776"}], "returnType": {"nodeId": "140305719631136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719630128": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632052272"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707091776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707092224"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707092672"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305632052272": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707091776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}, {"nodeId": "140305614772416"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140305614772416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305707092224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707092672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719630128"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719631808": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707101632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102080"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102528"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707102976"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627447360"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707101632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140305707102080": {"type": "Function", "typeVars": [".-1.140305707102080"], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": ".-1.140305707102080"}], "returnType": {"nodeId": ".-1.140305707102080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140305707102080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707102080", "variance": "INVARIANT"}, "140305707102528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707102976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719631808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719630464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305719632144": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707104768"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707104768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632144"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627758656": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627657744"}], "isAbstract": false}, "140305627657744": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681918304"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681918752"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681919200"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681919648"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681920096"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140305627447360"}], "isAbstract": false}, "140305627767056": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602597872"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673472480"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673472928"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673473376"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673473824"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673474272"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673474720"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673475168"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673475616"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476064"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476512"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673476960"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673477408"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673477856"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673478304"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673478752"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673479200"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673479648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480096"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480544"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673480992"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627767056"}], "bases": [{"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "isAbstract": false}, "140305602597872": {"type": "Overloaded", "items": [{"nodeId": "140305673471584"}, {"nodeId": "140305673472032"}]}, "140305673471584": {"type": "Function", "typeVars": [".-1.140305673471584"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305673471584"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305673471584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673471584", "variance": "INVARIANT"}, "140305673472032": {"type": "Function", "typeVars": [".-1.140305673472032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": ".-1.140305673472032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140305627767056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767056", "variance": "COVARIANT"}, ".-1.140305673472032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673472032", "variance": "INVARIANT"}, "140305673472480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305673472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673473376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140305673473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673474272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673474720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673475168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673475616": {"type": "Function", "typeVars": [".-1.140305673475616"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673475616"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602599776"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140305673475616": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673475616", "variance": "INVARIANT"}, "140305602599776": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673475616"}]}, "140305673476064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673476512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673476960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673477408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673477856": {"type": "Function", "typeVars": [".-1.140305673477856"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673477856"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602599888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673477856": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673477856", "variance": "INVARIANT"}, "140305602599888": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673477856"}]}, "140305673478304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".1.140305627767056"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673478752": {"type": "Function", "typeVars": [".-1.140305673478752"], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": ".-1.140305673478752"}]}], "returnType": {"nodeId": "140305627767056", "args": [{"nodeId": "140305602600000"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305673478752": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673478752", "variance": "INVARIANT"}, "140305602600000": {"type": "Union", "items": [{"nodeId": ".1.140305627767056"}, {"nodeId": ".-1.140305673478752"}]}, "140305673479200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673479648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767056", "args": [{"nodeId": ".1.140305627767056"}]}, {"nodeId": "140305719637520", "args": [{"nodeId": "140305719629120"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673480992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305681918304": {"type": "Function", "typeVars": [".-1.140305681918304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305681918304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140305681918304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305681918304", "variance": "INVARIANT"}, "140305681918752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140305681919200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140305681919648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "140305606899328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140305606899328": {"type": "Union", "items": [{"nodeId": "140305619089248", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305681920096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627657744"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140305627760336": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598232640"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__index__"]}, "140305598232640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627760336"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719632816": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614671200"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305719632816"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305614671200": {"type": "Overloaded", "items": [{"nodeId": "140305703078144"}, {"nodeId": "140305703078592"}]}, "140305703078144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632816", "args": [{"nodeId": ".1.140305719632816"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719632816": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719632816", "variance": "COVARIANT"}, "140305703078592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719632816", "args": [{"nodeId": ".1.140305719632816"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305719632816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627761008": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598338368"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__hash__"]}, "140305598338368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627761008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719634160": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703081728"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598347776"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614781488"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703083520"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703083968"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598348000"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598348448"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598431296"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598431520"}}], "typeVars": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305719634160"}]}], "isAbstract": true}, "140305703081728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "COVARIANT"}, ".2.140305719634160": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "CONTRAVARIANT"}, ".3.140305719634160": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634160", "variance": "COVARIANT"}, "140305598347776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": ".2.140305719634160"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614781488": {"type": "Overloaded", "items": [{"nodeId": "140305703082624"}, {"nodeId": "140305703083072"}]}, "140305703082624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": "0"}, {"nodeId": "140305614946592"}, {"nodeId": "140305614946704"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614946592": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614946704": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703083072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614946816"}], "returnType": {"nodeId": ".1.140305719634160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614946816": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703083520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305703083968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305598348000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598348448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598431296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598431520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305719634160"}, {"nodeId": ".2.140305719634160"}, {"nodeId": ".3.140305719634160"}]}], "returnType": {"nodeId": "140305614947264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614947264": {"type": "Union", "items": [{"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305719634496": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598432192"}}], "typeVars": [{"nodeId": ".1.140305719634496"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__await__"]}, "140305598432192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719634496"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140305719634496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634496": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634496", "variance": "COVARIANT"}, "140305719634832": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598434656"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598434880"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598435104"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598435328"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598435552"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614946368"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598435776"}}], "typeVars": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}], "bases": [{"nodeId": "140305719634496", "args": [{"nodeId": ".3.140305719634832"}]}], "isAbstract": true}, "140305598434656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305614947600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719634832": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "COVARIANT"}, ".2.140305719634832": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "CONTRAVARIANT"}, ".3.140305719634832": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719634832", "variance": "COVARIANT"}, "140305614947600": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305598434880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598435552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": ".2.140305719634832"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614946368": {"type": "Overloaded", "items": [{"nodeId": "140305703088896"}, {"nodeId": "140305703089344"}]}, "140305703088896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": "0"}, {"nodeId": "140305614947824"}, {"nodeId": "140305614947936"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614947824": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614947936": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703089344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614948048"}], "returnType": {"nodeId": ".1.140305719634832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948048": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305598435776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305719634832"}, {"nodeId": ".2.140305719634832"}, {"nodeId": ".3.140305719634832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627761344": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140305627761344"}, {"nodeId": ".2.140305627761344"}, {"nodeId": ".3.140305627761344"}, {"nodeId": ".4.140305627761344"}], "bases": [{"nodeId": "140305719634496", "args": [{"nodeId": ".3.140305627761344"}]}, {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305627761344"}, {"nodeId": ".2.140305627761344"}, {"nodeId": ".3.140305627761344"}]}], "isAbstract": true}, ".1.140305627761344": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "COVARIANT"}, ".2.140305627761344": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "CONTRAVARIANT"}, ".3.140305627761344": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "COVARIANT"}, ".4.140305627761344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627761344", "variance": "INVARIANT"}, "140305719635168": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598436896"}}], "typeVars": [{"nodeId": ".1.140305719635168"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aiter__"]}, "140305598436896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635168", "args": [{"nodeId": ".1.140305719635168"}]}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635168"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635168": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635168", "variance": "COVARIANT"}, "140305719635504": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598440032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703091136"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140305719635504"}], "bases": [{"nodeId": "140305719635168", "args": [{"nodeId": ".1.140305719635504"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140305598440032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635504", "variance": "COVARIANT"}, "140305703091136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305719635840": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703091584"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598442272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614946480"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305703306624"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598441824"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443168"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443392"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598443616"}}], "typeVars": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}], "bases": [{"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305719635840"}]}], "isAbstract": true}, "140305703091584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719635840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635840", "variance": "COVARIANT"}, ".2.140305719635840": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719635840", "variance": "CONTRAVARIANT"}, "140305598442272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": ".2.140305719635840"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614946480": {"type": "Overloaded", "items": [{"nodeId": "140305703305728"}, {"nodeId": "140305703306176"}]}, "140305703305728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": "0"}, {"nodeId": "140305614948272"}, {"nodeId": "140305614948384"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948272": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305614948384": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305614948496"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305719635840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305614948496": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305703306624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598441824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305635972752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598443616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305719635840"}, {"nodeId": ".2.140305719635840"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627763024": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598743488"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598744608"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598745504"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598746176"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598746848"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598747520"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598748192"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598748864"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598749536"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598750208"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598750880"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598751552"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598752224"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598752896"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598753568"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598754240"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598754912"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598755584"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598756256"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598756928"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305598757824"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593647392"}}], "typeVars": [{"nodeId": ".1.140305627763024"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627763024"}]}], "isAbstract": true}, "140305598743488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627763024": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627763024", "variance": "INVARIANT"}, "140305598744608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598745504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598746176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598746848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598747520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598748192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598748864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598749536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598750208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598750880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305598751552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305598752224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598752896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598753568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305614955888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305614955888": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305598754240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598754912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": ".1.140305627763024"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305598755584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305598756256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": ".1.140305627763024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598756928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305598757824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305593647392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305627763024"}]}, {"nodeId": "140305614956000"}, {"nodeId": "140305614956112"}, {"nodeId": "140305614956224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305614956000": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305614956112": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305614956224": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627763360": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593648736"}}], "typeVars": [], "bases": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}], "isAbstract": true}, "140305593648736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763360"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627763696": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650304"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650752"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593650976"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593651200"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593651424"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593651648"}}], "typeVars": [], "bases": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": true}, "140305593650304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593650752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593650976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305614956336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614956336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305593651200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593651424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305593651648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627763696"}], "returnType": {"nodeId": "140305627763696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627764368": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614955552"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305593654336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698619456"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698620352"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140305614955552": {"type": "Overloaded", "items": [{"nodeId": "140305698454016"}, {"nodeId": "140305698454464"}]}, "140305698454016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614958800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140305614958800": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305698454464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140305593654336": {"type": "Function", "typeVars": [".-1.140305593654336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305593654336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140305593654336": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305593654336", "variance": "INVARIANT"}, "140305698619456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764368"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698620352": {"type": "Function", "typeVars": [".-1.140305698620352"], "argTypes": [{"nodeId": ".-1.140305698620352"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698620352"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140305698620352": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698620352", "variance": "INVARIANT"}, "140305627764704": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698620800"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698621248"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698621696"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698622144"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698622592"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623040"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623488"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698623936"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698624384"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698624832"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}], "isAbstract": true}, "140305698620800": {"type": "Function", "typeVars": [".-1.140305698620800"], "argTypes": [{"nodeId": ".-1.140305698620800"}], "returnType": {"nodeId": ".-1.140305698620800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698620800": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698620800", "variance": "INVARIANT"}, "140305698621248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140305698621696": {"type": "Function", "typeVars": [".-1.140305698621696"], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}, {"nodeId": ".-1.140305698621696"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140305698621696": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698621696", "variance": "INVARIANT"}, "140305698622144": {"type": "Function", "typeVars": [".-1.140305698622144"], "argTypes": [{"nodeId": ".-1.140305698622144"}, {"nodeId": ".-1.140305698622144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305698622144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698622144", "variance": "INVARIANT"}, "140305698622592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698623040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698623488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698623936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627764704"}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305698624384": {"type": "Function", "typeVars": [".-1.140305698624384"], "argTypes": [{"nodeId": ".-1.140305698624384"}, {"nodeId": ".-1.140305698624384"}], "returnType": {"nodeId": ".-1.140305698624384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698624384": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698624384", "variance": "INVARIANT"}, "140305698624832": {"type": "Function", "typeVars": [".-1.140305698624832"], "argTypes": [{"nodeId": ".-1.140305698624832"}, {"nodeId": ".-1.140305698624832"}], "returnType": {"nodeId": ".-1.140305698624832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698624832": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698624832", "variance": "INVARIANT"}, "140305719638864": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631848464"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632062464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698625280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698626176"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698627072"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631848464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305632062464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698625280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614959472"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140305614959472": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305614959696"}, {"nodeId": "140305614959920"}, {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305614960144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140305614959696": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305614959920": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305614960144": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698627072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719638864"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627769072": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606495808"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698633792"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698634240"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698634688"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698635136"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698750528"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698750976"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698633344"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698751424"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606495920"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698753216"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698753664"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606496592"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "isAbstract": false}, ".1.140305627769072": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769072", "variance": "INVARIANT"}, ".2.140305627769072": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769072", "variance": "INVARIANT"}, "140305606495808": {"type": "Overloaded", "items": [{"nodeId": "140305698630656"}, {"nodeId": "140305669705728"}, {"nodeId": "140305698631552"}, {"nodeId": "140305698631104"}, {"nodeId": "140305698632448"}, {"nodeId": "140305698632000"}, {"nodeId": "140305698632896"}]}, "140305698630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305669705728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "N"}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305698631552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305698631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305698632448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606496816"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606496816": {"type": "Tuple", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, "140305698632000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606497040"}]}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305606497040": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627769072"}]}, "140305698632896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305698633792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698634240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}], "returnType": {"nodeId": ".2.140305627769072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698634688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698635136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": ".1.140305627769072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698750528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627769072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698750976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698633344": {"type": "Function", "typeVars": [".-1.140305698633344"], "argTypes": [{"nodeId": ".-1.140305698633344"}], "returnType": {"nodeId": ".-1.140305698633344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698633344": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698633344", "variance": "INVARIANT"}, "140305698751424": {"type": "Function", "typeVars": [".-1.140305698751424"], "argTypes": [{"nodeId": ".-1.140305698751424"}], "returnType": {"nodeId": ".-1.140305698751424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698751424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698751424", "variance": "INVARIANT"}, "140305606495920": {"type": "Overloaded", "items": [{"nodeId": "140305698752320"}, {"nodeId": "140305698752768"}]}, "140305698752320": {"type": "Function", "typeVars": [".-1.140305698752320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305698752320"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698752320"}, {"nodeId": "140305606497376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305698752320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752320", "variance": "INVARIANT"}, "140305606497376": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305698752768": {"type": "Function", "typeVars": [".-1.140305698752768", ".-2.140305698752768"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305698752768"}]}, {"nodeId": ".-2.140305698752768"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698752768"}, {"nodeId": ".-2.140305698752768"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305698752768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752768", "variance": "INVARIANT"}, ".-2.140305698752768": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698752768", "variance": "INVARIANT"}, "140305698753216": {"type": "Function", "typeVars": [".-1.140305698753216", ".-2.140305698753216"], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305606497488"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": "140305606497600"}, {"nodeId": "140305606497712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606497488": {"type": "Union", "items": [{"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698753216"}, {"nodeId": ".-2.140305698753216"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305698753216"}, {"nodeId": ".-2.140305698753216"}]}]}, ".-1.140305698753216": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753216", "variance": "INVARIANT"}, ".-2.140305698753216": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753216", "variance": "INVARIANT"}, "140305606497600": {"type": "Union", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".-1.140305698753216"}]}, "140305606497712": {"type": "Union", "items": [{"nodeId": ".2.140305627769072"}, {"nodeId": ".-2.140305698753216"}]}, "140305698753664": {"type": "Function", "typeVars": [".-1.140305698753664", ".-2.140305698753664"], "argTypes": [{"nodeId": "140305627769072", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, {"nodeId": "140305606497824"}], "returnType": {"nodeId": "140305627769072", "args": [{"nodeId": "140305606497936"}, {"nodeId": "140305606498048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606497824": {"type": "Union", "items": [{"nodeId": "140305627769072", "args": [{"nodeId": ".-1.140305698753664"}, {"nodeId": ".-2.140305698753664"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": ".-1.140305698753664"}, {"nodeId": ".-2.140305698753664"}]}]}, ".-1.140305698753664": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753664", "variance": "INVARIANT"}, ".-2.140305698753664": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698753664", "variance": "INVARIANT"}, "140305606497936": {"type": "Union", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".-1.140305698753664"}]}, "140305606498048": {"type": "Union", "items": [{"nodeId": ".2.140305627769072"}, {"nodeId": ".-2.140305698753664"}]}, "140305606496592": {"type": "Overloaded", "items": [{"nodeId": "140305698751872"}, {"nodeId": "140305698754112"}]}, "140305698751872": {"type": "Function", "typeVars": [".-1.140305698751872"], "argTypes": [{"nodeId": ".-1.140305698751872"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}], "returnType": {"nodeId": ".-1.140305698751872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698751872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698751872", "variance": "INVARIANT"}, "140305698754112": {"type": "Function", "typeVars": [".-1.140305698754112"], "argTypes": [{"nodeId": ".-1.140305698754112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606498384"}]}], "returnType": {"nodeId": ".-1.140305698754112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698754112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698754112", "variance": "INVARIANT"}, "140305606498384": {"type": "Tuple", "items": [{"nodeId": ".1.140305627769072"}, {"nodeId": ".2.140305627769072"}]}, "140305627769408": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606497152"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698755904"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698756352"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698756800"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698757248"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698757696"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698758144"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698758592"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606498160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606498496"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698760832"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698759488"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698761280"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698761728"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698762176"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698762624"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763072"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763968"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698764416"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698764864"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698765312"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698763520"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698765760"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698897984"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698898432"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499056"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698899776"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140305627769408"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627769408"}]}], "isAbstract": false}, ".1.140305627769408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627769408", "variance": "INVARIANT"}, "140305606497152": {"type": "Overloaded", "items": [{"nodeId": "140305698755008"}, {"nodeId": "140305698755456"}]}, "140305698755008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140305698755456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140305698755904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498608": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698756352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498720"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498720": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698756800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498832"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498832": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698757248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606498944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606498944": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}]}, "140305698757696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698758144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698758592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606498160": {"type": "Overloaded", "items": [{"nodeId": "140305698759040"}, {"nodeId": "140305698754560"}]}, "140305698759040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627769408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698754560": {"type": "Function", "typeVars": [".-1.140305698754560"], "argTypes": [{"nodeId": ".-1.140305698754560"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": ".-1.140305698754560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698754560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698754560", "variance": "INVARIANT"}, "140305606498496": {"type": "Overloaded", "items": [{"nodeId": "140305698759936"}, {"nodeId": "140305698760384"}]}, "140305698759936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698760384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305698760832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606499280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606499280": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305698759488": {"type": "Function", "typeVars": [".-1.140305698759488"], "argTypes": [{"nodeId": ".-1.140305698759488"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698759488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698759488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698759488", "variance": "INVARIANT"}, "140305698761280": {"type": "Function", "typeVars": [".-1.140305698761280"], "argTypes": [{"nodeId": ".-1.140305698761280"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698761280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698761280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698761280", "variance": "INVARIANT"}, "140305698761728": {"type": "Function", "typeVars": [".-1.140305698761728"], "argTypes": [{"nodeId": ".-1.140305698761728"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": ".-1.140305698761728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698761728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698761728", "variance": "INVARIANT"}, "140305698762176": {"type": "Function", "typeVars": [".-1.140305698762176"], "argTypes": [{"nodeId": ".-1.140305698762176"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698762176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698762176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698762176", "variance": "INVARIANT"}, "140305698762624": {"type": "Function", "typeVars": [".-1.140305698762624"], "argTypes": [{"nodeId": ".-1.140305698762624"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698762624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698762624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698762624", "variance": "INVARIANT"}, "140305698763072": {"type": "Function", "typeVars": [".-1.140305698763072"], "argTypes": [{"nodeId": ".-1.140305698763072"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698763072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698763072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698763072", "variance": "INVARIANT"}, "140305698763968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698764416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140305698764864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627769408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140305698765312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698763520": {"type": "Function", "typeVars": [".-1.140305698763520"], "argTypes": [{"nodeId": ".-1.140305698763520"}], "returnType": {"nodeId": ".-1.140305698763520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698763520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698763520", "variance": "INVARIANT"}, "140305698765760": {"type": "Function", "typeVars": [".-1.140305698765760"], "argTypes": [{"nodeId": ".-1.140305698765760"}], "returnType": {"nodeId": ".-1.140305698765760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698765760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698765760", "variance": "INVARIANT"}, "140305698897984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140305698898432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": ".1.140305627769408"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140305606499056": {"type": "Overloaded", "items": [{"nodeId": "140305698766208"}, {"nodeId": "140305698899328"}]}, "140305698766208": {"type": "Function", "typeVars": [".-1.140305698766208"], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".-1.140305698766208"}]}, {"nodeId": "N"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140305698766208": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140305619697360"}, "def": "140305698766208", "variance": "INVARIANT"}, "140305698899328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305606270688"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140305606270688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627769408"}], "returnType": {"nodeId": "140305606499728"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305606499728": {"type": "TypeAlias", "target": {"nodeId": "140305619112384"}}, "140305698899776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769408", "args": [{"nodeId": ".1.140305627769408"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627769408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140305627769744": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698900224"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698900672"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698901120"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698901568"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902016"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902464"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698902912"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698903360"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698903808"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698904256"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698904704"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698905152"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698905600"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906048"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906496"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698906944"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698907392"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698907840"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698908288"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698908736"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698909184"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910080"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910528"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698910976"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698911424"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698911872"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698912768"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698913216"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305698913664"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029056"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029504"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699029952"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699030400"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699030848"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699031296"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699031744"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699032192"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699032640"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033088"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033536"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699033984"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699034432"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699034880"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699035328"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699035776"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699036224"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699036672"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699037120"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499168"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699038464"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699038912"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699039360"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699039808"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699040256"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699040704"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699041152"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699041600"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042048"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042496"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699042944"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699043392"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699043840"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699044288"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699044736"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699127360"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699127808"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699128256"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699128704"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627769744"}]}], "isAbstract": false}, "140305698900224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140305698900672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698901120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698901568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698902016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305606499840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606499840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305698902464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606499952"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606499952": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698902912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500064"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698903360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500176"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500176": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698903808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500288"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606500288": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698904256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698904704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305698905152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305698905600": {"type": "Function", "typeVars": [".-1.140305698905600"], "argTypes": [{"nodeId": ".-1.140305698905600"}, {"nodeId": "140305606500400"}], "returnType": {"nodeId": ".-1.140305698905600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698905600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698905600", "variance": "INVARIANT"}, "140305606500400": {"type": "Union", "items": [{"nodeId": "140305627772768"}, {"nodeId": "140305627450384"}]}, "140305698906048": {"type": "Function", "typeVars": [".-1.140305698906048"], "argTypes": [{"nodeId": ".-1.140305698906048"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305698906048"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305698906048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906048", "variance": "INVARIANT"}, "140305698906496": {"type": "Function", "typeVars": [".-1.140305698906496"], "argTypes": [{"nodeId": ".-1.140305698906496"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305698906496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305698906496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906496", "variance": "INVARIANT"}, "140305698906944": {"type": "Function", "typeVars": [".-1.140305698906944"], "argTypes": [{"nodeId": ".-1.140305698906944"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698906944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698906944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698906944", "variance": "INVARIANT"}, "140305698907392": {"type": "Function", "typeVars": [".-1.140305698907392"], "argTypes": [{"nodeId": ".-1.140305698907392"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698907392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698907392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698907392", "variance": "INVARIANT"}, "140305698907840": {"type": "Function", "typeVars": [".-1.140305698907840"], "argTypes": [{"nodeId": ".-1.140305698907840"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698907840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698907840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698907840", "variance": "INVARIANT"}, "140305698908288": {"type": "Function", "typeVars": [".-1.140305698908288"], "argTypes": [{"nodeId": ".-1.140305698908288"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698908288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698908288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698908288", "variance": "INVARIANT"}, "140305698908736": {"type": "Function", "typeVars": [".-1.140305698908736"], "argTypes": [{"nodeId": ".-1.140305698908736"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698908736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698908736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698908736", "variance": "INVARIANT"}, "140305698909184": {"type": "Function", "typeVars": [".-1.140305698909184"], "argTypes": [{"nodeId": ".-1.140305698909184"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": ".-1.140305698909184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305698909184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698909184", "variance": "INVARIANT"}, "140305698910080": {"type": "Function", "typeVars": [".-1.140305698910080"], "argTypes": [{"nodeId": ".-1.140305698910080"}], "returnType": {"nodeId": ".-1.140305698910080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698910080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910080", "variance": "INVARIANT"}, "140305698910528": {"type": "Function", "typeVars": [".-1.140305698910528"], "argTypes": [{"nodeId": ".-1.140305698910528"}], "returnType": {"nodeId": ".-1.140305698910528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305698910528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910528", "variance": "INVARIANT"}, "140305698910976": {"type": "Function", "typeVars": [".-1.140305698910976"], "argTypes": [{"nodeId": ".-1.140305698910976"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305698910976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305698910976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698910976", "variance": "INVARIANT"}, "140305698911424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500736"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606500736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305698911872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606500848"}, {"nodeId": "140305606500960"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305606500848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606500960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305698912768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606501072"}, {"nodeId": "140305606501184"}, {"nodeId": "140305606501296"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140305606501072": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305606501184": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606501296": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305698913216": {"type": "Function", "typeVars": [".-1.140305698913216"], "argTypes": [{"nodeId": ".-1.140305698913216"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305698913216"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140305698913216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305698913216", "variance": "INVARIANT"}, "140305698913664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606501408"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606501408": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699029056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140305699029504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140305699029952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305699030400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699030848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699031296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699031744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699032192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699032640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699033984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699034432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699034880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699035328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699035776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140305699036224": {"type": "Function", "typeVars": [".-1.140305699036224"], "argTypes": [{"nodeId": ".-1.140305699036224"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699036224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305699036224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699036224", "variance": "INVARIANT"}, "140305699036672": {"type": "Function", "typeVars": [".-1.140305699036672"], "argTypes": [{"nodeId": ".-1.140305699036672"}], "returnType": {"nodeId": ".-1.140305699036672"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699036672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699036672", "variance": "INVARIANT"}, "140305699037120": {"type": "Function", "typeVars": [".-1.140305699037120"], "argTypes": [{"nodeId": ".-1.140305699037120"}, {"nodeId": "140305606501968"}], "returnType": {"nodeId": ".-1.140305699037120"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699037120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699037120", "variance": "INVARIANT"}, "140305606501968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606499168": {"type": "Overloaded", "items": [{"nodeId": "140305699037568"}, {"nodeId": "140305699038016"}]}, "140305699037568": {"type": "Function", "typeVars": [".-1.140305699037568"], "argTypes": [{"nodeId": "140305606502304"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305699037568"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140305606502304": {"type": "Union", "items": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": ".-1.140305699037568"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305699037568"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305606502192"}, {"nodeId": ".-1.140305699037568"}]}]}, ".-1.140305699037568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699037568", "variance": "INVARIANT"}, "140305606502192": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305699038016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305606502416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140305606502416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699038464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606502640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140305606502640": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305699038912": {"type": "Function", "typeVars": [".-1.140305699038912"], "argTypes": [{"nodeId": ".-1.140305699038912"}, {"nodeId": "140305606502752"}], "returnType": {"nodeId": ".-1.140305699038912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305699038912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699038912", "variance": "INVARIANT"}, "140305606502752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699039360": {"type": "Function", "typeVars": [".-1.140305699039360"], "argTypes": [{"nodeId": ".-1.140305699039360"}, {"nodeId": "140305606502864"}], "returnType": {"nodeId": ".-1.140305699039360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305699039360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699039360", "variance": "INVARIANT"}, "140305606502864": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699039808": {"type": "Function", "typeVars": [".-1.140305699039808"], "argTypes": [{"nodeId": ".-1.140305699039808"}, {"nodeId": "140305606502976"}, {"nodeId": "140305606503088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699039808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140305699039808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699039808", "variance": "INVARIANT"}, "140305606502976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305606503088": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699040256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503200"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606503200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699040704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503312"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140305606503312": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627769744"}]}, "140305699041152": {"type": "Function", "typeVars": [".-1.140305699041152"], "argTypes": [{"nodeId": ".-1.140305699041152"}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699041152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140305699041152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699041152", "variance": "INVARIANT"}, "140305699041600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606503648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140305606503648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305699042048": {"type": "Function", "typeVars": [".-1.140305699042048"], "argTypes": [{"nodeId": ".-1.140305699042048"}, {"nodeId": "140305606503760"}], "returnType": {"nodeId": ".-1.140305699042048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699042048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699042048", "variance": "INVARIANT"}, "140305606503760": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699042496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503872"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305606503872": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699042944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606503984"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140305606503984": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699043392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140305699043840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627769744"}, {"nodeId": "140305606504096"}, {"nodeId": "140305606504208"}, {"nodeId": "140305606504320"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140305606504096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}]}, "140305606504208": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606504320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699044288": {"type": "Function", "typeVars": [".-1.140305699044288"], "argTypes": [{"nodeId": ".-1.140305699044288"}, {"nodeId": "140305606504432"}], "returnType": {"nodeId": ".-1.140305699044288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140305699044288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699044288", "variance": "INVARIANT"}, "140305606504432": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305699044736": {"type": "Function", "typeVars": [".-1.140305699044736"], "argTypes": [{"nodeId": ".-1.140305699044736"}], "returnType": {"nodeId": ".-1.140305699044736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699044736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699044736", "variance": "INVARIANT"}, "140305699127360": {"type": "Function", "typeVars": [".-1.140305699127360"], "argTypes": [{"nodeId": ".-1.140305699127360"}], "returnType": {"nodeId": ".-1.140305699127360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699127360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699127360", "variance": "INVARIANT"}, "140305699127808": {"type": "Function", "typeVars": [".-1.140305699127808"], "argTypes": [{"nodeId": ".-1.140305699127808"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305699127808"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140305699127808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699127808", "variance": "INVARIANT"}, "140305699128256": {"type": "Function", "typeVars": [".-1.140305699128256"], "argTypes": [{"nodeId": ".-1.140305699128256"}], "returnType": {"nodeId": ".-1.140305699128256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699128256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699128256", "variance": "INVARIANT"}, "140305699128704": {"type": "Function", "typeVars": [".-1.140305699128704"], "argTypes": [{"nodeId": ".-1.140305699128704"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699128704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140305699128704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699128704", "variance": "INVARIANT"}, "140305627770080": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305564711200"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606499392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699130496"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699130944"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699131392"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699131840"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699132288"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699132736"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699133184"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699133632"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134080"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134528"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699134976"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699135424"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699135872"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699136320"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699136768"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699137216"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699137664"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699138112"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699138560"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139008"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139456"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699139904"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699140352"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699140800"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699141248"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699141696"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699142144"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699142592"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627770080"}], "bases": [{"nodeId": "140305719637184", "args": [{"nodeId": ".1.140305627770080"}]}], "isAbstract": false}, "140305564711200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305606504656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627770080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770080", "variance": "INVARIANT"}, "140305606504656": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606499392": {"type": "Overloaded", "items": [{"nodeId": "140305699129600"}, {"nodeId": "140305699130048"}]}, "140305699129600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305606504880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140305606504880": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699130048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305606504992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140305606504992": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305699130496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699130944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699131392": {"type": "Function", "typeVars": [".-1.140305699131392"], "argTypes": [{"nodeId": ".-1.140305699131392"}], "returnType": {"nodeId": ".-1.140305699131392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699131392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699131392", "variance": "INVARIANT"}, "140305699131840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699132288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699132736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699133184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627448032"}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305699133632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305699134080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699134528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699134976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699135424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305699135872": {"type": "Function", "typeVars": [".-1.140305699135872"], "argTypes": [{"nodeId": ".-1.140305699135872"}], "returnType": {"nodeId": ".-1.140305699135872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699135872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699135872", "variance": "INVARIANT"}, "140305699136320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699136768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": ".1.140305627770080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699137216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}, {"nodeId": ".1.140305627770080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305699137664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699138112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699138560": {"type": "Function", "typeVars": [".-1.140305699138560"], "argTypes": [{"nodeId": ".-1.140305699138560"}], "returnType": {"nodeId": "140305606505440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699138560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699138560", "variance": "INVARIANT"}, "140305606505440": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305606505216"}, {"nodeId": "N"}, {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627770080"}]}]}, "140305606505216": {"type": "Tuple", "items": []}, "140305699139008": {"type": "Function", "typeVars": [".-1.140305699139008"], "argTypes": [{"nodeId": ".-1.140305699139008"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": ".-1.140305699139008"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139008", "variance": "INVARIANT"}, "140305699139456": {"type": "Function", "typeVars": [".-1.140305699139456"], "argTypes": [{"nodeId": ".-1.140305699139456"}, {"nodeId": ".-1.140305699139456"}], "returnType": {"nodeId": ".-1.140305699139456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139456", "variance": "INVARIANT"}, "140305699139904": {"type": "Function", "typeVars": [".-1.140305699139904"], "argTypes": [{"nodeId": ".-1.140305699139904"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699139904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699139904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699139904", "variance": "INVARIANT"}, "140305699140352": {"type": "Function", "typeVars": [".-1.140305699140352"], "argTypes": [{"nodeId": ".-1.140305699140352"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305699140352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699140352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699140352", "variance": "INVARIANT"}, "140305699140800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699141248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699141696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699142144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}, {"nodeId": "140305627770080", "args": [{"nodeId": ".1.140305627770080"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699142592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305627659424": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606502080"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699259776"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699260224"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699260672"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305564825664"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606504768"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606505664"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699264256"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699264704"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699265152"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699265600"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266048"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266496"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699266944"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699267392"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699267840"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699268288"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699268736"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699269184"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699269632"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270080"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270528"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699270976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699271424"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699271872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699272320"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140305627659424"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305606502080": {"type": "Overloaded", "items": [{"nodeId": "140305699143040"}, {"nodeId": "140305699258432"}, {"nodeId": "140305699258880"}, {"nodeId": "140305699259328"}]}, "140305699143040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305627659424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659424", "variance": "INVARIANT"}, "140305699258432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699258880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699259328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699259776": {"type": "Function", "typeVars": [".-1.140305699259776"], "argTypes": [{"nodeId": ".-1.140305699259776"}], "returnType": {"nodeId": ".-1.140305699259776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699259776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699259776", "variance": "INVARIANT"}, "140305699260224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699260672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305606505776"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305606506000"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140305606505776": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606506000": {"type": "Tuple", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}, "140305564825664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140305606506224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140305606506224": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606504768": {"type": "Overloaded", "items": [{"nodeId": "140305699261568"}, {"nodeId": "140305699262016"}, {"nodeId": "140305699262464"}]}, "140305699261568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305699262016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699262464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606505664": {"type": "Overloaded", "items": [{"nodeId": "140305699262912"}, {"nodeId": "140305699263360"}, {"nodeId": "140305699263808"}]}, "140305699262912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305627659424"}, {"nodeId": "140305627448032"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699263360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699263808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "N"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305699264256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": ".1.140305627659424"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305699264704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699265152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699265600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699266048": {"type": "Function", "typeVars": [".-1.140305699266048"], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".-1.140305699266048"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": "140305606506560"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699266048": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699266048", "variance": "INVARIANT"}, "140305606506560": {"type": "Union", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": ".-1.140305699266048"}]}, "140305699266496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699266944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699267392": {"type": "Function", "typeVars": [".-1.140305699267392"], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": ".-1.140305699267392"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": "140305606506672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699267392": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699267392", "variance": "INVARIANT"}, "140305606506672": {"type": "Union", "items": [{"nodeId": ".1.140305627659424"}, {"nodeId": ".-1.140305699267392"}]}, "140305699267840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699268288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699268736": {"type": "Function", "typeVars": [".-1.140305699268736"], "argTypes": [{"nodeId": ".-1.140305699268736"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699268736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699268736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699268736", "variance": "INVARIANT"}, "140305699269184": {"type": "Function", "typeVars": [".-1.140305699269184"], "argTypes": [{"nodeId": ".-1.140305699269184"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699269184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699269184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699269184", "variance": "INVARIANT"}, "140305699269632": {"type": "Function", "typeVars": [".-1.140305699269632"], "argTypes": [{"nodeId": ".-1.140305699269632"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699269632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699269632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699269632", "variance": "INVARIANT"}, "140305699270080": {"type": "Function", "typeVars": [".-1.140305699270080"], "argTypes": [{"nodeId": ".-1.140305699270080"}, {"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": ".-1.140305699270080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305699270080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699270080", "variance": "INVARIANT"}, "140305699270528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699270976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699271424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699271872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699272320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659424", "args": [{"nodeId": ".1.140305627659424"}]}, {"nodeId": "140305627659424", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619075136": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699272768"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075136"}], "bases": [{"nodeId": "140305627762352", "args": [{"nodeId": ".1.140305619075136"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305619075136"}]}], "isAbstract": false}, "140305699272768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075136", "args": [{"nodeId": ".1.140305619075136"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305619075136"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075136": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075136", "variance": "COVARIANT"}, "140305619075472": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699273216"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}], "bases": [{"nodeId": "140305627762016", "args": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": "140305627330736"}]}], "isAbstract": false}, "140305699273216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075472", "args": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606507344"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075472": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075472", "variance": "COVARIANT"}, ".2.140305619075472": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075472", "variance": "COVARIANT"}, "140305606507344": {"type": "Tuple", "items": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, "140305627330736": {"type": "Tuple", "items": [{"nodeId": ".1.140305619075472"}, {"nodeId": ".2.140305619075472"}]}, "140305619075808": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699273664"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305619075808"}], "bases": [{"nodeId": "140305627762688", "args": [{"nodeId": ".1.140305619075808"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305619075808"}]}], "isAbstract": false}, "140305699273664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619075808", "args": [{"nodeId": ".1.140305619075808"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305619075808"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619075808": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619075808", "variance": "COVARIANT"}, "140305627770416": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699274112"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}], "bases": [{"nodeId": "140305627765040", "args": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627770416"}]}], "isAbstract": false}, "140305699274112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770416", "args": [{"nodeId": ".1.140305627770416"}, {"nodeId": ".2.140305627770416"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627770416"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627770416": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770416", "variance": "COVARIANT"}, ".2.140305627770416": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770416", "variance": "COVARIANT"}, "140305627770752": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699405888"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}], "bases": [{"nodeId": "140305627765712", "args": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": "140305627331744"}]}], "isAbstract": false}, "140305699405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627770752", "args": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606507568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627770752": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770752", "variance": "COVARIANT"}, ".2.140305627770752": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627770752", "variance": "COVARIANT"}, "140305606507568": {"type": "Tuple", "items": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, "140305627331744": {"type": "Tuple", "items": [{"nodeId": ".1.140305627770752"}, {"nodeId": ".2.140305627770752"}]}, "140305627771088": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699406336"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}], "bases": [{"nodeId": "140305627765376", "args": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".2.140305627771088"}]}], "isAbstract": false}, "140305699406336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771088", "args": [{"nodeId": ".1.140305627771088"}, {"nodeId": ".2.140305627771088"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".2.140305627771088"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305627771088": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771088", "variance": "COVARIANT"}, ".2.140305627771088": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771088", "variance": "COVARIANT"}, "140305627771424": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699406784"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699407232"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699407680"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699408128"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699408576"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699409024"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699409472"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606506336"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606506448"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627771424"}]}], "isAbstract": false}, "140305699406784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305606507792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140305627771424": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771424", "variance": "INVARIANT"}, ".2.140305627771424": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771424", "variance": "INVARIANT"}, "140305606507792": {"type": "Tuple", "items": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "140305699407232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": ".1.140305627771424"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140305699407680": {"type": "Function", "typeVars": [".-1.140305699407680"], "argTypes": [{"nodeId": ".-1.140305699407680"}], "returnType": {"nodeId": ".-1.140305699407680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699407680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699407680", "variance": "INVARIANT"}, "140305699408128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699408576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627770416", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699409024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627770752", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699409472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}], "returnType": {"nodeId": "140305627771088", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606506336": {"type": "Overloaded", "items": [{"nodeId": "140305699409920"}, {"nodeId": "140305699410368"}]}, "140305699409920": {"type": "Function", "typeVars": [".-1.140305699409920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305699409920"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627771424", "args": [{"nodeId": ".-1.140305699409920"}, {"nodeId": "140305606508128"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305699409920": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699409920", "variance": "INVARIANT"}, "140305606508128": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305699410368": {"type": "Function", "typeVars": [".-1.140305699410368", ".-2.140305699410368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305699410368"}]}, {"nodeId": ".-2.140305699410368"}], "returnType": {"nodeId": "140305627771424", "args": [{"nodeId": ".-1.140305699410368"}, {"nodeId": ".-2.140305699410368"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140305699410368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410368", "variance": "INVARIANT"}, ".-2.140305699410368": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410368", "variance": "INVARIANT"}, "140305606506448": {"type": "Overloaded", "items": [{"nodeId": "140305699410816"}, {"nodeId": "140305699411264"}]}, "140305699410816": {"type": "Function", "typeVars": [".-1.140305699410816"], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": "140305606508352"}]}, {"nodeId": ".1.140305627771424"}], "returnType": {"nodeId": "140305606885440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305606508352": {"type": "Union", "items": [{"nodeId": ".-1.140305699410816"}, {"nodeId": "N"}]}, ".-1.140305699410816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699410816", "variance": "INVARIANT"}, "140305606885440": {"type": "Union", "items": [{"nodeId": ".-1.140305699410816"}, {"nodeId": "N"}]}, "140305699411264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771424", "args": [{"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}]}, {"nodeId": ".1.140305627771424"}, {"nodeId": ".2.140305627771424"}], "returnType": {"nodeId": ".2.140305627771424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140305627659760": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627331632"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606507904"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699415296"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699415744"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699416192"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "isAbstract": false}, "140305627331632": {"type": "Union", "items": [{"nodeId": "140305640404608"}, {"nodeId": "N"}]}, "140305640404608": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, ".2.140305627659760": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659760", "variance": "INVARIANT"}, "140305606507904": {"type": "Overloaded", "items": [{"nodeId": "140305699411712"}, {"nodeId": "140305699412160"}, {"nodeId": "140305699412608"}, {"nodeId": "140305699413056"}, {"nodeId": "140305699413504"}, {"nodeId": "140305699413952"}, {"nodeId": "140305699414400"}, {"nodeId": "140305699414848"}]}, "140305699411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627659760": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627659760", "variance": "INVARIANT"}, "140305699412160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305699412608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305606885664": {"type": "Union", "items": [{"nodeId": "140305606271136"}, {"nodeId": "N"}]}, "140305606271136": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885776"}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140305606885776": {"type": "Union", "items": [{"nodeId": "140305606271360"}, {"nodeId": "N"}]}, "140305606271360": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606885888"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305606885888": {"type": "Union", "items": [{"nodeId": "140305606271584"}, {"nodeId": "N"}]}, "140305606271584": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699413952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886000"}, {"nodeId": "140305619086896", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140305606886000": {"type": "Union", "items": [{"nodeId": "140305606271808"}, {"nodeId": "N"}]}, "140305606271808": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305699414400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606886336"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305606886112": {"type": "Union", "items": [{"nodeId": "140305606272032"}, {"nodeId": "N"}]}, "140305606272032": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305606886336": {"type": "Tuple", "items": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, "140305699414848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": "140305606886448"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606886672"}]}, {"nodeId": ".2.140305627659760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140305606886448": {"type": "Union", "items": [{"nodeId": "140305606272256"}, {"nodeId": "N"}]}, "140305606272256": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": [], "argNames": []}, "140305606886672": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".2.140305627659760"}]}, "140305699415296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627659760", "args": [{"nodeId": ".1.140305627659760"}, {"nodeId": ".2.140305627659760"}]}, {"nodeId": ".1.140305627659760"}], "returnType": {"nodeId": ".2.140305627659760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305699415744": {"type": "Function", "typeVars": [".-1.140305699415744"], "argTypes": [{"nodeId": ".-1.140305699415744"}], "returnType": {"nodeId": ".-1.140305699415744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699415744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699415744", "variance": "INVARIANT"}, "140305699416192": {"type": "Function", "typeVars": [".-1.140305699416192"], "argTypes": [{"nodeId": ".-1.140305699416192"}], "returnType": {"nodeId": ".-1.140305699416192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305699416192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699416192", "variance": "INVARIANT"}, "140305627771760": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699416640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699417088"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305565130240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699417984"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699418432"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699418880"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699419328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699419776"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699420224"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699420672"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699421120"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305699421568"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606508240"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694294976"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305565132704"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606885552"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694296320"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694296768"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606886896"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "isAbstract": false}, ".1.140305627771760": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771760", "variance": "INVARIANT"}, ".2.140305627771760": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627771760", "variance": "INVARIANT"}, "140305699416640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140305699417088": {"type": "Function", "typeVars": [".-1.140305699417088"], "argTypes": [{"nodeId": ".-1.140305699417088"}, {"nodeId": "140305606886784"}], "returnType": {"nodeId": ".-1.140305699417088"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140305699417088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305699417088", "variance": "INVARIANT"}, "140305606886784": {"type": "Union", "items": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "N"}]}, "140305565130240": {"type": "Function", "typeVars": [".-1.140305565130240"], "argTypes": [{"nodeId": ".-1.140305565130240"}], "returnType": {"nodeId": ".-1.140305565130240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305565130240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305565130240", "variance": "INVARIANT"}, "140305699417984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305699418432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699418880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699419328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627771760"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699419776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305699420224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305699420672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305699421120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305699421568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140305606508240": {"type": "Overloaded", "items": [{"nodeId": "140305694294080"}, {"nodeId": "140305694294528"}]}, "140305694294080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}], "returnType": {"nodeId": ".2.140305627771760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140305694294528": {"type": "Function", "typeVars": [".-1.140305694294528"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": ".1.140305627771760"}, {"nodeId": "140305606887008"}], "returnType": {"nodeId": "140305606887120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140305606887008": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-1.140305694294528"}]}, ".-1.140305694294528": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694294528", "variance": "INVARIANT"}, "140305606887120": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-1.140305694294528"}]}, "140305694294976": {"type": "Function", "typeVars": [".-1.140305694294976"], "argTypes": [{"nodeId": ".-1.140305694294976"}], "returnType": {"nodeId": ".-1.140305694294976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305694294976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694294976", "variance": "INVARIANT"}, "140305565132704": {"type": "Function", "typeVars": [".-1.140305565132704"], "argTypes": [{"nodeId": ".-1.140305565132704"}], "returnType": {"nodeId": ".-1.140305565132704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305565132704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305565132704", "variance": "INVARIANT"}, "140305606885552": {"type": "Overloaded", "items": [{"nodeId": "140305694295424"}, {"nodeId": "140305694295872"}]}, "140305694295424": {"type": "Function", "typeVars": [".-1.140305694295424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305694295424"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": ".-1.140305694295424"}, {"nodeId": "140305606887456"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140305694295424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295424", "variance": "INVARIANT"}, "140305606887456": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305694295872": {"type": "Function", "typeVars": [".-1.140305694295872", ".-2.140305694295872"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305694295872"}]}, {"nodeId": ".-2.140305694295872"}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": ".-1.140305694295872"}, {"nodeId": ".-2.140305694295872"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140305694295872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295872", "variance": "INVARIANT"}, ".-2.140305694295872": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694295872", "variance": "INVARIANT"}, "140305694296320": {"type": "Function", "typeVars": [".-1.140305694296320", ".-2.140305694296320"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305694296320"}, {"nodeId": ".-2.140305694296320"}]}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": "140305606887568"}, {"nodeId": "140305606887680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694296320": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296320", "variance": "INVARIANT"}, ".-2.140305694296320": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296320", "variance": "INVARIANT"}, "140305606887568": {"type": "Union", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".-1.140305694296320"}]}, "140305606887680": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-2.140305694296320"}]}, "140305694296768": {"type": "Function", "typeVars": [".-1.140305694296768", ".-2.140305694296768"], "argTypes": [{"nodeId": "140305627771760", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305694296768"}, {"nodeId": ".-2.140305694296768"}]}], "returnType": {"nodeId": "140305627771760", "args": [{"nodeId": "140305606887792"}, {"nodeId": "140305606887904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694296768": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296768", "variance": "INVARIANT"}, ".-2.140305694296768": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694296768", "variance": "INVARIANT"}, "140305606887792": {"type": "Union", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".-1.140305694296768"}]}, "140305606887904": {"type": "Union", "items": [{"nodeId": ".2.140305627771760"}, {"nodeId": ".-2.140305694296768"}]}, "140305606886896": {"type": "Overloaded", "items": [{"nodeId": "140305694297216"}, {"nodeId": "140305694297664"}]}, "140305694297216": {"type": "Function", "typeVars": [".-1.140305694297216"], "argTypes": [{"nodeId": ".-1.140305694297216"}, {"nodeId": "140305619086896", "args": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}], "returnType": {"nodeId": ".-1.140305694297216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694297216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694297216", "variance": "INVARIANT"}, "140305694297664": {"type": "Function", "typeVars": [".-1.140305694297664"], "argTypes": [{"nodeId": ".-1.140305694297664"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305606888240"}]}], "returnType": {"nodeId": ".-1.140305694297664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694297664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694297664", "variance": "INVARIANT"}, "140305606888240": {"type": "Tuple", "items": [{"nodeId": ".1.140305627771760"}, {"nodeId": ".2.140305627771760"}]}, "140305628017184": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694299680"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694300128"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "isAbstract": false}, "140305694299680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694300128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017184"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305628017520": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694301920"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568408832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694303712"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694304160"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694304608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694305056"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568409056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694305952"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694306400"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694306848"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611314496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305628017856"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "A"}, {"nodeId": "140305628017856"}]}}], "typeVars": [], "bases": [{"nodeId": "140305627657744"}], "isAbstract": false}, "140305694301920": {"type": "Function", "typeVars": [".-1.140305694301920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "140305628017184"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305694301920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140305694301920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694301920", "variance": "INVARIANT"}, "140305568408832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627447360"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305628017184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140305694303712": {"type": "Function", "typeVars": [".-1.140305694303712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305694303712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305694303712": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694303712", "variance": "INVARIANT"}, "140305694304160": {"type": "Function", "typeVars": [".-1.140305694304160"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".-1.140305694304160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305694304160": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694304160", "variance": "INVARIANT"}, "140305694304608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694305056": {"type": "Function", "typeVars": [".-1.140305694305056"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305694305056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694305056": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694305056", "variance": "INVARIANT"}, "140305568409056": {"type": "Function", "typeVars": [".-1.140305568409056"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140305635967712", "args": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305568409056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305568409056": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568409056", "variance": "INVARIANT"}, "140305694305952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694306400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611314496": {"type": "Overloaded", "items": [{"nodeId": "140305694307296"}, {"nodeId": "140305694308192"}]}, "140305694307296": {"type": "Function", "typeVars": [".-1.140305694307296"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140305694307296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140305694307296": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694307296", "variance": "INVARIANT"}, "140305694308192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628017520"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611318752"}, {"nodeId": "140305611318864"}, {"nodeId": "140305611318976"}, {"nodeId": "140305611319088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140305611318752": {"type": "TypeAlias", "target": {"nodeId": "140305665816528"}}, "140305665816528": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305644437200"}]}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}]}, "140305644437200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305611318864": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611318976": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611319088": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305628018192": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568466080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707404192"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}, {"nodeId": "140305628017856"}], "isAbstract": false}, "140305568466080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018192"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707404192": {"type": "Function", "typeVars": [".-1.140305707404192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707404192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707404192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707404192", "variance": "INVARIANT"}, "140305614569872": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568466752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707405536"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305628018864"}], "isAbstract": false}, "140305568466752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569872"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707405536": {"type": "Function", "typeVars": [".-1.140305707405536"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305707405536"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305707405536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707405536", "variance": "INVARIANT"}, "140305628018864": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707412256"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707412704"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707413152"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707413600"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568473920"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568474816"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568475712"}}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}, {"nodeId": "140305628018528"}], "isAbstract": false}, "140305707412256": {"type": "Function", "typeVars": [".-1.140305707412256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707412256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140305707412256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707412256", "variance": "INVARIANT"}, "140305707412704": {"type": "Function", "typeVars": [".-1.140305707412704"], "argTypes": [{"nodeId": ".-1.140305707412704"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707412704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707412704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707412704", "variance": "INVARIANT"}, "140305707413152": {"type": "Function", "typeVars": [".-1.140305707413152"], "argTypes": [{"nodeId": ".-1.140305707413152"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707413152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707413152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707413152", "variance": "INVARIANT"}, "140305707413600": {"type": "Function", "typeVars": [".-1.140305707413600"], "argTypes": [{"nodeId": ".-1.140305707413600"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707413600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707413600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707413600", "variance": "INVARIANT"}, "140305568473920": {"type": "Function", "typeVars": [".-1.140305568473920"], "argTypes": [{"nodeId": ".-1.140305568473920"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568473920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568473920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568473920", "variance": "INVARIANT"}, "140305568474816": {"type": "Function", "typeVars": [".-1.140305568474816"], "argTypes": [{"nodeId": ".-1.140305568474816"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568474816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568474816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568474816", "variance": "INVARIANT"}, "140305568475712": {"type": "Function", "typeVars": [".-1.140305568475712"], "argTypes": [{"nodeId": ".-1.140305568475712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305568475712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305568475712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305568475712", "variance": "INVARIANT"}, "140305628018528": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305656445216"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568467648"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305568468544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707406880"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707407328"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707407776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707408224"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707408672"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707409120"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140305628017856"}], "isAbstract": false}, "140305656445216": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305568467648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305611319872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611319872": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305568468544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707406880": {"type": "Function", "typeVars": [".-1.140305707406880"], "argTypes": [{"nodeId": ".-1.140305707406880"}, {"nodeId": ".-1.140305707406880"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707406880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707406880", "variance": "INVARIANT"}, "140305707407328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628018528"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707407776": {"type": "Function", "typeVars": [".-1.140305707407776"], "argTypes": [{"nodeId": ".-1.140305707407776"}, {"nodeId": ".-1.140305707407776"}], "returnType": {"nodeId": ".-1.140305707407776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707407776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707407776", "variance": "INVARIANT"}, "140305707408224": {"type": "Function", "typeVars": [".-1.140305707408224"], "argTypes": [{"nodeId": ".-1.140305707408224"}, {"nodeId": ".-1.140305707408224"}], "returnType": {"nodeId": ".-1.140305707408224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707408224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707408224", "variance": "INVARIANT"}, "140305707408672": {"type": "Function", "typeVars": [".-1.140305707408672"], "argTypes": [{"nodeId": ".-1.140305707408672"}, {"nodeId": ".-1.140305707408672"}], "returnType": {"nodeId": ".-1.140305707408672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707408672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707408672", "variance": "INVARIANT"}, "140305707409120": {"type": "Function", "typeVars": [".-1.140305707409120"], "argTypes": [{"nodeId": ".-1.140305707409120"}], "returnType": {"nodeId": ".-1.140305707409120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305707409120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707409120", "variance": "INVARIANT"}, "140305614576928": {"type": "Concrete", "module": "datetime", "simpleName": "tzinfo", "members": [{"kind": "Variable", "name": "tzname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552295072"}}, {"kind": "Variable", "name": "utcoffset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552161952"}}, {"kind": "Variable", "name": "dst", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552161056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502048"}, "name": "fromutc"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305552295072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548298944"}], "returnType": {"nodeId": "140305548301632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548298944": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305614578944": {"type": "Concrete", "module": "datetime", "simpleName": "datetime", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578944"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694471136"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556276832"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556275712"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556360096"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556371296"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556360992"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556361216"}}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556363008"}}, {"kind": "Variable", "name": "utcfromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556365696"}}, {"kind": "Variable", "name": "now", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556368832"}}, {"kind": "Variable", "name": "utcnow", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556369280"}}, {"kind": "Variable", "name": "combine", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556368608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694587616"}, "name": "timestamp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694588064"}, "name": "utctimetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694588512"}, "name": "date"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694703904"}, "name": "time"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694704352"}, "name": "timetz"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548347424"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tz", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548348096"}, "name": "astimezone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694706144"}, "name": "isoformat"}, {"kind": "Variable", "name": "strptime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556366592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707040"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707488"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694707936"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694708384"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694708832"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694709280"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694709728"}, "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548297488"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}], "typeVars": [], "bases": [{"nodeId": "140305614577936"}], "isAbstract": false}, "140305694471136": {"type": "Function", "typeVars": [".-1.140305694471136"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548296928"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305694471136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140305548296928": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305694471136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694471136", "variance": "INVARIANT"}, "140305556276832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556275712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556360096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556371296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556360992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548296704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548296704": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305556361216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556363008": {"type": "Function", "typeVars": [".-1.140305556363008"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}, {"nodeId": "140305548296480"}], "returnType": {"nodeId": ".-1.140305556363008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "tz"]}, "140305548296480": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305556363008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556363008", "variance": "INVARIANT"}, "140305556365696": {"type": "Function", "typeVars": [".-1.140305556365696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305556365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305556365696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556365696", "variance": "INVARIANT"}, "140305556368832": {"type": "Function", "typeVars": [".-1.140305556368832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305548296256"}], "returnType": {"nodeId": ".-1.140305556368832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "tz"]}, "140305548296256": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305556368832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556368832", "variance": "INVARIANT"}, "140305556369280": {"type": "Function", "typeVars": [".-1.140305556369280"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305556369280"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305556369280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556369280", "variance": "INVARIANT"}, "140305556368608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305614577936"}, {"nodeId": "140305614578272"}, {"nodeId": "140305548138464"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "date", "time", "tzinfo"]}, "140305614577936": {"type": "Concrete", "module": "datetime", "simpleName": "date", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577936"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577936"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707504288"}, "name": "__new__"}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551848864"}}, {"kind": "Variable", "name": "today", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551845280"}}, {"kind": "Variable", "name": "fromordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551844384"}}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551843488"}}, {"kind": "Variable", "name": "fromisocalendar", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551840800"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551842592"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551839008"}}, {"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551838112"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707508320"}, "name": "ctime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707509216"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707509664"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707510112"}, "name": "isoformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707510560"}, "name": "timetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511008"}, "name": "toordinal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511456"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707511904"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707512352"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707512800"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707513248"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707513696"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707514144"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548304432"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694460384"}, "name": "weekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694460832"}, "name": "isoweekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694461280"}, "name": "isocalendar"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614578608": {"type": "Concrete", "module": "datetime", "simpleName": "timedelta", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "days", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "milliseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minutes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hours", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weeks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548169664"}, "name": "__new__"}, {"kind": "Variable", "name": "days", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556442912"}}, {"kind": "Variable", "name": "seconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556439328"}}, {"kind": "Variable", "name": "microseconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556290048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694472928"}, "name": "total_seconds"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694473376"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694473824"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694572832"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694573280"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694573728"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694574176"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694574624"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694575072"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694575520"}, "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548301296"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305548299504"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694577760"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694578208"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694578656"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694579104"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694579552"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694580000"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694580448"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548169664": {"type": "Function", "typeVars": [".-1.140305548169664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305548169664"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "days", "seconds", "microseconds", "milliseconds", "minutes", "hours", "weeks"]}, ".-1.140305548169664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548169664", "variance": "INVARIANT"}, "140305556442912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556439328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556290048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694473376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694572832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694573280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694573728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694574176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694574624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305694575072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694575520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548301296": {"type": "Overloaded", "items": [{"nodeId": "140305694575968"}, {"nodeId": "140305694576416"}]}, "140305694575968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694576416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548299504": {"type": "Overloaded", "items": [{"nodeId": "140305694576864"}, {"nodeId": "140305694577312"}]}, "140305694576864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694577312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694577760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694578208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305548297376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548297376": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305614578608"}]}, "140305694578656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694579104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694579552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694580000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694580448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578608"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707504288": {"type": "Function", "typeVars": [".-1.140305707504288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707504288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "month", "day"]}, ".-1.140305707504288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707504288", "variance": "INVARIANT"}, "140305551848864": {"type": "Function", "typeVars": [".-1.140305551848864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448368"}], "returnType": {"nodeId": ".-1.140305551848864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551848864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551848864", "variance": "INVARIANT"}, "140305551845280": {"type": "Function", "typeVars": [".-1.140305551845280"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305551845280"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305551845280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551845280", "variance": "INVARIANT"}, "140305551844384": {"type": "Function", "typeVars": [".-1.140305551844384"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305551844384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551844384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551844384", "variance": "INVARIANT"}, "140305551843488": {"type": "Function", "typeVars": [".-1.140305551843488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305551843488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305551843488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551843488", "variance": "INVARIANT"}, "140305551840800": {"type": "Function", "typeVars": [".-1.140305551840800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305551840800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "week", "day"]}, ".-1.140305551840800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305551840800", "variance": "INVARIANT"}, "140305551842592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305551839008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305551838112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707508320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707509216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305707509664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305707510112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707510560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305548299840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299840": {"type": "TypeAlias", "target": {"nodeId": "140305543430320"}}, "140305543430320": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305707511008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305707511456": {"type": "Function", "typeVars": [".-1.140305707511456"], "argTypes": [{"nodeId": ".-1.140305707511456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305707511456"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "year", "month", "day"]}, ".-1.140305707511456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707511456", "variance": "INVARIANT"}, "140305707511904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707512352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707512800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707513248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707513696": {"type": "Function", "typeVars": [".-1.140305707513696"], "argTypes": [{"nodeId": ".-1.140305707513696"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707513696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707513696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707513696", "variance": "INVARIANT"}, "140305707514144": {"type": "Function", "typeVars": [".-1.140305707514144"], "argTypes": [{"nodeId": ".-1.140305707514144"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707514144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707514144": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707514144", "variance": "INVARIANT"}, "140305548304432": {"type": "Overloaded", "items": [{"nodeId": "140305707514592"}, {"nodeId": "140305707515040"}, {"nodeId": "140305707515488"}]}, "140305707514592": {"type": "Function", "typeVars": [".-1.140305707514592"], "argTypes": [{"nodeId": ".-1.140305707514592"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305707514592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707514592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707514592", "variance": "INVARIANT"}, "140305707515040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305707515488": {"type": "Function", "typeVars": [".-1.140305707515488"], "argTypes": [{"nodeId": ".-1.140305707515488"}, {"nodeId": ".-1.140305707515488"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305707515488": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140305614577936"}, "def": "140305707515488", "variance": "INVARIANT"}, "140305694460384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694460832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694461280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577936"}], "returnType": {"nodeId": "140305548299392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299392": {"type": "TypeAlias", "target": {"nodeId": "140305548303872"}}, "140305548303872": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305614578272": {"type": "Concrete", "module": "datetime", "simpleName": "time", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578272"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578272"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614578608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548170112"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305551660352"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556727488"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556725248"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556724128"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556717632"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305556718528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694465312"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694465760"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694466208"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694466656"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694467104"}, "name": "isoformat"}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556721216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694468448"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694468896"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694469344"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694469792"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694470240"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548170336"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548170112": {"type": "Function", "typeVars": [".-1.140305548170112"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548299168"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548170112"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140305548299168": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, ".-1.140305548170112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548170112", "variance": "INVARIANT"}, "140305551660352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556727488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556725248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556724128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305556717632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548299280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548299280": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305556718528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694465312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694465760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694466208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694466656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694467104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timespec"]}, "140305556721216": {"type": "Function", "typeVars": [".-1.140305556721216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305556721216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140305556721216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305556721216", "variance": "INVARIANT"}, "140305694468448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694468896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305694469344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298720": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694469792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694470240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578272"}], "returnType": {"nodeId": "140305548298272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548298272": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305548170336": {"type": "Function", "typeVars": [".-1.140305548170336"], "argTypes": [{"nodeId": ".-1.140305548170336"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548297824"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548170336"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140305548170336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548170336", "variance": "INVARIANT"}, "140305548297824": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305548138464": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305694587616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694588064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548140816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548140816": {"type": "TypeAlias", "target": {"nodeId": "140305543430320"}}, "140305694588512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614577936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694703904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305694704352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548347424": {"type": "Function", "typeVars": [".-1.140305548347424"], "argTypes": [{"nodeId": ".-1.140305548347424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305548147536"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305548347424"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140305548347424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548347424", "variance": "INVARIANT"}, "140305548147536": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305548348096": {"type": "Function", "typeVars": [".-1.140305548348096"], "argTypes": [{"nodeId": ".-1.140305548348096"}, {"nodeId": "140305548147760"}], "returnType": {"nodeId": ".-1.140305548348096"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tz"]}, ".-1.140305548348096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305548348096", "variance": "INVARIANT"}, "140305548147760": {"type": "Union", "items": [{"nodeId": "140305614576928"}, {"nodeId": "N"}]}, "140305694706144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "timespec"]}, "140305556366592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, "140305694707040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548147872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548147872": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694707488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548148432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548148432": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694707936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305548148320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548148320": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305694708384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694708832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694709280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305694709728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614578944"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305548297488": {"type": "Overloaded", "items": [{"nodeId": "140305694710176"}, {"nodeId": "140305694710624"}]}, "140305694710176": {"type": "Function", "typeVars": [".-1.140305694710176"], "argTypes": [{"nodeId": ".-1.140305694710176"}, {"nodeId": "140305614578608"}], "returnType": {"nodeId": ".-1.140305694710176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694710176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305694710176", "variance": "INVARIANT"}, "140305694710624": {"type": "Function", "typeVars": [".-1.140305694710624"], "argTypes": [{"nodeId": ".-1.140305694710624"}, {"nodeId": ".-1.140305694710624"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305694710624": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140305614577936"}, "def": "140305694710624", "variance": "INVARIANT"}, "140305548301632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305552161952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548301184"}], "returnType": {"nodeId": "140305548301072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548301184": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305548301072": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305552161056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305548300736"}], "returnType": {"nodeId": "140305548300960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300736": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305548300960": {"type": "Union", "items": [{"nodeId": "140305614578608"}, {"nodeId": "N"}]}, "140305707502048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614576928"}, {"nodeId": "140305614578944"}], "returnType": {"nodeId": "140305614578944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614577264": {"type": "Concrete", "module": "datetime", "simpleName": "timezone", "members": [{"kind": "Variable", "name": "utc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614577264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502496"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707502944"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707503392"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707503840"}, "name": "dst"}], "typeVars": [], "bases": [{"nodeId": "140305614576928"}], "isAbstract": false}, "140305707502496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305614578608"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "name"]}, "140305707502944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300624"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300624": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305707503392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300512"}], "returnType": {"nodeId": "140305614578608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300512": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305707503840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614577264"}, {"nodeId": "140305548300176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305548300176": {"type": "Union", "items": [{"nodeId": "140305614578944"}, {"nodeId": "N"}]}, "140305719629792": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548171680"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225280"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548172128"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305548172800"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305678277920"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305548171680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305602593616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602593616": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305627774448": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690827840"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305690827840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774448"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305619225280": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305548172128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305548172800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305678277920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719629792"}, {"nodeId": "140305602593952"}, {"nodeId": "140305602594064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305602593952": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305602594064": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305719639200": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547488032"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547487808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695116192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695116640"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547487136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695117536"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140305719639200"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547488032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305602003008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719639200": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719639200", "variance": "COVARIANT"}, "140305602003008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547487808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695116192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": "140305602003232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602003232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695116640": {"type": "Function", "typeVars": [".-1.140305695116640"], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": ".-1.140305695116640"}, {"nodeId": "140305601969312"}], "returnType": {"nodeId": "140305602005248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140305695116640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695116640", "variance": "INVARIANT"}, "140305601969312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602005248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547487136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}], "returnType": {"nodeId": "140305602005024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602005024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695117536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305719639200"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639200"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305719639536": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547486688"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547486240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695118880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305695119328"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305547485568"}}], "typeVars": [{"nodeId": ".1.140305719639536"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305547486688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305602005696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305719639536": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305719639536", "variance": "COVARIANT"}, "140305602005696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547486240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305695118880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}, {"nodeId": "140305602005472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602005472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305695119328": {"type": "Function", "typeVars": [".-1.140305695119328"], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}, {"nodeId": ".-1.140305695119328"}, {"nodeId": "140305602166848"}], "returnType": {"nodeId": "140305602006144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140305695119328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305695119328", "variance": "INVARIANT"}, "140305602166848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305602006144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305547485568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305719639536"}]}], "returnType": {"nodeId": "140305602005920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602005920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305719639536"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627447696": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602167408"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305602167408": {"type": "Overloaded", "items": [{"nodeId": "140305690394912"}, {"nodeId": "140305690395360"}, {"nodeId": "140305690395808"}]}, "140305690394912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305690395360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305690395808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627447696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627767392": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673481440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673481888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673482336"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673482784"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305627767392"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": "140305632060224"}]}], "isAbstract": false}, "140305673481440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767392", "args": [{"nodeId": ".1.140305627767392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767392"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140305627767392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767392", "variance": "INVARIANT"}, "140305673481888": {"type": "Function", "typeVars": [".-1.140305673481888"], "argTypes": [{"nodeId": ".-1.140305673481888"}], "returnType": {"nodeId": ".-1.140305673481888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673481888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673481888", "variance": "INVARIANT"}, "140305673482336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767392", "args": [{"nodeId": ".1.140305627767392"}]}], "returnType": {"nodeId": "140305602600336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602600336": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": ".1.140305627767392"}]}, "140305673482784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305632060224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": ".1.140305627767392"}]}, "140305627451728": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543355680"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543356128"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543356352"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602598208"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673485472"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673485920"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673584928"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673585376"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673585824"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602599664"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673587168"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305543355680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543356128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543356352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305602598208": {"type": "Overloaded", "items": [{"nodeId": "140305673484576"}, {"nodeId": "140305673485024"}]}, "140305673484576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673485024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305673485472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673485920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305673584928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673585376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673585824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602599664": {"type": "Overloaded", "items": [{"nodeId": "140305673586272"}, {"nodeId": "140305673586720"}]}, "140305673586272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627772768"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673586720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673587168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627451728"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627452064": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619596032"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619598608"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619598160"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673587616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588064"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588512"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673588960"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673589408"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673589856"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673590304"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619596032": {"type": "Union", "items": [{"nodeId": "140305631705152"}, {"nodeId": "N"}]}, "140305631705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619598608": {"type": "Union", "items": [{"nodeId": "140305643942208"}, {"nodeId": "N"}]}, "140305643942208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619598160": {"type": "Union", "items": [{"nodeId": "140305640403936"}, {"nodeId": "N"}]}, "140305640403936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673587616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602600784"}, {"nodeId": "140305602601120"}, {"nodeId": "140305602601456"}, {"nodeId": "140305602601680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140305602600784": {"type": "Union", "items": [{"nodeId": "140305602561408"}, {"nodeId": "N"}]}, "140305602561408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602601120": {"type": "Union", "items": [{"nodeId": "140305602561856"}, {"nodeId": "N"}]}, "140305602561856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305602601456": {"type": "Union", "items": [{"nodeId": "140305602562080"}, {"nodeId": "N"}]}, "140305602562080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305602601680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305673588064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602561632"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602561632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673588512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602561184"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602561184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305673588960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "140305602562304"}], "returnType": {"nodeId": "140305627452064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305602562304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673589408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}, {"nodeId": "140305602602464"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305602602464": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305673589856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305673590304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452064"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305627452400": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619540272": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673594336"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140305619540272"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__fspath__"]}, "140305673594336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619540272", "args": [{"nodeId": ".1.140305619540272"}]}], "returnType": {"nodeId": ".1.140305619540272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619540272": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619540272", "variance": "COVARIANT"}, "140305627452736": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673595232"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140305627452736"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__anext__"]}, "140305673595232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627452736", "args": [{"nodeId": ".1.140305627452736"}]}], "returnType": {"nodeId": ".1.140305627452736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627452736": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, "def": "140305627452736", "variance": "COVARIANT"}, "140305627767728": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602603696"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673767392"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673767840"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627767728"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627767728"}]}], "isAbstract": false}, "140305602603696": {"type": "Overloaded", "items": [{"nodeId": "140305673766048"}, {"nodeId": "140305673766496"}, {"nodeId": "140305673766944"}]}, "140305673766048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "N"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305602606048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140305627767728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627767728", "variance": "INVARIANT"}, "140305602606048": {"type": "Union", "items": [{"nodeId": ".1.140305627767728"}, {"nodeId": "N"}]}, "140305673766496": {"type": "Function", "typeVars": [".-1.140305673766496"], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "140305602563200"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673766496"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602563200": {"type": "Function", "typeVars": [".-1.140305602563200"], "argTypes": [{"nodeId": ".-1.140305602563200"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305602563200": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602563200", "variance": "INVARIANT"}, ".-1.140305673766496": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673766496", "variance": "INVARIANT"}, "140305673766944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}, {"nodeId": "140305602562976"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305627767728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305602562976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140305627767728"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305673767392": {"type": "Function", "typeVars": [".-1.140305673767392"], "argTypes": [{"nodeId": ".-1.140305673767392"}], "returnType": {"nodeId": ".-1.140305673767392"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673767392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673767392", "variance": "INVARIANT"}, "140305673767840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627767728", "args": [{"nodeId": ".1.140305627767728"}]}], "returnType": {"nodeId": ".1.140305627767728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627453072": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673774560"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305627453072"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__"]}, "140305673774560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453072", "args": [{"nodeId": ".1.140305627453072"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627453072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305627453072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453072", "variance": "COVARIANT"}, "140305627768064": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602606160"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673929440"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673929888"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627768064"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768064"}]}], "isAbstract": false}, "140305602606160": {"type": "Overloaded", "items": [{"nodeId": "140305673779040"}, {"nodeId": "140305673779488"}, {"nodeId": "140305673779936"}, {"nodeId": "140305673780384"}, {"nodeId": "140305673780832"}, {"nodeId": "140305673928992"}]}, "140305673779040": {"type": "Function", "typeVars": [".-1.140305673779040"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565440"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779040"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140305627768064": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768064", "variance": "INVARIANT"}, "140305602565440": {"type": "Function", "typeVars": [".-1.140305602565440"], "argTypes": [{"nodeId": ".-1.140305602565440"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305602565440": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565440", "variance": "INVARIANT"}, ".-1.140305673779040": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779040", "variance": "INVARIANT"}, "140305673779488": {"type": "Function", "typeVars": [".-1.140305673779488", ".-2.140305673779488"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602564768"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779488"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673779488"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305602564768": {"type": "Function", "typeVars": [".-1.140305602564768", ".-2.140305602564768"], "argTypes": [{"nodeId": ".-1.140305602564768"}, {"nodeId": ".-2.140305602564768"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305602564768": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564768", "variance": "INVARIANT"}, ".-2.140305602564768": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564768", "variance": "INVARIANT"}, ".-1.140305673779488": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779488", "variance": "INVARIANT"}, ".-2.140305673779488": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779488", "variance": "INVARIANT"}, "140305673779936": {"type": "Function", "typeVars": [".-1.140305673779936", ".-2.140305673779936", ".-3.140305673779936"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602564992"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673779936"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673779936"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673779936"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140305602564992": {"type": "Function", "typeVars": [".-1.140305602564992", ".-2.140305602564992", ".-3.140305602564992"], "argTypes": [{"nodeId": ".-1.140305602564992"}, {"nodeId": ".-2.140305602564992"}, {"nodeId": ".-3.140305602564992"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140305602564992": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-2.140305602564992": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-3.140305602564992": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602564992", "variance": "INVARIANT"}, ".-1.140305673779936": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, ".-2.140305673779936": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, ".-3.140305673779936": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673779936", "variance": "INVARIANT"}, "140305673780384": {"type": "Function", "typeVars": [".-1.140305673780384", ".-2.140305673780384", ".-3.140305673780384", ".-4.140305673780384"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565664"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673780384"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305673780384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305602565664": {"type": "Function", "typeVars": [".-1.140305602565664", ".-2.140305602565664", ".-3.140305602565664", ".-4.140305602565664"], "argTypes": [{"nodeId": ".-1.140305602565664"}, {"nodeId": ".-2.140305602565664"}, {"nodeId": ".-3.140305602565664"}, {"nodeId": ".-4.140305602565664"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140305602565664": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-2.140305602565664": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-3.140305602565664": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-4.140305602565664": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565664", "variance": "INVARIANT"}, ".-1.140305673780384": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-2.140305673780384": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-3.140305673780384": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, ".-4.140305673780384": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780384", "variance": "INVARIANT"}, "140305673780832": {"type": "Function", "typeVars": [".-1.140305673780832", ".-2.140305673780832", ".-3.140305673780832", ".-4.140305673780832", ".-5.140305673780832"], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602565888"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305673780832"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-5.140305673780832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140305602565888": {"type": "Function", "typeVars": [".-1.140305602565888", ".-2.140305602565888", ".-3.140305602565888", ".-4.140305602565888", ".-5.140305602565888"], "argTypes": [{"nodeId": ".-1.140305602565888"}, {"nodeId": ".-2.140305602565888"}, {"nodeId": ".-3.140305602565888"}, {"nodeId": ".-4.140305602565888"}, {"nodeId": ".-5.140305602565888"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140305602565888": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-2.140305602565888": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-3.140305602565888": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-4.140305602565888": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-5.140305602565888": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305602565888", "variance": "INVARIANT"}, ".-1.140305673780832": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-2.140305673780832": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-3.140305673780832": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-4.140305673780832": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, ".-5.140305673780832": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673780832", "variance": "INVARIANT"}, "140305673928992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}, {"nodeId": "140305602566112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140305602566112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305673929440": {"type": "Function", "typeVars": [".-1.140305673929440"], "argTypes": [{"nodeId": ".-1.140305673929440"}], "returnType": {"nodeId": ".-1.140305673929440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305673929440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305673929440", "variance": "INVARIANT"}, "140305673929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768064", "args": [{"nodeId": ".1.140305627768064"}]}], "returnType": {"nodeId": ".1.140305627768064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619540608": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673940640"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140305619540608"}], "bases": [{"nodeId": "140305619089248", "args": [{"nodeId": ".1.140305619540608"}]}], "protocolMembers": ["flush", "write"]}, "140305673940640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619540608", "args": [{"nodeId": ".1.140305619540608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619540608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619540608", "variance": "CONTRAVARIANT"}, "140305627453408": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673941984"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627453408"}, {"nodeId": ".2.140305627453408"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673941984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453408", "args": [{"nodeId": ".1.140305627453408"}, {"nodeId": ".2.140305627453408"}]}, {"nodeId": ".1.140305627453408"}], "returnType": {"nodeId": ".2.140305627453408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305627453408": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453408", "variance": "CONTRAVARIANT"}, ".2.140305627453408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453408", "variance": "COVARIANT"}, "140305627453744": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673942432"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627453744"}, {"nodeId": ".2.140305627453744"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673942432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627453744", "args": [{"nodeId": ".1.140305627453744"}, {"nodeId": ".2.140305627453744"}]}, {"nodeId": ".1.140305627453744"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140305627453744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140305627453744": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453744", "variance": "CONTRAVARIANT"}, ".2.140305627453744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627453744", "variance": "COVARIANT"}, "140305627454080": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305673942880"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}, {"nodeId": ".3.140305627454080"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__pow__"]}, "140305673942880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454080", "args": [{"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}, {"nodeId": ".3.140305627454080"}]}, {"nodeId": ".1.140305627454080"}, {"nodeId": ".2.140305627454080"}], "returnType": {"nodeId": ".3.140305627454080"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305627454080": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "CONTRAVARIANT"}, ".2.140305627454080": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "CONTRAVARIANT"}, ".3.140305627454080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454080", "variance": "COVARIANT"}, "140305627768400": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602929360"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674138592"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674139040"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674139488"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140305627768400"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768400"}]}], "isAbstract": false}, "140305602929360": {"type": "Overloaded", "items": [{"nodeId": "140305674137696"}, {"nodeId": "140305674138144"}]}, "140305674137696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}, {"nodeId": "140305719633824", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305627768400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768400", "variance": "INVARIANT"}, "140305674138144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}, {"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305619085888": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323936"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669324384"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619085888"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__getitem__", "__len__"]}, "140305669323936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305619085888"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619085888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085888", "variance": "COVARIANT"}, "140305669324384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085888", "args": [{"nodeId": ".1.140305619085888"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619085888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305674138592": {"type": "Function", "typeVars": [".-1.140305674138592"], "argTypes": [{"nodeId": ".-1.140305674138592"}], "returnType": {"nodeId": ".-1.140305674138592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305674138592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674138592", "variance": "INVARIANT"}, "140305674139040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": ".1.140305627768400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305674139488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768400", "args": [{"nodeId": ".1.140305627768400"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627454416": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674140384"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305627454416"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305674140384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454416", "args": [{"nodeId": ".1.140305627454416"}]}], "returnType": {"nodeId": ".1.140305627454416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627454416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454416", "variance": "COVARIANT"}, "140305627454752": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674140832"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140305627454752"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__round__"]}, "140305674140832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627454752", "args": [{"nodeId": ".1.140305627454752"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305627454752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305627454752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627454752", "variance": "COVARIANT"}, "140305619540944": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619083200", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140305619083536", "args": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140305619083200": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669320352"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140305619083200"}, {"nodeId": ".2.140305619083200"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__add__"]}, "140305669320352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083200", "args": [{"nodeId": ".1.140305619083200"}, {"nodeId": ".2.140305619083200"}]}, {"nodeId": ".1.140305619083200"}], "returnType": {"nodeId": ".2.140305619083200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083200": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083200", "variance": "CONTRAVARIANT"}, ".2.140305619083200": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083200", "variance": "COVARIANT"}, "140305619083536": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669320800"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140305619083536"}, {"nodeId": ".2.140305619083536"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__radd__"]}, "140305669320800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083536", "args": [{"nodeId": ".1.140305619083536"}, {"nodeId": ".2.140305619083536"}]}, {"nodeId": ".1.140305619083536"}], "returnType": {"nodeId": ".2.140305619083536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083536": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083536", "variance": "CONTRAVARIANT"}, ".2.140305619083536": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083536", "variance": "COVARIANT"}, "140305627768736": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305602931488"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674266976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674267424"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305627768736"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305627768736"}]}], "isAbstract": false}, "140305602931488": {"type": "Overloaded", "items": [{"nodeId": "140305674261600"}, {"nodeId": "140305674262048"}, {"nodeId": "140305674262496"}, {"nodeId": "140305674262944"}, {"nodeId": "140305674263392"}, {"nodeId": "140305674263840"}]}, "140305674261600": {"type": "Function", "typeVars": [".-1.140305674261600"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674261600"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602933616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140305674261600": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674261600", "variance": "INVARIANT"}, "140305602933616": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674261600"}]}, "140305674262048": {"type": "Function", "typeVars": [".-1.140305674262048", ".-2.140305674262048"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262048"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262048"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602933840"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140305674262048": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262048", "variance": "INVARIANT"}, ".-2.140305674262048": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262048", "variance": "INVARIANT"}, "140305602933840": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262048"}, {"nodeId": ".-2.140305674262048"}]}, "140305674262496": {"type": "Function", "typeVars": [".-1.140305674262496", ".-2.140305674262496", ".-3.140305674262496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262496"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262496"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674262496"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934064"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140305674262496": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, ".-2.140305674262496": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, ".-3.140305674262496": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262496", "variance": "INVARIANT"}, "140305602934064": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262496"}, {"nodeId": ".-2.140305674262496"}, {"nodeId": ".-3.140305674262496"}]}, "140305674262944": {"type": "Function", "typeVars": [".-1.140305674262944", ".-2.140305674262944", ".-3.140305674262944", ".-4.140305674262944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674262944"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305674262944"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934288"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140305674262944": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-2.140305674262944": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-3.140305674262944": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, ".-4.140305674262944": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674262944", "variance": "INVARIANT"}, "140305602934288": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674262944"}, {"nodeId": ".-2.140305674262944"}, {"nodeId": ".-3.140305674262944"}, {"nodeId": ".-4.140305674262944"}]}, "140305674263392": {"type": "Function", "typeVars": [".-1.140305674263392", ".-2.140305674263392", ".-3.140305674263392", ".-4.140305674263392", ".-5.140305674263392"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-1.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-2.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-3.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-4.140305674263392"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": ".-5.140305674263392"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305602934512"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140305674263392": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-2.140305674263392": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-3.140305674263392": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-4.140305674263392": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, ".-5.140305674263392": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674263392", "variance": "INVARIANT"}, "140305602934512": {"type": "Tuple", "items": [{"nodeId": ".-1.140305674263392"}, {"nodeId": ".-2.140305674263392"}, {"nodeId": ".-3.140305674263392"}, {"nodeId": ".-4.140305674263392"}, {"nodeId": ".-5.140305674263392"}]}, "140305674263840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627768736", "args": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140305674266976": {"type": "Function", "typeVars": [".-1.140305674266976"], "argTypes": [{"nodeId": ".-1.140305674266976"}], "returnType": {"nodeId": ".-1.140305674266976"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305674266976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305674266976", "variance": "INVARIANT"}, "140305674267424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627768736", "args": [{"nodeId": ".1.140305627768736"}]}], "returnType": {"nodeId": ".1.140305627768736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305627768736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627768736", "variance": "COVARIANT"}, "140305627455088": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305627455760": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627456096": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627456432": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619584832"}}], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305619584832": {"type": "TypeAlias", "target": {"nodeId": "140305631426848"}}, "140305631426848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305627456768": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627455424"}], "isAbstract": false}, "140305627457104": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627457440": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627457776": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627458112": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627458448": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674270560"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629120"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305674270560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627458448"}, {"nodeId": "140305719629120"}, {"nodeId": "140305597825088"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140305597825088": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305627458784": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627459120": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627459456": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271008"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054848"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632056752"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305674271008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627459456"}, {"nodeId": "140305719629120"}, {"nodeId": "140305597825200"}, {"nodeId": "140305597825312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140305597825200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305597825312": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632054848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632056752": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305627459792": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460128": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460464": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627460800": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461136": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461472": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627461808": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054400"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054288"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054960"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632054736"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632051936"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632053504"}}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305632054400": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632054288": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632054960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632054736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305632051936": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632053504": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305627462144": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627462480": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627462816": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627463152": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627643968": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627644304": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457776"}], "isAbstract": false}, "140305627644640": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459456"}], "isAbstract": false}, "140305627644976": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459792"}], "isAbstract": false}, "140305627645312": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627459792"}], "isAbstract": false}, "140305627645648": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627460464"}], "isAbstract": false}, "140305627645984": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646320": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646656": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627646992": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627647328": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627647664": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627648000": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627646656"}], "isAbstract": false}, "140305627648336": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627648672": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649008": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649344": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627649680": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650016": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650352": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627650688": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}], "isAbstract": false}, "140305627651024": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461136"}], "isAbstract": false}, "140305627651360": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461136"}], "isAbstract": false}, "140305627651696": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627461808"}], "isAbstract": false}, "140305627652032": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627651696"}], "isAbstract": false}, "140305627652368": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627462816"}], "isAbstract": false}, "140305627652704": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271456"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674271456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627652704"}, {"nodeId": "140305627449712"}, {"nodeId": "140305597825424"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305597825424": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627653040": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674271904"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674271904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627653040"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140305627653376": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305674272352"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627652368"}], "isAbstract": false}, "140305674272352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627653376"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140305627653712": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305627654048": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627654384": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627654720": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655056": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655392": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627655728": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656064": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656400": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627656736": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627657072": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305627657408": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627653712"}], "isAbstract": false}, "140305619080512": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669317216"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305669317216": {"type": "Function", "typeVars": [".-1.140305669317216"], "argTypes": [{"nodeId": "140305619080512"}, {"nodeId": ".-1.140305669317216"}], "returnType": {"nodeId": ".-1.140305669317216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305669317216": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669317216", "variance": "INVARIANT"}, "140305619080848": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669317664"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140305619080848"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__next__"]}, "140305669317664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619080848", "args": [{"nodeId": ".1.140305619080848"}]}], "returnType": {"nodeId": ".1.140305619080848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619080848": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619080848", "variance": "COVARIANT"}, "140305619081184": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669318112"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140305619081184"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__anext__"]}, "140305669318112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619081184", "args": [{"nodeId": ".1.140305619081184"}]}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".1.140305619081184"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619081184": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619081184", "variance": "COVARIANT"}, "140305619082192": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319456"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140305619082192"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__le__"]}, "140305669319456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619082192", "args": [{"nodeId": ".1.140305619082192"}]}, {"nodeId": ".1.140305619082192"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619082192": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619082192", "variance": "CONTRAVARIANT"}, "140305619082528": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669319904"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140305619082528"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__ge__"]}, "140305669319904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619082528", "args": [{"nodeId": ".1.140305619082528"}]}, {"nodeId": ".1.140305619082528"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619082528": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619082528", "variance": "CONTRAVARIANT"}, "140305619082864": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619081520", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619081856", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619082192", "args": [{"nodeId": "A"}]}, {"nodeId": "140305619082528", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140305619083872": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669321248"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140305619083872"}, {"nodeId": ".2.140305619083872"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__sub__"]}, "140305669321248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619083872", "args": [{"nodeId": ".1.140305619083872"}, {"nodeId": ".2.140305619083872"}]}, {"nodeId": ".1.140305619083872"}], "returnType": {"nodeId": ".2.140305619083872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619083872": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083872", "variance": "CONTRAVARIANT"}, ".2.140305619083872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619083872", "variance": "COVARIANT"}, "140305619084208": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669321696"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140305619084208"}, {"nodeId": ".2.140305619084208"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__rsub__"]}, "140305669321696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084208", "args": [{"nodeId": ".1.140305619084208"}, {"nodeId": ".2.140305619084208"}]}, {"nodeId": ".1.140305619084208"}], "returnType": {"nodeId": ".2.140305619084208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619084208": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084208", "variance": "CONTRAVARIANT"}, ".2.140305619084208": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084208", "variance": "COVARIANT"}, "140305619084544": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669322144"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140305619084544"}, {"nodeId": ".2.140305619084544"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__divmod__"]}, "140305669322144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084544", "args": [{"nodeId": ".1.140305619084544"}, {"nodeId": ".2.140305619084544"}]}, {"nodeId": ".1.140305619084544"}], "returnType": {"nodeId": ".2.140305619084544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619084544": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084544", "variance": "CONTRAVARIANT"}, ".2.140305619084544": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084544", "variance": "COVARIANT"}, "140305619084880": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669322592"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140305619084880"}, {"nodeId": ".2.140305619084880"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__rdivmod__"]}, "140305669322592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619084880", "args": [{"nodeId": ".1.140305619084880"}, {"nodeId": ".2.140305619084880"}]}, {"nodeId": ".1.140305619084880"}], "returnType": {"nodeId": ".2.140305619084880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140305619084880": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084880", "variance": "CONTRAVARIANT"}, ".2.140305619084880": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619084880", "variance": "COVARIANT"}, "140305619085216": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323040"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140305619085216"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__iter__"]}, "140305669323040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085216", "args": [{"nodeId": ".1.140305619085216"}]}], "returnType": {"nodeId": ".1.140305619085216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305619085216": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085216", "variance": "COVARIANT"}, "140305619085552": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669323488"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140305619085552"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aiter__"]}, "140305669323488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619085552", "args": [{"nodeId": ".1.140305619085552"}]}], "returnType": {"nodeId": ".1.140305619085552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619085552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619085552", "variance": "COVARIANT"}, "140305619086560": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707303648"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["items"]}, "140305707303648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619086560", "args": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}]}], "returnType": {"nodeId": "140305719637520", "args": [{"nodeId": "140305606899776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619086560": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086560", "variance": "COVARIANT"}, ".2.140305619086560": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619086560", "variance": "COVARIANT"}, "140305606899776": {"type": "Tuple", "items": [{"nodeId": ".1.140305619086560"}, {"nodeId": ".2.140305619086560"}]}, "140305619087232": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707304992"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707305440"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140305707304992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140305619087232": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087232", "variance": "CONTRAVARIANT"}, ".2.140305619087232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087232", "variance": "COVARIANT"}, "140305707305440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087232"}, {"nodeId": ".2.140305619087232"}]}, {"nodeId": ".1.140305619087232"}], "returnType": {"nodeId": ".2.140305619087232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619087568": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707305888"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707306336"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}], "bases": [{"nodeId": "140305619087232", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140305707305888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087568", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}, {"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140305619087568": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087568", "variance": "CONTRAVARIANT"}, ".2.140305619087568": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619087568", "variance": "INVARIANT"}, "140305707306336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087568", "args": [{"nodeId": ".1.140305619087568"}, {"nodeId": ".2.140305619087568"}]}, {"nodeId": ".1.140305619087568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619087904": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707306784"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["fileno"]}, "140305707306784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619087904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619088576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707307680"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140305619088576"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["readline"]}, "140305707307680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088576", "args": [{"nodeId": ".1.140305619088576"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".1.140305619088576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140305619088576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088576", "variance": "COVARIANT"}, "140305619088912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707308128"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140305619088912"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["readline"]}, "140305707308128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619088912", "args": [{"nodeId": ".1.140305619088912"}]}], "returnType": {"nodeId": ".1.140305619088912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619088912": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619088912", "variance": "COVARIANT"}, "140305619089584": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707309472"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140305619089584"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305707309472": {"type": "Function", "typeVars": [".-1.140305707309472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": ".1.140305619089584"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305707309472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140305619089584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619089584", "variance": "COVARIANT"}, ".-1.140305707309472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305707309472", "variance": "INVARIANT"}, "140305635974768": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707310592"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["find_spec"]}, "140305707310592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974768"}, {"nodeId": "140305627449712"}, {"nodeId": "140305615236880"}, {"nodeId": "140305615236992"}], "returnType": {"nodeId": "140305615237104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140305615236880": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305615236992": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305635968720": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631848576"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594063488"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849248"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849024"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719637184", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631427184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690197376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686069312"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631848576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305594063488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631849248": {"type": "Union", "items": [{"nodeId": "140305635968384"}, {"nodeId": "N"}]}, "140305635968384": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690196480"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["load_module"]}, "140305690196480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968384"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305631849024": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305631427184": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628012480": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652468416"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619694224"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619694448"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635869968"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635868848"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305573147168"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652469312"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305652468416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611076800"}, {"nodeId": "140305611076912"}, {"nodeId": "A"}, {"nodeId": "140305611077136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140305611076800": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305628013488": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648429856"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648430304"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648430752"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648431200"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648429856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305648430304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305648430752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611310240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305611310240": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305648431200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013488"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305611076912": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611077136": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305619694224": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305619694448": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635869968": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305635868848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305573147168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611077248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611077248": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652469312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690197376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}, {"nodeId": "140305627449712"}, {"nodeId": "140305615225344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140305615225344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305686069312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305615237104": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305619541280": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589339296"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340192"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340416"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340640"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589340864"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341088"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341312"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341536"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341760"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589341984"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342208"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342432"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342656"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589342880"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589343104"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589343776"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305589339296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237328"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237552"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237664"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589340864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237776"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237776": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615237888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615237888": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238000"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238000": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238112"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238112": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589341984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238336"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238336": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238448"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238560"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238560": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238672": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589342880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238784"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238784": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589343104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615238896"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615238896": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589343776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239008": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619541616": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589344896"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345344"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345568"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589345792"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346016"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346240"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346464"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346688"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589346912"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589347136"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589347360"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589344896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239120"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239120": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239232": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239344"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239344": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589345792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239456"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239456": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239568"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239568": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239680": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239792": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615239904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615239904": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589346912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240016"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240016": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589347136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240128": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589347360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240240"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240240": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619541952": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589348704"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589348928"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349152"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349376"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349600"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589349824"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350048"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350272"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589350496"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305619592560"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589348704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240352"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240352": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589348928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240464": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240576"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240576": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240688"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240688": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240800"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240800": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589349824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615240912"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615240912": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615241024"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615241024": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405120": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589350496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405232": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619592560": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, "140305635975104": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619591328"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681621376"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305619591328": {"type": "TypeAlias", "target": {"nodeId": "140305614677248"}}, "140305614677248": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305681621376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975104"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305619542288": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352512"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352736"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589352960"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589353184"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305589352512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405456"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405456": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589352736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405568"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405568": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589352960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405680"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405680": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305589353184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405792": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619542624": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589353408"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589436704"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589436928"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589437152"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589437376"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305589353408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615405904"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615405904": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589436704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406016"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406016": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589436928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406128": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589437152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406240"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406240": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305589437376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615406352"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615406352": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305635975440": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614680272"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619597040"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619597264"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631422928"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614680272": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305619597040": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305619597264": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305631422928": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305619542960": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589440288"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305589440736"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305631423152"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305619691312"}]}], "isAbstract": false}, "140305589440288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615408928"}], "returnType": {"nodeId": "140305615409040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615408928": {"type": "Tuple", "items": [{"nodeId": "140305619586624"}, {"nodeId": "140305619594016"}]}, "140305619586624": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305631421920": {"type": "Union", "items": [{"nodeId": "140305631705600"}, {"nodeId": "N"}]}, "140305631705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619594016": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305615409040": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305589440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305615409152"}], "returnType": {"nodeId": "140305615409264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615409152": {"type": "Tuple", "items": [{"nodeId": "140305619586624"}, {"nodeId": "140305619594016"}]}, "140305615409264": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305631423152": {"type": "TypeAlias", "target": {"nodeId": "140305631421920"}}, "140305619691312": {"type": "Union", "items": [{"nodeId": "140305602572160"}, {"nodeId": "N"}]}, "140305602572160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305719635840", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627658080": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681920992"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305627658080"}], "bases": [{"nodeId": "140305719639536", "args": [{"nodeId": ".1.140305627658080"}]}], "isAbstract": false}, "140305681920992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627658080", "args": [{"nodeId": ".1.140305627658080"}]}, {"nodeId": "140305606274944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140305627658080": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627658080", "variance": "COVARIANT"}, "140305606274944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627658080"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627658416": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681921440"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140305627658416"}], "bases": [{"nodeId": "140305719639200", "args": [{"nodeId": ".1.140305627658416"}]}], "isAbstract": false}, "140305681921440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627658416", "args": [{"nodeId": ".1.140305627658416"}]}, {"nodeId": "140305606274272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140305627658416": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305627658416", "variance": "COVARIANT"}, "140305606274272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140305627658416"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305627658752": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140305627452064"}], "isAbstract": false}, "140305627659088": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305618954480": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305681923456"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569359328"}}], "typeVars": [{"nodeId": ".1.140305618954480"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__enter__", "__exit__"]}, "140305681923456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618954480"}]}], "returnType": {"nodeId": ".1.140305618954480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140305618954480": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618954480", "variance": "COVARIANT"}, "140305569359328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618954480"}]}, {"nodeId": "140305606343056"}, {"nodeId": "140305606343168"}, {"nodeId": "140305606343280"}], "returnType": {"nodeId": "140305606343392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606343056": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606343168": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606343280": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606343392": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618954816": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606267328"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305569356864"}}], "typeVars": [{"nodeId": ".1.140305618954816"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140305606267328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618954816"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305618954816"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305618954816": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618954816", "variance": "COVARIANT"}, "140305569356864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618954816"}]}, {"nodeId": "140305606343616"}, {"nodeId": "140305606343728"}, {"nodeId": "140305606343840"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305606343952"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305606343616": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606343728": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606343840": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606343952": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618955152": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669555584"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669555584": {"type": "Function", "typeVars": [".-1.140305669555584"], "argTypes": [{"nodeId": "140305618955152"}, {"nodeId": ".-1.140305669555584"}], "returnType": {"nodeId": ".-1.140305669555584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140305669555584": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140305694307744"}, "def": "140305669555584", "variance": "INVARIANT"}, "140305694307744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305618955488": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669556032"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305618955488"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643945120"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669556480"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618955488"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305618955152"}], "isAbstract": false}, "140305669556032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618955488", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305606267104"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140305618955488": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618955488", "variance": "COVARIANT"}, "140305606267104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305618955488"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305643945120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305618955488"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305669556480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618955488", "args": [{"nodeId": ".1.140305618955488"}]}, {"nodeId": "140305606344512"}, {"nodeId": "140305606492224"}, {"nodeId": "140305606492336"}], "returnType": {"nodeId": "140305606492448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606344512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606492224": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606492336": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606492448": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618955824": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669557376"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669557376": {"type": "Function", "typeVars": [".-1.140305669557376"], "argTypes": [{"nodeId": "140305618955824"}, {"nodeId": ".-1.140305669557376"}], "returnType": {"nodeId": ".-1.140305669557376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140305669557376": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140305694307968"}, "def": "140305669557376", "variance": "INVARIANT"}, "140305694307968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305618956160": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669557824"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305618956160"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643942880"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606268672"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618956160"}], "bases": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305618955824"}], "isAbstract": false}, "140305669557824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956160", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305606268896"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140305618956160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618956160", "variance": "COVARIANT"}, "140305606268896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719635504", "args": [{"nodeId": ".1.140305618956160"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305643942880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305618956160"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305606268672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956160", "args": [{"nodeId": ".1.140305618956160"}]}, {"nodeId": "140305606492896"}, {"nodeId": "140305606493008"}, {"nodeId": "140305606493120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305606493232"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140305606492896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606493008": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606493120": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305606493232": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305618956496": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560064"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close"]}, "140305669560064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956496"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618956832": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560512"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669560960"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618956832"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618956832"}]}], "isAbstract": false}, "140305669560512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956832", "args": [{"nodeId": ".1.140305618956832"}]}, {"nodeId": ".1.140305618956832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140305618956832": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140305618956496"}, "def": "140305618956832", "variance": "INVARIANT"}, "140305669560960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618956832", "args": [{"nodeId": ".1.140305618956832"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305618957168": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669561408"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["aclose"]}, "140305669561408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957168"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618957504": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669561856"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606269568"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618957504"}], "bases": [{"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618957504"}]}], "isAbstract": false}, "140305669561856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957504", "args": [{"nodeId": ".1.140305618957504"}]}, {"nodeId": ".1.140305618957504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140305618957504": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140305618957168"}, "def": "140305618957504", "variance": "INVARIANT"}, "140305606269568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957504", "args": [{"nodeId": ".1.140305618957504"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140305618957840": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669562752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669563200"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140305669562752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957840"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140305669563200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618957840"}, {"nodeId": "140305606493568"}, {"nodeId": "140305606493680"}, {"nodeId": "140305606493792"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606493680": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606493792": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618958176": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669563648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564096"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140305618958176"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618958176"}]}], "isAbstract": false}, "140305669563648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958176"}]}, {"nodeId": ".1.140305618958176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140305618958176": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958176", "variance": "INVARIANT"}, "140305627320544": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305669564096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958176"}]}, {"nodeId": "140305606493904"}, {"nodeId": "140305606494016"}, {"nodeId": "140305606494128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606494016": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606494128": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618958512": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140305618958512"}], "bases": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958512"}]}], "isAbstract": false}, ".1.140305618958512": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958512", "variance": "INVARIANT"}, "140305618958848": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140305618958848"}], "bases": [{"nodeId": "140305618958176", "args": [{"nodeId": ".1.140305618958848"}]}], "isAbstract": false}, ".1.140305618958848": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140305627320544"}, "def": "140305618958848", "variance": "INVARIANT"}, "140305618959184": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564544"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669564992"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669565440"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669565888"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669566336"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669566784"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669567232"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669564544": {"type": "Function", "typeVars": [".-1.140305669564544"], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305618954480", "args": [{"nodeId": ".-1.140305669564544"}]}], "returnType": {"nodeId": ".-1.140305669564544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305669564544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669564544", "variance": "INVARIANT"}, "140305669564992": {"type": "Function", "typeVars": [".-1.140305669564992"], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": ".-1.140305669564992"}], "returnType": {"nodeId": ".-1.140305669564992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669564992": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140305614604208"}, "def": "140305669564992", "variance": "INVARIANT"}, "140305614604208": {"type": "Union", "items": [{"nodeId": "140305618954480", "args": [{"nodeId": "A"}]}, {"nodeId": "140305614603984"}]}, "140305614603984": {"type": "TypeAlias", "target": {"nodeId": "140305636402432"}}, "140305636402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627326480"}, {"nodeId": "140305627325920"}, {"nodeId": "140305627326144"}], "returnType": {"nodeId": "140305627326256"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305627326480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305627325920": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627326144": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627326256": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305669565440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305606269792"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606269792": {"type": "Function", "typeVars": [".-2.140305606269792"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606269792"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606269792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606269792", "variance": "INVARIANT"}, "140305606270016": {"type": "Function", "typeVars": [".-2.140305606270016"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606270016"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270016": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270016", "variance": "INVARIANT"}, "140305669565888": {"type": "Function", "typeVars": [".-1.140305669565888"], "argTypes": [{"nodeId": ".-1.140305669565888"}], "returnType": {"nodeId": ".-1.140305669565888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669565888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669565888", "variance": "INVARIANT"}, "140305669566336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669566784": {"type": "Function", "typeVars": [".-1.140305669566784"], "argTypes": [{"nodeId": ".-1.140305669566784"}], "returnType": {"nodeId": ".-1.140305669566784"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305669566784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669566784", "variance": "INVARIANT"}, "140305669567232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959184"}, {"nodeId": "140305606493456"}, {"nodeId": "140305606494352"}, {"nodeId": "140305606494464"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606493456": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606494352": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606494464": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618959520": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669567680"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305606270240"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669568576"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569024"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569472"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669569920"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669568128"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669701696"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669702592"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669702144"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305669567680": {"type": "Function", "typeVars": [".-1.140305669567680"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305618954480", "args": [{"nodeId": ".-1.140305669567680"}]}], "returnType": {"nodeId": ".-1.140305669567680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305669567680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669567680", "variance": "INVARIANT"}, "140305606270240": {"type": "Function", "typeVars": [".-1.140305606270240"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305618954816", "args": [{"nodeId": ".-1.140305606270240"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140305606270240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140305606270240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270240", "variance": "INVARIANT"}, "140305669568576": {"type": "Function", "typeVars": [".-1.140305669568576"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": ".-1.140305669568576"}], "returnType": {"nodeId": ".-1.140305669568576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669568576": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140305614604208"}, "def": "140305669568576", "variance": "INVARIANT"}, "140305669569024": {"type": "Function", "typeVars": [".-1.140305669569024"], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": ".-1.140305669569024"}], "returnType": {"nodeId": ".-1.140305669569024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140305669569024": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140305614605216"}, "def": "140305669569024", "variance": "INVARIANT"}, "140305614605216": {"type": "Union", "items": [{"nodeId": "140305618954816", "args": [{"nodeId": "A"}]}, {"nodeId": "140305614605552"}]}, "140305614605552": {"type": "TypeAlias", "target": {"nodeId": "140305643942432"}}, "140305643942432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627330400"}, {"nodeId": "140305627328048"}, {"nodeId": "140305627330064"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": "140305627330176"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305627330400": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305627328048": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305627330064": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305627330176": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305669569472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606266656"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270464"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606266656": {"type": "Function", "typeVars": [".-2.140305606266656"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606266656"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606266656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606266656", "variance": "INVARIANT"}, "140305606270464": {"type": "Function", "typeVars": [".-2.140305606270464"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140305606270464"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270464", "variance": "INVARIANT"}, "140305669569920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606265760"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305606270912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140305606265760": {"type": "Function", "typeVars": [".-2.140305606265760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".-2.140305606265760"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606265760": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606265760", "variance": "INVARIANT"}, "140305606270912": {"type": "Function", "typeVars": [".-2.140305606270912"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140305719634496", "args": [{"nodeId": ".-2.140305606270912"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140305606270912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305606270912", "variance": "INVARIANT"}, "140305669568128": {"type": "Function", "typeVars": [".-1.140305669568128"], "argTypes": [{"nodeId": ".-1.140305669568128"}], "returnType": {"nodeId": ".-1.140305669568128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669568128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669568128", "variance": "INVARIANT"}, "140305669701696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669702592": {"type": "Function", "typeVars": [".-1.140305669702592"], "argTypes": [{"nodeId": ".-1.140305669702592"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140305669702592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305669702592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669702592", "variance": "INVARIANT"}, "140305669702144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959520"}, {"nodeId": "140305606495024"}, {"nodeId": "140305606495360"}, {"nodeId": "140305606495472"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140305719629456"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140305606495024": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606495360": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606495472": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305618959856": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305618959856"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606494912"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669704384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669704832"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669703936"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669705280"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140305618959856"}], "bases": [{"nodeId": "140305618954480", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305618954816", "args": [{"nodeId": ".1.140305618959856"}]}], "isAbstract": false}, ".1.140305618959856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618959856", "variance": "INVARIANT"}, "140305606494912": {"type": "Overloaded", "items": [{"nodeId": "140305669703040"}, {"nodeId": "140305669703488"}]}, "140305669703040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140305669703488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": ".1.140305618959856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140305669704384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}], "returnType": {"nodeId": ".1.140305618959856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305669704832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305669703936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305618959856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669705280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618959856", "args": [{"nodeId": ".1.140305618959856"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140305635979472": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585174368"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585172800"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585171904"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585171232"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585170560"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585169888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610334704"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610388784"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610389568"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610389792"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669716704"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669717152"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669717600"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305585169216"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610390912"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949024"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949472"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669949920"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635979472"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305585174368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635979472": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635979472", "variance": "INVARIANT"}, "140305585172800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305585171904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305610389344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610389344": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305585171232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305610389456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610389456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305585170560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305585169888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635979808": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590194400"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590194176"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590353984"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590354880"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610391360"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610491040"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610491824"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610492272"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610492720"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610493168"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610493840"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610494288"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669959328"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669959776"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305669960224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635979808"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305590194400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635979808": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635979808", "variance": "INVARIANT"}, "140305590194176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305590353984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305590354880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": ".1.140305635979808"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610391360": {"type": "Overloaded", "items": [{"nodeId": "140305669952160"}, {"nodeId": "140305627207648"}]}, "140305669952160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610491936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610491936": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627207648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492048"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492048": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610492160": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610491040": {"type": "Overloaded", "items": [{"nodeId": "140305669953056"}, {"nodeId": "140305627211008"}]}, "140305669953056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492384": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627211008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492496"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492496": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610492608": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610491824": {"type": "Overloaded", "items": [{"nodeId": "140305669953952"}, {"nodeId": "140305627207424"}]}, "140305669953952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610492832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492832": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305627207424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610492944"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610493056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610492944": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493056": {"type": "Union", "items": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "N"}]}, "140305610492272": {"type": "Overloaded", "items": [{"nodeId": "140305669954848"}, {"nodeId": "140305627201600"}]}, "140305669954848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305610493392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140305610493392": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305627201600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610493504"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305610493728"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140305610493504": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493728": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "A"}]}, "140305610492720": {"type": "Overloaded", "items": [{"nodeId": "140305669955744"}, {"nodeId": "140305627201824"}]}, "140305669955744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305627201824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494064"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610494064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493168": {"type": "Overloaded", "items": [{"nodeId": "140305669956640"}, {"nodeId": "140305627202048"}]}, "140305669956640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305627202048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494400"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140305610494400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610493840": {"type": "Overloaded", "items": [{"nodeId": "140305669957536"}, {"nodeId": "140305627205408"}]}, "140305669957536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610494624"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610494624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627204960"}]}, "140305627204960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305627205408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610494848"}, {"nodeId": "140305610495072"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610494848": {"type": "Union", "items": [{"nodeId": "140305610494736"}, {"nodeId": "140305627208544"}]}, "140305610494736": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627208544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "140305610494960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610494960": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610495072": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610494288": {"type": "Overloaded", "items": [{"nodeId": "140305669958432"}, {"nodeId": "140305627204288"}]}, "140305669958432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610495296"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610495520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610495296": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627205632"}]}, "140305627205632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610495520": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305627204288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610495744"}, {"nodeId": "140305610495968"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305610496192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140305610495744": {"type": "Union", "items": [{"nodeId": "140305610495632"}, {"nodeId": "140305627204736"}]}, "140305610495632": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305627204736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "140305610495856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305610495856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610495968": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610496192": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305669959328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669959776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635979808", "args": [{"nodeId": ".1.140305635979808"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305669960224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305610334704": {"type": "Overloaded", "items": [{"nodeId": "140305669712672"}, {"nodeId": "140305627216384"}]}, "140305669712672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140305627216384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610389680"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140305610389680": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305610388784": {"type": "Overloaded", "items": [{"nodeId": "140305669713568"}, {"nodeId": "140305669714016"}, {"nodeId": "140305669714464"}]}, "140305669713568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305669714016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610390016"}], "returnType": {"nodeId": "140305610390240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305610390016": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390240": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669714464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610390352"}, {"nodeId": "140305610390464"}, {"nodeId": "140305610390576"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610390800"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140305610390352": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390464": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305610390800": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305610389568": {"type": "Overloaded", "items": [{"nodeId": "140305669714912"}, {"nodeId": "140305669715360"}]}, "140305669714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610391136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610391136": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669715360": {"type": "Function", "typeVars": [".-1.140305669715360"], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": ".-1.140305669715360"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610391248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140305669715360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669715360", "variance": "INVARIANT"}, "140305610391248": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": ".-1.140305669715360"}]}, "140305610389792": {"type": "Overloaded", "items": [{"nodeId": "140305669715808"}, {"nodeId": "140305669716256"}]}, "140305669715808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305610490032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610490032": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669716256": {"type": "Function", "typeVars": [".-1.140305669716256"], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": ".-1.140305669716256"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305610490144"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140305669716256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305669716256", "variance": "INVARIANT"}, "140305610490144": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": ".-1.140305669716256"}]}, "140305669716704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490256"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490256": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305669717152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490368"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490368": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305669717600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610490480"}], "returnType": {"nodeId": "140305610490704"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305610490480": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305610490704": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305585169216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305610490928"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610490928": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305610390912": {"type": "Overloaded", "items": [{"nodeId": "140305669948128"}, {"nodeId": "140305669948576"}]}, "140305669948128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140305635979472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305669948576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "140305610491264"}], "returnType": {"nodeId": "140305610491488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610491264": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305610491488": {"type": "Union", "items": [{"nodeId": ".1.140305635979472"}, {"nodeId": "A"}]}, "140305669949024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}], "returnType": {"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305669949472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635979472", "args": [{"nodeId": ".1.140305635979472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305669949920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305619543296": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305628018864"}], "isAbstract": false}, "140305635967040": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598344192"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635967376"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305632063584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305593660832"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305598743040"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690829632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690830080"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614957792"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305598344192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305614960256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614960256": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305632063584": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305593660832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305598743040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690829632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "140305635967376"}, {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, {"nodeId": "140305614960704"}, {"nodeId": "140305614960816"}, {"nodeId": "140305614960928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140305614960704": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305614960816": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}, {"nodeId": "N"}]}, "140305614960928": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305690830080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305614957792": {"type": "Overloaded", "items": [{"nodeId": "140305690830528"}, {"nodeId": "140305690830976"}]}, "140305690830528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "N"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "140305635967040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140305690830976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635967040"}, {"nodeId": "140305719629120"}, {"nodeId": "140305614961488"}], "returnType": {"nodeId": "140305635970400"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305614961488": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305635970400": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594255616"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256064"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256288"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256512"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256736"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594256960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686082752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686083200"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594255616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305615229040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229040": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627774448"}]}, {"nodeId": "N"}]}, "140305594256064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305615229264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229264": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305594256288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305635970064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635970064": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686079616"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686079616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970064"}, {"nodeId": "140305615228816"}, {"nodeId": "140305615228928"}], "returnType": {"nodeId": "140305635967040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140305615228816": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "N"}]}, "140305615228928": {"type": "Union", "items": [{"nodeId": "140305627447360"}, {"nodeId": "N"}]}, "140305594256512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594256736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594256960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686082752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}, {"nodeId": "140305640406176"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305640406176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686083200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970400"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305635968048": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690194688"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690195136"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690195584"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690196032"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305690194688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140305690195136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690195584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305690196032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635969056": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594064608"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686070656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686071104"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686071552"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614958464"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}], "bases": [{"nodeId": "140305719634160", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "isAbstract": false}, "140305594064608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": "140305615225680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "COVARIANT"}, ".2.140305635969056": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "CONTRAVARIANT"}, ".3.140305635969056": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969056", "variance": "COVARIANT"}, "140305615225680": {"type": "Union", "items": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305686070656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686071104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686071552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": ".2.140305635969056"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614958464": {"type": "Overloaded", "items": [{"nodeId": "140305686072000"}, {"nodeId": "140305686072448"}]}, "140305686072000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": "0"}, {"nodeId": "140305615225904"}, {"nodeId": "140305615226016"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615225904": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615226016": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686072448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969056", "args": [{"nodeId": ".1.140305635969056"}, {"nodeId": ".2.140305635969056"}, {"nodeId": ".3.140305635969056"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615226128"}], "returnType": {"nodeId": ".1.140305635969056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615226128": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635969392": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594068416"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686073344"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686073792"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686074240"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614961376"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686075584"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686076032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}], "bases": [{"nodeId": "140305719635840", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "isAbstract": false}, "140305594068416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305615226352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969392": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969392", "variance": "COVARIANT"}, ".2.140305635969392": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969392", "variance": "CONTRAVARIANT"}, "140305615226352": {"type": "Union", "items": [{"nodeId": "140305719634496", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305686073344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686073792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686074240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": ".2.140305635969392"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305614961376": {"type": "Overloaded", "items": [{"nodeId": "140305640402816"}, {"nodeId": "140305686074688"}]}, "140305640402816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": "0"}, {"nodeId": "140305615227024"}, {"nodeId": "140305615227136"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615227024": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615227136": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686074688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615227360"}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140305635969392"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615227360": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686075584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969392", "args": [{"nodeId": ".1.140305635969392"}, {"nodeId": ".2.140305635969392"}]}], "returnType": {"nodeId": "140305719634832", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686076032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140305635969728": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594071776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686077376"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686077824"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686078272"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305615227248"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}], "bases": [{"nodeId": "140305719634832", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "isAbstract": false}, "140305594071776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "140305615228144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635969728": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "COVARIANT"}, ".2.140305635969728": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "CONTRAVARIANT"}, ".3.140305635969728": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635969728", "variance": "COVARIANT"}, "140305615228144": {"type": "Union", "items": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305615228032"}]}, {"nodeId": "N"}]}, "140305615228032": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305686077376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686077824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140305635969728"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686078272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": ".2.140305635969728"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305615227248": {"type": "Overloaded", "items": [{"nodeId": "140305686078720"}, {"nodeId": "140305686079168"}]}, "140305686078720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": "0"}, {"nodeId": "140305615228480"}, {"nodeId": "140305615228592"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615228480": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "140305719629120"}]}, "140305615228592": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686079168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635969728", "args": [{"nodeId": ".1.140305635969728"}, {"nodeId": ".2.140305635969728"}, {"nodeId": ".3.140305635969728"}]}, {"nodeId": "140305627455424"}, {"nodeId": "N"}, {"nodeId": "140305615228704"}], "returnType": {"nodeId": ".1.140305635969728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140305615228704": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305635970736": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258080"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258528"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594258752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686084992"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594258080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305615229936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305615229936": {"type": "Union", "items": [{"nodeId": "140305719629120"}, {"nodeId": "140305635968720"}]}, "140305594258528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594258752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686084992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635970736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305635971072": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594259872"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594260544"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594260768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685841280"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685841728"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594259872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594260544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594260768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685841280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685841728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971072"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305635971408": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594261888"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262336"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262560"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594262784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685843968"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685844416"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685844864"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594261888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594262784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685843968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685844416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305685844864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971408"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635971744": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594264800"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594265248"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594265472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685846656"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685847104"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594264800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594265248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594265472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685846656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685847104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635971744"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305635972080": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594266592"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594267040"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594267264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685848896"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305685849344"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594266592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594267040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594267264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305685848896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305685849344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635972080"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140305635973088": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322496"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322720"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594322944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686184448"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686184896"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686185344"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594322496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594322720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594322944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686184448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686184896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305686185344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973088"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305635973424": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324064"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324512"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305594324736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686187136"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686187584"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686188032"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305594324064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594324512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305594324736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}], "returnType": {"nodeId": "140305627447360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686187136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}, {"nodeId": "140305627447360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686187584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305686188032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635973424"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305635974096": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686194304"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686194304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635974096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305627772096": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686196768"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686197216"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686197664"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686196768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686197216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305686197664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772096"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627772432": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627767056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686199456"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686199904"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690263840"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690264288"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690264736"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690265184"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690265632"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266080"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266528"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690266976"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}], "isAbstract": true}, "140305686199456": {"type": "Function", "typeVars": [".-1.140305686199456"], "argTypes": [{"nodeId": ".-1.140305686199456"}], "returnType": {"nodeId": ".-1.140305686199456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305686199456": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686199456", "variance": "INVARIANT"}, "140305686199904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140305690263840": {"type": "Function", "typeVars": [".-1.140305690263840"], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}, {"nodeId": ".-1.140305690263840"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140305690263840": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690263840", "variance": "INVARIANT"}, "140305690264288": {"type": "Function", "typeVars": [".-1.140305690264288"], "argTypes": [{"nodeId": ".-1.140305690264288"}, {"nodeId": ".-1.140305690264288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140305690264288": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690264288", "variance": "INVARIANT"}, "140305690264736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765712", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690265184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765040", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690265632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}], "returnType": {"nodeId": "140305627765376", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305719629120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690266080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627772432"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690266528": {"type": "Function", "typeVars": [".-1.140305690266528"], "argTypes": [{"nodeId": ".-1.140305690266528"}, {"nodeId": ".-1.140305690266528"}], "returnType": {"nodeId": ".-1.140305690266528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690266528": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690266528", "variance": "INVARIANT"}, "140305690266976": {"type": "Function", "typeVars": [".-1.140305690266976"], "argTypes": [{"nodeId": ".-1.140305690266976"}, {"nodeId": ".-1.140305690266976"}], "returnType": {"nodeId": ".-1.140305690266976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305690266976": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690266976", "variance": "INVARIANT"}, "140305627773104": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305614674560"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305597901376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690274592"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690275488"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140305614674560": {"type": "Overloaded", "items": [{"nodeId": "140305690273248"}, {"nodeId": "140305690273696"}]}, "140305690273248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305614781824"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140305614781824": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "140305690273696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140305597901376": {"type": "Function", "typeVars": [".-1.140305597901376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140305597901376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140305597901376": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305597901376", "variance": "INVARIANT"}, "140305690274592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773104"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305690275488": {"type": "Function", "typeVars": [".-1.140305690275488"], "argTypes": [{"nodeId": ".-1.140305690275488"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305690275488"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140305690275488": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305690275488", "variance": "INVARIANT"}, "140305627773440": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631852832"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631849696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690275936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690276384"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690276832"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631852832": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305631849696": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690275936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}, {"nodeId": "140305614773536"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305614777680"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140305614773536": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305614777680": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690276384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305690276832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627773440"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305627772096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305627774112": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631850480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690279072"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305690279520"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631850480": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690279072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774112"}, {"nodeId": "140305627449712"}, {"nodeId": "140305614778464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140305614778464": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305690279520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627774112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305614576256": {"type": "Concrete", "module": "time", "simpleName": "struct_time", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305548305888"}}, {"kind": "Variable", "name": "tm_year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275328"}}, {"kind": "Variable", "name": "tm_mon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275552"}}, {"kind": "Variable", "name": "tm_mday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543275104"}}, {"kind": "Variable", "name": "tm_hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274880"}}, {"kind": "Variable", "name": "tm_min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274656"}}, {"kind": "Variable", "name": "tm_sec", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543274432"}}, {"kind": "Variable", "name": "tm_wday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273984"}}, {"kind": "Variable", "name": "tm_yday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273760"}}, {"kind": "Variable", "name": "tm_isdst", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543273536"}}, {"kind": "Variable", "name": "tm_zone", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543269728"}}, {"kind": "Variable", "name": "tm_gmtoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305543268608"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305543431776"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305548305888": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305543275328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543233232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543233232": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543275552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232672"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232672": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543275104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232448"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232448": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232224"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232224": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543232000"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543232000": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231888"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231888": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231664"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231552"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231552": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231440"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231440": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543269728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231328"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231328": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543268608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305543231216"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305543231216": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305543431776": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140305627448032"}]}, "140305614576592": {"type": "Protocol", "module": "time", "simpleName": "_ClockInfo", "members": [{"kind": "Variable", "name": "adjustable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "implementation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "monotonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448368"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["adjustable", "implementation", "monotonic", "resolution"]}, "140305619090256": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556631424"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686433344"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614669296"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225392"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225504"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305556631424": {"type": "Tuple", "items": []}, "140305686433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619090256"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140305614669296": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619225392": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619225504": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619090592": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619090928": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619337280": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556816272"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}], "typeVars": [], "bases": [{"nodeId": "140305619090928"}], "isAbstract": false}, "140305556816272": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619337616": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556817280"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556817280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619347696": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619337952": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556818288"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619337280"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556818288": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619338960": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619338288": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556819632"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556819632": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619338624": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556820528"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090592"}], "isAbstract": false}, "140305556820528": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619339296": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556822544"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614676688"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556822544": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619534896": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552245248"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232224"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535232"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619232448"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668960"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552245248": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619535232": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552246480"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614669072"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552246480": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614669072": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619232224": {"type": "Union", "items": [{"nodeId": "140305619535232"}, {"nodeId": "N"}]}, "140305619232448": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305614668960": {"type": "Union", "items": [{"nodeId": "140305619535232"}, {"nodeId": "N"}]}, "140305614676688": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619339632": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556824000"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671872"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556824000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614671872": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619339968": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556825232"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535568"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556825232": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619535568": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552247376"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232560"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552247376": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232560": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619340304": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556825680"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614672320"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556825680": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614672320": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619340640": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556826576"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556826576": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619340976": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556827920"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556827920": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619341312": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556829040"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668176"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619458016"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556829040": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668176": {"type": "Union", "items": [{"nodeId": "140305619454656"}, {"nodeId": "140305619453312"}, {"nodeId": "140305619453984"}]}, "140305619454656": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552008112"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552008112": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619455664": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619453312": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552002848"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552002848": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619453984": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552006208"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552006208": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619458016": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619341648": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556830384"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671088"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668288"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556830384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614671088": {"type": "Union", "items": [{"nodeId": "140305619454656"}, {"nodeId": "140305619453312"}, {"nodeId": "140305619453984"}]}, "140305614668288": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619341984": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305556831840"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305556831840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342320": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551688752"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551688752": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342656": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551689648"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551689648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619342992": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551690768"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551690768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619343328": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551691888"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536240"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551691888": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619536240": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552249392"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232672"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552249392": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232672": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619343664": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551693008"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536240"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551693008": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619344000": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551693904"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668400"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668624"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551693904": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668400": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305614668624": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619344336": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551695360"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619534560"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551695360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619534560": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552013712"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232000"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232112"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619534224"}], "isAbstract": false}, "140305552013712": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232000": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619232112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619534224": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619344672": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551696704"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668736"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551696704": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668736": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619345008": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551697488"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535904"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551697488": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619535904": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552248384"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232336"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552248384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619232336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619345344": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551698832"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614668848"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535904"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551698832": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305614668848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619345680": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551699504"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551699504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346016": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551700400"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551700400": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346352": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551701296"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305551701296": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619346688": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619347024": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619347360": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305619348032": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551702416"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619457008"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551702416": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619457008": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619348368": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551703648"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619458016"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551703648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619348704": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551852144"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619462720"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551852144": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619462720": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619349040": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551853152"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619534896"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551853152": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619349376": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551854384"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551854384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619349712": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551855280"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619226176"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551855280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619226176": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619350048": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551856064"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551856064": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619350384": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551857184"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551857184": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619533888": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552012704"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552012704": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619350720": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551858192"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551858192": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351056": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551859424"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551859424": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351392": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551860320"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619533888"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551860320": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619351728": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551861104"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551861104": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619352064": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551862000"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614673104"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551862000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305614673104": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619352400": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551862896"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551862896": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619352736": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551864240"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619464400"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551864240": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619464400": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619353072": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551865360"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619535568"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551865360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619451968": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551866480"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225952"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551866480": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619225952": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619452304": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305551867152"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305551867152": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619452640": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552000048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619225728"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231440"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552000048": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619225728": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619231440": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448704"}]}, "140305619452976": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552001616"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619454656"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552001616": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619453648": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552004528"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231664"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231776"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619231888"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552004528": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619231664": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619231776": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619231888": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619454320": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552007104"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552007104": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619454992": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552009120"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552009120": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619455328": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552010128"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619455664"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619347696"}], "isAbstract": false}, "140305552010128": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619456000": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619456336": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619456672": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619455664"}], "isAbstract": false}, "140305619457344": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619457008"}], "isAbstract": false}, "140305619457680": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619457008"}], "isAbstract": false}, "140305619458352": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619458688": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459024": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459360": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619459696": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460032": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460368": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619460704": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461040": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461376": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619461712": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619462048": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619462384": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619458016"}], "isAbstract": false}, "140305619463056": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619463392": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619463728": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619464064": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619462720"}], "isAbstract": false}, "140305619464736": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465072": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465408": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619465744": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466080": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466416": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619466752": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467088": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467424": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619467760": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619464400"}], "isAbstract": false}, "140305619536576": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552250400"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619537248"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619338960"}], "isAbstract": false}, "140305552250400": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619537248": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251072"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619536912"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232784"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619338960"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305552251072": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619536912": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619090256"}], "isAbstract": false}, "140305619232784": {"type": "Union", "items": [{"nodeId": "140305619347696"}, {"nodeId": "N"}]}, "140305619537584": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251184"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251184": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619537920": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251520"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619232896"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251520": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619232896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140305619538256": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552251856"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552251856": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619538592": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552252192"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233232"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552252192": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305619233232": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619538928": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552252976"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619347696"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233344"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552252976": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619233344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619539264": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552253760"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619347696"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552253760": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619539600": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552253984"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233456"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619233568"}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552253984": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619233456": {"type": "Union", "items": [{"nodeId": "140305619536912"}, {"nodeId": "N"}]}, "140305619233568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619539936": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305552254208"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305619536912"}]}}], "typeVars": [], "bases": [{"nodeId": "140305619536912"}], "isAbstract": false}, "140305552254208": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305628004752": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627457440"}, {"nodeId": "140305627462816"}], "isAbstract": false}, "140305628005088": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686434912"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686435360"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686435808"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686436256"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686436704"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686437152"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686437600"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438048"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438496"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305640401248"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686438944"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686439392"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686439840"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686440288"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686440736"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686441184"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631703808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686441632"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686442080"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686442528"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577282464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686443424"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305686434912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686435360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686435808": {"type": "Function", "typeVars": [".-1.140305686435808"], "argTypes": [{"nodeId": ".-1.140305686435808"}], "returnType": {"nodeId": ".-1.140305686435808"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686435808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686435808", "variance": "INVARIANT"}, "140305686436256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611065936"}, {"nodeId": "140305611066048"}, {"nodeId": "140305611066160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305611065936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305611066048": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305611066160": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305686436704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686437152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686437600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686438048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305640401248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686438944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686439392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305686439840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686440288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611066272": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686441184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305631703808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305686441632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305611066384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066384": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686442080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066496"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611066496": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686442528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305577282464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686443424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005088"}, {"nodeId": "140305611066608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140305611066608": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628005424": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686443872"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686444320"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686444768"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686445216"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305686443872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686444320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305611066720"}], "returnType": {"nodeId": "140305611066832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066720": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305611066832": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686444768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305611066944"}], "returnType": {"nodeId": "140305611067056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611066944": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305611067056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686445216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305611067168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611067168": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305628005760": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628005424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686445664"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686692128"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686692576"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693024"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693472"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686693920"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305686445664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}], "returnType": {"nodeId": "140305628005424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686692128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067280"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067280": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305686692576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067392"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067392": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686693024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067504"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611067504": {"type": "TypeAlias", "target": {"nodeId": "140305619229200"}}, "140305686693472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305611067616"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611067616": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305686693920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628005760"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628006096": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686694368"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577293216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686695264"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686695712"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686696160"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140305628005424"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305619692992": {"type": "TypeAlias", "target": {"nodeId": "140305619122912"}}, "140305619122912": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305619122688"}]}, "140305619122688": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619112272": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627766048"}]}]}, "140305619543968": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581390784"}}], "typeVars": [{"nodeId": ".1.140305619543968"}], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__fspath__"]}, "140305581390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619543968", "args": [{"nodeId": ".1.140305619543968"}]}], "returnType": {"nodeId": ".1.140305619543968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619543968": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619543968", "variance": "COVARIANT"}, "140305686694368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305611067728"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611067952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140305611067728": {"type": "TypeAlias", "target": {"nodeId": "140305619122912"}}, "140305611067952": {"type": "Union", "items": [{"nodeId": "140305611067840"}, {"nodeId": "N"}]}, "140305611067840": {"type": "TypeAlias", "target": {"nodeId": "140305635951776"}}, "140305635951776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305577293216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686695264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305611068064"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611068064": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686695712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006096"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686696160": {"type": "Function", "typeVars": [".-1.140305686696160"], "argTypes": [{"nodeId": ".-1.140305686696160"}], "returnType": {"nodeId": ".-1.140305686696160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686696160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686696160", "variance": "INVARIANT"}, "140305628006432": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686696608"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697056"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697504"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686697952"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686698400"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686696608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}, {"nodeId": "140305611068176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140305611068176": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305686697056": {"type": "Function", "typeVars": [".-1.140305686697056"], "argTypes": [{"nodeId": ".-1.140305686697056"}], "returnType": {"nodeId": ".-1.140305686697056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686697056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686697056", "variance": "INVARIANT"}, "140305686697504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}], "returnType": {"nodeId": "140305627450048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006432"}, {"nodeId": "140305611068288"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611068288": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305628006768": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686698848"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686699296"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686699744"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686698848": {"type": "Function", "typeVars": [".-1.140305686698848"], "argTypes": [{"nodeId": ".-1.140305686698848"}], "returnType": {"nodeId": ".-1.140305686698848"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686698848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686698848", "variance": "INVARIANT"}, "140305686699296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006768"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140305686699744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628006768"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628007104": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686700192"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686700640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701088"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}, {"nodeId": "140305627763360"}], "isAbstract": false}, "140305686700192": {"type": "Function", "typeVars": [".-1.140305686700192"], "argTypes": [{"nodeId": ".-1.140305686700192"}], "returnType": {"nodeId": ".-1.140305686700192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686700192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686700192", "variance": "INVARIANT"}, "140305686700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007104"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140305686701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007104"}, {"nodeId": "140305611068400"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611068400": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305628007440": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701536"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686701984"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140305628006768"}, {"nodeId": "140305628007104"}], "isAbstract": false}, "140305686701536": {"type": "Function", "typeVars": [".-1.140305686701536"], "argTypes": [{"nodeId": ".-1.140305686701536"}], "returnType": {"nodeId": ".-1.140305686701536"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305686701536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305686701536", "variance": "INVARIANT"}, "140305686701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007440"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305628007776": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686702432"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686702880"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140305628005760"}], "isAbstract": false}, "140305686702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007776"}, {"nodeId": "140305628005424"}, {"nodeId": "140305628005424"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140305686702880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628007776"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305628008112": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614769840"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686703328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686703776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686704224"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686704672"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686705120"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686705568"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706016"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706464"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140305628005088"}], "isAbstract": false}, "140305614769840": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619692656": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305686703328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305686703776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305686704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305686705120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305686705568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305686706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008112"}, {"nodeId": "140305611068512"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305611068512": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305628008448": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305686706912"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577704608"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577771072"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577772416"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577772864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665295520"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665295968"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665296416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665296864"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665297312"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665297760"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665298208"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665298656"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140305628008112"}, {"nodeId": "140305627763696"}], "isAbstract": false}, "140305686706912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305611068624"}, {"nodeId": "140305611068736"}, {"nodeId": "140305611068848"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140305611068624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611068736": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611068848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305577704608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577771072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577772416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305577772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665295520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305611068960"}, {"nodeId": "140305611069072"}, {"nodeId": "140305611069184"}, {"nodeId": "140305611069296"}, {"nodeId": "140305611069408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140305611068960": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069072": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069184": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069296": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305611069408": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305665295968": {"type": "Function", "typeVars": [".-1.140305665295968"], "argTypes": [{"nodeId": ".-1.140305665295968"}], "returnType": {"nodeId": ".-1.140305665295968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305665295968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305665295968", "variance": "INVARIANT"}, "140305665296416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665296864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665297312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305665297760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665298208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305665298656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008448"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140305628008784": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665299104"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665299552"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140305628008448"}], "isAbstract": false}, "140305665299104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008784"}, {"nodeId": "140305611069520"}, {"nodeId": "140305611069632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140305611069520": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611069632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305665299552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628008784"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614575584": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665300000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665300448"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305577784064"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665301344"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305619079504"}], "isAbstract": false}, "140305665300000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611069744"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140305611069744": {"type": "Union", "items": [{"nodeId": "140305619079504"}, {"nodeId": "N"}]}, "140305619079504": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648546336"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560222656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648547232"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648547680"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648548128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305648546336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305606893280"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305606893280": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305648547232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648547680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}], "returnType": {"nodeId": "140305606893504"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606893504": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305648548128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079504"}, {"nodeId": "140305606893728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140305606893728": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305665300448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611069968"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305611069968": {"type": "Union", "items": [{"nodeId": "140305611069856"}, {"nodeId": "140305627449712"}]}, "140305611069856": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305577784064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}], "returnType": {"nodeId": "140305611070080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611070080": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305665301344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575584"}, {"nodeId": "140305611070304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305611070304": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305618823744": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618823408"}], "isAbstract": false}, "140305614570208": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665439584"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440032"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440480"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665440928"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665441376"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305614570208"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305665439584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140305614570208": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140305618823408"}, "def": "140305614570208", "variance": "INVARIANT"}, "140305665440032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665440480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665440928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570208", "args": [{"nodeId": ".1.140305614570208"}]}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".1.140305614570208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140305665441376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305618824080": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665671456"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665671904"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140305627447360"}], "isAbstract": false}, "140305665671456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665671904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618826096": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305618827104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618827440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822496"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627766048"}]}], "isAbstract": false}, "140305665822496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618827440"}, {"nodeId": "140305606340592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340592": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305618827776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665822944"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614603648"}]}], "isAbstract": false}, "140305665822944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618827776"}, {"nodeId": "140305606340704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340704": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305614603648": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305618828112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618828448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618828784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305618944400": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618944736": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945072": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945408": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618945744": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946080": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946416": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618946752": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618947760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948432": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618948768": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618949776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618950112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305618950448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614602528"}]}], "isAbstract": false}, "140305614602528": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305618950784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305618951120": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665823392"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618825088"}, {"nodeId": "140305618826768", "args": [{"nodeId": "140305614603536"}]}], "isAbstract": false}, "140305665823392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618951120"}, {"nodeId": "140305606340816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305606340816": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305614603536": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618951456": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665823840"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618826768", "args": [{"nodeId": "140305719629456"}]}], "isAbstract": false}, "140305665823840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618951456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140305618951792": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140305618951792"}], "bases": [{"nodeId": "140305618824752"}, {"nodeId": "140305618826768", "args": [{"nodeId": ".1.140305618951792"}]}], "isAbstract": false}, ".1.140305618951792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305618951792", "variance": "INVARIANT"}, "140305618952128": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305618952464": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "140305627324240"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665824288"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305618824080"}], "isAbstract": false}, "140305627324240": {"type": "Union", "items": [{"nodeId": "140305627316512"}, {"nodeId": "140305627316288"}]}, "140305627316512": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "0"}]}, "140305627316288": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "0"}, {"nodeId": "140305627448032"}]}, "140305665824288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952464"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305618952128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305618952800": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665824736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665825184"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665825632"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140305618824416"}], "isAbstract": false}, "140305665824736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140305665825184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665825632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618952800"}, {"nodeId": "140305627449712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305618953136": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618952800"}], "isAbstract": false}, "140305618953472": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618952800"}], "isAbstract": false}, "140305618953808": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618953472"}], "isAbstract": false}, "140305618954144": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618953472"}], "isAbstract": false}, "140305614570880": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606339696"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305569146336"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606339808"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305569146784"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665827872"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606341376"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305606341488"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665830112"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665830560"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305665831008"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305614570880"}], "bases": [{"nodeId": "140305618824416"}], "isAbstract": true}, "140305606339696": {"type": "Overloaded", "items": [{"nodeId": "140305665826080"}]}, "140305665826080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305614570880": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140305618824416"}, "def": "140305614570880", "variance": "INVARIANT"}, "140305569146336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606339808": {"type": "Overloaded", "items": [{"nodeId": "140305665826976"}]}, "140305665826976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305569146784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305665827872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140305606341376": {"type": "Overloaded", "items": [{"nodeId": "140305665828320"}, {"nodeId": "140305665828768"}]}, "140305665828320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305665828768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627450384"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305606341488": {"type": "Overloaded", "items": [{"nodeId": "140305665829216"}, {"nodeId": "140305665829664"}]}, "140305665829216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627448032"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665829664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}, {"nodeId": "140305627450384"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305665830112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665830560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614570880", "args": [{"nodeId": ".1.140305614570880"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305665831008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305635980144": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656293728"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656294176"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["read", "readline"]}, "140305656293728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980144"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656294176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980144"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635980816": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635981152": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305635980816"}], "isAbstract": false}, "140305635981488": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305635980816"}], "isAbstract": false}, "140305635981824": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627447360"}, {"nodeId": "140305635955584"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627447360"}, {"nodeId": "140305643939744"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656463648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656464096"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656464992"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656465440"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656465888"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305635955584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140305635882848"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305635882848": {"type": "TypeAlias", "target": {"nodeId": "140305635877360"}}, "140305635877360": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305635880944"}, {"nodeId": "140305635879824"}, {"nodeId": "140305635878480"}, {"nodeId": "140305635877248"}]}, "140305635880944": {"type": "Tuple", "items": [{"nodeId": "140305636401312"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}]}, "140305636401312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635879824": {"type": "Tuple", "items": [{"nodeId": "140305636401760"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140305636401760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878480": {"type": "Tuple", "items": [{"nodeId": "140305635954912"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140305635878368"}]}, "140305635954912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878368": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305635877248": {"type": "Tuple", "items": [{"nodeId": "140305635955136"}, {"nodeId": "140305627450720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140305635878144"}, {"nodeId": "140305635877136"}]}, "140305635955136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305635878144": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305635877136": {"type": "Union", "items": [{"nodeId": "140305719633488", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305643939744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635982160": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627448032"}, {"nodeId": "140305635954464"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656466336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656467232"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656467680"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656468128"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305635954464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656466336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "140305635980144"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610610880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140305610610880": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140305656467232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656467680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656468128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982160"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140305656463648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "140305619089248", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610609984"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610610096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140305610609984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610610096": {"type": "TypeAlias", "target": {"nodeId": "140305631416544"}}, "140305631416544": {"type": "Union", "items": [{"nodeId": "140305711245664"}, {"nodeId": "N"}]}, "140305711245664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635980480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656464096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305656464992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656465440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656465888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635981824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140305635982496": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656470144"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471040"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471488"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656471936"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656472384"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656472832"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656473280"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656473728"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656474176"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656474624"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610607408"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140305635982496"}], "bases": [{"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}], "isAbstract": false}, "140305656470144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638528", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140305635982496": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635982496", "variance": "INVARIANT"}, "140305656471040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": ".1.140305635982496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140305656471488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305656471936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656472384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": ".1.140305635982496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305656472832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305656473280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": ".1.140305635982496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656473728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305656474176": {"type": "Function", "typeVars": [".-1.140305656474176", ".-2.140305656474176"], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305656474176"}, {"nodeId": ".-2.140305656474176"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305610617264"}, {"nodeId": "140305610617376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656474176": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474176", "variance": "INVARIANT"}, ".-2.140305656474176": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474176", "variance": "INVARIANT"}, "140305610617264": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-1.140305656474176"}]}, "140305610617376": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-2.140305656474176"}]}, "140305656474624": {"type": "Function", "typeVars": [".-1.140305656474624", ".-2.140305656474624"], "argTypes": [{"nodeId": "140305635982496", "args": [{"nodeId": ".1.140305635982496"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": ".-1.140305656474624"}, {"nodeId": ".-2.140305656474624"}]}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305610617488"}, {"nodeId": "140305610617824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656474624": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474624", "variance": "INVARIANT"}, ".-2.140305656474624": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656474624", "variance": "INVARIANT"}, "140305610617488": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-1.140305656474624"}]}, "140305610617824": {"type": "Union", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".-2.140305656474624"}]}, "140305610607408": {"type": "Overloaded", "items": [{"nodeId": "140305656475072"}, {"nodeId": "140305656475520"}]}, "140305656475072": {"type": "Function", "typeVars": [".-1.140305656475072"], "argTypes": [{"nodeId": ".-1.140305656475072"}, {"nodeId": "140305719638192", "args": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}], "returnType": {"nodeId": ".-1.140305656475072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656475072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656475072", "variance": "INVARIANT"}, "140305656475520": {"type": "Function", "typeVars": [".-1.140305656475520"], "argTypes": [{"nodeId": ".-1.140305656475520"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305610618160"}]}], "returnType": {"nodeId": ".-1.140305656475520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305656475520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656475520", "variance": "INVARIANT"}, "140305610618160": {"type": "Tuple", "items": [{"nodeId": ".1.140305635982496"}, {"nodeId": ".1.140305635982496"}]}, "140305619543632": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581620720"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581430080"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427840"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581428064"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426048"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427392"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426944"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581427168"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426496"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426720"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425600"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425824"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581426272"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581425376"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581424704"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581424928"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581391232"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305581620720": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581430080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618608": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618720"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618720": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581428064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618832"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610618944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610618944": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619056"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619056": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619168"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619168": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581427168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619280"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619280": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619392"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619392": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619504"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619504": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619616"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619616": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619728"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619728": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581426272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619840": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581425376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610619952"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610619952": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581424704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620064"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620064": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581424928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620176"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620176": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610620288"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610620288": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305635982832": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581386976"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581387200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720000"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720448"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652720896"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652721344"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652721792"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652722240"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652722688"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635982832"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305581386976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305635982832": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635982832", "variance": "INVARIANT"}, "140305581387200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652720000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652720448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305652720896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305652721344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652721792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305610620736"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305610620736": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305614766928": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305652722240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305635982832"}]}], "returnType": {"nodeId": ".1.140305635982832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652722688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305619544304": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581808592"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581380928"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379584"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379360"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581379136"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378912"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378688"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378464"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378240"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581378016"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581377792"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581377568"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305581808592": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610817824"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610817824": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610817936"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610817936": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818048"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818048": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818160"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818160": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818272"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818272": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818384"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818384": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818496"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818496": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818608"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818608": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581378016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818720"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818720": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818832"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818832": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581377568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610818944"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610818944": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619544640": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581810272"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581376000"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581375072"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581370592"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581374624"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581373952"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305581810272": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819504"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819504": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581375072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819616"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819616": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581370592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819728"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819728": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581374624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819840"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819840": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581373952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610819952"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610819952": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305619544976": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581813744"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581368352"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581367904"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305581813744": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581368352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610828464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610828464": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581367904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610828576"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610828576": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619545312": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653247424"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653247872"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305653248320"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140305619545312"}], "bases": [{"nodeId": "140305719633488", "args": [{"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305619545312"}]}]}, {"nodeId": "140305618954480", "args": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}]}], "isAbstract": false}, "140305653247424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}], "returnType": {"nodeId": "140305635982832", "args": [{"nodeId": ".1.140305619545312"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140305619545312": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305619545312", "variance": "INVARIANT"}, "140305653247872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140305653248320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545312", "args": [{"nodeId": ".1.140305619545312"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619545648": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648135616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648136064"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305628008448"}], "isAbstract": false}, "140305648135616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545648"}, {"nodeId": "140305628008448"}, {"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140305635977120": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614681952"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614680048"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619681568"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631420128"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631418560"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305615410048"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632167520"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632167968"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632168416"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632168864"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632169312"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632169760"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632170208"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632170656"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632171104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635977120"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614681952": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305619585392": {"type": "Union", "items": [{"nodeId": "140305619590992"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305619591104"}]}]}, "140305619590992": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619591104": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305614680048": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, ".1.140305635977120": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635977120", "variance": "INVARIANT"}, "140305619681568": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, "140305631420128": {"type": "Union", "items": [{"nodeId": "140305627763024", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "N"}]}, "140305631418560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "A"}]}, "140305615410048": {"type": "Overloaded", "items": [{"nodeId": "140305627212352"}, {"nodeId": "140305631700896"}, {"nodeId": "140305631701344"}, {"nodeId": "140305631701792"}, {"nodeId": "140305631702240"}, {"nodeId": "140305631702688"}]}, "140305627212352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610334816"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610335040"}, {"nodeId": "140305610335264"}, {"nodeId": "140305610335488"}, {"nodeId": "140305610335712"}, {"nodeId": "140305610335824"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610336160"}, {"nodeId": "140305610336384"}, {"nodeId": "140305610336496"}, {"nodeId": "140305610336720"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610336832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610336944"}, {"nodeId": "140305610337056"}, {"nodeId": "140305610337168"}, {"nodeId": "140305610337392"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610334816": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610335040": {"type": "Union", "items": [{"nodeId": "140305610334928"}, {"nodeId": "N"}]}, "140305610334928": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610335264": {"type": "Union", "items": [{"nodeId": "140305610335152"}, {"nodeId": "N"}]}, "140305610335152": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305631422480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}]}, "140305610335488": {"type": "Union", "items": [{"nodeId": "140305610335376"}, {"nodeId": "N"}]}, "140305610335376": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610335712": {"type": "Union", "items": [{"nodeId": "140305610335600"}, {"nodeId": "N"}]}, "140305610335600": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610335824": {"type": "Union", "items": [{"nodeId": "140305627213248"}, {"nodeId": "N"}]}, "140305627213248": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610336160": {"type": "Union", "items": [{"nodeId": "140305610336048"}, {"nodeId": "N"}]}, "140305610336048": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610336384": {"type": "Union", "items": [{"nodeId": "140305610336272"}, {"nodeId": "N"}]}, "140305610336272": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305619681904": {"type": "Union", "items": [{"nodeId": "140305719638192", "args": [{"nodeId": "140305627766048"}, {"nodeId": "140305619594800"}]}, {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305619681456"}]}]}, "140305619594800": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305619681456": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610336496": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610336720": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610336832": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610336944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610337056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610337168": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610337392": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610337280"}]}, {"nodeId": "N"}]}, "140305610337280": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631700896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610337504"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610337728"}, {"nodeId": "140305610337952"}, {"nodeId": "140305610338176"}, {"nodeId": "140305610338400"}, {"nodeId": "140305610338512"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610338848"}, {"nodeId": "140305610339072"}, {"nodeId": "140305610339184"}, {"nodeId": "140305610339408"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610339520"}, {"nodeId": "140305610339632"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610339744"}, {"nodeId": "140305610339856"}, {"nodeId": "140305610340080"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610337504": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610337728": {"type": "Union", "items": [{"nodeId": "140305610337616"}, {"nodeId": "N"}]}, "140305610337616": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610337952": {"type": "Union", "items": [{"nodeId": "140305610337840"}, {"nodeId": "N"}]}, "140305610337840": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338176": {"type": "Union", "items": [{"nodeId": "140305610338064"}, {"nodeId": "N"}]}, "140305610338064": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338400": {"type": "Union", "items": [{"nodeId": "140305610338288"}, {"nodeId": "N"}]}, "140305610338288": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610338512": {"type": "Union", "items": [{"nodeId": "140305627208096"}, {"nodeId": "N"}]}, "140305627208096": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610338848": {"type": "Union", "items": [{"nodeId": "140305610338736"}, {"nodeId": "N"}]}, "140305610338736": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610339072": {"type": "Union", "items": [{"nodeId": "140305610338960"}, {"nodeId": "N"}]}, "140305610338960": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610339184": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610339408": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610339520": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610339632": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610339744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610339856": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610340080": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610339968"}]}, {"nodeId": "N"}]}, "140305610339968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631701344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610340192"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610340416"}, {"nodeId": "140305610340640"}, {"nodeId": "140305610340864"}, {"nodeId": "140305610341088"}, {"nodeId": "140305610341200"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610341536"}, {"nodeId": "140305610341760"}, {"nodeId": "0"}, {"nodeId": "140305610342096"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610342208"}, {"nodeId": "140305610375232"}, {"nodeId": "140305610375344"}, {"nodeId": "140305610375456"}, {"nodeId": "140305610375568"}, {"nodeId": "140305610375792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610340192": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610340416": {"type": "Union", "items": [{"nodeId": "140305610340304"}, {"nodeId": "N"}]}, "140305610340304": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610340640": {"type": "Union", "items": [{"nodeId": "140305610340528"}, {"nodeId": "N"}]}, "140305610340528": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610340864": {"type": "Union", "items": [{"nodeId": "140305610340752"}, {"nodeId": "N"}]}, "140305610340752": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610341088": {"type": "Union", "items": [{"nodeId": "140305610340976"}, {"nodeId": "N"}]}, "140305610340976": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610341200": {"type": "Union", "items": [{"nodeId": "140305627211904"}, {"nodeId": "N"}]}, "140305627211904": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610341536": {"type": "Union", "items": [{"nodeId": "140305610341424"}, {"nodeId": "N"}]}, "140305610341424": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610341760": {"type": "Union", "items": [{"nodeId": "140305610341648"}, {"nodeId": "N"}]}, "140305610341648": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610342096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610342208": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610375232": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610375344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610375456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610375568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610375792": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610375680"}]}, {"nodeId": "N"}]}, "140305610375680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631701792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "140305610375904"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610376128"}, {"nodeId": "140305610376352"}, {"nodeId": "140305610376576"}, {"nodeId": "140305610376800"}, {"nodeId": "140305610376912"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610377248"}, {"nodeId": "140305610377472"}, {"nodeId": "140305610377584"}, {"nodeId": "140305610377808"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "0"}, {"nodeId": "140305610378032"}, {"nodeId": "140305610378144"}, {"nodeId": "140305610378256"}, {"nodeId": "140305610378368"}, {"nodeId": "140305610378592"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610375904": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610376128": {"type": "Union", "items": [{"nodeId": "140305610376016"}, {"nodeId": "N"}]}, "140305610376016": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610376352": {"type": "Union", "items": [{"nodeId": "140305610376240"}, {"nodeId": "N"}]}, "140305610376240": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376576": {"type": "Union", "items": [{"nodeId": "140305610376464"}, {"nodeId": "N"}]}, "140305610376464": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376800": {"type": "Union", "items": [{"nodeId": "140305610376688"}, {"nodeId": "N"}]}, "140305610376688": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610376912": {"type": "Union", "items": [{"nodeId": "140305627202944"}, {"nodeId": "N"}]}, "140305627202944": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610377248": {"type": "Union", "items": [{"nodeId": "140305610377136"}, {"nodeId": "N"}]}, "140305610377136": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610377472": {"type": "Union", "items": [{"nodeId": "140305610377360"}, {"nodeId": "N"}]}, "140305610377360": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610377584": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610377808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610378032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610378144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610378256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610378368": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610378592": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610378480"}]}, {"nodeId": "N"}]}, "140305610378480": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631702240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "140305627766048"}]}, {"nodeId": "140305610378704"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610378928"}, {"nodeId": "140305610379152"}, {"nodeId": "140305610379376"}, {"nodeId": "140305610379600"}, {"nodeId": "140305610379712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610380048"}, {"nodeId": "140305610380272"}, {"nodeId": "140305610380496"}, {"nodeId": "140305610380720"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610380944"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140305610381056"}, {"nodeId": "140305610381168"}, {"nodeId": "140305610381392"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610378704": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610378928": {"type": "Union", "items": [{"nodeId": "140305610378816"}, {"nodeId": "N"}]}, "140305610378816": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610379152": {"type": "Union", "items": [{"nodeId": "140305610379040"}, {"nodeId": "N"}]}, "140305610379040": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379376": {"type": "Union", "items": [{"nodeId": "140305610379264"}, {"nodeId": "N"}]}, "140305610379264": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379600": {"type": "Union", "items": [{"nodeId": "140305610379488"}, {"nodeId": "N"}]}, "140305610379488": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610379712": {"type": "Union", "items": [{"nodeId": "140305627206976"}, {"nodeId": "N"}]}, "140305627206976": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610380048": {"type": "Union", "items": [{"nodeId": "140305610379936"}, {"nodeId": "N"}]}, "140305610379936": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610380272": {"type": "Union", "items": [{"nodeId": "140305610380160"}, {"nodeId": "N"}]}, "140305610380160": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610380496": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610380720": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610380944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140305610381056": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610381168": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610381392": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610381280"}]}, {"nodeId": "N"}]}, "140305610381280": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305631702688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": "A"}]}, {"nodeId": "140305610381616"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610381840"}, {"nodeId": "140305610382064"}, {"nodeId": "140305610382288"}, {"nodeId": "140305610382512"}, {"nodeId": "140305610382624"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305610382960"}, {"nodeId": "140305610383184"}, {"nodeId": "140305610383296"}, {"nodeId": "140305610383520"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719636512", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305610383632"}, {"nodeId": "140305610383744"}, {"nodeId": "140305610383856"}, {"nodeId": "140305610383968"}, {"nodeId": "140305610384080"}, {"nodeId": "140305610384304"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140305610381616": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610381840": {"type": "Union", "items": [{"nodeId": "140305610381728"}, {"nodeId": "N"}]}, "140305610381728": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610382064": {"type": "Union", "items": [{"nodeId": "140305610381952"}, {"nodeId": "N"}]}, "140305610381952": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382288": {"type": "Union", "items": [{"nodeId": "140305610382176"}, {"nodeId": "N"}]}, "140305610382176": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382512": {"type": "Union", "items": [{"nodeId": "140305610382400"}, {"nodeId": "N"}]}, "140305610382400": {"type": "TypeAlias", "target": {"nodeId": "140305631422480"}}, "140305610382624": {"type": "Union", "items": [{"nodeId": "140305627211456"}, {"nodeId": "N"}]}, "140305627211456": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140305610382960": {"type": "Union", "items": [{"nodeId": "140305610382848"}, {"nodeId": "N"}]}, "140305610382848": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305610383184": {"type": "Union", "items": [{"nodeId": "140305610383072"}, {"nodeId": "N"}]}, "140305610383072": {"type": "TypeAlias", "target": {"nodeId": "140305619681904"}}, "140305610383296": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610383520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140305610383632": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, "140305610383744": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610383856": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610383968": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610384080": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305610384304": {"type": "Union", "items": [{"nodeId": "140305719633152", "args": [{"nodeId": "140305610384192"}]}, {"nodeId": "N"}]}, "140305610384192": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305632167520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "140305610384416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610384416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305632167968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610384528"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140305610384528": {"type": "Union", "items": [{"nodeId": "140305627448368"}, {"nodeId": "N"}]}, "140305632168416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610384640"}, {"nodeId": "140305610384752"}], "returnType": {"nodeId": "140305610384976"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140305610384640": {"type": "Union", "items": [{"nodeId": ".1.140305635977120"}, {"nodeId": "N"}]}, "140305610384752": {"type": "Union", "items": [{"nodeId": "140305627448368"}, {"nodeId": "N"}]}, "140305610384976": {"type": "Tuple", "items": [{"nodeId": ".1.140305635977120"}, {"nodeId": ".1.140305635977120"}]}, "140305632168864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140305632169312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305632169760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305632170208": {"type": "Function", "typeVars": [".-1.140305632170208"], "argTypes": [{"nodeId": ".-1.140305632170208"}], "returnType": {"nodeId": ".-1.140305632170208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305632170208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305632170208", "variance": "INVARIANT"}, "140305632170656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977120", "args": [{"nodeId": ".1.140305635977120"}]}, {"nodeId": "140305610385088"}, {"nodeId": "140305610385200"}, {"nodeId": "140305610385312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305610385088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610385200": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305610385312": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305632171104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305648136064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619545648"}], "returnType": {"nodeId": "140305610988944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610988944": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305619545984": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576778144"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581358016"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581357120"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356896"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356448"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581356672"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448368"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448368"}]}], "isAbstract": false}, "140305576778144": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581358016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990736"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990736": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581357120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990624"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990624": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610990960"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610990960": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610991296"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610991296": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305581356672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610991408"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610991408": {"type": "Tuple", "items": [{"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}, {"nodeId": "140305627448368"}]}, "140305619546320": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576780384"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581583136"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584256"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584480"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584704"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581584928"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305576780384": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305581583136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610992864"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610992864": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993200"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993200": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993536"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993536": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993648"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993648": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305581584928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610993760"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610993760": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305619546656": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305576782176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648285312"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581586272"}}], "typeVars": [], "bases": [{"nodeId": "140305619089584", "args": [{"nodeId": "140305627448032"}]}, {"nodeId": "140305627450720", "args": [{"nodeId": "140305627448032"}]}], "isAbstract": false}, "140305576782176": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}]}, "140305648285312": {"type": "Function", "typeVars": [".-1.140305648285312"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": ".-1.140305648285312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140305648285312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648285312", "variance": "INVARIANT"}, "140305581586272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305610997008"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610997008": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}]}, "140305628013152": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305628013824": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573384864"}}], "typeVars": [], "bases": [{"nodeId": "140305628013488"}], "isAbstract": true}, "140305573384864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628013824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305628014160": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648432096"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648432544"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573383968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648433440"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573383520"}}], "typeVars": [], "bases": [{"nodeId": "140305628013488"}], "isAbstract": true}, "140305648432096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305648432544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310352": {"type": "Union", "items": [{"nodeId": "140305635967376"}, {"nodeId": "N"}]}, "140305573383968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310464": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305648433440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014160"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305573383520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611310688"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635967376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140305611310688": {"type": "Union", "items": [{"nodeId": "140305611310576"}, {"nodeId": "140305627449712"}]}, "140305611310576": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305628014496": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573382624"}}], "typeVars": [], "bases": [{"nodeId": "140305628014160"}], "isAbstract": true}, "140305573382624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014496"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305628014832": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648434784"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652318496"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652318944"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652319392"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140305628013824"}, {"nodeId": "140305628014496"}], "isAbstract": true}, "140305648434784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627448368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140305652318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611310800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611310800": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628014832"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719638192", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305628015168": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652319840"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652320288"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652320736"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305628013152"}], "isAbstract": false}, "140305652319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611311024"}], "returnType": {"nodeId": "140305611311136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140305611311024": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611311136": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611311248"}, {"nodeId": "140305611311360"}], "returnType": {"nodeId": "140305611311472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140305611311248": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611311360": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611311472": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628015504": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652321184"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652321632"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322080"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322528"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140305628013152"}], "isAbstract": false}, "140305652321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611311584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611311584": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611311920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305611311920": {"type": "Tuple", "items": [{"nodeId": "140305611311696"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}]}, "140305611311696": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305652322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015504"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611312032"}], "returnType": {"nodeId": "140305611312144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140305611312032": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611312144": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628015840": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652322976"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652323424"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652323872"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652324320"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140305628013824"}, {"nodeId": "140305628014496"}], "isAbstract": true}, "140305652322976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140305652323424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652323872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305611312256"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611312256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652324320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628015840"}, {"nodeId": "140305611312368"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611312368": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628016176": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573214048"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573213600"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573212928"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573213824"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305573214048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305573213600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305573212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305573213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016176"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628016512": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573212032"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573211584"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573211360"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611310016"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305573211136"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210464"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210240"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573210016"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140305573212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573211360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628016512"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140305611310016": {"type": "Overloaded", "items": [{"nodeId": "140305652329248"}, {"nodeId": "140305652329696"}, {"nodeId": "140305652330144"}, {"nodeId": "140305652330592"}, {"nodeId": "140305652331040"}, {"nodeId": "140305652331488"}, {"nodeId": "140305652331936"}]}, "140305652329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611312592"}, {"nodeId": "140305627448032"}, {"nodeId": "140305611312704"}, {"nodeId": "140305611312816"}, {"nodeId": "140305611312928"}], "returnType": {"nodeId": "140305628008448"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611312592": {"type": "TypeAlias", "target": {"nodeId": "140305619117424"}}, "140305619117424": {"type": "Union", "items": [{"nodeId": "140305619119328"}, {"nodeId": "140305619119440"}, {"nodeId": "140305619117312"}]}, "140305619119328": {"type": "TypeAlias", "target": {"nodeId": "140305619116864"}}, "140305619116864": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619119440": {"type": "TypeAlias", "target": {"nodeId": "140305619118992"}}, "140305619118992": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619117312": {"type": "TypeAlias", "target": {"nodeId": "140305619121008"}}, "140305619121008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305611312704": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611312816": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611312928": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305652329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611313040"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611313040": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305619222592": {"type": "Union", "items": [{"nodeId": "140305619122464"}, {"nodeId": "140305619122576"}, {"nodeId": "140305619222928"}]}, "140305619122464": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305619121568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619122576": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305619224048": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305619222928": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305619225840": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305652330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611313264"}, {"nodeId": "140305611314608"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611313264": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305611314608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611315840"}, {"nodeId": "140305611315952"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611315840": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305611315952": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611316960"}, {"nodeId": "140305611313712"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611316960": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305611313712": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305652331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611314720"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611314720": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305652331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305611314272"}, {"nodeId": "140305611316064"}, {"nodeId": "140305611316848"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305611314272": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611316064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305611316848": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305573211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305573210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573210016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016512"}, {"nodeId": "140305611314944"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140305611314944": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305628016848": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573208896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652465952"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652466400"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652466848"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305652467296"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140305628016176"}], "isAbstract": true}, "140305573208896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}], "returnType": {"nodeId": "140305628016512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305652465952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305652466400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140305652466848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305652467296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628016848"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619548000": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573145376"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573144480"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573144032"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573143584"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573143136"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573142912"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573142464"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573139552"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573140896"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}, {"nodeId": "140305628014160"}], "isAbstract": false}, "140305573145376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611077360"}], "returnType": {"nodeId": "140305611077472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611077360": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611077472": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573144480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611077584"}, {"nodeId": "140305611077696"}], "returnType": {"nodeId": "140305611077808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611077584": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611077696": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611077808": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573144032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573143584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573143136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573142912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573142464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305573139552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611077920"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140305611077920": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305573140896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305619548336": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573138880"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573139328"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573138432"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137984"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137536"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573137088"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573136640"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573135520"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573135296"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}, {"nodeId": "140305628014160"}], "isAbstract": false}, "140305573138880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078032"}], "returnType": {"nodeId": "140305611078144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611078032": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078144": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573139328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078256"}, {"nodeId": "140305611078368"}], "returnType": {"nodeId": "140305611078480"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611078256": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078368": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611078480": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573138432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573137088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140305573136640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140305573135520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305611078592"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140305611078592": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305573135296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140305619548672": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573133920"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573133472"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}], "isAbstract": false}, "140305573133920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078704"}], "returnType": {"nodeId": "140305611078816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611078704": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611078816": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305573133472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611078928"}, {"nodeId": "140305611079040"}], "returnType": {"nodeId": "140305611079152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611078928": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611079040": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611079152": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305628012816": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131904"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131456"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573132352"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573131008"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305573131904": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140305573131456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628012144"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140305619547328": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614770176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657065120"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572739584"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614770176": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305657065120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}, {"nodeId": "140305611074336"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140305611074336": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572739584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628012144": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657067360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657067808"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657068256"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140305628011808"}], "isAbstract": false}, "140305657067360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305614574576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305614574576": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610577216"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644354272"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644354720"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581121920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639784736"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639785184"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639786528"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639786976"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639787424"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639787872"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639788320"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639788768"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639789216"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639789664"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639790112"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639790560"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791008"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791456"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639791904"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305610606848"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639795488"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639795936"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639796384"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639796832"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639797280"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639797728"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799072"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799520"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639799968"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639800416"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639964960"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639965408"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639965856"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305581124384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639967200"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639967648"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968096"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968544"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639968992"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639969440"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639969888"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305639970784"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305610577216": {"type": "Function", "typeVars": [".-1.140305610577216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305610612448"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305610577216"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140305610612448": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305619109808": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}]}, ".-1.140305610577216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610577216", "variance": "INVARIANT"}, "140305644354272": {"type": "Function", "typeVars": [".-1.140305644354272"], "argTypes": [{"nodeId": ".-1.140305644354272"}], "returnType": {"nodeId": ".-1.140305644354272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305644354272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644354272", "variance": "INVARIANT"}, "140305644354720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610612672"}, {"nodeId": "140305610612784"}, {"nodeId": "140305610612896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305610612672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305610612784": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305610612896": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305581121920": {"type": "Function", "typeVars": [".-1.140305581121920"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305581121920"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305581121920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581121920", "variance": "INVARIANT"}, "140305639784736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305610613008"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140305610613008": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305639785184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140305639786528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639786976": {"type": "Function", "typeVars": [".-1.140305639786976"], "argTypes": [{"nodeId": ".-1.140305639786976"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639786976"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140305639786976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639786976", "variance": "INVARIANT"}, "140305639787424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639787872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639788320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639788768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639789216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639789664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639790112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639790560": {"type": "Function", "typeVars": [".-1.140305639790560"], "argTypes": [{"nodeId": ".-1.140305639790560"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639790560"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639790560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639790560", "variance": "INVARIANT"}, "140305639791008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140305639791456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305610613120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610613120": {"type": "TypeAlias", "target": {"nodeId": "140305614766928"}}, "140305639791904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140305610606848": {"type": "Overloaded", "items": [{"nodeId": "140305639792352"}, {"nodeId": "140305639792800"}, {"nodeId": "140305639793248"}, {"nodeId": "140305639793696"}, {"nodeId": "140305639794144"}, {"nodeId": "140305639794592"}, {"nodeId": "140305639795040"}]}, "140305639792352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610613344"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610613456"}, {"nodeId": "140305610613568"}, {"nodeId": "140305610613680"}], "returnType": {"nodeId": "140305628008448"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610613344": {"type": "TypeAlias", "target": {"nodeId": "140305619117424"}}, "140305610613456": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610613568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610613680": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639792800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610613792"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610613792": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305639793248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614016"}, {"nodeId": "140305610615360"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610614016": {"type": "TypeAlias", "target": {"nodeId": "140305619121568"}}, "140305610615360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639793696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610616592"}, {"nodeId": "140305610616704"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628007104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610616592": {"type": "TypeAlias", "target": {"nodeId": "140305619225840"}}, "140305610616704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639794144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610617712"}, {"nodeId": "140305610614464"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305628006768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610617712": {"type": "TypeAlias", "target": {"nodeId": "140305619224048"}}, "140305610614464": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140305639794592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615472"}, {"nodeId": "140305627448032"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140305627763360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610615472": {"type": "TypeAlias", "target": {"nodeId": "140305619222592"}}, "140305639795040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610615024"}, {"nodeId": "140305610616816"}, {"nodeId": "140305610617600"}], "returnType": {"nodeId": "140305627763024", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140305610615024": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616816": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610617600": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639795488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639795936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639796384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639796832": {"type": "Function", "typeVars": [".-1.140305639796832"], "argTypes": [{"nodeId": ".-1.140305639796832"}], "returnType": {"nodeId": ".-1.140305639796832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639796832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639796832", "variance": "INVARIANT"}, "140305639797280": {"type": "Function", "typeVars": [".-1.140305639797280"], "argTypes": [{"nodeId": ".-1.140305639797280"}, {"nodeId": "140305610615696"}], "returnType": {"nodeId": ".-1.140305639797280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140305639797280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639797280", "variance": "INVARIANT"}, "140305610615696": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614573568"}]}, "140305614573568": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098816"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098368"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581098144"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097920"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097696"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097472"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097248"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581097024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610575424"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644343520"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644343968"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644344416"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644344864"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644345312"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644345760"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576096"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576320"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644347104"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644347552"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348000"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348448"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644348896"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644349344"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644349792"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610575872"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644350688"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644351136"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644351584"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305610576992"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581043808"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305581044480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644353376"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305581098816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581098368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581098144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305581097024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610575424": {"type": "Function", "typeVars": [".-1.140305610575424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305610611664"}], "returnType": {"nodeId": ".-1.140305610575424"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140305610611664": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, ".-1.140305610575424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610575424", "variance": "INVARIANT"}, "140305644343520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644343968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644344416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644344864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644345312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644345760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610576096": {"type": "Function", "typeVars": [".-1.140305610576096"], "argTypes": [{"nodeId": ".-1.140305610576096"}, {"nodeId": "140305610611776"}], "returnType": {"nodeId": ".-1.140305610576096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305610576096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576096", "variance": "INVARIANT"}, "140305610611776": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305610576320": {"type": "Function", "typeVars": [".-1.140305610576320"], "argTypes": [{"nodeId": ".-1.140305610576320"}, {"nodeId": "140305610611888"}], "returnType": {"nodeId": ".-1.140305610576320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140305610576320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576320", "variance": "INVARIANT"}, "140305610611888": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644347104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644347552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644348896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644349344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305610612000"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140305610612000": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644349792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573568"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140305610575872": {"type": "Function", "typeVars": [".-1.140305610575872"], "argTypes": [{"nodeId": ".-1.140305610575872"}, {"nodeId": "140305610612112"}], "returnType": {"nodeId": ".-1.140305610575872"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140305610575872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610575872", "variance": "INVARIANT"}, "140305610612112": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305644350688": {"type": "Function", "typeVars": [".-1.140305644350688"], "argTypes": [{"nodeId": ".-1.140305644350688"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644350688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140305644350688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644350688", "variance": "INVARIANT"}, "140305644351136": {"type": "Function", "typeVars": [".-1.140305644351136"], "argTypes": [{"nodeId": ".-1.140305644351136"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644351136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140305644351136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644351136", "variance": "INVARIANT"}, "140305644351584": {"type": "Function", "typeVars": [".-1.140305644351584"], "argTypes": [{"nodeId": ".-1.140305644351584"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305644351584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140305644351584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644351584", "variance": "INVARIANT"}, "140305610576992": {"type": "Function", "typeVars": [".-1.140305610576992"], "argTypes": [{"nodeId": ".-1.140305610576992"}, {"nodeId": "140305610612224"}], "returnType": {"nodeId": ".-1.140305610576992"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140305610576992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305610576992", "variance": "INVARIANT"}, "140305610612224": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305581043808": {"type": "Function", "typeVars": [".-1.140305581043808"], "argTypes": [{"nodeId": ".-1.140305581043808"}], "returnType": {"nodeId": "140305719636848", "args": [{"nodeId": ".-1.140305581043808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305581043808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581043808", "variance": "INVARIANT"}, "140305581044480": {"type": "Function", "typeVars": [".-1.140305581044480"], "argTypes": [{"nodeId": ".-1.140305581044480"}], "returnType": {"nodeId": ".-1.140305581044480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305581044480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581044480", "variance": "INVARIANT"}, "140305644353376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140305639797728": {"type": "Function", "typeVars": [".-1.140305639797728"], "argTypes": [{"nodeId": ".-1.140305639797728"}, {"nodeId": "140305610618384"}], "returnType": {"nodeId": ".-1.140305639797728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140305639797728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639797728", "variance": "INVARIANT"}, "140305610618384": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614573568"}]}, "140305639799072": {"type": "Function", "typeVars": [".-1.140305639799072"], "argTypes": [{"nodeId": ".-1.140305639799072"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": ".-1.140305639799072"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140305639799072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639799072", "variance": "INVARIANT"}, "140305639799520": {"type": "Function", "typeVars": [".-1.140305639799520"], "argTypes": [{"nodeId": ".-1.140305639799520"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305639799520"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140305639799520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639799520", "variance": "INVARIANT"}, "140305639799968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639800416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615584"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140305610615584": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614574576"}]}, "140305639964960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610615920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140305610615920": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305614574576"}]}, "140305639965408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140305639965856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140305581124384": {"type": "Function", "typeVars": [".-1.140305581124384"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140305581124384"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140305581124384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305581124384", "variance": "INVARIANT"}, "140305639967200": {"type": "Function", "typeVars": [".-1.140305639967200"], "argTypes": [{"nodeId": ".-1.140305639967200"}], "returnType": {"nodeId": ".-1.140305639967200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639967200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639967200", "variance": "INVARIANT"}, "140305639967648": {"type": "Function", "typeVars": [".-1.140305639967648"], "argTypes": [{"nodeId": ".-1.140305639967648"}], "returnType": {"nodeId": ".-1.140305639967648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305639967648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305639967648", "variance": "INVARIANT"}, "140305639968096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305639968544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610618496"}, {"nodeId": "140305610614352"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140305610618496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610614352": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639968992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614800"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140305610614800": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305639969440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610614912"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305610614912": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305639969888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610615808"}, {"nodeId": "140305610616032"}, {"nodeId": "140305610616144"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140305610615808": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305610616144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305639970784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614574576"}, {"nodeId": "140305610616256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140305610616256": {"type": "TypeAlias", "target": {"nodeId": "140305619112272"}}, "140305657067808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305611074560"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140305611074560": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305657068256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628012144"}, {"nodeId": "140305611074672"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305611074672": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305628011808": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572743424"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742976"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742080"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611071648"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572742304"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741632"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572742528"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741408"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572741184"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572740704"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572740480"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305572743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611073440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140305611073440": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}, {"nodeId": "140305611073552"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140305611073552": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305572742080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628011808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140305611071648": {"type": "Overloaded", "items": [{"nodeId": "140305657060192"}, {"nodeId": "140305657060640"}]}, "140305657060192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140305657060640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140305611073776"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140305611073776": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305572742304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611074000"}], "returnType": {"nodeId": "140305628012144"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140305611074000": {"type": "TypeAlias", "target": {"nodeId": "140305619109808"}}, "140305572741632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305628009120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628009120": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644731552"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644732000"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644585248"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644585696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644586144"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572813440"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140305644731552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644732000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644585248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644585696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644586144": {"type": "Function", "typeVars": [".-1.140305644586144"], "argTypes": [{"nodeId": "140305628009120"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644586144"}], "returnType": {"nodeId": "140305611071088"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644586144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644586144", "variance": "INVARIANT"}, "140305611071088": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140305644586144"}]}, "140305572813440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009120"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305611071200"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611071200": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305572742528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628010800": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632181856"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657053472"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572747904"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572749920"}}], "typeVars": [], "bases": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305635869520"}]}], "isAbstract": false}, "140305632181856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}, {"nodeId": "140305611072320"}], "returnType": {"nodeId": "140305611073104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611072320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305611073104": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, "140305619691088": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305657053472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305572747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572749920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628010800"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635869520": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, "140305572741408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572741184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305611074112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611074112": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305614575920"}]}, {"nodeId": "N"}]}, "140305614575920": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057056"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057504"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657057952"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619690864"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619692880"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628011808"}}], "typeVars": [], "bases": [{"nodeId": "140305614573904"}], "isAbstract": false}, "140305657057056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140305657057504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305657057952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614575920"}], "returnType": {"nodeId": "140305619543968", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619690864": {"type": "Union", "items": [{"nodeId": "140305628011472"}, {"nodeId": "N"}]}, "140305628011472": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657058400"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305657058400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011472"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305619692880": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614573904": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305572740704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305611074224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611074224": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305572740480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011808"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305573132352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611079264"}, {"nodeId": "140305611079376"}], "returnType": {"nodeId": "140305611079488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140305611079264": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611079376": {"type": "Union", "items": [{"nodeId": "140305635968720"}, {"nodeId": "N"}]}, "140305611079488": {"type": "Union", "items": [{"nodeId": "140305628012480"}, {"nodeId": "N"}]}, "140305573131008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309120"}], "returnType": {"nodeId": "140305611309232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140305611309120": {"type": "Union", "items": [{"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}, {"nodeId": "N"}]}, "140305611309232": {"type": "Union", "items": [{"nodeId": "140305628013488"}, {"nodeId": "N"}]}, "140305619549008": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656890752"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305573130336"}}], "typeVars": [], "bases": [{"nodeId": "140305628015504"}], "isAbstract": false}, "140305656890752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619549008"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140305611309456": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305573130336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305611309680"}], "returnType": {"nodeId": "140305611015104"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140305611309680": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305611015104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305628015504"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619549344": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656891648"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140305628015840"}, {"nodeId": "140305628014832"}], "isAbstract": false}, "140305656891648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619549344"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611309792"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140305611309792": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305619549680": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140305628015840"}, {"nodeId": "140305628014832"}], "isAbstract": false}, "140305614569536": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892544"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656892992"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656893440"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656893888"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656894336"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656894784"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140305628014496"}], "isAbstract": false}, "140305656892096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140305656892544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305611309904"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305611309904": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305656892992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305656893440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305628012480"}], "returnType": {"nodeId": "140305635968720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140305656893888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305635968720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140305656894336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140305656894784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614569536"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305635978800": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631419568"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305631415760"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656897920"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305631419568": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305631415760": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305656897920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978800"}, {"nodeId": "140305627449712"}, {"nodeId": "140305610388896"}, {"nodeId": "140305610388560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140305610388896": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610388560": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305635979136": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656898368"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627448032"}], "isAbstract": false}, "140305656898368": {"type": "Function", "typeVars": [".-1.140305656898368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305656898368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140305656898368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305656898368", "variance": "INVARIANT"}, "140305619076144": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656899488"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656899936"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656900384"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close", "seek", "write"]}, "140305656899488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140305656899936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656900384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076144"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619076480": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656900832"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656901280"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656901728"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["close", "read", "seek"]}, "140305656900832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140305656901280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140305656901728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076480"}], "returnType": {"nodeId": "140305719629120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305614571216": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140305619076144"}, {"nodeId": "140305619076480"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140305619076816": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656902176"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656902176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619076816"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606888688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606888688": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305619077152": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656902624"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656902624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077152"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606888912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606888912": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305619077488": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903072"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077488"}, {"nodeId": "140305619076480"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614572896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305614572896": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619076480"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652960"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648653408"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648653856"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648654304"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648654752"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648655200"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648655648"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656096"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656544"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648656992"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305619078832"}], "isAbstract": false}, "140305648652960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305619076480"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305648653408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140305648653856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606894848"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140305606894848": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648654304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606894960"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140305606894960": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648654752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648655200": {"type": "Function", "typeVars": [".-1.140305648655200"], "argTypes": [{"nodeId": ".-1.140305648655200"}], "returnType": {"nodeId": ".-1.140305648655200"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648655200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648655200", "variance": "INVARIANT"}, "140305648655648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305606895072"}, {"nodeId": "140305606895184"}, {"nodeId": "140305606895296"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606895072": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606895184": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606895296": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648656096": {"type": "Function", "typeVars": [".-1.140305648656096"], "argTypes": [{"nodeId": ".-1.140305648656096"}], "returnType": {"nodeId": ".-1.140305648656096"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648656096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648656096", "variance": "INVARIANT"}, "140305648656544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648656992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572896"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606273152"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305606273152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619078832": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648543200"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648543648"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648543200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606892720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606892720": {"type": "Tuple", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627448032"}]}, "140305648543648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078832"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305606892944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140305606892944": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305619077824": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903520"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619077824"}, {"nodeId": "140305619076144"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305614572560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305614572560": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619076144"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648649824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648650272"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648650720"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648651168"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648651616"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652064"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648652512"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140305619078832"}], "isAbstract": false}, "140305648649824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305619076144"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140305648650272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140305648650720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648651168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648651616": {"type": "Function", "typeVars": [".-1.140305648651616"], "argTypes": [{"nodeId": ".-1.140305648651616"}], "returnType": {"nodeId": ".-1.140305648651616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648651616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648651616", "variance": "INVARIANT"}, "140305648652064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305606894288"}, {"nodeId": "140305606894400"}, {"nodeId": "140305606894512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606894288": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606894400": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606894512": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648652512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572560"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606272480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140305606272480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305619078160": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656903968"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656903968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078160"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305619079168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305619079168": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648544096"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560240416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648544992"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648545440"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648545888"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305648544096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560240416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305648544992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648545440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}], "returnType": {"nodeId": "140305606893056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606893056": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305648545888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079168"}, {"nodeId": "140305606893168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140305606893168": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627449712"}]}, "140305619078496": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305656904416"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__call__"]}, "140305656904416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619078496"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305619079504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305614571552": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560256096"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560254304"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560254528"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560252736"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560250496"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305560252064"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648535584"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305719629120"}]}], "isAbstract": false}, "140305560256096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889136"}], "returnType": {"nodeId": "140305619076816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889136": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560254304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889248"}], "returnType": {"nodeId": "140305619077152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889248": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560254528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889360"}], "returnType": {"nodeId": "140305619077488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889360": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560252736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889472"}], "returnType": {"nodeId": "140305619077824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889472": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560250496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889584"}], "returnType": {"nodeId": "140305619078160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889584": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305560252064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305606889696"}], "returnType": {"nodeId": "140305619078496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606889696": {"type": "Tuple", "items": [{"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}]}, "140305648535584": {"type": "Function", "typeVars": [".-1.140305648535584"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305606889024"}, {"nodeId": "140305606889808"}, {"nodeId": "140305606889920"}, {"nodeId": "140305606890032"}, {"nodeId": "140305606890144"}, {"nodeId": "140305606890256"}], "returnType": {"nodeId": ".-1.140305648535584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140305606889024": {"type": "Union", "items": [{"nodeId": "140305619077488"}, {"nodeId": "N"}]}, "140305606889808": {"type": "Union", "items": [{"nodeId": "140305619077824"}, {"nodeId": "N"}]}, "140305606889920": {"type": "Union", "items": [{"nodeId": "140305619078160"}, {"nodeId": "N"}]}, "140305606890032": {"type": "Union", "items": [{"nodeId": "140305619078496"}, {"nodeId": "N"}]}, "140305606890144": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606890256": {"type": "Union", "items": [{"nodeId": "140305719629456"}, {"nodeId": "N"}]}, ".-1.140305648535584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648535584", "variance": "INVARIANT"}, "140305614571888": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648548576"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560221760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648549472"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140305619079168"}], "isAbstract": true}, "140305648548576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560221760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140305648549472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614571888"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305614572224": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627766048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648648480"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305560220640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648649376"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140305619079504"}], "isAbstract": true}, "140305648648480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140305560220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305606893840"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305606894064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140305606893840": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305606894064": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}, "140305648649376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614572224"}, {"nodeId": "140305606894176"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140305606894176": {"type": "TypeAlias", "target": {"nodeId": "140305619227856"}}, "140305614573232": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614571216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648657440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648657888"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648658336"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648658784"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648659232"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648659680"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648660128"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648660576"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661024"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661472"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648661920"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648662368"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648662816"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648663264"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648663712"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648664160"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648779552"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780000"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780448"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648780896"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648781344"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648781792"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140305627763696"}], "isAbstract": false}, "140305648657440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305614571216"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140305648657888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305648658336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895632"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606895632": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648658784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895744"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140305606895744": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648659232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648659680": {"type": "Function", "typeVars": [".-1.140305648659680"], "argTypes": [{"nodeId": ".-1.140305648659680"}], "returnType": {"nodeId": ".-1.140305648659680"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648659680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648659680", "variance": "INVARIANT"}, "140305648660128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305648660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648661024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648661472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140305648661920": {"type": "Function", "typeVars": [".-1.140305648661920"], "argTypes": [{"nodeId": ".-1.140305648661920"}], "returnType": {"nodeId": ".-1.140305648661920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648661920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648661920", "variance": "INVARIANT"}, "140305648662368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606895856"}, {"nodeId": "140305606895968"}, {"nodeId": "140305606896080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606895856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606895968": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606896080": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648662816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305648663264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648663712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648664160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648779552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648780000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648780448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}, {"nodeId": "140305606896304"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606896304": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648780896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648781344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648781792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305614573232"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305619079840": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648782240"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648782688"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648783136"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648783584"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784032"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784480"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648784928"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648785376"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648785824"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648786272"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648786720"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648787168"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648787616"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788064"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788512"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648788960"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648789408"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648789856"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648790304"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648790752"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648791200"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648791648"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140305627763360"}], "isAbstract": false}, "140305648782240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305614571216"}, {"nodeId": "140305619076816"}, {"nodeId": "140305619077152"}, {"nodeId": "140305619077488"}, {"nodeId": "140305619077824"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140305648782688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305648783136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896416"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606896416": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648783584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896528"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627766048"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140305606896528": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648784032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648784480": {"type": "Function", "typeVars": [".-1.140305648784480"], "argTypes": [{"nodeId": ".-1.140305648784480"}], "returnType": {"nodeId": ".-1.140305648784480"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648784480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648784480", "variance": "INVARIANT"}, "140305648784928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627766048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140305648785376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627766048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140305648785824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648786272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305648786720": {"type": "Function", "typeVars": [".-1.140305648786720"], "argTypes": [{"nodeId": ".-1.140305648786720"}], "returnType": {"nodeId": ".-1.140305648786720"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140305648786720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305648786720", "variance": "INVARIANT"}, "140305648787168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606896752"}, {"nodeId": "140305606896864"}, {"nodeId": "140305606896976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140305606896752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140305606896864": {"type": "Union", "items": [{"nodeId": "140305627455424"}, {"nodeId": "N"}]}, "140305606896976": {"type": "Union", "items": [{"nodeId": "140305635972416"}, {"nodeId": "N"}]}, "140305648787616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140305648788064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648788512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648788960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648789408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648789856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648790304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}, {"nodeId": "140305606897088"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140305606897088": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305648790752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648791200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305648791648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619079840"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635975776": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305635975776"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140305635975776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648795232"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305643929888"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305643930336"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140305635975776"}], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, ".1.140305635975776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305635975776", "variance": "INVARIANT"}, "140305648795232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975776", "args": [{"nodeId": ".1.140305635975776"}]}, {"nodeId": "140305615409600"}, {"nodeId": "140305627448032"}, {"nodeId": "140305615409712"}, {"nodeId": "140305615409824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140305615409600": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305615409712": {"type": "Union", "items": [{"nodeId": ".1.140305635975776"}, {"nodeId": "N"}]}, "140305615409824": {"type": "Union", "items": [{"nodeId": ".1.140305635975776"}, {"nodeId": "N"}]}, "140305643929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635975776", "args": [{"nodeId": ".1.140305635975776"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305643930336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305635973760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140305635976112": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635976448": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305636405792"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448368"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614678256"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619681680"}}], "typeVars": [], "bases": [{"nodeId": "140305635976112"}], "isAbstract": false}, "140305636405792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635976448"}, {"nodeId": "140305610334144"}, {"nodeId": "140305627448368"}, {"nodeId": "140305610334256"}, {"nodeId": "140305610334032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140305610334144": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610334256": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610334032": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305614678256": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305619681680": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305635976784": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305636406240"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305635976112"}], "isAbstract": false}, "140305636406240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635976784"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610334368"}, {"nodeId": "140305610334480"}, {"nodeId": "140305610334592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140305610334368": {"type": "TypeAlias", "target": {"nodeId": "140305619585392"}}, "140305610334480": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305610334592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "N"}]}, "140305628009792": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572755744"}}], "typeVars": [], "bases": [{"nodeId": "140305627644640"}], "isAbstract": false}, "140305572755744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009792"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628010464": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635979808", "args": [{"nodeId": "140305627449712"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632179616"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572754400"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572753728"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572754176"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635869408"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305632181408"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140305628010128"}], "isAbstract": false}, "140305632179616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072432"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072432": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572754400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072656"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072656": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572753728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072768"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305572754176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072880"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611072880": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635869408": {"type": "Union", "items": [{"nodeId": "140305628011808"}, {"nodeId": "N"}]}, "140305632181408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305611072992"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305611072992": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305628010128": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635871648"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635871088"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635952448"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635953344"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635952224"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635952000"}}], "typeVars": [], "bases": [{"nodeId": "140305627450720", "args": [{"nodeId": "140305627449712"}]}], "isAbstract": false}, "140305635871648": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635871088": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140305635952448": {"type": "Function", "typeVars": [".-1.140305635952448"], "argTypes": [{"nodeId": ".-1.140305635952448"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305635952448"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140305635952448": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952448", "variance": "INVARIANT"}, "140305635871312": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305635953344": {"type": "Function", "typeVars": [".-1.140305635953344"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": ".-1.140305635953344"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140305635953344": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635953344", "variance": "INVARIANT"}, "140305635952224": {"type": "Function", "typeVars": [".-1.140305635952224"], "argTypes": [{"nodeId": ".-1.140305635952224"}], "returnType": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140305635952224": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952224", "variance": "INVARIANT"}, "140305635952000": {"type": "Function", "typeVars": [".-1.140305635952000"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140305635952000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140305635952000": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140305635871312"}, "def": "140305635952000", "variance": "INVARIANT"}, "140305628011136": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572746784"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572746112"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305572745440"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611071760"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305628010800"}]}], "isAbstract": false}, "140305572746784": {"type": "Function", "typeVars": [".-1.140305572746784"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305611073216"}]}], "returnType": {"nodeId": ".-1.140305572746784"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140305611073216": {"type": "TypeAlias", "target": {"nodeId": "140305619691088"}}, ".-1.140305572746784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305572746784", "variance": "INVARIANT"}, "140305572746112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305572745440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}], "returnType": {"nodeId": "140305627766720", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611071760": {"type": "Overloaded", "items": [{"nodeId": "140305657056160"}, {"nodeId": "140305657056608"}]}, "140305657056160": {"type": "Function", "typeVars": [".-1.140305657056160"], "argTypes": [{"nodeId": ".-1.140305657056160"}], "returnType": {"nodeId": ".-1.140305657056160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305657056160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305657056160", "variance": "INVARIANT"}, "140305657056608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628011136"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305628010800"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140305619546992": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140305619547328"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572739808"}}], "typeVars": [], "bases": [{"nodeId": "140305628015168"}], "isAbstract": true}, "140305572739808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619546992"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628011808"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140305619547664": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305572737568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305657066912"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140305619546992"}], "isAbstract": false}, "140305572737568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140305619547328"}], "returnType": {"nodeId": "140305719633152", "args": [{"nodeId": "140305628012144"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140305657066912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619547664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140305635977456": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305635977792": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305631420352"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614677696"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590196416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635546432"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635546880"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635547328"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635547776"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305631420352": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614677696": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305590196416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635546432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305610386096"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140305610386096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635546880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140305635978128": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305614681840"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614671984"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305635977792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635548224"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635549120"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635549568"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550016"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550464"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635550912"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635551360"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635551808"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635552256"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614681840": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305614679488": {"type": "Tuple", "items": [{"nodeId": "140305635979136"}, {"nodeId": "140305614678480"}]}, "140305614678480": {"type": "TypeAlias", "target": {"nodeId": "140305614679040"}}, "140305614679040": {"type": "Union", "items": [{"nodeId": "140305614681056"}, {"nodeId": "140305614681616"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305635978128"}]}, {"nodeId": "140305614678816"}, {"nodeId": "140305614678928"}]}, "140305614681056": {"type": "TypeAlias", "target": {"nodeId": "140305627451056", "args": [{"nodeId": "140305631419120"}]}}, "140305631419120": {"type": "Tuple", "items": [{"nodeId": "140305635979136"}, {"nodeId": "140305627448032"}]}, "140305614681616": {"type": "TypeAlias", "target": {"nodeId": "140305619683024"}}, "140305619683024": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305635978128"}]}]}, "140305614678816": {"type": "TypeAlias", "target": {"nodeId": "140305619682912"}}, "140305619682912": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}, {"nodeId": "140305635978128"}]}, "140305614678928": {"type": "TypeAlias", "target": {"nodeId": "140305614683520"}}, "140305614683520": {"type": "Tuple", "items": [{"nodeId": "140305619585504"}, {"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978128"}]}, "140305619585504": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305614671984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305635548224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305635977792"}, {"nodeId": "140305610386320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140305610386320": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305610386208"}]}, {"nodeId": "N"}]}, "140305610386208": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635549120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140305635549568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305635550016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610386768": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305635550464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386656"}], "returnType": {"nodeId": "140305610386880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305610386656": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610386880": {"type": "Union", "items": [{"nodeId": "140305635978128"}, {"nodeId": "140305610386432"}]}, "140305610386432": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635550912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610387216"}, {"nodeId": "140305610387104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305610387216": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627450384"}]}, "140305610387104": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635551360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305627448032"}, {"nodeId": "140305610387440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140305610387440": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635551808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}, {"nodeId": "140305610387328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140305610387328": {"type": "TypeAlias", "target": {"nodeId": "140305614679488"}}, "140305635552256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978128"}], "returnType": {"nodeId": "140305610387664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610387664": {"type": "Tuple", "items": [{"nodeId": "140305627448032"}, {"nodeId": "140305627448032"}]}, "140305635547328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140305635547776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635977792"}, {"nodeId": "140305627448032"}, {"nodeId": "140305635978464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140305635978464": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614679600"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635552704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635553152"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635553600"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635554048"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635554496"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140305590191712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635555840"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635556288"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305635556736"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305614679600": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635552704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305635553152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140305635553600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305610387776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305610387776": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305635554048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627448032"}, {"nodeId": "140305719633152", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140305635554496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140305590191712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635555840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305635556288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140305635556736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305635978464"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627448032"}], "returnType": {"nodeId": "140305635978800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "140305619089920": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305648980640"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305648980640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305619089920"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305628009456": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587040"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587488"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644587936"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644588384"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140305644587040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644587488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644587936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644588384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628009456"}], "returnType": {"nodeId": "140305628009456"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305628020208": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305628019200"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305614770064"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305619697136"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451056", "args": [{"nodeId": "140305618816016"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644589504"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644589952"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644590400"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644590848"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644591296"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644591744"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644592192"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644592640"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593088"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593536"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644593984"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644594432"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644594880"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644595328"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644595776"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644596224"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644596672"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644597120"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644597568"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598016"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598464"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644598912"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644599360"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644599808"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644600256"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644600704"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644011584"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012032"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012480"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644012928"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644013376"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644013824"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644014272"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140305611314160"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644015616"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016064"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016512"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644016960"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644017408"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644017856"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644018304"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644018752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644019200"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644019648"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305628019200": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305690499152"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305690508000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640712992"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640713440"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640713888"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640714336"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640714784"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568616224"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568615328"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568614432"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568614880"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305568613760"}}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": true}, "140305690499152": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305690508000": {"type": "Union", "items": [{"nodeId": "140305674260256"}, {"nodeId": "N"}]}, "140305674260256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305640712992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305611319984"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611320096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140305611319984": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305611320096": {"type": "Union", "items": [{"nodeId": "140305611024288"}, {"nodeId": "N"}]}, "140305611024288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305640713440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "A"}], "returnType": {"nodeId": "140305628019200"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140305640713888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305628020208"}, {"nodeId": "140305618816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140305618816016": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640711648"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305627462816"}], "isAbstract": false}, "140305640711648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618816016"}, {"nodeId": "140305606334096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140305606334096": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640714336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305628020208"}, {"nodeId": "140305618816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140305640714784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611320320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140305611320320": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305568616224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611320544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611320544": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305568615328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611320768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611320768": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305568614432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305568614880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305568613760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305614770064": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305619697136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644589504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644589952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140305644590400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611322112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611322112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644590848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305628020208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140305644591296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322224"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140305611322224": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305644591744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322448"}, {"nodeId": "140305611322560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140305611322448": {"type": "TypeAlias", "target": {"nodeId": "140305648864608"}}, "140305648864608": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305628020208"}]}, {"nodeId": "140305627449712"}, {"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}]}, "140305611322560": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305619696912": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618823072": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627448032"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288560"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288112"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305694288224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640703360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640703808"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640704256"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640704704"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640705152"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640705600"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640706048"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640706496"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305694288560": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694288112": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694288224": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640703360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140305640703808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305640704256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}], "returnType": {"nodeId": "140305606335664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606335664": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640704704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305640705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719633488", "args": [{"nodeId": "140305627448032"}]}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140305640705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140305640706048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640706496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618823072"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644592192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305611322672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140305611322672": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305644592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611322784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611322784": {"type": "TypeAlias", "target": {"nodeId": "140305619696912"}}, "140305644593088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627448032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644593536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644593984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305644594432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611322896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305611322896": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644594880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611323008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140305611323008": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644595328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305644595776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644596224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305611323120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611323120": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644596672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627451056", "args": [{"nodeId": "140305611323456"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611323456": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305611323232"}]}, "140305611323232": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644597120": {"type": "Function", "typeVars": [".-1.140305644597120"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644597120"}], "returnType": {"nodeId": "140305611323680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644597120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644597120", "variance": "INVARIANT"}, "140305611323680": {"type": "Union", "items": [{"nodeId": "140305611323568"}, {"nodeId": ".-1.140305644597120"}]}, "140305611323568": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644597568": {"type": "Function", "typeVars": [".-1.140305644597568"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644597568"}], "returnType": {"nodeId": "140305611323904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140305644597568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644597568", "variance": "INVARIANT"}, "140305611323904": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305611323792"}]}, {"nodeId": ".-1.140305644597568"}]}, "140305611323792": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644598016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611324016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140305611324016": {"type": "TypeAlias", "target": {"nodeId": "140305627324576"}}, "140305627324576": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}, {"nodeId": "140305627325360"}]}, "140305627325360": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305711899344"}, {"nodeId": "140305627449712"}]}, "140305711899344": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644598464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611324128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140305611324128": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644598912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644599360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644599808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644600256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644600704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140305644011584": {"type": "Function", "typeVars": [".-1.140305644011584"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644011584"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305611324464"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140305644011584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644011584", "variance": "INVARIANT"}, "140305611324464": {"type": "Union", "items": [{"nodeId": "140305627451056", "args": [{"nodeId": "140305611324352"}]}, {"nodeId": ".-1.140305644011584"}]}, "140305611324352": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305644012032": {"type": "Function", "typeVars": [".-1.140305644012032"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644012032"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "140305611324688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140305644012032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644012032", "variance": "INVARIANT"}, "140305611324688": {"type": "Union", "items": [{"nodeId": ".-1.140305644012032"}, {"nodeId": "140305611324576"}]}, "140305611324576": {"type": "TypeAlias", "target": {"nodeId": "140305627325136"}}, "140305627325136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305698646592"}]}, "140305698646592": {"type": "Tuple", "items": [{"nodeId": "140305711904048"}, {"nodeId": "140305694618592"}, {"nodeId": "140305627449712"}]}, "140305711904048": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305694618592": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644012480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140305644012928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140305644013376": {"type": "Function", "typeVars": [".-1.140305644013376"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644013376"}], "returnType": {"nodeId": "140305611324912"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644013376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644013376", "variance": "INVARIANT"}, "140305611324912": {"type": "Union", "items": [{"nodeId": ".-1.140305644013376"}, {"nodeId": "140305627449712"}]}, "140305644013824": {"type": "Function", "typeVars": [".-1.140305644013824"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644013824"}], "returnType": {"nodeId": "140305611324240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644013824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644013824", "variance": "INVARIANT"}, "140305611324240": {"type": "Union", "items": [{"nodeId": ".-1.140305644013824"}, {"nodeId": "140305627449712"}]}, "140305644014272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140305611314160": {"type": "Overloaded", "items": [{"nodeId": "140305644014720"}, {"nodeId": "140305644015168"}]}, "140305644014720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305611325136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305611325136": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644015168": {"type": "Function", "typeVars": [".-1.140305644015168"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644015168"}], "returnType": {"nodeId": "140305611325248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140305644015168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644015168", "variance": "INVARIANT"}, "140305611325248": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": ".-1.140305644015168"}]}, "140305644015616": {"type": "Function", "typeVars": [".-1.140305644015616"], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": ".-1.140305644015616"}], "returnType": {"nodeId": "140305606328384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140305644015616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644015616", "variance": "INVARIANT"}, "140305606328384": {"type": "Union", "items": [{"nodeId": ".-1.140305644015616"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}]}, "140305644016064": {"type": "Function", "typeVars": [".-1.140305644016064"], "argTypes": [{"nodeId": ".-1.140305644016064"}], "returnType": {"nodeId": "140305719634160", "args": [{"nodeId": ".-1.140305644016064"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140305644016064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140305719629120"}, "def": "140305644016064", "variance": "INVARIANT"}, "140305644016512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305606328496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606328496": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644016960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627448032"}, {"nodeId": "140305606328608"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140305606328608": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644017408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606328720"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140305606328720": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644017856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644018304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606328832"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140305606328832": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644018752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305628019200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140305644019200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606328944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305606328944": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305644019648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628020208"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305606329280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305606329280": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305606329056"}]}, "140305606329056": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140305618812992": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020544"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644020992"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644021440"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644021888"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644022336"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644022784"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644023232"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644023680"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644024128"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644024576"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025024"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025472"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644025920"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644026368"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305644026816"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140305628020208"}], "isAbstract": false}, "140305644020096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606329392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140305606329392": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644020544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305719636848", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305606329504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140305606329504": {"type": "Union", "items": [{"nodeId": "140305628020208"}, {"nodeId": "N"}]}, "140305644020992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628020208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644021440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719633488", "args": [{"nodeId": "140305628020208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644021888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606329728"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606329728": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305618822736": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640708960"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640709408"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640709856"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640710304"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305640708960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305628020208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140305640709408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305628020208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140305640709856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606264864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140305606264864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305640710304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618822736"}, {"nodeId": "140305627447360"}, {"nodeId": "140305606263072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140305606263072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140305644022336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606330176"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606330176": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644022784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330400": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644023232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330512": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644023680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305606330624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140305606330624": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305644024128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606330848"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606330848": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644024576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606331184"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606331184": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644025024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "A"}, {"nodeId": "140305606331520"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140305606331520": {"type": "Union", "items": [{"nodeId": "140305618822736"}, {"nodeId": "N"}]}, "140305644025472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644025920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305644026368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}, {"nodeId": "140305719629456"}, {"nodeId": "140305606331744"}, {"nodeId": "140305606331856"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140305606331744": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606331856": {"type": "Union", "items": [{"nodeId": "140305628019200"}, {"nodeId": "N"}]}, "140305644026816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618812992"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140305618813328": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618812992"}], "isAbstract": false}, "140305614574240": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614573568"}], "isAbstract": false}, "140305614574912": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614574576"}, {"nodeId": "140305614573904"}], "isAbstract": false}, "140305614575248": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140305614574576"}, {"nodeId": "140305614574240"}], "isAbstract": false}, "140305618814000": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305627456768"}], "isAbstract": false}, "140305618814336": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}], "isAbstract": false}, "140305618814672": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814336"}], "isAbstract": false}, "140305618815008": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814336"}], "isAbstract": false}, "140305618815344": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}, {"nodeId": "140305627462480"}], "isAbstract": false}, "140305618815680": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618814000"}], "isAbstract": false}, "140305618816352": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618816688": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817024": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817360": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618817696": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818032": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818368": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618818704": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819040": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819376": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618819712": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820048": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820384": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618816016"}], "isAbstract": false}, "140305618820720": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618821056": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618821392": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640712096"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305640712096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618821392"}, {"nodeId": "140305606334208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140305606334208": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305618821728": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618822064": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305618822400": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140305618820384"}], "isAbstract": false}, "140305628019536": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640717472"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640717920"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640390944"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640391392"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640391840"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140305628019200"}], "isAbstract": false}, "140305640717472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611320992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611320992": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640717920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611321216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611321216": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640390944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611321328"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611321328": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305618813664"}]}, "140305618813664": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640395648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396096"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396544"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640396992"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640397440"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140305719629120"}], "isAbstract": false}, "140305640395648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305606331968"}, {"nodeId": "140305606332080"}, {"nodeId": "140305606332192"}, {"nodeId": "140305606332304"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140305606331968": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606332080": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305606332192": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305606332304": {"type": "Union", "items": [{"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640396096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305606332416"}, {"nodeId": "140305606332528"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140305606332416": {"type": "Union", "items": [{"nodeId": "140305627766048"}, {"nodeId": "140305627766384"}, {"nodeId": "140305627449712"}]}, "140305606332528": {"type": "Union", "items": [{"nodeId": "140305618823072"}, {"nodeId": "140305627449712"}, {"nodeId": "N"}]}, "140305640396544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305627449712"}, {"nodeId": "140305606332640"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140305606332640": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305640396992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640397440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305618813664"}, {"nodeId": "140305719629120"}], "returnType": {"nodeId": "140305719629456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640391392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640391840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019536"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305628019872": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305719629456"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305643937056"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305618822736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640392288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640392736"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640393184"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640393632"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640394080"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305640394528"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140305628019200"}], "isAbstract": false}, "140305643937056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640392288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305611321440"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}, {"nodeId": "140305719629456"}, {"nodeId": "140305719629456"}, {"nodeId": "140305611321552"}, {"nodeId": "140305719629456"}, {"nodeId": "140305627449712"}, {"nodeId": "140305611028992"}, {"nodeId": "140305618822736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140305611321440": {"type": "Union", "items": [{"nodeId": "140305627448032"}, {"nodeId": "N"}]}, "140305611321552": {"type": "Union", "items": [{"nodeId": "140305611028768"}, {"nodeId": "N"}]}, "140305611028768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019200"}], "returnType": {"nodeId": "140305628020208"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140305611028992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140305640392736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627451056", "args": [{"nodeId": "140305627449712"}]}], "returnType": {"nodeId": "140305611321776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140305611321776": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640393184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305611322000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305611322000": {"type": "Tuple", "items": [{"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}]}, "140305640393632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640394080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627449712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140305640394528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140305628019872"}, {"nodeId": "140305627449712"}, {"nodeId": "140305627449712"}], "returnType": {"nodeId": "140305627766048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}}, "types": {}, "definitions": {"annotation_tests": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627449712"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140305627451392", "args": [{"nodeId": "140305627449712"}, {"nodeId": "A"}]}}, "A": {"kind": "ClassDef", "type": {"nodeId": "140305614579280"}}, "square": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "collection", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305543282272"}, "name": "square"}, "not_annotated": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305724061024"}, "name": "not_annotated"}, "same_annotations": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "y", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "c", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305551846176"}, "name": "same_annotations"}, "optional": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305543281152"}, "name": "optional"}, "literal": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548177952"}, "name": "literal"}, "Color": {"kind": "ClassDef", "type": {"nodeId": "140305614579616"}}, "enum_literal": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305694467552"}, "name": "enum_literal"}, "abstract_set": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548169888"}, "name": "abstract_set"}, "mapping": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305548175712"}, "name": "mapping"}, "sequence": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711248352"}, "name": "sequence"}, "supports_abs": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305711247456"}, "name": "supports_abs"}, "tuple_": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140305707090208"}, "name": "tuple_"}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305627773776"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140305719630128"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140305719630464"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140305719630800"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140305719631136"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305719631472"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140305719631808"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140305719632144"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140305627758656"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140305627758992"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140305627759328"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140305627759664"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140305627760000"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140305627760336"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140305719632480"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140305719632816"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140305627760672"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140305627761008"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140305719633152"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140305719633488"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140305719633824"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140305719634160"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140305719634496"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140305719634832"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140305627761344"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140305719635168"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140305719635504"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140305719635840"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140305719636176"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140305719636512"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140305719636848"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140305719637184"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140305719637520"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140305719637856"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140305627761680"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140305627762016"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140305627762352"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140305627762688"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140305719638192"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140305719638528"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140305627763024"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140305627763360"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140305627763696"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140305627764032"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627764368"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627764704"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140305719638864"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140305627769072"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140305627769408"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140305627769744"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140305627770080"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140305627659424"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140305619075136"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140305619075472"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140305619075808"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140305627770416"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140305627770752"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140305627771088"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627771424"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140305627659760"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140305627771760"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140305628017184"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140305628017520"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140305628017856"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140305628018192"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140305614569872"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140305628018528"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140305628018864"}}}, "datetime": {"tzinfo": {"kind": "ClassDef", "type": {"nodeId": "140305614576928"}}, "timezone": {"kind": "ClassDef", "type": {"nodeId": "140305614577264"}}, "date": {"kind": "ClassDef", "type": {"nodeId": "140305614577936"}}, "time": {"kind": "ClassDef", "type": {"nodeId": "140305614578272"}}, "timedelta": {"kind": "ClassDef", "type": {"nodeId": "140305614578608"}}, "datetime": {"kind": "ClassDef", "type": {"nodeId": "140305614578944"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140305719629120"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140305719629456"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140305719629792"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140305719639200"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140305719639536"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140305627447360"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140305627447696"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140305627448032"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140305627448368"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140305627448704"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140305627449040"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140305627449376"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140305627449712"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140305627766048"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140305627766384"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140305627450048"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140305627450384"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140305627450720"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140305627451056"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140305627451392"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140305627766720"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140305627767056"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140305627767392"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140305627451728"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140305627452064"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140305627452400"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140305619540272"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140305627452736"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140305627767728"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140305627453072"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140305627768064"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140305619540608"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140305627453408"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140305627453744"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140305627454080"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140305627768400"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140305627454416"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140305627454752"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140305619540944"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140305627768736"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140305627455088"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140305627455424"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140305627455760"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140305627456096"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140305627456432"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140305627456768"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140305627457104"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140305627457440"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140305627457776"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140305627458112"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140305627458448"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140305627458784"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140305627459120"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140305627459456"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140305627459792"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627460128"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140305627460464"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140305627460800"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140305627461136"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140305627461472"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140305627461808"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140305627462144"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140305627462480"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140305627462816"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140305627463152"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140305627643968"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140305627644304"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305627644640"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140305627644976"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140305627645312"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140305627645648"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140305627645984"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140305627646320"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140305627646656"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140305627646992"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140305627647328"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140305627647664"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140305627648000"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140305627648336"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305627648672"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140305627649008"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627649344"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140305627649680"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140305627650016"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140305627650352"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140305627650688"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140305627651024"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140305627651360"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140305627651696"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140305627652032"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627652368"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627652704"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140305627653040"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140305627653376"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140305627653712"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654048"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654384"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627654720"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655056"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655392"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627655728"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656064"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656400"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627656736"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627657072"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140305627657408"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140305619080512"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140305619080848"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140305619081184"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140305619081520"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140305619081856"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140305619082192"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140305619082528"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140305619082864"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619083200"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619083536"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140305619083872"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140305619084208"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140305619084544"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140305619084880"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140305619085216"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140305619085552"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619085888"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140305619086224"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140305619086560"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619086896"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140305619087232"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140305619087568"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140305619087904"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140305619088240"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140305619088576"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140305619088912"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140305619089248"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140305619089584"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305635974768"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140305619541280"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140305619541616"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140305619541952"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140305635975104"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140305619542288"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140305619542624"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140305635975440"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140305619542960"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140305627765040"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140305627765376"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140305627765712"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140305627657744"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140305627658080"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140305627658416"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140305627658752"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140305627659088"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618954480"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618954816"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140305618955152"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618955488"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140305618955824"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140305618956160"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140305618956496"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140305618956832"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140305618957168"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140305618957504"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140305618957840"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140305618958176"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140305618958512"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140305618958848"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140305618959184"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140305618959520"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140305618959856"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140305635979472"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140305635979808"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140305619543296"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140305627774448"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635967040"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140305635967376"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140305635967712"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140305635968048"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140305635968384"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140305635968720"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140305635969056"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140305635969392"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140305635969728"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635970064"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140305635970400"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305635970736"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635971072"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140305635971408"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635971744"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635972080"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140305635972416"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140305635972752"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635973088"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140305635973424"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140305635973760"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140305635974096"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140305635974432"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140305627772096"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140305627772432"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140305627772768"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627773104"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140305627773440"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140305627773776"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140305627774112"}}}, "time": {"struct_time": {"kind": "ClassDef", "type": {"nodeId": "140305614576256"}}, "_ClockInfo": {"kind": "ClassDef", "type": {"nodeId": "140305614576592"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140305619090256"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140305619090592"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140305619090928"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140305619337280"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140305619337616"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140305619337952"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140305619338288"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140305619338624"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140305619338960"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339296"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339632"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140305619339968"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140305619340304"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140305619340640"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140305619340976"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140305619341312"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140305619341648"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140305619341984"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140305619342320"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140305619342656"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140305619342992"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140305619343328"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140305619343664"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140305619344000"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140305619344336"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140305619344672"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140305619345008"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140305619345344"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140305619345680"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140305619346016"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140305619346352"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140305619346688"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140305619347024"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140305619347360"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140305619347696"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348032"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348368"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140305619348704"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140305619349040"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140305619349376"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140305619349712"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140305619350048"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140305619350384"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140305619350720"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140305619351056"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140305619351392"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140305619351728"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140305619352064"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140305619352400"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140305619352736"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140305619353072"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140305619451968"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140305619452304"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140305619452640"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140305619452976"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140305619453312"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140305619453648"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140305619453984"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140305619454320"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140305619454656"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140305619454992"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140305619455328"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140305619455664"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140305619456000"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140305619456336"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140305619456672"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140305619457008"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140305619457344"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140305619457680"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140305619458016"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140305619458352"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140305619458688"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140305619459024"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140305619459360"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140305619459696"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140305619460032"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140305619460368"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140305619460704"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140305619461040"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140305619461376"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140305619461712"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140305619462048"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140305619462384"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140305619462720"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140305619463056"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140305619463392"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140305619463728"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140305619464064"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140305619464400"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140305619464736"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140305619465072"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140305619465408"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140305619465744"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140305619466080"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140305619466416"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140305619466752"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140305619467088"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140305619467424"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140305619467760"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140305619533888"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140305619534224"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140305619534560"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140305619534896"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140305619535232"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140305619535568"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140305619535904"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140305619536240"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140305619536576"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140305619536912"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140305619537248"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140305619537584"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140305619537920"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140305619538256"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140305619538592"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140305619538928"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140305619539264"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140305619539600"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140305619539936"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140305628004752"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005088"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005424"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628005760"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140305628006096"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140305628006432"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140305628006768"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140305628007104"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140305628007440"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140305628007776"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140305628008112"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140305628008448"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140305628008784"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305614575584"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140305619080176"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140305618823408"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140305618823744"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140305614570208"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140305618824080"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140305618824416"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140305618824752"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140305618825088"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140305618825424"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140305618825760"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140305618826096"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140305618826432"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140305614570544"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140305618826768"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140305618827104"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140305618827440"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140305618827776"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140305618828112"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140305618828448"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140305618828784"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140305618944064"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140305618944400"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140305618944736"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140305618945072"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140305618945408"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140305618945744"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140305618946080"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140305618946416"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140305618946752"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140305618947088"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140305618947424"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140305618947760"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140305618948096"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140305618948432"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140305618948768"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140305618949104"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140305618949440"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140305618949776"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140305618950112"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140305618950448"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140305618950784"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140305618951120"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140305618951456"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140305618951792"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140305618952128"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140305618952464"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140305618952800"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140305618953136"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140305618953472"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140305618953808"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140305618954144"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140305614570880"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140305628004416"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140305635980144"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140305635980480"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140305635980816"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140305635981152"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140305635981488"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140305635981824"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140305635982160"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140305635982496"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140305619543632"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140305619543968"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140305635982832"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140305619544304"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140305619544640"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140305619544976"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140305619545312"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140305619545648"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140305619545984"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140305619546320"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140305619546656"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140305628013152"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140305628013488"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628013824"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014160"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014496"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628014832"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628015168"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628015504"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305628015840"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140305628016176"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140305628016512"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140305628016848"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140305628012480"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140305619548000"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140305619548336"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619548672"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305628012816"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619549008"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305619549344"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305619549680"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140305614569536"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140305635978800"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140305635979136"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140305619076144"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140305619076480"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140305614571216"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140305619076816"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140305619077152"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140305619077488"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140305619077824"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305619078160"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619078496"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140305614571552"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140305619078832"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079168"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079504"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140305614571888"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140305614572224"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140305614572560"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140305614572896"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140305614573232"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140305619079840"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140305635975776"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140305635976112"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140305635976448"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140305635976784"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140305635977120"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140305628013488"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140305628009120"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140305628009792"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140305628010464"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140305628010800"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140305628011136"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140305614575920"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140305628011472"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140305628011808"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619546992"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140305619547664"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140305628012144"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140305635977456"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140305635977792"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140305635978128"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140305635978464"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140305619089920"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140305628009120"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140305628009456"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140305628020208"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140305618812992"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140305618813328"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140305614573568"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140305614573904"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140305614574240"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140305614574576"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140305614574912"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140305614575248"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140305628020208"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140305628019200"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140305618823072"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140305618822736"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140305618814000"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140305618814336"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140305618814672"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140305618815008"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140305618815344"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140305618815680"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816016"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816352"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618816688"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817024"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817360"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618817696"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818032"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818368"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618818704"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819040"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819376"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618819712"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820048"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820384"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618820720"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140305618821056"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618821392"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618821728"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618822064"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140305618822400"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140305628019200"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140305628019536"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140305628019872"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140305618813664"}}}}, "names": {"annotation_tests": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing.ParamSpec"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "ForwardRef", "kind": "ImportedType", "fullname": "typing.ForwardRef"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "Enum", "kind": "ImportedType", "fullname": "enum.Enum"}, {"name": "datetime", "kind": "Module", "fullname": "datetime"}, {"name": "XXX", "kind": "Other"}, {"name": "A", "kind": "LocalType"}, {"name": "square", "kind": "Other"}, {"name": "not_annotated", "kind": "Other"}, {"name": "same_annotations", "kind": "Other"}, {"name": "optional", "kind": "Other"}, {"name": "literal", "kind": "Other"}, {"name": "Color", "kind": "LocalType"}, {"name": "enum_literal", "kind": "Other"}, {"name": "abstract_set", "kind": "Other"}, {"name": "mapping", "kind": "Other"}, {"name": "sequence", "kind": "Other"}, {"name": "supports_abs", "kind": "Other"}, {"name": "tuple_", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "datetime": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_D", "kind": "Other"}, {"name": "MINYEAR", "kind": "Other"}, {"name": "MAXYEAR", "kind": "Other"}, {"name": "tzinfo", "kind": "LocalType"}, {"name": "_TzInfo", "kind": "Other"}, {"name": "timezone", "kind": "LocalType"}, {"name": "_IsoCalendarDate", "kind": "LocalType"}, {"name": "date", "kind": "LocalType"}, {"name": "time", "kind": "LocalType"}, {"name": "_Date", "kind": "Other"}, {"name": "_Time", "kind": "Other"}, {"name": "timedelta", "kind": "LocalType"}, {"name": "datetime", "kind": "LocalType"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "time": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_TimeTuple", "kind": "Other"}, {"name": "altzone", "kind": "Other"}, {"name": "daylight", "kind": "Other"}, {"name": "timezone", "kind": "Other"}, {"name": "tzname", "kind": "Other"}, {"name": "CLOCK_BOOTTIME", "kind": "Other"}, {"name": "CLOCK_MONOTONIC", "kind": "Other"}, {"name": "CLOCK_MONOTONIC_RAW", "kind": "Other"}, {"name": "CLOCK_PROCESS_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_REALTIME", "kind": "Other"}, {"name": "CLOCK_THREAD_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_TAI", "kind": "Other"}, {"name": "struct_time", "kind": "LocalType"}, {"name": "asctime", "kind": "Other"}, {"name": "ctime", "kind": "Other"}, {"name": "gmtime", "kind": "Other"}, {"name": "localtime", "kind": "Other"}, {"name": "mktime", "kind": "Other"}, {"name": "sleep", "kind": "Other"}, {"name": "strftime", "kind": "Other"}, {"name": "strptime", "kind": "Other"}, {"name": "time", "kind": "Other"}, {"name": "tzset", "kind": "Other"}, {"name": "_ClockInfo", "kind": "LocalType"}, {"name": "get_clock_info", "kind": "Other"}, {"name": "monotonic", "kind": "Other"}, {"name": "perf_counter", "kind": "Other"}, {"name": "process_time", "kind": "Other"}, {"name": "clock_getres", "kind": "Other"}, {"name": "clock_gettime", "kind": "Other"}, {"name": "clock_settime", "kind": "Other"}, {"name": "clock_gettime_ns", "kind": "Other"}, {"name": "clock_settime_ns", "kind": "Other"}, {"name": "pthread_getcpuclockid", "kind": "Other"}, {"name": "monotonic_ns", "kind": "Other"}, {"name": "perf_counter_ns", "kind": "Other"}, {"name": "process_time_ns", "kind": "Other"}, {"name": "time_ns", "kind": "Other"}, {"name": "thread_time", "kind": "Other"}, {"name": "thread_time_ns", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/utbot-python/src/test/resources/boruvka.json b/utbot-python/src/test/resources/boruvka.json deleted file mode 100644 index 03033a34..00000000 --- a/utbot-python/src/test/resources/boruvka.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"139821942966640": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981776"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249024"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249472"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984249920"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984250368"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984250816"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984251264"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984350272"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984351168"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984351616"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352064"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352512"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984352960"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984353408"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984353856"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984354304"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984354752"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984355200"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984355648"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356096"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356544"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984356992"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984357440"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984357888"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984358336"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984358784"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984359232"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984359680"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984360128"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984360576"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361024"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361472"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984361920"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984362368"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984362816"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984363264"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984363712"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984364160"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984364608"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365056"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365504"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984365952"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984464960"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984465408"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984465856"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984466304"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984466752"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981888"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468096"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468544"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984468992"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984469440"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984469888"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984470336"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984470784"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984471232"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984471680"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984472128"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984472576"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473024"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473472"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984473920"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984474368"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821904981776": {"type": "Overloaded", "items": [{"nodeId": "139821984248128"}, {"nodeId": "139821905087392"}]}, "139821984248128": {"type": "Function", "typeVars": [".-1.139821984248128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821984248128"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "139822017680704": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475424"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904779120"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850537184"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996860672"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996859776"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996861568"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862016"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862464"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996862912"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996863360"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996863808"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996864256"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996864704"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996865152"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996865600"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996866048"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996866496"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005485632"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005486080"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "139821921475424": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "139821942968320": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225376"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980196800"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980197248"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980197696"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980198144"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980198592"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225600"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225936"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900226720"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980201728"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980202176"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980202624"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203072"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203520"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980203968"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980204416"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980336192"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980336640"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900227056"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "isAbstract": false}, "139821900225376": {"type": "Overloaded", "items": [{"nodeId": "139821980193664"}, {"nodeId": "139821980194112"}, {"nodeId": "139821980194560"}, {"nodeId": "139821980195008"}, {"nodeId": "139821980195456"}, {"nodeId": "139821980195904"}, {"nodeId": "139821980196352"}]}, "139821980193664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942968320": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942968320", "variance": "INVARIANT"}, ".2.139821942968320": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942968320", "variance": "INVARIANT"}, "139821980194112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821980194560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926231600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000881728"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000882176"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__", "keys"]}, "139822000881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}]}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926231600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926231600": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231600", "variance": "INVARIANT"}, ".2.139821926231600": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231600", "variance": "COVARIANT"}, "139822017684736": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896029280"}}], "typeVars": [{"nodeId": ".1.139822017684736"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__iter__"]}, "139821896029280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017684736"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017684736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017684736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684736", "variance": "COVARIANT"}, "139822017685072": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896032192"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001359552"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.139822017685072"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017685072"}]}], "protocolMembers": ["__iter__", "__next__"]}, "139821896032192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}], "returnType": {"nodeId": ".1.139822017685072"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017685072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685072", "variance": "COVARIANT"}, "139822001359552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "139822000882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821926231600"}, {"nodeId": ".2.139821926231600"}]}, {"nodeId": ".1.139821926231600"}], "returnType": {"nodeId": ".2.139821926231600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980195008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821980195456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900226160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900226160": {"type": "Tuple", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "139821980195904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900226384"}]}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821900226384": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821942968320"}]}, "139821980196352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942967984": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900223472"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980065280"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980065728"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980066176"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980066624"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067072"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067520"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980067968"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980068416"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900223584"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980069760"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980070208"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900224816"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900224928"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980072448"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900225152"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980188736"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980189184"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980189632"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190080"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190528"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980190976"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980191424"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980191872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980192320"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980192768"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980193216"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821942967984"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821942967984"}]}], "isAbstract": false}, "139821900223472": {"type": "Overloaded", "items": [{"nodeId": "139821980064384"}, {"nodeId": "139821980064832"}]}, "139821980064384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942967984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942967984", "variance": "INVARIANT"}, "139821980064832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980065280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980065728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980066176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980066624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821925480288": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821900896224"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__index__"]}, "139821900896224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942964960": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904975616"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989201280"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526880"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850527776"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526656"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850526432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989203520"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989203968"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989204416"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989205760"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850525760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989206656"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989207104"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989207552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208000"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208448"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989208896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989209344"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989209792"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989210240"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989210688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989211136"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989211584"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989212032"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989212480"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904976736"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989215616"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983989824"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983990272"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983990720"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983991168"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983991616"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992064"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992512"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983992960"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983993408"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983993856"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983994304"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983994752"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983995200"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983995648"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996096"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996544"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983996992"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983997440"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983997888"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983998336"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983998784"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983999232"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821983999680"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984000128"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984000576"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001024"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001472"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984001920"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984002368"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904975616": {"type": "Overloaded", "items": [{"nodeId": "139822005497728"}, {"nodeId": "139821989200832"}]}, "139822005497728": {"type": "Function", "typeVars": [".-1.139822005497728"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904977408"}], "returnType": {"nodeId": ".-1.139822005497728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "139821904977408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821904977296"}, {"nodeId": "139821925466512"}, {"nodeId": "139821925480288"}, {"nodeId": "139821926230928"}]}, "139821904977296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821925918064": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925917952"}]}, "139821925473568": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904983008"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984476160"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984476608"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477056"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477504"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984477952"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984478400"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984479296"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984479744"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984480640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984645184"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984645632"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646080"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646528"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984646976"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984647424"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984647872"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984648320"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984648768"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984649216"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984649664"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984650112"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984650560"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651008"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651456"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984651904"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984652352"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984652800"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984653248"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984653696"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984654144"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984654592"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655040"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655488"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984655936"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984656384"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984656832"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984657280"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984657728"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984658176"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984658624"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850786528"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850786080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984659968"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984660416"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905281536"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984727552"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728000"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728448"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984728896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984729344"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984729792"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984730240"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984730688"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984731136"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984731584"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984732032"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984732480"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139821925471552"}], "isAbstract": false}, "139821904983008": {"type": "Overloaded", "items": [{"nodeId": "139821905087840"}, {"nodeId": "139821984475264"}, {"nodeId": "139821984475712"}]}, "139821905087840": {"type": "Function", "typeVars": [".-1.139821905087840"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821905282768"}], "returnType": {"nodeId": ".-1.139821905087840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821905282768": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925480288"}, {"nodeId": "139821925467520"}, {"nodeId": "139821905282656"}]}, "139821925467520": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895937024"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__bytes__"]}, "139821895937024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467520"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905282656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087840", "variance": "INVARIANT"}, "139821984475264": {"type": "Function", "typeVars": [".-1.139821984475264"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821984475264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.139821984475264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984475264", "variance": "INVARIANT"}, "139821984475712": {"type": "Function", "typeVars": [".-1.139821984475712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821984475712"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821984475712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984475712", "variance": "INVARIANT"}, "139821984476160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984476608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984477056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905282992"}, {"nodeId": "139821905283104"}, {"nodeId": "139821905283216"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905282992": {"type": "Union", "items": [{"nodeId": "139821905282880"}, {"nodeId": "139821925480288"}]}, "139821905282880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905283104": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905283216": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984477504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984477952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905283552"}, {"nodeId": "139821905283664"}, {"nodeId": "139821905283776"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905283552": {"type": "Union", "items": [{"nodeId": "139821905283328"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905283440"}]}]}, "139821905283328": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942967648": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979923648"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979924096"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979924544"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900222016"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979925888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980057664"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980058112"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980058560"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980059008"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900222688"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980060352"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980060800"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980061248"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980061696"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980062144"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821942967648"}], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139821942967648"}]}], "isAbstract": false}, "139821979923648": {"type": "Function", "typeVars": [".-1.139821979923648"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": ".-1.139821979923648"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.139821942967648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942967648", "variance": "COVARIANT"}, ".-1.139821979923648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979923648", "variance": "INVARIANT"}, "139821979924096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821979924544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017681040": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979914688"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900220560"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900220672"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221456"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221568"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221680"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221792"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979920512"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}], "isAbstract": false}, "139821979914688": {"type": "Function", "typeVars": [".-1.139821979914688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821979914688"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.139821979914688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979914688", "variance": "INVARIANT"}, "139821900220560": {"type": "Overloaded", "items": [{"nodeId": "139821979915136"}, {"nodeId": "139821979915584"}]}, "139821979915136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979915584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900220672": {"type": "Overloaded", "items": [{"nodeId": "139821979916032"}, {"nodeId": "139821979916480"}]}, "139821979916032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979916480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221456": {"type": "Overloaded", "items": [{"nodeId": "139821979916928"}, {"nodeId": "139821979917376"}]}, "139821979916928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979917376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221568": {"type": "Overloaded", "items": [{"nodeId": "139821979917824"}, {"nodeId": "139821979918272"}]}, "139821979917824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979918272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221680": {"type": "Overloaded", "items": [{"nodeId": "139821979918720"}, {"nodeId": "139821979919168"}]}, "139821979918720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979919168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900221792": {"type": "Overloaded", "items": [{"nodeId": "139821979919616"}, {"nodeId": "139821979920064"}]}, "139821979919616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979920064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979920512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821900222240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900222240": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821900222016": {"type": "Overloaded", "items": [{"nodeId": "139821979924992"}, {"nodeId": "139821979925440"}]}, "139821979924992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979925440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821942967312": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845919584"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845920480"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845920704"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900221904"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979923200"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821845919584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845920480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845920704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900221904": {"type": "Overloaded", "items": [{"nodeId": "139821979922304"}, {"nodeId": "139821979922752"}]}, "139821979922304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821979922752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821979923200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967312"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821900223360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900223360": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821979925888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980057664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980058112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980058560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980059008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900222688": {"type": "Overloaded", "items": [{"nodeId": "139821980059456"}, {"nodeId": "139821980059904"}]}, "139821980059456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980059904": {"type": "Function", "typeVars": [".-1.139821980059904"], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": ".-1.139821980059904"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821900223696"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980059904": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980059904", "variance": "INVARIANT"}, "139821900223696": {"type": "Union", "items": [{"nodeId": ".1.139821942967648"}, {"nodeId": ".-1.139821980059904"}]}, "139821980060352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980060800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980061248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980061696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967648", "args": [{"nodeId": ".1.139821942967648"}]}, {"nodeId": "A"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980062144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925751424": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016096"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016544"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892016768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972210624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972211072"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972212416"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892016096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942964288": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850532032"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531360"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850531136"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530912"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530688"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530464"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530240"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850530016"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904779568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904972928"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005497280"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005496832"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005498176"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005498624"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005499072"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850529792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005499968"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005500416"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850532032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850531584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850531360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925745376": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971800128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971800576"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801024"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801472"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971801920"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971802368"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971802816"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971803264"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971803712"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971804160"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971804608"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805056"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805504"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "isAbstract": false}, "139821971800128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925745376": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925745376", "variance": "INVARIANT"}, ".2.139821925745376": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925745376", "variance": "COVARIANT"}, "139821971800576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": ".1.139821925745376"}], "returnType": {"nodeId": ".2.139821925745376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971801024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971801472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971801920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971802368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971802816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925469872": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001695296"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001695744"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001696192"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001696640"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697536"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001697984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001698432"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001698880"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001699328"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001699776"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001700224"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.139821925469872"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925469872"}]}], "isAbstract": false}, "139822001695296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925469872"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925469872": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469872", "variance": "COVARIANT"}, "139822017689776": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896347520"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951344"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996575872"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996576320"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996576768"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996577216"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017689776"}]}], "isAbstract": true}, "139821896347520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}], "returnType": {"nodeId": ".2.139822017689776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017689776": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689776", "variance": "INVARIANT"}, ".2.139822017689776": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689776", "variance": "COVARIANT"}, "139821921951344": {"type": "Overloaded", "items": [{"nodeId": "139821996574976"}, {"nodeId": "139821996575424"}]}, "139821996574976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}], "returnType": {"nodeId": "139821921956496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921956496": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": "N"}]}, "139821996575424": {"type": "Function", "typeVars": [".-1.139821996575424"], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": ".1.139822017689776"}, {"nodeId": "139821921956608"}], "returnType": {"nodeId": "139821921956720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "139821921956608": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": ".-1.139821996575424"}]}, ".-1.139821996575424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996575424", "variance": "INVARIANT"}, "139821921956720": {"type": "Union", "items": [{"nodeId": ".2.139822017689776"}, {"nodeId": ".-1.139821996575424"}]}, "139821996575872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925469536", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925469536": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001690368"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001690816"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001691264"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001691712"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001692160"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001692608"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693056"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693504"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001693952"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001694400"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001694848"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139821925537760"}]}], "isAbstract": false}, "139822001689920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925469536": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469536", "variance": "COVARIANT"}, ".2.139821925469536": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925469536", "variance": "COVARIANT"}, "139822001690368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921953248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925474240": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900227504"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980338880"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980339328"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980339776"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980340224"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980340672"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980341120"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980341568"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342016"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342464"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980342912"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980343360"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980343808"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980344256"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980344704"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980345152"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980345600"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346048"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346496"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980346944"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980347392"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980347840"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980348288"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980348736"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980349184"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980349632"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350080"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350528"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980350976"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980351424"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980351872"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980467264"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474240"}], "bases": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139821925474240"}]}], "isAbstract": false}, "139821900227504": {"type": "Overloaded", "items": [{"nodeId": "139821980337984"}, {"nodeId": "139821980338432"}]}, "139821980337984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925474240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474240", "variance": "INVARIANT"}, "139821980338432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980338880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980339328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980339776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980340224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980340672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980341120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980341568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980342016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980342464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980342912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980343360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": ".1.139821925474240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980343808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980344256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980344704": {"type": "Function", "typeVars": [".-1.139821980344704"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980344704"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229632"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.139821980344704": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980344704", "variance": "INVARIANT"}, "139821900229632": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980344704"}]}, "139821980345152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980345600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980346048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980346496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980346944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017689104": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896240704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001549184"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001549632"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550080"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550528"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001550976"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001551424"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001551872"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001552320"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001552768"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001684544"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.139822017689104"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017689104"}]}], "isAbstract": true}, "139821896240704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017689104": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689104", "variance": "COVARIANT"}, "139822001549184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001549632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001550976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001551424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001551872": {"type": "Function", "typeVars": [".-1.139822001551872"], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139822001551872"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821921952128"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001551872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001551872", "variance": "INVARIANT"}, "139821921952128": {"type": "Union", "items": [{"nodeId": ".1.139822017689104"}, {"nodeId": ".-1.139822001551872"}]}, "139822001552320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001552768": {"type": "Function", "typeVars": [".-1.139822001552768"], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139822001552768"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821921952352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001552768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001552768", "variance": "INVARIANT"}, "139821921952352": {"type": "Union", "items": [{"nodeId": ".1.139822017689104"}, {"nodeId": ".-1.139822001552768"}]}, "139822001684544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689104"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "139822017688096": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896169088"}}], "typeVars": [{"nodeId": ".1.139822017688096"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688096"}]}, {"nodeId": "139822017687760", "args": [{"nodeId": ".1.139822017688096"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "139821896169088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017688096"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017688096": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688096", "variance": "COVARIANT"}, "139822017687760": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896166400"}}], "typeVars": [{"nodeId": ".1.139822017687760"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__"]}, "139821896166400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687760", "args": [{"nodeId": ".1.139822017687760"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017687760": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687760", "variance": "COVARIANT"}, "139821980347392": {"type": "Function", "typeVars": [".-1.139821980347392"], "argTypes": [{"nodeId": ".-1.139821980347392"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": ".-1.139821980347392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980347392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980347392", "variance": "INVARIANT"}, "139821980347840": {"type": "Function", "typeVars": [".-1.139821980347840"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980347840"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980347840": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980347840", "variance": "INVARIANT"}, "139821900229744": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980347840"}]}, "139821980348288": {"type": "Function", "typeVars": [".-1.139821980348288"], "argTypes": [{"nodeId": ".-1.139821980348288"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": ".-1.139821980348288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980348288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980348288", "variance": "INVARIANT"}, "139821980348736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139821900229856"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900229856": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": "N"}]}, "139821980349184": {"type": "Function", "typeVars": [".-1.139821980349184"], "argTypes": [{"nodeId": ".-1.139821980349184"}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": ".-1.139821980349184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980349184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980349184", "variance": "INVARIANT"}, "139821980349632": {"type": "Function", "typeVars": [".-1.139821980349632"], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980349632"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821900229968"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980349632": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980349632", "variance": "INVARIANT"}, "139821900229968": {"type": "Union", "items": [{"nodeId": ".1.139821925474240"}, {"nodeId": ".-1.139821980349632"}]}, "139821980350080": {"type": "Function", "typeVars": [".-1.139821980350080"], "argTypes": [{"nodeId": ".-1.139821980350080"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474240"}]}], "returnType": {"nodeId": ".-1.139821980350080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980350080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980350080", "variance": "INVARIANT"}, "139821980350528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980350976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980351424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980351872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925474240"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980467264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822017689440": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896242272"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896249888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001685888"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001686336"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001686784"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001687232"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001687680"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001688128"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001688576"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.139822017689440"}], "bases": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "isAbstract": true}, "139821896242272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.139822017689440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017689440", "variance": "INVARIANT"}, "139821896249888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001685888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001686336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".1.139822017689440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001686784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689440", "args": [{"nodeId": ".1.139822017689440"}]}, {"nodeId": ".1.139822017689440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001687232": {"type": "Function", "typeVars": [".-1.139822001687232"], "argTypes": [{"nodeId": ".-1.139822001687232"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".-1.139822001687232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001687232": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001687232", "variance": "INVARIANT"}, "139822001687680": {"type": "Function", "typeVars": [".-1.139822001687680"], "argTypes": [{"nodeId": ".-1.139822001687680"}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822001687680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001687680": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001687680", "variance": "INVARIANT"}, "139822001688128": {"type": "Function", "typeVars": [".-1.139822001688128"], "argTypes": [{"nodeId": ".-1.139822001688128"}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139822017689440"}]}], "returnType": {"nodeId": ".-1.139822001688128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001688128": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001688128", "variance": "INVARIANT"}, "139822001688576": {"type": "Function", "typeVars": [".-1.139822001688576"], "argTypes": [{"nodeId": ".-1.139822001688576"}, {"nodeId": "139822017689104", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822001688576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001688576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001688576", "variance": "INVARIANT"}, "139821921953248": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001690816": {"type": "Function", "typeVars": [".-1.139822001690816"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001690816"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001690816"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001690816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001690816", "variance": "INVARIANT"}, "139822001691264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001691712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821921953472"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921953472": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001692160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821921953696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921953696": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001692608": {"type": "Function", "typeVars": [".-1.139822001692608"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001692608"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954032"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001692608": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001692608", "variance": "INVARIANT"}, "139821921954032": {"type": "Union", "items": [{"nodeId": "139821921953920"}, {"nodeId": ".-1.139822001692608"}]}, "139821921953920": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693056": {"type": "Function", "typeVars": [".-1.139822001693056"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001693056"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001693056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001693056", "variance": "INVARIANT"}, "139821921954368": {"type": "Union", "items": [{"nodeId": "139821921954256"}, {"nodeId": ".-1.139822001693056"}]}, "139821921954256": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921954704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921954704": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001693952": {"type": "Function", "typeVars": [".-1.139822001693952"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001693952"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001693952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001693952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001693952", "variance": "INVARIANT"}, "139822001694400": {"type": "Function", "typeVars": [".-1.139822001694400"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001694400"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955040"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001694400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001694400", "variance": "INVARIANT"}, "139821921955040": {"type": "Union", "items": [{"nodeId": "139821921954928"}, {"nodeId": ".-1.139822001694400"}]}, "139821921954928": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139822001694848": {"type": "Function", "typeVars": [".-1.139822001694848"], "argTypes": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001694848"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001694848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001694848", "variance": "INVARIANT"}, "139821921955376": {"type": "Union", "items": [{"nodeId": "139821921955264"}, {"nodeId": ".-1.139822001694848"}]}, "139821921955264": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139821925469200": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689024"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001689472"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "139821925468192"}], "isAbstract": false}, "139822001689024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469200"}, {"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "139822001689472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925468192": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896027264"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__len__"]}, "139821896027264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925468192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925537760": {"type": "Tuple", "items": [{"nodeId": ".1.139821925469536"}, {"nodeId": ".2.139821925469536"}]}, "139821996576320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925469872", "args": [{"nodeId": ".1.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996576768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}], "returnType": {"nodeId": "139821925470208", "args": [{"nodeId": ".2.139822017689776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925470208": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996572736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996573184"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996573632"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996574080"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925470208"}], "bases": [{"nodeId": "139821925469200"}, {"nodeId": "139822017688096", "args": [{"nodeId": ".1.139821925470208"}]}], "isAbstract": false}, "139821996572736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.139821925470208": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925470208", "variance": "COVARIANT"}, "139821996573184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996573632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996574080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821925470208"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996577216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017689776"}, {"nodeId": ".2.139822017689776"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001695744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001696192": {"type": "Function", "typeVars": [".-1.139822001696192"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001696192"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001696192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001696192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001696192", "variance": "INVARIANT"}, "139822001696640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001697088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001697536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001697984": {"type": "Function", "typeVars": [".-1.139822001697984"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001697984"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001697984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001697984", "variance": "INVARIANT"}, "139821921955712": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001697984"}]}, "139822001698432": {"type": "Function", "typeVars": [".-1.139822001698432"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001698432"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921955824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001698432": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001698432", "variance": "INVARIANT"}, "139821921955824": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001698432"}]}, "139822001698880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".1.139821925469872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001699328": {"type": "Function", "typeVars": [".-1.139822001699328"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001699328"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": ".-1.139822001699328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001699328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001699328", "variance": "INVARIANT"}, "139822001699776": {"type": "Function", "typeVars": [".-1.139822001699776"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001699776"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921956048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001699776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001699776", "variance": "INVARIANT"}, "139821921956048": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001699776"}]}, "139822001700224": {"type": "Function", "typeVars": [".-1.139822001700224"], "argTypes": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925469872"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822001700224"}]}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821921956160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001700224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001700224", "variance": "INVARIANT"}, "139821921956160": {"type": "Union", "items": [{"nodeId": ".1.139821925469872"}, {"nodeId": ".-1.139822001700224"}]}, "139821971803264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925470208", "args": [{"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971803712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971804160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821971804608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925745376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971805056": {"type": "Function", "typeVars": [".-1.139821971805056", ".-2.139821971805056"], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821971805056"}, {"nodeId": ".-2.139821971805056"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821912822208"}, {"nodeId": "139821912822320"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821971805056": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805056", "variance": "INVARIANT"}, ".-2.139821971805056": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805056", "variance": "INVARIANT"}, "139821912822208": {"type": "Union", "items": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".-1.139821971805056"}]}, "139821912822320": {"type": "Union", "items": [{"nodeId": ".2.139821925745376"}, {"nodeId": ".-2.139821971805056"}]}, "139821971805504": {"type": "Function", "typeVars": [".-1.139821971805504", ".-2.139821971805504"], "argTypes": [{"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".2.139821925745376"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821971805504"}, {"nodeId": ".-2.139821971805504"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821912822432"}, {"nodeId": "139821912822544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821971805504": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805504", "variance": "INVARIANT"}, ".-2.139821971805504": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971805504", "variance": "INVARIANT"}, "139821912822432": {"type": "Union", "items": [{"nodeId": ".1.139821925745376"}, {"nodeId": ".-1.139821971805504"}]}, "139821912822544": {"type": "Union", "items": [{"nodeId": ".2.139821925745376"}, {"nodeId": ".-2.139821971805504"}]}, "139821850531136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850530240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821904975168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904975168": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821850530016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904779568": {"type": "Overloaded", "items": [{"nodeId": "139822005495488"}, {"nodeId": "139822005495936"}]}, "139822005495488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822005495936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "139821904972928": {"type": "Overloaded", "items": [{"nodeId": "139822005496384"}, {"nodeId": "139822005490112"}]}, "139822005496384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822005490112": {"type": "Function", "typeVars": [".-1.139822005490112"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139822005490112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.139822005490112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005490112", "variance": "INVARIANT"}, "139822005497280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "139822005496832": {"type": "Function", "typeVars": [".-1.139822005496832"], "argTypes": [{"nodeId": ".-1.139822005496832"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139822005496832"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822005496832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005496832", "variance": "INVARIANT"}, "139822005498176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005498624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822005499072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821850529792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "139822005499968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925752096": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892019232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972213760"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972214208"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892019232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972213760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972214208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752096"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822005500416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925752096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821892016544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892016768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972210624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "139821942964288"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "139821972211072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972212416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751424"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017688432": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921949888"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001540224"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001540672"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001541120"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001541568"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001542016"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139822017688432"}], "bases": [{"nodeId": "139822017688096", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139822017688432"}]}], "isAbstract": true}, "139821921949888": {"type": "Overloaded", "items": [{"nodeId": "139822001539328"}, {"nodeId": "139822001539776"}]}, "139822001539328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139822017688432": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688432", "variance": "COVARIANT"}, "139822001539776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001540224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "A"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "139822001540672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001541120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001541568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822001542016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688432"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017688432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822017685408": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896034432"}}], "typeVars": [{"nodeId": ".1.139822017685408"}], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017685408"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "139821896034432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685408", "args": [{"nodeId": ".1.139822017685408"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017685408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685408", "variance": "COVARIANT"}, "139821905283440": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905283664": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905283776": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984478400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984479296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284000"}, {"nodeId": "139821905284112"}, {"nodeId": "139821905284224"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905284000": {"type": "Union", "items": [{"nodeId": "139821905283888"}, {"nodeId": "139821925480288"}]}, "139821905283888": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905284112": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905284224": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984479744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284336"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821905284336": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821984480640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905284560"}, {"nodeId": "139821905284672"}, {"nodeId": "139821905284784"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905284560": {"type": "Union", "items": [{"nodeId": "139821905284448"}, {"nodeId": "139821925480288"}]}, "139821905284448": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905284672": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905284784": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984645184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984647424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984647872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984648320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984648768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821905284896"}]}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905284896": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984649216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905285008"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905285008": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821925473904": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905282544"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984734720"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984735168"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984735616"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736064"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736512"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984736960"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984737408"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984737856"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984738752"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984739200"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984739648"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984740544"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984740992"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984741440"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984741888"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984742336"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984742784"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984874560"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875008"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875456"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984875904"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984876352"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984876800"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984877248"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984877696"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984878144"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984878592"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879040"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879488"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984879936"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984880384"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984880832"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984881280"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984881728"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984882176"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984882624"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883072"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883520"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984883968"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984884416"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984884864"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984885312"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984885760"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984886208"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984886656"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984887104"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821845732192"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821845731072"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984888448"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984888896"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905289376"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905290160"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979795968"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979796416"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821905097920"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979797312"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979797760"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979798208"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979798656"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979799104"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979799552"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800000"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800448"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979800896"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979801344"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979801792"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979802240"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821925471552"}], "isAbstract": false}, "139821905282544": {"type": "Overloaded", "items": [{"nodeId": "139821984733376"}, {"nodeId": "139821984733824"}, {"nodeId": "139821984734272"}]}, "139821984733376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984733824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905290384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905290384": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925480288"}, {"nodeId": "139821905290272"}]}, "139821905290272": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984734272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "139821984734720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984735168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984735616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984736064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905290608"}, {"nodeId": "139821905290720"}, {"nodeId": "139821905290832"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905290608": {"type": "Union", "items": [{"nodeId": "139821905290496"}, {"nodeId": "139821925480288"}]}, "139821905290496": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905290720": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905290832": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984736512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984736960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984737408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291168"}, {"nodeId": "139821905291280"}, {"nodeId": "139821905291392"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905291168": {"type": "Union", "items": [{"nodeId": "139821905290944"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905291056"}]}]}, "139821905290944": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291056": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291280": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905291392": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984737856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984738752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984739200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291616"}, {"nodeId": "139821905291728"}, {"nodeId": "139821905291840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905291616": {"type": "Union", "items": [{"nodeId": "139821905291504"}, {"nodeId": "139821925480288"}]}, "139821905291504": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905291728": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905291840": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984739648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905291952"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821905291952": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821984740544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292176"}, {"nodeId": "139821905292288"}, {"nodeId": "139821905292400"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905292176": {"type": "Union", "items": [{"nodeId": "139821905292064"}, {"nodeId": "139821925480288"}]}, "139821905292064": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905292288": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905292400": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984740992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821984741440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984741888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984742336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984742784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984874560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984875904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984876352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821905292512"}]}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905292512": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984876800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905292624"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905292624": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984877248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984877696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292848"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905292848": {"type": "Union", "items": [{"nodeId": "139821905292736"}, {"nodeId": "N"}]}, "139821905292736": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984878144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905292960"}], "returnType": {"nodeId": "139821905293184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905292960": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293184": {"type": "Tuple", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}]}, "139821984878592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821984879040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984879488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293296"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905293296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984879936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293408"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905293408": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984880384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293520"}, {"nodeId": "139821905293632"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905293520": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293632": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984880832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905293856"}, {"nodeId": "139821905293968"}, {"nodeId": "139821905294080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905293856": {"type": "Union", "items": [{"nodeId": "139821905293744"}, {"nodeId": "139821925480288"}]}, "139821905293744": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905293968": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905294080": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984881280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905294304"}, {"nodeId": "139821905294416"}, {"nodeId": "139821905294528"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905294304": {"type": "Union", "items": [{"nodeId": "139821905294192"}, {"nodeId": "139821925480288"}]}, "139821905294192": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905294416": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905294528": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905294640"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905294640": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905294752"}], "returnType": {"nodeId": "139821905294976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905294752": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905294976": {"type": "Tuple", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}, {"nodeId": "139821925473904"}]}, "139821984882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295200"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905295200": {"type": "Union", "items": [{"nodeId": "139821905295088"}, {"nodeId": "N"}]}, "139821905295088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295424"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905295424": {"type": "Union", "items": [{"nodeId": "139821905295312"}, {"nodeId": "N"}]}, "139821905295312": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295648"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905295648": {"type": "Union", "items": [{"nodeId": "139821905295536"}, {"nodeId": "N"}]}, "139821905295536": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473904"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905295984"}, {"nodeId": "139821905296096"}, {"nodeId": "139821905296208"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905295984": {"type": "Union", "items": [{"nodeId": "139821905295760"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905295872"}]}]}, "139821905295760": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905295872": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905296096": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905296208": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905296432"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905296432": {"type": "Union", "items": [{"nodeId": "139821905296320"}, {"nodeId": "N"}]}, "139821905296320": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821905296656"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "139821905296656": {"type": "Union", "items": [{"nodeId": "139821905296544"}, {"nodeId": "N"}]}, "139821905296544": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984886656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984887104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821845732192": {"type": "Function", "typeVars": [".-1.139821845732192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821845732192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821845732192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821845732192", "variance": "INVARIANT"}, "139821845731072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821905296768"}, {"nodeId": "139821905296880"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905296768": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905296880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984888448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905289376": {"type": "Overloaded", "items": [{"nodeId": "139821984889344"}, {"nodeId": "139821984889792"}]}, "139821984889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905290160": {"type": "Overloaded", "items": [{"nodeId": "139821984890240"}, {"nodeId": "139821979795520"}]}, "139821984890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821979795520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821942967312"}, {"nodeId": "139821905297216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821905297216": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925473568"}]}, "139821979795968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218432": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821979796416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218544"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218544": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905097920": {"type": "Function", "typeVars": [".-1.139821905097920"], "argTypes": [{"nodeId": ".-1.139821905097920"}, {"nodeId": "139821900218656"}], "returnType": {"nodeId": ".-1.139821905097920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821905097920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905097920", "variance": "INVARIANT"}, "139821900218656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979797312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979797760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979798208": {"type": "Function", "typeVars": [".-1.139821979798208"], "argTypes": [{"nodeId": ".-1.139821979798208"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821979798208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821979798208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979798208", "variance": "INVARIANT"}, "139821979798656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979799104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900218992"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900218992": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821900218880"}]}, "139821900218880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979799552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979800000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979800448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219104"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219104": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979800896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219216"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219216": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979801344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219328"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219328": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979801792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}, {"nodeId": "139821900219440"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900219440": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979802240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017688768": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896238688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921950336"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921950896"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951232"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001545600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546048"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546496"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001546944"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001547392"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001547840"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001548288"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.139822017688768"}], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": ".1.139822017688768"}]}], "isAbstract": true}, "139821896238688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.139822017688768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017688768", "variance": "INVARIANT"}, "139821921950336": {"type": "Overloaded", "items": [{"nodeId": "139822001542912"}, {"nodeId": "139822001543360"}]}, "139822001542912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001543360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921950896": {"type": "Overloaded", "items": [{"nodeId": "139822001543808"}, {"nodeId": "139822001544256"}]}, "139822001543808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139822001544256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821921951232": {"type": "Overloaded", "items": [{"nodeId": "139822001544704"}, {"nodeId": "139822001545152"}]}, "139822001544704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001545152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001545600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001546048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001546496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "139822001546944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001547392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017688768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "139822001547840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139822017688768"}]}, {"nodeId": ".1.139822017688768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "139822001548288": {"type": "Function", "typeVars": [".-1.139822001548288"], "argTypes": [{"nodeId": ".-1.139822001548288"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139822017688768"}]}], "returnType": {"nodeId": ".-1.139822001548288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822001548288": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001548288", "variance": "INVARIANT"}, "139821925471552": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": true}, "139821984649664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984650112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285232"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905285232": {"type": "Union", "items": [{"nodeId": "139821905285120"}, {"nodeId": "N"}]}, "139821905285120": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984650560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285344"}], "returnType": {"nodeId": "139821905285568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905285344": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905285568": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}]}, "139821984651008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285680"}, {"nodeId": "139821905285792"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905285680": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905285792": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984651456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905285904"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905285904": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984651904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286016"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905286016": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984652352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286240"}, {"nodeId": "139821905286352"}, {"nodeId": "139821905286464"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905286240": {"type": "Union", "items": [{"nodeId": "139821905286128"}, {"nodeId": "139821925480288"}]}, "139821905286128": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905286352": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905286464": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984652800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905286688"}, {"nodeId": "139821905286800"}, {"nodeId": "139821905286912"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905286688": {"type": "Union", "items": [{"nodeId": "139821905286576"}, {"nodeId": "139821925480288"}]}, "139821905286576": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905286800": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905286912": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984653248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}, {"nodeId": "139821905287024"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821905287024": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821984653696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287136"}], "returnType": {"nodeId": "139821905287360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905287136": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905287360": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}]}, "139821984654144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287584"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905287584": {"type": "Union", "items": [{"nodeId": "139821905287472"}, {"nodeId": "N"}]}, "139821905287472": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984654592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905287808"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905287808": {"type": "Union", "items": [{"nodeId": "139821905287696"}, {"nodeId": "N"}]}, "139821905287696": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984655040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288032"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821905288032": {"type": "Union", "items": [{"nodeId": "139821905287920"}, {"nodeId": "N"}]}, "139821905287920": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984655488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288368"}, {"nodeId": "139821905288480"}, {"nodeId": "139821905288592"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905288368": {"type": "Union", "items": [{"nodeId": "139821905288144"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821905288256"}]}]}, "139821905288144": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905288256": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905288480": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905288592": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984656384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905288816"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905288816": {"type": "Union", "items": [{"nodeId": "139821905288704"}, {"nodeId": "N"}]}, "139821905288704": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984656832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984657280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984657728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289040"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "139821905289040": {"type": "Union", "items": [{"nodeId": "139821905288928"}, {"nodeId": "N"}]}, "139821905288928": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984658176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984658624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821850786528": {"type": "Function", "typeVars": [".-1.139821850786528"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821850786528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821850786528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850786528", "variance": "INVARIANT"}, "139821850786080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821905289152"}, {"nodeId": "139821905289264"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289152": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821905289264": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984659968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984660416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905281536": {"type": "Overloaded", "items": [{"nodeId": "139821984660864"}, {"nodeId": "139821984727104"}]}, "139821984660864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984727104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984727552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289488"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289488": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984728000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984728448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984728896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984729344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821905289824"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905289824": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821905289712"}]}, "139821905289712": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821984729792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984730240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984730688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984731136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984731584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984732032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984732480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821905290048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905290048": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}]}, "139821925917952": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821925917840": {"type": "Union", "items": [{"nodeId": "139821925473904"}, {"nodeId": "139821942966976"}, {"nodeId": "139821926224880", "args": [{"nodeId": "A"}]}, {"nodeId": "139821929644096"}, {"nodeId": "139821938453728"}, {"nodeId": "139821925758144"}]}, "139821942966976": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845740480"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845740928"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845741152"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905472"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905696"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845905920"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906144"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906368"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906592"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845906816"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845907040"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821845907264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808512"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979808960"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979809408"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905296992"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979810752"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979811200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979910208"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821905297104"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979911552"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979912448"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979912896"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979913344"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821979913792"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821845740480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845740928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845741152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219552": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219664": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219776": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821845905920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821900219888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900219888": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821845906592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845906816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845907040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821845907264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979808064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900220000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821900220000": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979808512": {"type": "Function", "typeVars": [".-1.139821979808512"], "argTypes": [{"nodeId": ".-1.139821979808512"}], "returnType": {"nodeId": ".-1.139821979808512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821979808512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821979808512", "variance": "INVARIANT"}, "139821979808960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900220112"}, {"nodeId": "139821900220224"}, {"nodeId": "139821900220336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821900220112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821900220224": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821942972352": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942644784"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925536528"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942639632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976054784"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976055232"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976055680"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942644784": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821925536528": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821942639632": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925750080": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972097728"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542464"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891941344"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891941792"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891942016"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972097728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}, {"nodeId": "139821912830160"}, {"nodeId": "139821925750416"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "139821912830160": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925750416": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891943136"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891943808"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891944032"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010048"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010272"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010496"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892010720"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542912"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972102656"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891943136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821912830272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912830272": {"type": "Union", "items": [{"nodeId": "139821925750416"}, {"nodeId": "N"}]}, "139821891943808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891944032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925745040": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896883712"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885056"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896884608"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885280"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885504"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885728"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896885952"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886176"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886400"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886624"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896886848"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887072"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887296"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887520"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887744"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896887968"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896888640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971434496"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971436736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971438528"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821896883712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896884608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896885952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896886848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896887968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896888640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971434496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821912821984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912821984": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821912821760"}]}, "139821912821760": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971436736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "139821971438528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "139821892010048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892010272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892010496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821912830720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912830720": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}, "139821892010720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542912": {"type": "Union", "items": [{"nodeId": "139821938744384"}, {"nodeId": "N"}]}, "139821938744384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821972102656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821891941344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891941792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891942016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821976054784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "139821976055232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942972352"}, {"nodeId": "139821900714656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900714656": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821976055680": {"type": "Function", "typeVars": [".-1.139821976055680"], "argTypes": [{"nodeId": ".-1.139821976055680"}, {"nodeId": "139821900714768"}], "returnType": {"nodeId": ".-1.139821976055680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821976055680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976055680", "variance": "INVARIANT"}, "139821900714768": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821900220336": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821979809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942966640"}, {"nodeId": "139821900220448"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "139821900220448": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}]}, "139821905296992": {"type": "Overloaded", "items": [{"nodeId": "139821979809856"}, {"nodeId": "139821979810304"}]}, "139821979809856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979810304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979810752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821979811200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821979910208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905297104": {"type": "Overloaded", "items": [{"nodeId": "139821979910656"}, {"nodeId": "139821979911104"}]}, "139821979910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821942967312"}, {"nodeId": "139821900220784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821900220784": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821979911104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821979911552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900221344"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "139821900221344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "139821979912448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979912896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979913344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821979913792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966976"}, {"nodeId": "139821900221232"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "139821900221232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}]}, "139821926224880": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821858472672"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821858474464"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904453344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967804896"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967805344"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967805792"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967806240"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967806688"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967807136"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967807584"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808032"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808480"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967808928"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967809824"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967810272"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967810720"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967811168"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967811616"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967812064"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967812512"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967813856"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904453456"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904775200"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816096"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816544"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967816992"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967817440"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967817888"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967818336"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967884576"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885024"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885472"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967885920"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967886368"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967886816"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.139821926224880"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821926224880"}]}], "isAbstract": false}, "139821858472672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821904773632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926224880": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942966640"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926224880", "variance": "INVARIANT"}, "139821942965296": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821905087168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984003264"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984003712"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984004160"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821850717632"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850717856"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850718080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984088128"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984088576"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089024"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089472"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984089920"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984090368"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984090816"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984091264"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904977184"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984092608"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093056"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093504"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984093952"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984094400"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984094848"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984095296"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904982112"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097088"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097536"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984097984"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984098432"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904981104"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984099776"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984100224"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984100672"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984101120"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984101568"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102016"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102464"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984102912"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984103360"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984103808"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984235584"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984236032"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821905087168": {"type": "Function", "typeVars": [".-1.139821905087168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904980544"}], "returnType": {"nodeId": ".-1.139821905087168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "139821904980544": {"type": "Union", "items": [{"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904980432"}]}, "139821925466848": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895934336"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__float__"]}, "139821895934336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925466848"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904980432": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087168", "variance": "INVARIANT"}, "139821984003264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904980768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904980768": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821984003712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984004160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850717632": {"type": "Function", "typeVars": [".-1.139821850717632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821850717632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.139821850717632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850717632", "variance": "INVARIANT"}, "139821850717856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850718080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984088128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984088576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984089920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984090368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984090816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984091264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904980992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904980992": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821904977184": {"type": "Overloaded", "items": [{"nodeId": "139821984091712"}, {"nodeId": "139821984092160"}]}, "139821984091712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984092160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984092608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984093952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984094400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984094848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984095296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904981440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904981440": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821904982112": {"type": "Overloaded", "items": [{"nodeId": "139821984095744"}, {"nodeId": "139821984096192"}, {"nodeId": "139821984096640"}]}, "139821984095744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821904981664"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904981664": {"type": "TypeAlias", "target": {"nodeId": "139821921471392"}}, "139821921471392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821984096192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821904984912"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904984912": {"type": "TypeAlias", "target": {"nodeId": "139821921473520"}}, "139821921473520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821942965632": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904984128"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850772864"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850773760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984239168"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984239616"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240064"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240512"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984240960"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984241408"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984241856"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984242304"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984242752"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984243200"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984243648"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244096"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244544"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984244992"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984245440"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984245888"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984246336"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904984128": {"type": "Overloaded", "items": [{"nodeId": "139821984236480"}, {"nodeId": "139821984236928"}]}, "139821984236480": {"type": "Function", "typeVars": [".-1.139821984236480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904982000"}, {"nodeId": "139821904982336"}], "returnType": {"nodeId": ".-1.139821984236480"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "139821904982000": {"type": "Union", "items": [{"nodeId": "139821942965632"}, {"nodeId": "139821925467184"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}]}, "139821925467184": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895935680"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__complex__"]}, "139821895935680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467184"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904982336": {"type": "Union", "items": [{"nodeId": "139821942965632"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}]}, ".-1.139821984236480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984236480", "variance": "INVARIANT"}, "139821984236928": {"type": "Function", "typeVars": [".-1.139821984236928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904982448"}], "returnType": {"nodeId": ".-1.139821984236928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "139821904982448": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925467184"}, {"nodeId": "139821925466848"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942965632"}]}, ".-1.139821984236928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984236928", "variance": "INVARIANT"}, "139821850772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850773760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984239168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984239616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984240960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984241408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984241856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984242304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984242752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984243200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984243648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984244992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984245440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984245888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984246336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965632"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984096640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821984097088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821904981552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904981552": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}]}, "139821984097536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984097984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984098432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904981104": {"type": "Overloaded", "items": [{"nodeId": "139821984098880"}, {"nodeId": "139821984099328"}]}, "139821984098880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821984099328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984099776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984100224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984100672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984101120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984101568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984102016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984102464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984102912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984103360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984103808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984235584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984236032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904773632": {"type": "TypeAlias", "target": {"nodeId": "139821938696912"}}, "139821938696912": {"type": "Union", "items": [{"nodeId": "139821942649600"}, {"nodeId": "139821938697808"}, {"nodeId": "139821938698816"}]}, "139821942649600": {"type": "TypeAlias", "target": {"nodeId": "139821938696800"}}, "139821938696800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938697808": {"type": "TypeAlias", "target": {"nodeId": "139821938699712"}}, "139821938699712": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821938698816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "139821858474464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904453344": {"type": "Overloaded", "items": [{"nodeId": "139821909304128"}, {"nodeId": "139821967803104"}, {"nodeId": "139821967803552"}, {"nodeId": "139821967804000"}, {"nodeId": "139821967804448"}]}, "139821909304128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821904773856"}, {"nodeId": "139821904773968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904773856": {"type": "TypeAlias", "target": {"nodeId": "139821938696800"}}, "139821904773968": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942964960"}]}]}, "139821967803104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821904774864"}, {"nodeId": "139821904773744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904774864": {"type": "TypeAlias", "target": {"nodeId": "139821938699712"}}, "139821904773744": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942965296"}]}]}, "139821967803552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821904775088"}, {"nodeId": "139821904774752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904775088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "139821904774752": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}]}, "139821967804000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967804448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821904774192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821904774192": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821967804896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967805344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821904774304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904774304": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821967805792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967806240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967807136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821904774416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904774416": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821967807584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926232944", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821926232944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000884864"}, "name": "read"}], "typeVars": [{"nodeId": ".1.139821926232944"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["read"]}, "139822000884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232944", "args": [{"nodeId": ".1.139821926232944"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926232944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821926232944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232944", "variance": "COVARIANT"}, "139821967808032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967808480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967808928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821967809824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967810272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926224880"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967810720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967811168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967811616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926233952", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926233952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000886208"}, "name": "write"}], "typeVars": [{"nodeId": ".1.139821926233952"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["write"]}, "139822000886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233952", "args": [{"nodeId": ".1.139821926233952"}]}, {"nodeId": ".1.139821926233952"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821926233952": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233952", "variance": "CONTRAVARIANT"}, "139821967812064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967812512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967813856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821904453456": {"type": "Overloaded", "items": [{"nodeId": "139821967814304"}, {"nodeId": "139821967814752"}]}, "139821967814304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821926224880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967814752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904775200": {"type": "Overloaded", "items": [{"nodeId": "139821967815200"}, {"nodeId": "139821967815648"}]}, "139821967815200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821926224880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821967815648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821967816096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821904774976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904774976": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821967816544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967816992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967817440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967817888": {"type": "Function", "typeVars": [".-1.139821967817888"], "argTypes": [{"nodeId": ".-1.139821967817888"}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": ".-1.139821967817888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821967817888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967817888", "variance": "INVARIANT"}, "139821967818336": {"type": "Function", "typeVars": [".-1.139821967818336"], "argTypes": [{"nodeId": ".-1.139821967818336"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821967818336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821967818336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967818336", "variance": "INVARIANT"}, "139821967884576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967885920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967886368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967886816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821926224880", "args": [{"nodeId": ".1.139821926224880"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821929644096": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963138368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963138816"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963139264"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963140160"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963140608"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141056"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141504"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963141952"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963142400"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963142848"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963143296"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963143744"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963144192"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963144640"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145088"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145536"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963145984"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908621712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963147328"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908611744"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963148672"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967949888"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967950336"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967950784"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821925468192"}], "isAbstract": false}, "139821963138368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "139821963138816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963139264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "139821963140160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "139821963140608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963141056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963141504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "139821963141952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "139821963142400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963142848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963143296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "139821963143744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963144192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "139821963144640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908711952"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "139821908711952": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963145088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712064"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "139821908712064": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963145536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712176"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "139821908712176": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821963145984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "139821908712288": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821908621712": {"type": "Overloaded", "items": [{"nodeId": "139821963146432"}, {"nodeId": "139821963146880"}]}, "139821963146432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963146880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963147328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821908712512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821908712512": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821908611744": {"type": "Overloaded", "items": [{"nodeId": "139821963147776"}, {"nodeId": "139821963148224"}]}, "139821963147776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963148224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139821942967312"}, {"nodeId": "139821908712736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821908712736": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821963148672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967949888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967950336": {"type": "Function", "typeVars": [".-1.139821967950336"], "argTypes": [{"nodeId": ".-1.139821967950336"}], "returnType": {"nodeId": ".-1.139821967950336"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967950336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967950336", "variance": "INVARIANT"}, "139821967950784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644096"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821938453728": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925911904"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866793024"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866792352"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866793920"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866860832"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821866861280"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925911904": {"type": "Union", "items": [{"nodeId": "139822017689776", "args": [{"nodeId": "A"}, {"nodeId": "139821942964960"}]}, {"nodeId": "N"}]}, "139821866793024": {"type": "Function", "typeVars": [".-1.139821866793024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821909177424"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866793024"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "139821909177424": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, ".-1.139821866793024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866793024", "variance": "INVARIANT"}, "139821866792352": {"type": "Function", "typeVars": [".-1.139821866792352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821909177536"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866792352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "139821909177536": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821866792352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866792352", "variance": "INVARIANT"}, "139821866793920": {"type": "Function", "typeVars": [".-1.139821866793920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821866793920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.139821866793920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866793920", "variance": "INVARIANT"}, "139821866860832": {"type": "Function", "typeVars": [".-1.139821866860832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821909177760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "139821909177760": {"type": "Union", "items": [{"nodeId": ".-1.139821866860832"}, {"nodeId": "139821938455744"}]}, ".-1.139821866860832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866860832", "variance": "INVARIANT"}, "139821938455744": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821866861280": {"type": "Function", "typeVars": [".-1.139821866861280"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821866861280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "139821938452720": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938453728"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967887936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967888832"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967889280"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967887936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821909176976"}, {"nodeId": "139821942964960"}, {"nodeId": "139821909177088"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909177200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "139821909176976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909177088": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909177200": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821967888832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938455072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938455072": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821938454736"}], "isAbstract": false}, "139821938454736": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921871552"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934220832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909174960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967896896"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938453728"}], "isAbstract": false}, "139821921871552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "139821946420608"}, {"nodeId": "N"}]}, "139821946420608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821934220832": {"type": "TypeAlias", "target": {"nodeId": "139821929530080"}}, "139821929530080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821934226880"}, {"nodeId": "139821938454736"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821938453728"}]}], "returnType": {"nodeId": "139821938453728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821934226880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909174960": {"type": "Overloaded", "items": [{"nodeId": "139821967895104"}, {"nodeId": "139821967895552"}, {"nodeId": "139821967896000"}, {"nodeId": "139821967896448"}]}, "139821967895104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "139821967895552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821909296512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "139821909296512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821967896000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821909178432"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821909178544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "139821909178432": {"type": "Tuple", "items": [{"nodeId": "139821909178096"}, {"nodeId": "139821938452720"}]}, "139821909178096": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821909178544": {"type": "TypeAlias", "target": {"nodeId": "139821934222064"}}, "139821934222064": {"type": "Union", "items": [{"nodeId": "139821934222848"}, {"nodeId": "139821934221616"}, {"nodeId": "139821934221952"}]}, "139821934222848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821934221616": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821934221952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821967896448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821909178880"}]}, {"nodeId": "139821921715248", "args": [{"nodeId": "139821938720832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "139821909178880": {"type": "TypeAlias", "target": {"nodeId": "139821934222064"}}, "139821921715248": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821921715248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909175072"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909178656"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968202368"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.139821921715248"}], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938453728"}], "isAbstract": false}, ".1.139821921715248": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "139821938453728"}, "def": "139821921715248", "variance": "INVARIANT"}, "139821909175072": {"type": "Overloaded", "items": [{"nodeId": "139821968200576"}, {"nodeId": "139821968201024"}]}, "139821968200576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821968201024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": ".1.139821921715248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "139821909178656": {"type": "Overloaded", "items": [{"nodeId": "139821968201472"}, {"nodeId": "139821968201920"}]}, "139821968201472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968201920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968202368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715248", "args": [{"nodeId": ".1.139821921715248"}]}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821938454400": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938454064"}], "isAbstract": false}, "139821938454064": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, "139821938720832": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938456080": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821938456080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968206400"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821938456080"}], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, ".1.139821938456080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938456080", "variance": "INVARIANT"}, "139821968206400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938456080", "args": [{"nodeId": ".1.139821938456080"}]}, {"nodeId": ".1.139821938456080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821967896896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938454736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821967889280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452720"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938455072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821866861280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821866861280", "variance": "INVARIANT"}, "139821925758144": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967952576"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967953024"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967953472"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967952576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}, {"nodeId": "139821913481824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "139821913481824": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821967953024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967953472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925466512": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895932992"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__int__"]}, "139821895932992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925466512"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926230928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386496"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__trunc__"]}, "139821976386496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230928"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822005497728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005497728", "variance": "INVARIANT"}, "139821989200832": {"type": "Function", "typeVars": [".-1.139821989200832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904977520"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821989200832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "139821904977520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, ".-1.139821989200832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989200832", "variance": "INVARIANT"}, "139821989201280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904977856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904977856": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "0"}]}, "139821850526880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850527776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850526656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821850526432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989203520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989203968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989204416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989205760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821925480288"}, {"nodeId": "139821904978416"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "139821904978416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821850525760": {"type": "Function", "typeVars": [".-1.139821850525760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904978640"}, {"nodeId": "139821904978976"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": ".-1.139821850525760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "139821904978640": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821925480288"}]}, {"nodeId": "139821925467520"}, {"nodeId": "139821904978528"}]}, "139821904978528": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821904978976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.139821850525760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850525760", "variance": "INVARIANT"}, "139821989206656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989207104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989207552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989208896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989209344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904979200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904979200": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821989209792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989212480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904979424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904979424": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821904976736": {"type": "Overloaded", "items": [{"nodeId": "139821989212928"}, {"nodeId": "139821989213376"}, {"nodeId": "139821989213824"}, {"nodeId": "139821989214272"}, {"nodeId": "139821989214720"}, {"nodeId": "139821989215168"}]}, "139821989212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821989213376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821989213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821904980096"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904980096": {"type": "TypeAlias", "target": {"nodeId": "139821921471392"}}, "139821989214272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821904982896"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904982896": {"type": "TypeAlias", "target": {"nodeId": "139821921473520"}}, "139821989214720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821989215168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821989215616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821904982784"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821904982784": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821983989824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983990272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983990720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983991168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983991616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983992960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983993408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983993856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983994304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983994752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983995200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821983995648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821983996992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821983997440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904980320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904980320": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821983997888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983998336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983998784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983999232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821983999680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984000128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984000576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984001920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984002368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980067072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980067520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980067968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821980068416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900223584": {"type": "Overloaded", "items": [{"nodeId": "139821980068864"}, {"nodeId": "139821980069312"}]}, "139821980068864": {"type": "Function", "typeVars": [".-1.139821980068864"], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139821980068864"}]}, {"nodeId": "N"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.139821980068864": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "139821921477216"}, "def": "139821980068864", "variance": "INVARIANT"}, "139821921477216": {"type": "Union", "items": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}]}, "139821926226224": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976380224"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.139821926226224"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__lt__"]}, "139821976380224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226224", "args": [{"nodeId": ".1.139821926226224"}]}, {"nodeId": ".1.139821926226224"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226224": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226224", "variance": "CONTRAVARIANT"}, "139821926226560": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976380672"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.139821926226560"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__gt__"]}, "139821976380672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226560", "args": [{"nodeId": ".1.139821926226560"}]}, {"nodeId": ".1.139821926226560"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226560": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226560", "variance": "CONTRAVARIANT"}, "139821980069312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821905099712"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "139821905099712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "139821900225264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900225264": {"type": "TypeAlias", "target": {"nodeId": "139821938694336"}}, "139821938694336": {"type": "Union", "items": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}]}, "139821980069760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980070208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900224816": {"type": "Overloaded", "items": [{"nodeId": "139821980070656"}, {"nodeId": "139821980071104"}]}, "139821980070656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821942967984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980071104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900224928": {"type": "Overloaded", "items": [{"nodeId": "139821980071552"}, {"nodeId": "139821980072000"}]}, "139821980071552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821942967984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980072000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980072448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821900225488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900225488": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821900225152": {"type": "Overloaded", "items": [{"nodeId": "139821980072896"}, {"nodeId": "139821980073344"}]}, "139821980072896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980073344": {"type": "Function", "typeVars": [".-1.139821980073344"], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".-1.139821980073344"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821900225712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980073344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980073344", "variance": "INVARIANT"}, "139821900225712": {"type": "Union", "items": [{"nodeId": ".-1.139821980073344"}, {"nodeId": ".1.139821942967984"}]}, "139821980188736": {"type": "Function", "typeVars": [".-1.139821980188736"], "argTypes": [{"nodeId": ".-1.139821980188736"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": ".-1.139821980188736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980188736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980188736", "variance": "INVARIANT"}, "139821980189184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980189632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980190080": {"type": "Function", "typeVars": [".-1.139821980190080"], "argTypes": [{"nodeId": ".-1.139821980190080"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".-1.139821980190080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980190080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980190080", "variance": "INVARIANT"}, "139821980190528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980190976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942967984"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980191424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980191872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980192320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980192768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}, {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821942967984"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980193216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821980196800": {"type": "Function", "typeVars": [".-1.139821980196800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821980196800"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.139821980196800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980196800", "variance": "INVARIANT"}, "139821980197248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980197696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925472560": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821854194176"}}], "typeVars": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}], "bases": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821925472560"}]}], "isAbstract": false}, "139821854194176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925472560"}, {"nodeId": ".2.139821925472560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925472560": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472560", "variance": "COVARIANT"}, ".2.139821925472560": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472560", "variance": "COVARIANT"}, "139821980198144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925472896": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821854077024"}}], "typeVars": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}], "bases": [{"nodeId": "139821925470208", "args": [{"nodeId": ".2.139821925472896"}]}], "isAbstract": false}, "139821854077024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925472896"}, {"nodeId": ".2.139821925472896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925472896": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472896", "variance": "COVARIANT"}, ".2.139821925472896": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925472896", "variance": "COVARIANT"}, "139821980198592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925473232": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821853980512"}}], "typeVars": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}], "bases": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}], "isAbstract": false}, "139821853980512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": ".1.139821925473232"}, {"nodeId": ".2.139821925473232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925473232": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925473232", "variance": "COVARIANT"}, ".2.139821925473232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925473232", "variance": "COVARIANT"}, "139821900225600": {"type": "Overloaded", "items": [{"nodeId": "139821980199040"}, {"nodeId": "139821980199488"}]}, "139821980199040": {"type": "Function", "typeVars": [".-1.139821980199040"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980199040"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139821980199040"}, {"nodeId": "139821900226944"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.139821980199040": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199040", "variance": "INVARIANT"}, "139821900226944": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821980199488": {"type": "Function", "typeVars": [".-1.139821980199488", ".-2.139821980199488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980199488"}]}, {"nodeId": ".-2.139821980199488"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139821980199488"}, {"nodeId": ".-2.139821980199488"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.139821980199488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199488", "variance": "INVARIANT"}, ".-2.139821980199488": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980199488", "variance": "INVARIANT"}, "139821900225936": {"type": "Overloaded", "items": [{"nodeId": "139821980199936"}, {"nodeId": "139821980200384"}]}, "139821980199936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": "139821900227168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900227168": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": "N"}]}, "139821980200384": {"type": "Function", "typeVars": [".-1.139821980200384"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": "139821900227280"}], "returnType": {"nodeId": "139821900227392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900227280": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980200384"}]}, ".-1.139821980200384": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980200384", "variance": "INVARIANT"}, "139821900227392": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980200384"}]}, "139821900226720": {"type": "Overloaded", "items": [{"nodeId": "139821980200832"}, {"nodeId": "139821980201280"}]}, "139821980200832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": ".2.139821942968320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980201280": {"type": "Function", "typeVars": [".-1.139821980201280"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": "139821900227616"}], "returnType": {"nodeId": "139821900227728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900227616": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980201280"}]}, ".-1.139821980201280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980201280", "variance": "INVARIANT"}, "139821900227728": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-1.139821980201280"}]}, "139821980201728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980202176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": ".2.139821942968320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980202624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821980203072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": ".1.139821942968320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980203520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980203968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821942968320"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980204416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821980336192": {"type": "Function", "typeVars": [".-1.139821980336192", ".-2.139821980336192"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821980336192"}, {"nodeId": ".-2.139821980336192"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821900227952"}, {"nodeId": "139821900228064"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980336192": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336192", "variance": "INVARIANT"}, ".-2.139821980336192": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336192", "variance": "INVARIANT"}, "139821900227952": {"type": "Union", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".-1.139821980336192"}]}, "139821900228064": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-2.139821980336192"}]}, "139821980336640": {"type": "Function", "typeVars": [".-1.139821980336640", ".-2.139821980336640"], "argTypes": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821980336640"}, {"nodeId": ".-2.139821980336640"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821900228176"}, {"nodeId": "139821900228288"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980336640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336640", "variance": "INVARIANT"}, ".-2.139821980336640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980336640", "variance": "INVARIANT"}, "139821900228176": {"type": "Union", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".-1.139821980336640"}]}, "139821900228288": {"type": "Union", "items": [{"nodeId": ".2.139821942968320"}, {"nodeId": ".-2.139821980336640"}]}, "139821900227056": {"type": "Overloaded", "items": [{"nodeId": "139821980337088"}, {"nodeId": "139821980337536"}]}, "139821980337088": {"type": "Function", "typeVars": [".-1.139821980337088"], "argTypes": [{"nodeId": ".-1.139821980337088"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}], "returnType": {"nodeId": ".-1.139821980337088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980337088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980337088", "variance": "INVARIANT"}, "139821980337536": {"type": "Function", "typeVars": [".-1.139821980337536"], "argTypes": [{"nodeId": ".-1.139821980337536"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900228624"}]}], "returnType": {"nodeId": ".-1.139821980337536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980337536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980337536", "variance": "INVARIANT"}, "139821900228624": {"type": "Tuple", "items": [{"nodeId": ".1.139821942968320"}, {"nodeId": ".2.139821942968320"}]}, "139822017690112": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896349088"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896349536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996578560"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921951456"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996579904"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921956384"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921956832"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "isAbstract": true}, "139821896349088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139822017690112": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690112", "variance": "INVARIANT"}, ".2.139822017690112": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690112", "variance": "INVARIANT"}, "139821896349536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996578560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921951456": {"type": "Overloaded", "items": [{"nodeId": "139821996579008"}, {"nodeId": "139821996579456"}]}, "139821996579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": ".2.139822017690112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821996579456": {"type": "Function", "typeVars": [".-1.139821996579456"], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": "139821921956944"}], "returnType": {"nodeId": "139821921957056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "139821921956944": {"type": "Union", "items": [{"nodeId": ".2.139822017690112"}, {"nodeId": ".-1.139821996579456"}]}, ".-1.139821996579456": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996579456", "variance": "INVARIANT"}, "139821921957056": {"type": "Union", "items": [{"nodeId": ".2.139822017690112"}, {"nodeId": ".-1.139821996579456"}]}, "139821996579904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}], "returnType": {"nodeId": "139821921957280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921957280": {"type": "Tuple", "items": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, "139821921956384": {"type": "Overloaded", "items": [{"nodeId": "139821996580352"}, {"nodeId": "139821996580800"}]}, "139821996580352": {"type": "Function", "typeVars": [".-1.139821996580352"], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": "139821921957504"}]}, {"nodeId": ".1.139822017690112"}], "returnType": {"nodeId": "139821921957616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921957504": {"type": "Union", "items": [{"nodeId": ".-1.139821996580352"}, {"nodeId": "N"}]}, ".-1.139821996580352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996580352", "variance": "INVARIANT"}, "139821921957616": {"type": "Union", "items": [{"nodeId": ".-1.139821996580352"}, {"nodeId": "N"}]}, "139821996580800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": ".2.139822017690112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821921956832": {"type": "Overloaded", "items": [{"nodeId": "139821996581248"}, {"nodeId": "139821996581696"}, {"nodeId": "139821996582144"}]}, "139821996581248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821996581696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821921957952"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821921957952": {"type": "Tuple", "items": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, "139821996582144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139822017690112"}, {"nodeId": ".2.139822017690112"}]}, {"nodeId": ".2.139822017690112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821904779120": {"type": "Overloaded", "items": [{"nodeId": "139821909310624"}]}, "139821909310624": {"type": "Function", "typeVars": [".-1.139821909310624"], "argTypes": [{"nodeId": ".-1.139821909310624"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821909310624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909310624", "variance": "INVARIANT"}, "139821850537184": {"type": "Function", "typeVars": [".-1.139821850537184"], "argTypes": [{"nodeId": ".-1.139821850537184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821850537184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821850537184", "variance": "INVARIANT"}, "139821996860672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996859776": {"type": "Function", "typeVars": [".-1.139821996859776"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821996859776"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821996859776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996859776", "variance": "INVARIANT"}, "139821996861568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821996862016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996862464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996862912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996863360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996863808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821996864256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996864704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821996865152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996865600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996866048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821904973376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904973376": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139821996866496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821904973600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904973600": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139822005485632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005486080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821984248128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984248128", "variance": "INVARIANT"}, "139821905087392": {"type": "Function", "typeVars": [".-1.139821905087392"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821904983120"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821905087392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "139821904983120": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, ".-1.139821905087392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821905087392", "variance": "INVARIANT"}, "139821984249024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984249472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984249920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984250368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904983232"}, {"nodeId": "139821904983344"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "139821904983232": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983344": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984250816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821984251264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904983456"}, {"nodeId": "139821904983568"}, {"nodeId": "139821904983680"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904983456": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821904983568": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983680": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984350272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "139821984351168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904983792"}, {"nodeId": "139821904983904"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904983792": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904983904": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984351616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821984352064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942965968"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "139821942965968": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984247232"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821984247232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942965968"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984352512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904984016"}, {"nodeId": "139821904984352"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904984016": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904984352": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984352960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984353408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984353856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984354304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984354752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984355200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984355648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984356992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984357440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984357888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984358336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984358784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984359232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984359680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904984464"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821904984464": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984360128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904984688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904984688": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821984360576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821984361024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984361472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821984361920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904985024"}, {"nodeId": "139821904985136"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904985024": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904985136": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984362368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821904985248"}, {"nodeId": "139821904985360"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821904985248": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821904985360": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984362816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821984363264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904985584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904985584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821984363712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985696"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904985696": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984364160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985808"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821904985808": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984364608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821904985920"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904985920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984365056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821984365504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905281088"}, {"nodeId": "139821905281200"}, {"nodeId": "139821905281312"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821905281088": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821905281200": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821905281312": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "N"}]}, "139821984365952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905281424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821905281424": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821984464960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984465408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984465856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966304"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942966304": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821984247680"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821984247680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966304"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821904982672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821904982672": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821984466304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821984466752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904981888": {"type": "Overloaded", "items": [{"nodeId": "139821984467200"}, {"nodeId": "139821984467648"}]}, "139821984467200": {"type": "Function", "typeVars": [".-1.139821984467200"], "argTypes": [{"nodeId": "139821905281760"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821984467200"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821905281760": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821984467200"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821984467200"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821905281648"}, {"nodeId": ".-1.139821984467200"}]}]}, ".-1.139821984467200": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821984467200", "variance": "INVARIANT"}, "139821905281648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821984467648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821905281872"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821905281984"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821905281872": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821905281984": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821984468096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984468544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984468992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984469440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984469888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821905282096"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821905282096": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821984470336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984470784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984471232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984471680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821984472128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984472576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984473920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821984474368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821905282432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905282432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921720960": {"type": "Concrete", "module": "boruvka", "simpleName": "Graph", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "num_of_nodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009409472"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weight", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009413728"}, "name": "add_edge"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009414176"}, "name": "find_component"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009414624"}, "name": "set_component"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "component_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "u_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v_node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009415072"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009415520"}, "name": "boruvka"}, {"kind": "Variable", "name": "m_num_of_nodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "m_edges", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"kind": "Variable", "name": "m_component", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822009409472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "num_of_nodes"]}, "139822009413728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "u_node", "v_node", "weight"]}, "139822009414176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "u_node"]}, "139822009414624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "u_node"]}, "139822009415072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "component_size", "u_node", "v_node"]}, "139822009415520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925481296": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540448"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540672"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993368416"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821900901376"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821900902496"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925540448": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821925540672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821993368416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921945856"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821921946304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "139821921945856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "139821942966640"}]}, "139821921946304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900901376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}], "returnType": {"nodeId": "139822017682384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017682384": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017683056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182016"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822017683056": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925536304"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182912"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821895929184"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821895929632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001185152"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001185600"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925536304": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822001182912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921943952"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "139821921943952": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821895929184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}], "returnType": {"nodeId": "139822017682384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821895929632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}], "returnType": {"nodeId": "139822017682720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017682720": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017683056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001182464"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001182464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682720"}, {"nodeId": "139822017683056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "139822001185152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017682048": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001177984"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001178432"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001178880"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682048"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001185600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683056"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017682384"}, {"nodeId": "139822017683056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "139821900902496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481296"}], "returnType": {"nodeId": "139822017682720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017681712": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942648144"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822009417088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001176640"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001177088"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942648144": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822009417088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}, {"nodeId": "139821921947200"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "139821921947200": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822001176640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681712"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017683392": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186048"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186496"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001186944"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001187392"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964288"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001186048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "139822001186496": {"type": "Function", "typeVars": [".-1.139822001186496"], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": ".-1.139822001186496"}], "returnType": {"nodeId": ".-1.139822001186496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.139822001186496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822001186496", "variance": "INVARIANT"}, "139822001186944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822001187392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683392"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017682048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017683728": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001189184"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822001189184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017683728"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925466176": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925299728"}], "isAbstract": false}, "139821925299728": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005996896"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005997344"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005997792"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005998240"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005998688"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "139821942964288"}], "isAbstract": false}, "139821925474576": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900228400"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980468608"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469056"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469504"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980469952"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980470400"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980470848"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980471296"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980471744"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980472192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980472640"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473536"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980473984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980474432"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980474880"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980475328"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980475776"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980476224"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980476672"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980477120"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474576"}], "bases": [{"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "isAbstract": false}, "139821900228400": {"type": "Overloaded", "items": [{"nodeId": "139821980467712"}, {"nodeId": "139821980468160"}]}, "139821980467712": {"type": "Function", "typeVars": [".-1.139821980467712"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821980467712"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821980467712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980467712", "variance": "INVARIANT"}, "139821980468160": {"type": "Function", "typeVars": [".-1.139821980468160"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": ".-1.139821980468160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.139821925474576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474576", "variance": "COVARIANT"}, ".-1.139821980468160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980468160", "variance": "INVARIANT"}, "139821980468608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980469056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980469504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "139821980469952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980470400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980470848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980471296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980471744": {"type": "Function", "typeVars": [".-1.139821980471744"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980471744"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230304"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.139821980471744": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980471744", "variance": "INVARIANT"}, "139821900230304": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980471744"}]}, "139821980472192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980472640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980473088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980473536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980473984": {"type": "Function", "typeVars": [".-1.139821980473984"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980473984"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980473984": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980473984", "variance": "INVARIANT"}, "139821900230416": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980473984"}]}, "139821980474432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".1.139821925474576"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980474880": {"type": "Function", "typeVars": [".-1.139821980474880"], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": ".-1.139821980474880"}]}], "returnType": {"nodeId": "139821925474576", "args": [{"nodeId": "139821900230528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821980474880": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980474880", "variance": "INVARIANT"}, "139821900230528": {"type": "Union", "items": [{"nodeId": ".1.139821925474576"}, {"nodeId": ".-1.139821980474880"}]}, "139821980475328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980475776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980476224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980476672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474576", "args": [{"nodeId": ".1.139821925474576"}]}, {"nodeId": "139822017689104", "args": [{"nodeId": "139822017680704"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980477120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139822005996896": {"type": "Function", "typeVars": [".-1.139822005996896"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139822005996896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.139822005996896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005996896", "variance": "INVARIANT"}, "139822005997344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "139822005997792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "139822005998240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "139821904775760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "139821904775760": {"type": "Union", "items": [{"nodeId": "139821926233952", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139822005998688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925299728"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "139821925467856": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895938592"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__index__"]}, "139821895938592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925467856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017684064": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821895939936"}}], "typeVars": [{"nodeId": ".1.139822017684064"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__abs__"]}, "139821895939936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684064", "args": [{"nodeId": ".1.139822017684064"}]}], "returnType": {"nodeId": ".1.139822017684064"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139822017684064": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684064", "variance": "COVARIANT"}, "139822017684400": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921791424"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.139822017684400"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821921791424": {"type": "Overloaded", "items": [{"nodeId": "139822001356864"}, {"nodeId": "139822001357312"}]}, "139822001356864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684400", "args": [{"nodeId": ".1.139822017684400"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017684400": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017684400", "variance": "COVARIANT"}, "139822001357312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684400", "args": [{"nodeId": ".1.139822017684400"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139822017684400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925468528": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896027712"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__hash__"]}, "139821896027712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925468528"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017685744": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001360448"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896037120"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921947984"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001362240"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001362688"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896037344"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896037792"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896038464"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896038688"}}], "typeVars": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139822017685744"}]}], "isAbstract": true}, "139822001360448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017685744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "COVARIANT"}, ".2.139822017685744": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "CONTRAVARIANT"}, ".3.139822017685744": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017685744", "variance": "COVARIANT"}, "139821896037120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": ".2.139822017685744"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921947984": {"type": "Overloaded", "items": [{"nodeId": "139822001361344"}, {"nodeId": "139822001361792"}]}, "139822001361344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": "0"}, {"nodeId": "139821921948768"}, {"nodeId": "139821921948880"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921948768": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921948880": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001361792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921948992"}], "returnType": {"nodeId": ".1.139822017685744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921948992": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001362240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822001362688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896037344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896037792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896038464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896038688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139822017685744"}, {"nodeId": ".2.139822017685744"}, {"nodeId": ".3.139822017685744"}]}], "returnType": {"nodeId": "139821921949440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921949440": {"type": "Union", "items": [{"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139822017686080": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896039360"}}], "typeVars": [{"nodeId": ".1.139822017686080"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__await__"]}, "139821896039360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017686080"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.139822017686080"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686080", "variance": "COVARIANT"}, "139822017686416": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896156768"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896156992"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896157216"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896157440"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896157664"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921948544"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896157888"}}], "typeVars": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}], "bases": [{"nodeId": "139822017686080", "args": [{"nodeId": ".3.139822017686416"}]}], "isAbstract": true}, "139821896156768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821921949776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "COVARIANT"}, ".2.139822017686416": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "CONTRAVARIANT"}, ".3.139822017686416": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686416", "variance": "COVARIANT"}, "139821921949776": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821896156992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896157664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": ".2.139822017686416"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921948544": {"type": "Overloaded", "items": [{"nodeId": "139822001367616"}, {"nodeId": "139822001368064"}]}, "139822001367616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": "0"}, {"nodeId": "139821921950000"}, {"nodeId": "139821921950112"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950000": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921950112": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001368064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921950224"}], "returnType": {"nodeId": ".1.139822017686416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950224": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821896157888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139822017686416"}, {"nodeId": ".2.139822017686416"}, {"nodeId": ".3.139822017686416"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925468864": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.139821925468864"}, {"nodeId": ".2.139821925468864"}, {"nodeId": ".3.139821925468864"}, {"nodeId": ".4.139821925468864"}], "bases": [{"nodeId": "139822017686080", "args": [{"nodeId": ".3.139821925468864"}]}, {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821925468864"}, {"nodeId": ".2.139821925468864"}, {"nodeId": ".3.139821925468864"}]}], "isAbstract": true}, ".1.139821925468864": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "COVARIANT"}, ".2.139821925468864": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "CONTRAVARIANT"}, ".3.139821925468864": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "COVARIANT"}, ".4.139821925468864": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925468864", "variance": "INVARIANT"}, "139822017686752": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896159008"}}], "typeVars": [{"nodeId": ".1.139822017686752"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aiter__"]}, "139821896159008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017686752", "args": [{"nodeId": ".1.139822017686752"}]}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017686752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017686752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017686752", "variance": "COVARIANT"}, "139822017687088": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896162144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001369856"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.139822017687088"}], "bases": [{"nodeId": "139822017686752", "args": [{"nodeId": ".1.139822017687088"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "139821896162144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017687088": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687088", "variance": "COVARIANT"}, "139822001369856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822017687424": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001370304"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896164384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921948656"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822001372096"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896163936"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165280"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165504"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896165728"}}], "typeVars": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}], "bases": [{"nodeId": "139822017687088", "args": [{"nodeId": ".1.139822017687424"}]}], "isAbstract": true}, "139822001370304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017687424": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687424", "variance": "COVARIANT"}, ".2.139822017687424": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017687424", "variance": "CONTRAVARIANT"}, "139821896164384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": ".2.139822017687424"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821921948656": {"type": "Overloaded", "items": [{"nodeId": "139822001371200"}, {"nodeId": "139822001371648"}]}, "139822001371200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": "0"}, {"nodeId": "139821921950448"}, {"nodeId": "139821921950560"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950448": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821921950560": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001371648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821921950672"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139822017687424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821921950672": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139822001372096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896163936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139821925750416"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896165728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139822017687424"}, {"nodeId": ".2.139822017687424"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925470544": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896350656"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896450336"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896451232"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896451904"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896452576"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896453248"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896453920"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896454592"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896455264"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896455936"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896456608"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896457280"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896457952"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896458624"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896459296"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896459968"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896460640"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896461312"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896461984"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896462656"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896463552"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896464672"}}], "typeVars": [{"nodeId": ".1.139821925470544"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470544"}]}], "isAbstract": true}, "139821896350656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925470544": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925470544", "variance": "INVARIANT"}, "139821896450336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896451232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896451904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896452576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896453248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896453920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896454592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896455264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896455936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896456608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821896457280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821896457952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896458624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896459296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821921958064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821921958064": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821896459968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896460640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": ".1.139821925470544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821896461312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821896461984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": ".1.139821925470544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896462656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896463552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821896464672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925470544"}]}, {"nodeId": "139821921958176"}, {"nodeId": "139821921958288"}, {"nodeId": "139821921958400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821921958176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821921958288": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821921958400": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925470880": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896466016"}}], "typeVars": [], "bases": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}], "isAbstract": true}, "139821896466016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925470880"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925471216": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896598912"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599360"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599584"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896599808"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896600032"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896600256"}}], "typeVars": [], "bases": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": true}, "139821896598912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896599360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896599584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821921958512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921958512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821896599808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896600032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896600256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471216"}], "returnType": {"nodeId": "139821925471216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925471888": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921957728"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821896602944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996750464"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996751360"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "139821921957728": {"type": "Overloaded", "items": [{"nodeId": "139821996749120"}, {"nodeId": "139821996749568"}]}, "139821996749120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821912818848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "139821912818848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821996749568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "139821896602944": {"type": "Function", "typeVars": [".-1.139821896602944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139821896602944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.139821896602944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821896602944", "variance": "INVARIANT"}, "139821996750464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925471888"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996751360": {"type": "Function", "typeVars": [".-1.139821996751360"], "argTypes": [{"nodeId": ".-1.139821996751360"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821996751360"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.139821996751360": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996751360", "variance": "INVARIANT"}, "139821925472224": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996751808"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996752256"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996851264"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996851712"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996852160"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996852608"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853056"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853504"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996853952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996854400"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}], "isAbstract": true}, "139821996751808": {"type": "Function", "typeVars": [".-1.139821996751808"], "argTypes": [{"nodeId": ".-1.139821996751808"}], "returnType": {"nodeId": ".-1.139821996751808"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821996751808": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996751808", "variance": "INVARIANT"}, "139821996752256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "139821996851264": {"type": "Function", "typeVars": [".-1.139821996851264"], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}, {"nodeId": ".-1.139821996851264"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.139821996851264": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996851264", "variance": "INVARIANT"}, "139821996851712": {"type": "Function", "typeVars": [".-1.139821996851712"], "argTypes": [{"nodeId": ".-1.139821996851712"}, {"nodeId": ".-1.139821996851712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821996851712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996851712", "variance": "INVARIANT"}, "139821996852160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821996852608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925472224"}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996853952": {"type": "Function", "typeVars": [".-1.139821996853952"], "argTypes": [{"nodeId": ".-1.139821996853952"}, {"nodeId": ".-1.139821996853952"}], "returnType": {"nodeId": ".-1.139821996853952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821996853952": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996853952", "variance": "INVARIANT"}, "139821996854400": {"type": "Function", "typeVars": [".-1.139821996854400"], "argTypes": [{"nodeId": ".-1.139821996854400"}, {"nodeId": ".-1.139821996854400"}], "returnType": {"nodeId": ".-1.139821996854400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821996854400": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821996854400", "variance": "INVARIANT"}, "139822017690448": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942642656"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942642096"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996854848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996855744"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996856640"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942642656": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821942642096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996854848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821912819520"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "139821912819520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996855744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139821912819744"}, {"nodeId": "139821912819968"}, {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821912820192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "139821912819744": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821912819968": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821912820192": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821996856640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690448"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822017681376": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846041248"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921795456"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846041696"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846042368"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980063936"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821846041248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821900224144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900224144": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821925481968": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971423296"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971423296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481968"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821921795456": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821846041696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846042368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821980063936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017681376"}, {"nodeId": "139821900224480"}, {"nodeId": "139821900224592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821900224480": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821900224592": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139822017690784": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534944"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821996861120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005487872"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850534048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005488768"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.139822017690784"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850534944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139821905084480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017690784": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017690784", "variance": "COVARIANT"}, "139821905084480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850534720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821996861120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": "139821905084928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905084928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005487872": {"type": "Function", "typeVars": [".-1.139822005487872"], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": ".-1.139822005487872"}, {"nodeId": "139821904973936"}], "returnType": {"nodeId": "139821905084704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.139822005487872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005487872", "variance": "INVARIANT"}, "139821904973936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821905084704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850534048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}], "returnType": {"nodeId": "139821905085152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905085152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005488768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139822017690784"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017690784"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139822017691120": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850533600"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850533152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005487424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005490560"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821850532480"}}], "typeVars": [{"nodeId": ".1.139822017691120"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821850533600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139821905085600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139822017691120": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822017691120", "variance": "COVARIANT"}, "139821905085600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850533152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139822005487424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}, {"nodeId": "139821905085824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821905085824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822005490560": {"type": "Function", "typeVars": [".-1.139822005490560"], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}, {"nodeId": ".-1.139822005490560"}, {"nodeId": "139821904974720"}], "returnType": {"nodeId": "139821905085376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.139822005490560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822005490560", "variance": "INVARIANT"}, "139821904974720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821905085376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821850532480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139822017691120"}]}], "returnType": {"nodeId": "139821905086048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821905086048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139822017691120"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821942964624": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904975280"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821904975280": {"type": "Overloaded", "items": [{"nodeId": "139822005500864"}, {"nodeId": "139822005501312"}, {"nodeId": "139821989199936"}]}, "139822005500864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139822005501312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821989199936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925474912": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980477568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478464"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980478912"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925474912"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": "139821921795792"}]}], "isAbstract": false}, "139821980477568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474912", "args": [{"nodeId": ".1.139821925474912"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925474912"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.139821925474912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925474912", "variance": "INVARIANT"}, "139821980478016": {"type": "Function", "typeVars": [".-1.139821980478016"], "argTypes": [{"nodeId": ".-1.139821980478016"}], "returnType": {"nodeId": ".-1.139821980478016"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980478016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980478016", "variance": "INVARIANT"}, "139821980478464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925474912", "args": [{"nodeId": ".1.139821925474912"}]}], "returnType": {"nodeId": "139821900230864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900230864": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": ".1.139821925474912"}]}, "139821980478912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821921795792": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": ".1.139821925474912"}]}, "139821942968656": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846418976"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846419424"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821846419648"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900228736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980481600"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482048"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482496"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980482944"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980598336"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900230192"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980599680"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821846418976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846419424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821846419648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821900228736": {"type": "Overloaded", "items": [{"nodeId": "139821980480704"}, {"nodeId": "139821980481152"}]}, "139821980480704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980481152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821980481600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980482048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821980482496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980482944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980598336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900230192": {"type": "Overloaded", "items": [{"nodeId": "139821980598784"}, {"nodeId": "139821980599232"}]}, "139821980598784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980599232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980599680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968656"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821942968992": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921479792"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475760"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921483488"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980600128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980600576"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601024"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601472"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980601920"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980602368"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980602816"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921479792": {"type": "Union", "items": [{"nodeId": "139821946893728"}, {"nodeId": "N"}]}, "139821946893728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921475760": {"type": "Union", "items": [{"nodeId": "139821938744608"}, {"nodeId": "N"}]}, "139821938744608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921483488": {"type": "Union", "items": [{"nodeId": "139821946419712"}, {"nodeId": "N"}]}, "139821946419712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980600128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900231312"}, {"nodeId": "139821900231648"}, {"nodeId": "139821900231984"}, {"nodeId": "139821900232208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "139821900231312": {"type": "Union", "items": [{"nodeId": "139821905100160"}, {"nodeId": "N"}]}, "139821905100160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900231648": {"type": "Union", "items": [{"nodeId": "139821900529728"}, {"nodeId": "N"}]}, "139821900529728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900231984": {"type": "Union", "items": [{"nodeId": "139821900529952"}, {"nodeId": "N"}]}, "139821900529952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900232208": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821980600576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530176"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980601024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530400"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821980601472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "139821900530624"}], "returnType": {"nodeId": "139821942968992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821900530624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980601920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}, {"nodeId": "139821900232992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821900232992": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821980602368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821980602816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942968992"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821942969328": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921425712": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980606848"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.139821921425712"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__fspath__"]}, "139821980606848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921425712", "args": [{"nodeId": ".1.139821921425712"}]}], "returnType": {"nodeId": ".1.139821921425712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921425712": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921425712", "variance": "COVARIANT"}, "139821942969664": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980607744"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.139821942969664"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__anext__"]}, "139821980607744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942969664", "args": [{"nodeId": ".1.139821942969664"}]}], "returnType": {"nodeId": ".1.139821942969664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942969664": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, "def": "139821942969664", "variance": "COVARIANT"}, "139821925475248": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900234224"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980796288"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980796736"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925475248"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475248"}]}], "isAbstract": false}, "139821900234224": {"type": "Overloaded", "items": [{"nodeId": "139821980794944"}, {"nodeId": "139821980795392"}, {"nodeId": "139821980795840"}]}, "139821980794944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "N"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821900564400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.139821925475248": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475248", "variance": "INVARIANT"}, "139821900564400": {"type": "Union", "items": [{"nodeId": ".1.139821925475248"}, {"nodeId": "N"}]}, "139821980795392": {"type": "Function", "typeVars": [".-1.139821980795392"], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "139821900531072"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980795392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900531072": {"type": "Function", "typeVars": [".-1.139821900531072"], "argTypes": [{"nodeId": ".-1.139821900531072"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821900531072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900531072", "variance": "INVARIANT"}, ".-1.139821980795392": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980795392", "variance": "INVARIANT"}, "139821980795840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}, {"nodeId": "139821900530848"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925475248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821900530848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821925475248"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821980796288": {"type": "Function", "typeVars": [".-1.139821980796288"], "argTypes": [{"nodeId": ".-1.139821980796288"}], "returnType": {"nodeId": ".-1.139821980796288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980796288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980796288", "variance": "INVARIANT"}, "139821980796736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475248", "args": [{"nodeId": ".1.139821925475248"}]}], "returnType": {"nodeId": ".1.139821925475248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942970000": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980803456"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821942970000"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__"]}, "139821980803456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970000", "args": [{"nodeId": ".1.139821942970000"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821942970000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821942970000": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970000", "variance": "COVARIANT"}, "139821925475584": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900564512"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821980810624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975666752"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925475584"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475584"}]}], "isAbstract": false}, "139821900564512": {"type": "Overloaded", "items": [{"nodeId": "139821980807936"}, {"nodeId": "139821980808384"}, {"nodeId": "139821980808832"}, {"nodeId": "139821980809280"}, {"nodeId": "139821980809728"}, {"nodeId": "139821980810176"}]}, "139821980807936": {"type": "Function", "typeVars": [".-1.139821980807936"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980807936"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.139821925475584": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475584", "variance": "INVARIANT"}, "139821900533312": {"type": "Function", "typeVars": [".-1.139821900533312"], "argTypes": [{"nodeId": ".-1.139821900533312"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821900533312": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533312", "variance": "INVARIANT"}, ".-1.139821980807936": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980807936", "variance": "INVARIANT"}, "139821980808384": {"type": "Function", "typeVars": [".-1.139821980808384", ".-2.139821980808384"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900532640"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980808384"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980808384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821900532640": {"type": "Function", "typeVars": [".-1.139821900532640", ".-2.139821900532640"], "argTypes": [{"nodeId": ".-1.139821900532640"}, {"nodeId": ".-2.139821900532640"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821900532640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532640", "variance": "INVARIANT"}, ".-2.139821900532640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532640", "variance": "INVARIANT"}, ".-1.139821980808384": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808384", "variance": "INVARIANT"}, ".-2.139821980808384": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808384", "variance": "INVARIANT"}, "139821980808832": {"type": "Function", "typeVars": [".-1.139821980808832", ".-2.139821980808832", ".-3.139821980808832"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900532864"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980808832"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980808832"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980808832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "139821900532864": {"type": "Function", "typeVars": [".-1.139821900532864", ".-2.139821900532864", ".-3.139821900532864"], "argTypes": [{"nodeId": ".-1.139821900532864"}, {"nodeId": ".-2.139821900532864"}, {"nodeId": ".-3.139821900532864"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.139821900532864": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-2.139821900532864": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-3.139821900532864": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900532864", "variance": "INVARIANT"}, ".-1.139821980808832": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, ".-2.139821980808832": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, ".-3.139821980808832": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980808832", "variance": "INVARIANT"}, "139821980809280": {"type": "Function", "typeVars": [".-1.139821980809280", ".-2.139821980809280", ".-3.139821980809280", ".-4.139821980809280"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533536"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980809280"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821980809280"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821900533536": {"type": "Function", "typeVars": [".-1.139821900533536", ".-2.139821900533536", ".-3.139821900533536", ".-4.139821900533536"], "argTypes": [{"nodeId": ".-1.139821900533536"}, {"nodeId": ".-2.139821900533536"}, {"nodeId": ".-3.139821900533536"}, {"nodeId": ".-4.139821900533536"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.139821900533536": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-2.139821900533536": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-3.139821900533536": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-4.139821900533536": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533536", "variance": "INVARIANT"}, ".-1.139821980809280": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-2.139821980809280": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-3.139821980809280": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, ".-4.139821980809280": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809280", "variance": "INVARIANT"}, "139821980809728": {"type": "Function", "typeVars": [".-1.139821980809728", ".-2.139821980809728", ".-3.139821980809728", ".-4.139821980809728", ".-5.139821980809728"], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533760"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821980809728"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-5.139821980809728"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "139821900533760": {"type": "Function", "typeVars": [".-1.139821900533760", ".-2.139821900533760", ".-3.139821900533760", ".-4.139821900533760", ".-5.139821900533760"], "argTypes": [{"nodeId": ".-1.139821900533760"}, {"nodeId": ".-2.139821900533760"}, {"nodeId": ".-3.139821900533760"}, {"nodeId": ".-4.139821900533760"}, {"nodeId": ".-5.139821900533760"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.139821900533760": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-2.139821900533760": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-3.139821900533760": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-4.139821900533760": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-5.139821900533760": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900533760", "variance": "INVARIANT"}, ".-1.139821980809728": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-2.139821980809728": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-3.139821980809728": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-4.139821980809728": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, ".-5.139821980809728": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980809728", "variance": "INVARIANT"}, "139821980810176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}, {"nodeId": "139821900533984"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "139821900533984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821980810624": {"type": "Function", "typeVars": [".-1.139821980810624"], "argTypes": [{"nodeId": ".-1.139821980810624"}], "returnType": {"nodeId": ".-1.139821980810624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821980810624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821980810624", "variance": "INVARIANT"}, "139821975666752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475584", "args": [{"nodeId": ".1.139821925475584"}]}], "returnType": {"nodeId": ".1.139821925475584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921426048": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975677504"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.139821921426048"}], "bases": [{"nodeId": "139821926233952", "args": [{"nodeId": ".1.139821921426048"}]}], "protocolMembers": ["flush", "write"]}, "139821975677504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921426048", "args": [{"nodeId": ".1.139821921426048"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921426048": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921426048", "variance": "CONTRAVARIANT"}, "139821942970336": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975678848"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942970336"}, {"nodeId": ".2.139821942970336"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975678848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970336", "args": [{"nodeId": ".1.139821942970336"}, {"nodeId": ".2.139821942970336"}]}, {"nodeId": ".1.139821942970336"}], "returnType": {"nodeId": ".2.139821942970336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821942970336": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970336", "variance": "CONTRAVARIANT"}, ".2.139821942970336": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970336", "variance": "COVARIANT"}, "139821942970672": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975679296"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942970672"}, {"nodeId": ".2.139821942970672"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975679296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942970672", "args": [{"nodeId": ".1.139821942970672"}, {"nodeId": ".2.139821942970672"}]}, {"nodeId": ".1.139821942970672"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.139821942970672"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.139821942970672": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970672", "variance": "CONTRAVARIANT"}, ".2.139821942970672": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942970672", "variance": "COVARIANT"}, "139821942971008": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975679744"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}, {"nodeId": ".3.139821942971008"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__pow__"]}, "139821975679744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971008", "args": [{"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}, {"nodeId": ".3.139821942971008"}]}, {"nodeId": ".1.139821942971008"}, {"nodeId": ".2.139821942971008"}], "returnType": {"nodeId": ".3.139821942971008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139821942971008": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "CONTRAVARIANT"}, ".2.139821942971008": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "CONTRAVARIANT"}, ".3.139821942971008": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971008", "variance": "COVARIANT"}, "139821925475920": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900576272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975908224"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975908672"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975909120"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.139821925475920"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925475920"}]}], "isAbstract": false}, "139821900576272": {"type": "Overloaded", "items": [{"nodeId": "139821975907328"}, {"nodeId": "139821975907776"}]}, "139821975907328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821925475920": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925475920", "variance": "INVARIANT"}, "139821975907776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}, {"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821926230592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976385600"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386048"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926230592"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__getitem__", "__len__"]}, "139821976385600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821926230592"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926230592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926230592", "variance": "COVARIANT"}, "139821976386048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230592", "args": [{"nodeId": ".1.139821926230592"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926230592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821975908224": {"type": "Function", "typeVars": [".-1.139821975908224"], "argTypes": [{"nodeId": ".-1.139821975908224"}], "returnType": {"nodeId": ".-1.139821975908224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821975908224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821975908224", "variance": "INVARIANT"}, "139821975908672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": ".1.139821925475920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821975909120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925475920", "args": [{"nodeId": ".1.139821925475920"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821942971344": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975910016"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.139821942971344"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821975910016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971344", "args": [{"nodeId": ".1.139821942971344"}]}], "returnType": {"nodeId": ".1.139821942971344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821942971344": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971344", "variance": "COVARIANT"}, "139821942971680": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821975910464"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.139821942971680"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__round__"]}, "139821975910464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942971680", "args": [{"nodeId": ".1.139821942971680"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821942971680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821942971680": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821942971680", "variance": "COVARIANT"}, "139821921426384": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926227904", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "139821926228240", "args": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "139821926227904": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382016"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.139821926227904"}, {"nodeId": ".2.139821926227904"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__add__"]}, "139821976382016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926227904", "args": [{"nodeId": ".1.139821926227904"}, {"nodeId": ".2.139821926227904"}]}, {"nodeId": ".1.139821926227904"}], "returnType": {"nodeId": ".2.139821926227904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926227904": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227904", "variance": "CONTRAVARIANT"}, ".2.139821926227904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227904", "variance": "COVARIANT"}, "139821926228240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382464"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.139821926228240"}, {"nodeId": ".2.139821926228240"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__radd__"]}, "139821976382464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228240", "args": [{"nodeId": ".1.139821926228240"}, {"nodeId": ".2.139821926228240"}]}, {"nodeId": ".1.139821926228240"}], "returnType": {"nodeId": ".2.139821926228240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228240": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228240", "variance": "CONTRAVARIANT"}, ".2.139821926228240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228240", "variance": "COVARIANT"}, "139821925476256": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821900710512"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976052992"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976053440"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821925476256"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925476256"}]}], "isAbstract": false}, "139821900710512": {"type": "Overloaded", "items": [{"nodeId": "139821976047616"}, {"nodeId": "139821976048064"}, {"nodeId": "139821976048512"}, {"nodeId": "139821976048960"}, {"nodeId": "139821976049408"}, {"nodeId": "139821976049856"}]}, "139821976047616": {"type": "Function", "typeVars": [".-1.139821976047616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976047616"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900711744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.139821976047616": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976047616", "variance": "INVARIANT"}, "139821900711744": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976047616"}]}, "139821976048064": {"type": "Function", "typeVars": [".-1.139821976048064", ".-2.139821976048064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048064"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048064"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900711968"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.139821976048064": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048064", "variance": "INVARIANT"}, ".-2.139821976048064": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048064", "variance": "INVARIANT"}, "139821900711968": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048064"}, {"nodeId": ".-2.139821976048064"}]}, "139821976048512": {"type": "Function", "typeVars": [".-1.139821976048512", ".-2.139821976048512", ".-3.139821976048512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048512"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048512"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976048512"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.139821976048512": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, ".-2.139821976048512": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, ".-3.139821976048512": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048512", "variance": "INVARIANT"}, "139821900712192": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048512"}, {"nodeId": ".-2.139821976048512"}, {"nodeId": ".-3.139821976048512"}]}, "139821976048960": {"type": "Function", "typeVars": [".-1.139821976048960", ".-2.139821976048960", ".-3.139821976048960", ".-4.139821976048960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976048960"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821976048960"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.139821976048960": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-2.139821976048960": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-3.139821976048960": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, ".-4.139821976048960": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976048960", "variance": "INVARIANT"}, "139821900712416": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976048960"}, {"nodeId": ".-2.139821976048960"}, {"nodeId": ".-3.139821976048960"}, {"nodeId": ".-4.139821976048960"}]}, "139821976049408": {"type": "Function", "typeVars": [".-1.139821976049408", ".-2.139821976049408", ".-3.139821976049408", ".-4.139821976049408", ".-5.139821976049408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-2.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-3.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-4.139821976049408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-5.139821976049408"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821900712640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.139821976049408": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-2.139821976049408": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-3.139821976049408": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-4.139821976049408": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, ".-5.139821976049408": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976049408", "variance": "INVARIANT"}, "139821900712640": {"type": "Tuple", "items": [{"nodeId": ".-1.139821976049408"}, {"nodeId": ".-2.139821976049408"}, {"nodeId": ".-3.139821976049408"}, {"nodeId": ".-4.139821976049408"}, {"nodeId": ".-5.139821976049408"}]}, "139821976049856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925476256", "args": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "139821976052992": {"type": "Function", "typeVars": [".-1.139821976052992"], "argTypes": [{"nodeId": ".-1.139821976052992"}], "returnType": {"nodeId": ".-1.139821976052992"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821976052992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976052992", "variance": "INVARIANT"}, "139821976053440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476256", "args": [{"nodeId": ".1.139821925476256"}]}], "returnType": {"nodeId": ".1.139821925476256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925476256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476256", "variance": "COVARIANT"}, "139821942972016": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821942972688": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942973024": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942973360": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921475200"}}], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821921475200": {"type": "TypeAlias", "target": {"nodeId": "139821925543584"}}, "139821925543584": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942973696": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942972352"}], "isAbstract": false}, "139821942974032": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942974368": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942974704": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942975040": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942975376": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976056576"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017680704"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821976056576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942975376"}, {"nodeId": "139822017680704"}, {"nodeId": "139821900714880"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "139821900714880": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942975712": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942976048": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942976384": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057024"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645232"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645008"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821976057024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942976384"}, {"nodeId": "139822017680704"}, {"nodeId": "139821900714992"}, {"nodeId": "139821900715104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "139821900714992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900715104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942645232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942645008": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942976720": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977056": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977392": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942977728": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978064": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978400": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942978736": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925535408"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645456"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942646352"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942643440"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942646464"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942647696"}}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925535408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942645456": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942646352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942643440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821942646464": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942647696": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821942979072": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942979408": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942979744": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821942980080": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925285952": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925286288": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974704"}], "isAbstract": false}, "139821925286624": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976384"}], "isAbstract": false}, "139821925286960": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976720"}], "isAbstract": false}, "139821925287296": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942976720"}], "isAbstract": false}, "139821925287632": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942977392"}], "isAbstract": false}, "139821925287968": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288304": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288640": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925288976": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289312": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289648": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925289984": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925288640"}], "isAbstract": false}, "139821925290320": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925290656": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925290992": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925291328": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925291664": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292000": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292336": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925292672": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}], "isAbstract": false}, "139821925293008": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978064"}], "isAbstract": false}, "139821925293344": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978064"}], "isAbstract": false}, "139821925293680": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942978736"}], "isAbstract": false}, "139821925294016": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925293680"}], "isAbstract": false}, "139821925294352": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942979744"}], "isAbstract": false}, "139821925294688": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057472"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976057472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925294688"}, {"nodeId": "139821942966640"}, {"nodeId": "139821900715216"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821900715216": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821925295024": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976057920"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976057920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925295024"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "139821925295360": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976058368"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925294352"}], "isAbstract": false}, "139821976058368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925295360"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "139821925295696": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925296032": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925296368": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925296704": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297040": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297376": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925297712": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298048": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298384": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925298720": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925299056": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821925299392": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925295696"}], "isAbstract": false}, "139821926225216": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976378880"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821976378880": {"type": "Function", "typeVars": [".-1.139821976378880"], "argTypes": [{"nodeId": "139821926225216"}, {"nodeId": ".-1.139821976378880"}], "returnType": {"nodeId": ".-1.139821976378880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821976378880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821976378880", "variance": "INVARIANT"}, "139821926225552": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976379328"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.139821926225552"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__next__"]}, "139821976379328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926225552", "args": [{"nodeId": ".1.139821926225552"}]}], "returnType": {"nodeId": ".1.139821926225552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926225552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926225552", "variance": "COVARIANT"}, "139821926225888": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976379776"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.139821926225888"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__anext__"]}, "139821976379776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926225888", "args": [{"nodeId": ".1.139821926225888"}]}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".1.139821926225888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926225888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926225888", "variance": "COVARIANT"}, "139821926226896": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976381120"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.139821926226896"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__le__"]}, "139821976381120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926226896", "args": [{"nodeId": ".1.139821926226896"}]}, {"nodeId": ".1.139821926226896"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926226896": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926226896", "variance": "CONTRAVARIANT"}, "139821926227232": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976381568"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.139821926227232"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__ge__"]}, "139821976381568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926227232", "args": [{"nodeId": ".1.139821926227232"}]}, {"nodeId": ".1.139821926227232"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926227232": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926227232", "variance": "CONTRAVARIANT"}, "139821926227568": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926226224", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226560", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926226896", "args": [{"nodeId": "A"}]}, {"nodeId": "139821926227232", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "139821926228576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976382912"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.139821926228576"}, {"nodeId": ".2.139821926228576"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__sub__"]}, "139821976382912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228576", "args": [{"nodeId": ".1.139821926228576"}, {"nodeId": ".2.139821926228576"}]}, {"nodeId": ".1.139821926228576"}], "returnType": {"nodeId": ".2.139821926228576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228576": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228576", "variance": "CONTRAVARIANT"}, ".2.139821926228576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228576", "variance": "COVARIANT"}, "139821926228912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976383360"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.139821926228912"}, {"nodeId": ".2.139821926228912"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__rsub__"]}, "139821976383360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926228912", "args": [{"nodeId": ".1.139821926228912"}, {"nodeId": ".2.139821926228912"}]}, {"nodeId": ".1.139821926228912"}], "returnType": {"nodeId": ".2.139821926228912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926228912": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228912", "variance": "CONTRAVARIANT"}, ".2.139821926228912": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926228912", "variance": "COVARIANT"}, "139821926229248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976383808"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.139821926229248"}, {"nodeId": ".2.139821926229248"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__divmod__"]}, "139821976383808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229248", "args": [{"nodeId": ".1.139821926229248"}, {"nodeId": ".2.139821926229248"}]}, {"nodeId": ".1.139821926229248"}], "returnType": {"nodeId": ".2.139821926229248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926229248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229248", "variance": "CONTRAVARIANT"}, ".2.139821926229248": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229248", "variance": "COVARIANT"}, "139821926229584": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976384256"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.139821926229584"}, {"nodeId": ".2.139821926229584"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__rdivmod__"]}, "139821976384256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229584", "args": [{"nodeId": ".1.139821926229584"}, {"nodeId": ".2.139821926229584"}]}, {"nodeId": ".1.139821926229584"}], "returnType": {"nodeId": ".2.139821926229584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.139821926229584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229584", "variance": "CONTRAVARIANT"}, ".2.139821926229584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229584", "variance": "COVARIANT"}, "139821926229920": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976384704"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.139821926229920"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__iter__"]}, "139821976384704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926229920", "args": [{"nodeId": ".1.139821926229920"}]}], "returnType": {"nodeId": ".1.139821926229920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926229920": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926229920", "variance": "COVARIANT"}, "139821926230256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976385152"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.139821926230256"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aiter__"]}, "139821976385152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926230256", "args": [{"nodeId": ".1.139821926230256"}]}], "returnType": {"nodeId": ".1.139821926230256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926230256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926230256", "variance": "COVARIANT"}, "139821926231264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821976386944"}, "name": "items"}], "typeVars": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["items"]}, "139821976386944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231264", "args": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}]}], "returnType": {"nodeId": "139822017689104", "args": [{"nodeId": "139821904776208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926231264": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231264", "variance": "COVARIANT"}, ".2.139821926231264": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231264", "variance": "COVARIANT"}, "139821904776208": {"type": "Tuple", "items": [{"nodeId": ".1.139821926231264"}, {"nodeId": ".2.139821926231264"}]}, "139821926231936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000882624"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883072"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__", "__getitem__"]}, "139822000882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.139821926231936": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231936", "variance": "CONTRAVARIANT"}, ".2.139821926231936": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926231936", "variance": "COVARIANT"}, "139822000883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926231936"}, {"nodeId": ".2.139821926231936"}]}, {"nodeId": ".1.139821926231936"}], "returnType": {"nodeId": ".2.139821926231936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926232272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883520"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000883968"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}], "bases": [{"nodeId": "139821926231936", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "139822000883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232272", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}, {"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.139821926232272": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232272", "variance": "CONTRAVARIANT"}, ".2.139821926232272": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926232272", "variance": "INVARIANT"}, "139822000883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232272", "args": [{"nodeId": ".1.139821926232272"}, {"nodeId": ".2.139821926232272"}]}, {"nodeId": ".1.139821926232272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926232608": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000884416"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["fileno"]}, "139822000884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926232608"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926233280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000885312"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.139821926233280"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["readline"]}, "139822000885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233280", "args": [{"nodeId": ".1.139821926233280"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821926233280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821926233280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233280", "variance": "COVARIANT"}, "139821926233616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000885760"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.139821926233616"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["readline"]}, "139822000885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926233616", "args": [{"nodeId": ".1.139821926233616"}]}], "returnType": {"nodeId": ".1.139821926233616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821926233616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926233616", "variance": "COVARIANT"}, "139821926234288": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000887104"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.139821926234288"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822000887104": {"type": "Function", "typeVars": [".-1.139822000887104"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821926234288"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139822000887104"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.139821926234288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926234288", "variance": "COVARIANT"}, ".-1.139822000887104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000887104", "variance": "INVARIANT"}, "139821925476592": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909385600"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892032"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892480"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000892928"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000893376"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000893824"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000894272"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000891584"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000894720"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909385712"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000896512"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822000896960"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909386384"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "isAbstract": false}, ".1.139821925476592": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476592", "variance": "INVARIANT"}, ".2.139821925476592": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476592", "variance": "INVARIANT"}, "139821909385600": {"type": "Overloaded", "items": [{"nodeId": "139822000888896"}, {"nodeId": "139821992735488"}, {"nodeId": "139822000889792"}, {"nodeId": "139822000889344"}, {"nodeId": "139822000890688"}, {"nodeId": "139822000890240"}, {"nodeId": "139822000891136"}]}, "139822000888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821992735488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "N"}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139822000889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822000889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139822000890688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909386608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821909386608": {"type": "Tuple", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, "139822000890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909386832"}]}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821909386832": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925476592"}]}, "139822000891136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139822000892032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822000892480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}], "returnType": {"nodeId": ".2.139821925476592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000892928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139822000893376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": ".1.139821925476592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000893824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925476592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139822000894272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139822000891584": {"type": "Function", "typeVars": [".-1.139822000891584"], "argTypes": [{"nodeId": ".-1.139822000891584"}], "returnType": {"nodeId": ".-1.139822000891584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822000891584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000891584", "variance": "INVARIANT"}, "139822000894720": {"type": "Function", "typeVars": [".-1.139822000894720"], "argTypes": [{"nodeId": ".-1.139822000894720"}], "returnType": {"nodeId": ".-1.139822000894720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139822000894720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000894720", "variance": "INVARIANT"}, "139821909385712": {"type": "Overloaded", "items": [{"nodeId": "139822000895616"}, {"nodeId": "139822000896064"}]}, "139822000895616": {"type": "Function", "typeVars": [".-1.139822000895616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822000895616"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000895616"}, {"nodeId": "139821909387168"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.139822000895616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000895616", "variance": "INVARIANT"}, "139821909387168": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139822000896064": {"type": "Function", "typeVars": [".-1.139822000896064", ".-2.139822000896064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139822000896064"}]}, {"nodeId": ".-2.139822000896064"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896064"}, {"nodeId": ".-2.139822000896064"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.139822000896064": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896064", "variance": "INVARIANT"}, ".-2.139822000896064": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896064", "variance": "INVARIANT"}, "139822000896512": {"type": "Function", "typeVars": [".-1.139822000896512", ".-2.139822000896512"], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821909387280"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": "139821909387392"}, {"nodeId": "139821909387504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909387280": {"type": "Union", "items": [{"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896512"}, {"nodeId": ".-2.139822000896512"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139822000896512"}, {"nodeId": ".-2.139822000896512"}]}]}, ".-1.139822000896512": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896512", "variance": "INVARIANT"}, ".-2.139822000896512": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896512", "variance": "INVARIANT"}, "139821909387392": {"type": "Union", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".-1.139822000896512"}]}, "139821909387504": {"type": "Union", "items": [{"nodeId": ".2.139821925476592"}, {"nodeId": ".-2.139822000896512"}]}, "139822000896960": {"type": "Function", "typeVars": [".-1.139822000896960", ".-2.139822000896960"], "argTypes": [{"nodeId": "139821925476592", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, {"nodeId": "139821909387616"}], "returnType": {"nodeId": "139821925476592", "args": [{"nodeId": "139821909387728"}, {"nodeId": "139821909387840"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909387616": {"type": "Union", "items": [{"nodeId": "139821925476592", "args": [{"nodeId": ".-1.139822000896960"}, {"nodeId": ".-2.139822000896960"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": ".-1.139822000896960"}, {"nodeId": ".-2.139822000896960"}]}]}, ".-1.139822000896960": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896960", "variance": "INVARIANT"}, ".-2.139822000896960": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000896960", "variance": "INVARIANT"}, "139821909387728": {"type": "Union", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".-1.139822000896960"}]}, "139821909387840": {"type": "Union", "items": [{"nodeId": ".2.139821925476592"}, {"nodeId": ".-2.139822000896960"}]}, "139821909386384": {"type": "Overloaded", "items": [{"nodeId": "139822000895168"}, {"nodeId": "139822000897408"}]}, "139822000895168": {"type": "Function", "typeVars": [".-1.139822000895168"], "argTypes": [{"nodeId": ".-1.139822000895168"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}], "returnType": {"nodeId": ".-1.139822000895168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822000895168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000895168", "variance": "INVARIANT"}, "139822000897408": {"type": "Function", "typeVars": [".-1.139822000897408"], "argTypes": [{"nodeId": ".-1.139822000897408"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821909388176"}]}], "returnType": {"nodeId": ".-1.139822000897408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139822000897408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139822000897408", "variance": "INVARIANT"}, "139821909388176": {"type": "Tuple", "items": [{"nodeId": ".1.139821925476592"}, {"nodeId": ".2.139821925476592"}]}, "139821925476928": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909386944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997376896"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997377344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997377792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997378240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997378688"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997379136"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997379584"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909387952"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388288"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997381824"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997380480"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997382272"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997382720"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997383168"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997383616"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384064"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384960"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997385408"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997385856"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997386304"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997384512"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997386752"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997387648"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997388096"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388848"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997389440"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.139821925476928"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821925476928"}]}], "isAbstract": false}, ".1.139821925476928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925476928", "variance": "INVARIANT"}, "139821909386944": {"type": "Overloaded", "items": [{"nodeId": "139821997376000"}, {"nodeId": "139821997376448"}]}, "139821997376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "139821997376448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "139821997376896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388400"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388400": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997377344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388512"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388512": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388624"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388624": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909388736"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909388736": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}]}, "139821997378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821909387952": {"type": "Overloaded", "items": [{"nodeId": "139821997380032"}, {"nodeId": "139821997375552"}]}, "139821997380032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821925476928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997375552": {"type": "Function", "typeVars": [".-1.139821997375552"], "argTypes": [{"nodeId": ".-1.139821997375552"}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": ".-1.139821997375552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997375552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997375552", "variance": "INVARIANT"}, "139821909388288": {"type": "Overloaded", "items": [{"nodeId": "139821997380928"}, {"nodeId": "139821997381376"}]}, "139821997380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821997381376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821997381824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909389072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389072": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821997380480": {"type": "Function", "typeVars": [".-1.139821997380480"], "argTypes": [{"nodeId": ".-1.139821997380480"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997380480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997380480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997380480", "variance": "INVARIANT"}, "139821997382272": {"type": "Function", "typeVars": [".-1.139821997382272"], "argTypes": [{"nodeId": ".-1.139821997382272"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997382272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997382272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997382272", "variance": "INVARIANT"}, "139821997382720": {"type": "Function", "typeVars": [".-1.139821997382720"], "argTypes": [{"nodeId": ".-1.139821997382720"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": ".-1.139821997382720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997382720": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997382720", "variance": "INVARIANT"}, "139821997383168": {"type": "Function", "typeVars": [".-1.139821997383168"], "argTypes": [{"nodeId": ".-1.139821997383168"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997383168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997383168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997383168", "variance": "INVARIANT"}, "139821997383616": {"type": "Function", "typeVars": [".-1.139821997383616"], "argTypes": [{"nodeId": ".-1.139821997383616"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997383616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997383616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997383616", "variance": "INVARIANT"}, "139821997384064": {"type": "Function", "typeVars": [".-1.139821997384064"], "argTypes": [{"nodeId": ".-1.139821997384064"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997384064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997384064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997384064", "variance": "INVARIANT"}, "139821997384960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997385408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "139821997385856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".1.139821925476928"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "139821997386304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997384512": {"type": "Function", "typeVars": [".-1.139821997384512"], "argTypes": [{"nodeId": ".-1.139821997384512"}], "returnType": {"nodeId": ".-1.139821997384512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997384512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997384512", "variance": "INVARIANT"}, "139821997386752": {"type": "Function", "typeVars": [".-1.139821997386752"], "argTypes": [{"nodeId": ".-1.139821997386752"}], "returnType": {"nodeId": ".-1.139821997386752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997386752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997386752", "variance": "INVARIANT"}, "139821997387648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "139821997388096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": ".1.139821925476928"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "139821909388848": {"type": "Overloaded", "items": [{"nodeId": "139821997387200"}, {"nodeId": "139821997388992"}]}, "139821997387200": {"type": "Function", "typeVars": [".-1.139821997387200"], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".-1.139821997387200"}]}, {"nodeId": "N"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.139821997387200": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "139821921477216"}, "def": "139821997387200", "variance": "INVARIANT"}, "139821997388992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139821909301216"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "139821909301216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.139821925476928"}], "returnType": {"nodeId": "139821909389520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821909389520": {"type": "TypeAlias", "target": {"nodeId": "139821938694336"}}, "139821997389440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925476928", "args": [{"nodeId": ".1.139821925476928"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925476928"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "139821925477264": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997389888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997390336"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997390784"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997391232"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997015104"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997015552"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016000"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016448"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997016896"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997017344"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997017792"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997018240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997018688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997019136"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997019584"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020032"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020480"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997020928"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997021376"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997021824"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997022272"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997023168"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997023616"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024064"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024512"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997024960"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997025856"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997026304"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997026752"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997027200"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997027648"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028096"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028544"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997028992"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997029440"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997029888"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997030336"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821997030784"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989101632"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102080"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102528"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989102976"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989103424"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989103872"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989104320"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989104768"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989105216"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989105664"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909388960"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107008"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107456"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989107904"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989108352"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989108800"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989109248"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989109696"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989110144"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989110592"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111040"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111488"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989111936"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989112384"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989112832"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989113280"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989113728"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989114176"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989114624"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989115072"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821925477264"}]}], "isAbstract": false}, "139821997389888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "139821997390336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997390784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997391232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942965632"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997015104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821909389632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909389632": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821997015552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389744"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389744": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389856"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909389968"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909389968": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997016896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390080"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909390080": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997017344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997017792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821997018240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821997018688": {"type": "Function", "typeVars": [".-1.139821997018688"], "argTypes": [{"nodeId": ".-1.139821997018688"}, {"nodeId": "139821909390192"}], "returnType": {"nodeId": ".-1.139821997018688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997018688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997018688", "variance": "INVARIANT"}, "139821909390192": {"type": "Union", "items": [{"nodeId": "139821925480288"}, {"nodeId": "139821942967312"}]}, "139821997019136": {"type": "Function", "typeVars": [".-1.139821997019136"], "argTypes": [{"nodeId": ".-1.139821997019136"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821997019136"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821997019136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997019136", "variance": "INVARIANT"}, "139821997019584": {"type": "Function", "typeVars": [".-1.139821997019584"], "argTypes": [{"nodeId": ".-1.139821997019584"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821997019584"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821997019584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997019584", "variance": "INVARIANT"}, "139821997020032": {"type": "Function", "typeVars": [".-1.139821997020032"], "argTypes": [{"nodeId": ".-1.139821997020032"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997020032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020032", "variance": "INVARIANT"}, "139821997020480": {"type": "Function", "typeVars": [".-1.139821997020480"], "argTypes": [{"nodeId": ".-1.139821997020480"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997020480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020480", "variance": "INVARIANT"}, "139821997020928": {"type": "Function", "typeVars": [".-1.139821997020928"], "argTypes": [{"nodeId": ".-1.139821997020928"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997020928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997020928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997020928", "variance": "INVARIANT"}, "139821997021376": {"type": "Function", "typeVars": [".-1.139821997021376"], "argTypes": [{"nodeId": ".-1.139821997021376"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997021376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997021376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997021376", "variance": "INVARIANT"}, "139821997021824": {"type": "Function", "typeVars": [".-1.139821997021824"], "argTypes": [{"nodeId": ".-1.139821997021824"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821997021824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997021824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997021824", "variance": "INVARIANT"}, "139821997022272": {"type": "Function", "typeVars": [".-1.139821997022272"], "argTypes": [{"nodeId": ".-1.139821997022272"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821997022272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821997022272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997022272", "variance": "INVARIANT"}, "139821997023168": {"type": "Function", "typeVars": [".-1.139821997023168"], "argTypes": [{"nodeId": ".-1.139821997023168"}], "returnType": {"nodeId": ".-1.139821997023168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997023168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997023168", "variance": "INVARIANT"}, "139821997023616": {"type": "Function", "typeVars": [".-1.139821997023616"], "argTypes": [{"nodeId": ".-1.139821997023616"}], "returnType": {"nodeId": ".-1.139821997023616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821997023616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997023616", "variance": "INVARIANT"}, "139821997024064": {"type": "Function", "typeVars": [".-1.139821997024064"], "argTypes": [{"nodeId": ".-1.139821997024064"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821997024064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821997024064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997024064", "variance": "INVARIANT"}, "139821997024512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390528"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909390528": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997024960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390640"}, {"nodeId": "139821909390752"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821909390640": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909390752": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821997025856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909390864"}, {"nodeId": "139821909390976"}, {"nodeId": "139821909391088"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "139821909390864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821909390976": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909391088": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821997026304": {"type": "Function", "typeVars": [".-1.139821997026304"], "argTypes": [{"nodeId": ".-1.139821997026304"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821997026304"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.139821997026304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821997026304", "variance": "INVARIANT"}, "139821997026752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909391200"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909391200": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821997027200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "139821997027648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "139821997028096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821997028544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997028992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997029440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997029888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997030336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821997030784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989101632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989102976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989103424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989103872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821989104320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "139821989104768": {"type": "Function", "typeVars": [".-1.139821989104768"], "argTypes": [{"nodeId": ".-1.139821989104768"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989104768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821989104768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989104768", "variance": "INVARIANT"}, "139821989105216": {"type": "Function", "typeVars": [".-1.139821989105216"], "argTypes": [{"nodeId": ".-1.139821989105216"}], "returnType": {"nodeId": ".-1.139821989105216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989105216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989105216", "variance": "INVARIANT"}, "139821989105664": {"type": "Function", "typeVars": [".-1.139821989105664"], "argTypes": [{"nodeId": ".-1.139821989105664"}, {"nodeId": "139821909391760"}], "returnType": {"nodeId": ".-1.139821989105664"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989105664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989105664", "variance": "INVARIANT"}, "139821909391760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909388960": {"type": "Overloaded", "items": [{"nodeId": "139821989106112"}, {"nodeId": "139821989106560"}]}, "139821989106112": {"type": "Function", "typeVars": [".-1.139821989106112"], "argTypes": [{"nodeId": "139821909392096"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821989106112"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "139821909392096": {"type": "Union", "items": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": ".-1.139821989106112"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821989106112"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821909391984"}, {"nodeId": ".-1.139821989106112"}]}]}, ".-1.139821989106112": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989106112", "variance": "INVARIANT"}, "139821909391984": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821989106560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821909392208"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "139821909392208": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989107008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909392432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "139821909392432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821989107456": {"type": "Function", "typeVars": [".-1.139821989107456"], "argTypes": [{"nodeId": ".-1.139821989107456"}, {"nodeId": "139821909392544"}], "returnType": {"nodeId": ".-1.139821989107456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821989107456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989107456", "variance": "INVARIANT"}, "139821909392544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989107904": {"type": "Function", "typeVars": [".-1.139821989107904"], "argTypes": [{"nodeId": ".-1.139821989107904"}, {"nodeId": "139821909392656"}], "returnType": {"nodeId": ".-1.139821989107904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821989107904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989107904", "variance": "INVARIANT"}, "139821909392656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989108352": {"type": "Function", "typeVars": [".-1.139821989108352"], "argTypes": [{"nodeId": ".-1.139821989108352"}, {"nodeId": "139821909392768"}, {"nodeId": "139821909392880"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821989108352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.139821989108352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989108352", "variance": "INVARIANT"}, "139821909392768": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821909392880": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989108800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909392992"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909392992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989109248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821909393104"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "139821909393104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925477264"}]}, "139821989109696": {"type": "Function", "typeVars": [".-1.139821989109696"], "argTypes": [{"nodeId": ".-1.139821989109696"}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989109696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.139821989109696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989109696", "variance": "INVARIANT"}, "139821989110144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904445616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "139821904445616": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821989110592": {"type": "Function", "typeVars": [".-1.139821989110592"], "argTypes": [{"nodeId": ".-1.139821989110592"}, {"nodeId": "139821904445728"}], "returnType": {"nodeId": ".-1.139821989110592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989110592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989110592", "variance": "INVARIANT"}, "139821904445728": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904445840"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904445840": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904445952"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "139821904445952": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989111936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "139821989112384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477264"}, {"nodeId": "139821904446064"}, {"nodeId": "139821904446176"}, {"nodeId": "139821904446288"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "139821904446064": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}]}, "139821904446176": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904446288": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989112832": {"type": "Function", "typeVars": [".-1.139821989112832"], "argTypes": [{"nodeId": ".-1.139821989112832"}, {"nodeId": "139821904446400"}], "returnType": {"nodeId": ".-1.139821989112832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.139821989112832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989112832", "variance": "INVARIANT"}, "139821904446400": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821989113280": {"type": "Function", "typeVars": [".-1.139821989113280"], "argTypes": [{"nodeId": ".-1.139821989113280"}], "returnType": {"nodeId": ".-1.139821989113280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989113280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989113280", "variance": "INVARIANT"}, "139821989113728": {"type": "Function", "typeVars": [".-1.139821989113728"], "argTypes": [{"nodeId": ".-1.139821989113728"}], "returnType": {"nodeId": ".-1.139821989113728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989113728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989113728", "variance": "INVARIANT"}, "139821989114176": {"type": "Function", "typeVars": [".-1.139821989114176"], "argTypes": [{"nodeId": ".-1.139821989114176"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821989114176"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.139821989114176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989114176", "variance": "INVARIANT"}, "139821989114624": {"type": "Function", "typeVars": [".-1.139821989114624"], "argTypes": [{"nodeId": ".-1.139821989114624"}], "returnType": {"nodeId": ".-1.139821989114624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821989114624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989114624", "variance": "INVARIANT"}, "139821989115072": {"type": "Function", "typeVars": [".-1.139821989115072"], "argTypes": [{"nodeId": ".-1.139821989115072"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821989115072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.139821989115072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821989115072", "variance": "INVARIANT"}, "139821925477600": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821862498848"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909389184"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989116864"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821989117312"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988331584"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332032"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332480"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988332928"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988333376"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988333824"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988334272"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988334720"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988335168"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988335616"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336064"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336512"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988336960"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988337408"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988337856"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988338304"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988338752"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988339200"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988339648"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340096"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340544"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988340992"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988341440"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988341888"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988342336"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988342784"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925477600"}], "bases": [{"nodeId": "139822017688768", "args": [{"nodeId": ".1.139821925477600"}]}], "isAbstract": false}, "139821862498848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139821904446624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925477600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477600", "variance": "INVARIANT"}, "139821904446624": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909389184": {"type": "Overloaded", "items": [{"nodeId": "139821989115968"}, {"nodeId": "139821989116416"}]}, "139821989115968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821904446848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "139821904446848": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989116416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821904446960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "139821904446960": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821989116864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821989117312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988331584": {"type": "Function", "typeVars": [".-1.139821988331584"], "argTypes": [{"nodeId": ".-1.139821988331584"}], "returnType": {"nodeId": ".-1.139821988331584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988331584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988331584", "variance": "INVARIANT"}, "139821988332032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988332480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988332928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988333376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821942964960"}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821988333824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821988334272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988334720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988335168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988335616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821988336064": {"type": "Function", "typeVars": [".-1.139821988336064"], "argTypes": [{"nodeId": ".-1.139821988336064"}], "returnType": {"nodeId": ".-1.139821988336064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988336064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988336064", "variance": "INVARIANT"}, "139821988336512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988336960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": ".1.139821925477600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988337408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}, {"nodeId": ".1.139821925477600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821988337856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988338304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988338752": {"type": "Function", "typeVars": [".-1.139821988338752"], "argTypes": [{"nodeId": ".-1.139821988338752"}], "returnType": {"nodeId": "139821904447408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988338752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988338752", "variance": "INVARIANT"}, "139821904447408": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821904447184"}, {"nodeId": "N"}, {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925477600"}]}]}, "139821904447184": {"type": "Tuple", "items": []}, "139821988339200": {"type": "Function", "typeVars": [".-1.139821988339200"], "argTypes": [{"nodeId": ".-1.139821988339200"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": ".-1.139821988339200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988339200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988339200", "variance": "INVARIANT"}, "139821988339648": {"type": "Function", "typeVars": [".-1.139821988339648"], "argTypes": [{"nodeId": ".-1.139821988339648"}, {"nodeId": ".-1.139821988339648"}], "returnType": {"nodeId": ".-1.139821988339648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988339648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988339648", "variance": "INVARIANT"}, "139821988340096": {"type": "Function", "typeVars": [".-1.139821988340096"], "argTypes": [{"nodeId": ".-1.139821988340096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821988340096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988340096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988340096", "variance": "INVARIANT"}, "139821988340544": {"type": "Function", "typeVars": [".-1.139821988340544"], "argTypes": [{"nodeId": ".-1.139821988340544"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821988340544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988340544": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988340544", "variance": "INVARIANT"}, "139821988340992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988341440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988341888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988342336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}, {"nodeId": "139821925477600", "args": [{"nodeId": ".1.139821925477600"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988342784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925301408": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909391872"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345024"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345472"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988345920"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821862613312"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904446736"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904447632"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988431680"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988432128"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988432576"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433024"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433472"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988433920"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988434368"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988434816"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988435264"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988435712"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988436160"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988436608"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437056"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437504"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988437952"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988438400"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988438848"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988439296"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988439744"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.139821925301408"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821909391872": {"type": "Overloaded", "items": [{"nodeId": "139821988343232"}, {"nodeId": "139821988343680"}, {"nodeId": "139821988344128"}, {"nodeId": "139821988344576"}]}, "139821988343232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.139821925301408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301408", "variance": "INVARIANT"}, "139821988343680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988344128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988344576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988345024": {"type": "Function", "typeVars": [".-1.139821988345024"], "argTypes": [{"nodeId": ".-1.139821988345024"}], "returnType": {"nodeId": ".-1.139821988345024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988345024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988345024", "variance": "INVARIANT"}, "139821988345472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988345920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821904447744"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821904447968"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "139821904447744": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904447968": {"type": "Tuple", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}, "139821862613312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "139821904448192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "139821904448192": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821904446736": {"type": "Overloaded", "items": [{"nodeId": "139821988346816"}, {"nodeId": "139821988347264"}, {"nodeId": "139821988429888"}]}, "139821988346816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821988347264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988429888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904447632": {"type": "Overloaded", "items": [{"nodeId": "139821988430336"}, {"nodeId": "139821988430784"}, {"nodeId": "139821988431232"}]}, "139821988430336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925301408"}, {"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988430784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988431232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "N"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821988431680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": ".1.139821925301408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988432128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988432576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988433024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988433472": {"type": "Function", "typeVars": [".-1.139821988433472"], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".-1.139821988433472"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": "139821904448528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988433472": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988433472", "variance": "INVARIANT"}, "139821904448528": {"type": "Union", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": ".-1.139821988433472"}]}, "139821988433920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988434368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988434816": {"type": "Function", "typeVars": [".-1.139821988434816"], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": ".-1.139821988434816"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": "139821904448640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988434816": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988434816", "variance": "INVARIANT"}, "139821904448640": {"type": "Union", "items": [{"nodeId": ".1.139821925301408"}, {"nodeId": ".-1.139821988434816"}]}, "139821988435264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988435712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988436160": {"type": "Function", "typeVars": [".-1.139821988436160"], "argTypes": [{"nodeId": ".-1.139821988436160"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988436160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988436160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988436160", "variance": "INVARIANT"}, "139821988436608": {"type": "Function", "typeVars": [".-1.139821988436608"], "argTypes": [{"nodeId": ".-1.139821988436608"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988436608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988436608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988436608", "variance": "INVARIANT"}, "139821988437056": {"type": "Function", "typeVars": [".-1.139821988437056"], "argTypes": [{"nodeId": ".-1.139821988437056"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988437056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988437056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988437056", "variance": "INVARIANT"}, "139821988437504": {"type": "Function", "typeVars": [".-1.139821988437504"], "argTypes": [{"nodeId": ".-1.139821988437504"}, {"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": ".-1.139821988437504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988437504": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988437504", "variance": "INVARIANT"}, "139821988437952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988438400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988438848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988439296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988439744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301408", "args": [{"nodeId": ".1.139821925301408"}]}, {"nodeId": "139821925301408", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821926219840": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988440192"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926219840"}], "bases": [{"nodeId": "139821925469872", "args": [{"nodeId": ".1.139821926219840"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821926219840"}]}], "isAbstract": false}, "139821988440192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926219840", "args": [{"nodeId": ".1.139821926219840"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821926219840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926219840": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926219840", "variance": "COVARIANT"}, "139821926220176": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988440640"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}], "bases": [{"nodeId": "139821925469536", "args": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": "139821938700272"}]}], "isAbstract": false}, "139821988440640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220176", "args": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821904449312"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926220176": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220176", "variance": "COVARIANT"}, ".2.139821926220176": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220176", "variance": "COVARIANT"}, "139821904449312": {"type": "Tuple", "items": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, "139821938700272": {"type": "Tuple", "items": [{"nodeId": ".1.139821926220176"}, {"nodeId": ".2.139821926220176"}]}, "139821926220512": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441088"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821926220512"}], "bases": [{"nodeId": "139821925470208", "args": [{"nodeId": ".1.139821926220512"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821926220512"}]}], "isAbstract": false}, "139821988441088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220512", "args": [{"nodeId": ".1.139821926220512"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821926220512"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821926220512": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821926220512", "variance": "COVARIANT"}, "139821925477936": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441536"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}], "bases": [{"nodeId": "139821925472560", "args": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925477936"}]}], "isAbstract": false}, "139821988441536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925477936", "args": [{"nodeId": ".1.139821925477936"}, {"nodeId": ".2.139821925477936"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925477936"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925477936": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477936", "variance": "COVARIANT"}, ".2.139821925477936": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925477936", "variance": "COVARIANT"}, "139821925478272": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988441984"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}], "bases": [{"nodeId": "139821925473232", "args": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": "139821938700496"}]}], "isAbstract": false}, "139821988441984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478272", "args": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821904449536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925478272": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478272", "variance": "COVARIANT"}, ".2.139821925478272": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478272", "variance": "COVARIANT"}, "139821904449536": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, "139821938700496": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478272"}, {"nodeId": ".2.139821925478272"}]}, "139821925478608": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988442432"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}], "bases": [{"nodeId": "139821925472896", "args": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".2.139821925478608"}]}], "isAbstract": false}, "139821988442432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478608", "args": [{"nodeId": ".1.139821925478608"}, {"nodeId": ".2.139821925478608"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".2.139821925478608"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821925478608": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478608", "variance": "COVARIANT"}, ".2.139821925478608": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478608", "variance": "COVARIANT"}, "139821925478944": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988442880"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988443328"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988443776"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988444224"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988444672"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988445120"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988445568"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904448304"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904448416"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": "139822017685408", "args": [{"nodeId": ".1.139821925478944"}]}], "isAbstract": false}, "139821988442880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821904449760"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.139821925478944": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478944", "variance": "INVARIANT"}, ".2.139821925478944": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925478944", "variance": "INVARIANT"}, "139821904449760": {"type": "Tuple", "items": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "139821988443328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": ".1.139821925478944"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "139821988443776": {"type": "Function", "typeVars": [".-1.139821988443776"], "argTypes": [{"nodeId": ".-1.139821988443776"}], "returnType": {"nodeId": ".-1.139821988443776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988443776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988443776", "variance": "INVARIANT"}, "139821988444224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988444672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925477936", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988445120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925478272", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988445568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}], "returnType": {"nodeId": "139821925478608", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904448304": {"type": "Overloaded", "items": [{"nodeId": "139821988741184"}, {"nodeId": "139821988741632"}]}, "139821988741184": {"type": "Function", "typeVars": [".-1.139821988741184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988741184"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925478944", "args": [{"nodeId": ".-1.139821988741184"}, {"nodeId": "139821904450096"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.139821988741184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741184", "variance": "INVARIANT"}, "139821904450096": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821988741632": {"type": "Function", "typeVars": [".-1.139821988741632", ".-2.139821988741632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988741632"}]}, {"nodeId": ".-2.139821988741632"}], "returnType": {"nodeId": "139821925478944", "args": [{"nodeId": ".-1.139821988741632"}, {"nodeId": ".-2.139821988741632"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.139821988741632": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741632", "variance": "INVARIANT"}, ".-2.139821988741632": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988741632", "variance": "INVARIANT"}, "139821904448416": {"type": "Overloaded", "items": [{"nodeId": "139821988742080"}, {"nodeId": "139821988742528"}]}, "139821988742080": {"type": "Function", "typeVars": [".-1.139821988742080"], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": "139821904450320"}]}, {"nodeId": ".1.139821925478944"}], "returnType": {"nodeId": "139821904450432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821904450320": {"type": "Union", "items": [{"nodeId": ".-1.139821988742080"}, {"nodeId": "N"}]}, ".-1.139821988742080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988742080", "variance": "INVARIANT"}, "139821904450432": {"type": "Union", "items": [{"nodeId": ".-1.139821988742080"}, {"nodeId": "N"}]}, "139821988742528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925478944", "args": [{"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}]}, {"nodeId": ".1.139821925478944"}, {"nodeId": ".2.139821925478944"}], "returnType": {"nodeId": ".2.139821925478944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "139821925301744": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942645120"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904449872"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988746560"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747008"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747456"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "isAbstract": false}, "139821942645120": {"type": "Union", "items": [{"nodeId": "139821938738112"}, {"nodeId": "N"}]}, "139821938738112": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, ".2.139821925301744": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301744", "variance": "INVARIANT"}, "139821904449872": {"type": "Overloaded", "items": [{"nodeId": "139821988742976"}, {"nodeId": "139821988743424"}, {"nodeId": "139821988743872"}, {"nodeId": "139821988744320"}, {"nodeId": "139821988744768"}, {"nodeId": "139821988745216"}, {"nodeId": "139821988745664"}, {"nodeId": "139821988746112"}]}, "139821988742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925301744": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925301744", "variance": "INVARIANT"}, "139821988743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821988743872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821904450656": {"type": "Union", "items": [{"nodeId": "139821909301664"}, {"nodeId": "N"}]}, "139821909301664": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988744320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450768"}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "139821904450768": {"type": "Union", "items": [{"nodeId": "139821909301888"}, {"nodeId": "N"}]}, "139821909301888": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988744768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450880"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821904450880": {"type": "Union", "items": [{"nodeId": "139821909302112"}, {"nodeId": "N"}]}, "139821909302112": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988745216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904450992"}, {"nodeId": "139821926231600", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "139821904450992": {"type": "Union", "items": [{"nodeId": "139821909302336"}, {"nodeId": "N"}]}, "139821909302336": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821988745664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904451104"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904451328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821904451104": {"type": "Union", "items": [{"nodeId": "139821909302560"}, {"nodeId": "N"}]}, "139821909302560": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821904451328": {"type": "Tuple", "items": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, "139821988746112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": "139821904451440"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904451664"}]}, {"nodeId": ".2.139821925301744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "139821904451440": {"type": "Union", "items": [{"nodeId": "139821909302784"}, {"nodeId": "N"}]}, "139821909302784": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": [], "argNames": []}, "139821904451664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".2.139821925301744"}]}, "139821988746560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925301744", "args": [{"nodeId": ".1.139821925301744"}, {"nodeId": ".2.139821925301744"}]}, {"nodeId": ".1.139821925301744"}], "returnType": {"nodeId": ".2.139821925301744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821988747008": {"type": "Function", "typeVars": [".-1.139821988747008"], "argTypes": [{"nodeId": ".-1.139821988747008"}], "returnType": {"nodeId": ".-1.139821988747008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988747008": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988747008", "variance": "INVARIANT"}, "139821988747456": {"type": "Function", "typeVars": [".-1.139821988747456"], "argTypes": [{"nodeId": ".-1.139821988747456"}], "returnType": {"nodeId": ".-1.139821988747456"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988747456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988747456", "variance": "INVARIANT"}, "139821925479280": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988747904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988748352"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821862917888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988749248"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988749696"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988750144"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988750592"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751040"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988751936"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988752384"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988752832"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904450208"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988754176"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821862920352"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904450544"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988755520"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988755968"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821904451888"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "isAbstract": false}, ".1.139821925479280": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925479280", "variance": "INVARIANT"}, ".2.139821925479280": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925479280", "variance": "INVARIANT"}, "139821988747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "139821988748352": {"type": "Function", "typeVars": [".-1.139821988748352"], "argTypes": [{"nodeId": ".-1.139821988748352"}, {"nodeId": "139821904451776"}], "returnType": {"nodeId": ".-1.139821988748352"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.139821988748352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988748352", "variance": "INVARIANT"}, "139821904451776": {"type": "Union", "items": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "N"}]}, "139821862917888": {"type": "Function", "typeVars": [".-1.139821862917888"], "argTypes": [{"nodeId": ".-1.139821862917888"}], "returnType": {"nodeId": ".-1.139821862917888"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821862917888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821862917888", "variance": "INVARIANT"}, "139821988749248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821988749696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988750144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988750592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925479280"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988751040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821988751488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821988751936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821988752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "139821904450208": {"type": "Overloaded", "items": [{"nodeId": "139821988753280"}, {"nodeId": "139821988753728"}]}, "139821988753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}], "returnType": {"nodeId": ".2.139821925479280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "139821988753728": {"type": "Function", "typeVars": [".-1.139821988753728"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": ".1.139821925479280"}, {"nodeId": "139821904452000"}], "returnType": {"nodeId": "139821904452112"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "139821904452000": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-1.139821988753728"}]}, ".-1.139821988753728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988753728", "variance": "INVARIANT"}, "139821904452112": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-1.139821988753728"}]}, "139821988754176": {"type": "Function", "typeVars": [".-1.139821988754176"], "argTypes": [{"nodeId": ".-1.139821988754176"}], "returnType": {"nodeId": ".-1.139821988754176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821988754176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988754176", "variance": "INVARIANT"}, "139821862920352": {"type": "Function", "typeVars": [".-1.139821862920352"], "argTypes": [{"nodeId": ".-1.139821862920352"}], "returnType": {"nodeId": ".-1.139821862920352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821862920352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821862920352", "variance": "INVARIANT"}, "139821904450544": {"type": "Overloaded", "items": [{"nodeId": "139821988754624"}, {"nodeId": "139821988755072"}]}, "139821988754624": {"type": "Function", "typeVars": [".-1.139821988754624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988754624"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": ".-1.139821988754624"}, {"nodeId": "139821904452448"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.139821988754624": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988754624", "variance": "INVARIANT"}, "139821904452448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821988755072": {"type": "Function", "typeVars": [".-1.139821988755072", ".-2.139821988755072"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": ".-1.139821988755072"}]}, {"nodeId": ".-2.139821988755072"}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": ".-1.139821988755072"}, {"nodeId": ".-2.139821988755072"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.139821988755072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755072", "variance": "INVARIANT"}, ".-2.139821988755072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755072", "variance": "INVARIANT"}, "139821988755520": {"type": "Function", "typeVars": [".-1.139821988755520", ".-2.139821988755520"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821988755520"}, {"nodeId": ".-2.139821988755520"}]}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": "139821904452560"}, {"nodeId": "139821904452672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988755520": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755520", "variance": "INVARIANT"}, ".-2.139821988755520": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755520", "variance": "INVARIANT"}, "139821904452560": {"type": "Union", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".-1.139821988755520"}]}, "139821904452672": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-2.139821988755520"}]}, "139821988755968": {"type": "Function", "typeVars": [".-1.139821988755968", ".-2.139821988755968"], "argTypes": [{"nodeId": "139821925479280", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821988755968"}, {"nodeId": ".-2.139821988755968"}]}], "returnType": {"nodeId": "139821925479280", "args": [{"nodeId": "139821904452784"}, {"nodeId": "139821904452896"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988755968": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755968", "variance": "INVARIANT"}, ".-2.139821988755968": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988755968", "variance": "INVARIANT"}, "139821904452784": {"type": "Union", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".-1.139821988755968"}]}, "139821904452896": {"type": "Union", "items": [{"nodeId": ".2.139821925479280"}, {"nodeId": ".-2.139821988755968"}]}, "139821904451888": {"type": "Overloaded", "items": [{"nodeId": "139821988756416"}, {"nodeId": "139821988756864"}]}, "139821988756416": {"type": "Function", "typeVars": [".-1.139821988756416"], "argTypes": [{"nodeId": ".-1.139821988756416"}, {"nodeId": "139821926231600", "args": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}], "returnType": {"nodeId": ".-1.139821988756416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988756416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988756416", "variance": "INVARIANT"}, "139821988756864": {"type": "Function", "typeVars": [".-1.139821988756864"], "argTypes": [{"nodeId": ".-1.139821988756864"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821904453232"}]}], "returnType": {"nodeId": ".-1.139821988756864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821988756864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821988756864", "variance": "INVARIANT"}, "139821904453232": {"type": "Tuple", "items": [{"nodeId": ".1.139821925479280"}, {"nodeId": ".2.139821925479280"}]}, "139821925752432": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821988839936"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["find_spec"]}, "139821988839936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752432"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913031392"}, {"nodeId": "139821913031504"}], "returnType": {"nodeId": "139821913031616"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "139821913031392": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821913031504": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821925746384": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925541792"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891769216"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542352"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542576"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688768", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925542688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971808640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971809088"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925541792": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821891769216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925542352": {"type": "Union", "items": [{"nodeId": "139821925746048"}, {"nodeId": "N"}]}, "139821925746048": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971807744"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["load_module"]}, "139821971807744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746048"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821925542576": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925542688": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929652160": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954492320"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921650272"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921650496"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934650400"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934650512"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821870852672"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954493216"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821954492320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908953232"}, {"nodeId": "139821908953344"}, {"nodeId": "A"}, {"nodeId": "139821908953568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "139821908953232": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821929653168": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951027456"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951027904"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951028352"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951028800"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821951027456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821951027904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821951028352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908957152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821908957152": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821951028800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653168"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821908953344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908953568": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821921650272": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821921650496": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934650400": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821934650512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821870852672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908953680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908953680": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954493216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971808640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}, {"nodeId": "139821942966640"}, {"nodeId": "139821912823104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "139821912823104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821971809088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913031616": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821921426720": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892205728"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272416"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272640"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892272864"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273088"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273312"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273536"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273760"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892273984"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274208"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274432"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274656"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892274880"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892275104"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892275328"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892276000"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821892205728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913031840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913031840": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913031952"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913031952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032064": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892272864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032176"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032176": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032288"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032288": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032400"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032400": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032512"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032512": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032624"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032624": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032736"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032736": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032848"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913032960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913032960": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033072"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033072": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033184": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892275104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033296"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033296": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892275328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892276000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033520": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921427056": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277120"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277568"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892277792"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278016"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278240"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278464"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278688"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892278912"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279136"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279360"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892279584"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892277120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033632"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033632": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892277568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033744"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033744": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892277792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033856": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913033968"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913033968": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034080"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034080": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034192": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034304"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034304": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892278912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034416": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034528"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034528": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034640": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892279584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034752"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034752": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921427392": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892280928"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281152"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281376"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281600"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892281824"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282048"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282272"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282496"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892282720"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821921480576"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892280928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034864"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034864": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913034976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913034976": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035088"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035088": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035200": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892281824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035312"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035312": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035424": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035536"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035536": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035648"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035648": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892282720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035760"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035760": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921480576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "139821942964960"}]}, "139821925752768": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921480464"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005814656"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921480464": {"type": "TypeAlias", "target": {"nodeId": "139821921794112"}}, "139821921794112": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139822005814656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925752768"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821921427728": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892284736"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892284960"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285184"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285408"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821892284736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913035984"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913035984": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892284960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036096"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036096": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892285184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036208"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036208": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821892285408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036320"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036320": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921428064": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892285632"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892286752"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892286976"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892287200"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892287424"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821892285632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036432"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036432": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892286752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036544": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892286976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036656"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036656": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892287200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036768"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036768": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821892287424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913036880"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913036880": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821925753104": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921863824"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921534464"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921537488"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925546496"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921863824": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821921534464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821921537488": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925546496": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821921428400": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892372512"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892372960"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821921480688"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821921548912"}]}], "isAbstract": false}, "139821892372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913039456"}], "returnType": {"nodeId": "139821913039568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913039456": {"type": "Tuple", "items": [{"nodeId": "139821921864048"}, {"nodeId": "139821921537600"}]}, "139821921864048": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821925547728": {"type": "Union", "items": [{"nodeId": "139821946895744"}, {"nodeId": "N"}]}, "139821946895744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921537600": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821913039568": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821892372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913039680"}], "returnType": {"nodeId": "139821913039792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913039680": {"type": "Tuple", "items": [{"nodeId": "139821921864048"}, {"nodeId": "139821921537600"}]}, "139821913039792": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821921480688": {"type": "TypeAlias", "target": {"nodeId": "139821925547728"}}, "139821921548912": {"type": "Union", "items": [{"nodeId": "139821900540032"}, {"nodeId": "N"}]}, "139821900540032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017687424", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821925300064": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822005999584"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821925300064"}], "bases": [{"nodeId": "139822017691120", "args": [{"nodeId": ".1.139821925300064"}]}], "isAbstract": false}, "139822005999584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925300064", "args": [{"nodeId": ".1.139821925300064"}]}, {"nodeId": "139821909305472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.139821925300064": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925300064", "variance": "COVARIANT"}, "139821909305472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925300064"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821925300400": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006000032"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.139821925300400"}], "bases": [{"nodeId": "139822017690784", "args": [{"nodeId": ".1.139821925300400"}]}], "isAbstract": false}, "139822006000032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925300400", "args": [{"nodeId": ".1.139821925300400"}]}, {"nodeId": "139821909304800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.139821925300400": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925300400", "variance": "COVARIANT"}, "139821909304800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.139821925300400"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821925300736": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "139821942968992"}], "isAbstract": false}, "139821925301072": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938731248": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006002048"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821867114208"}}], "typeVars": [{"nodeId": ".1.139821938731248"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__enter__", "__exit__"]}, "139822006002048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938731248"}]}], "returnType": {"nodeId": ".1.139821938731248"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.139821938731248": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938731248", "variance": "COVARIANT"}, "139821867114208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938731248"}]}, {"nodeId": "139821909380448"}, {"nodeId": "139821909380560"}, {"nodeId": "139821909380672"}], "returnType": {"nodeId": "139821909380784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909380448": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909380560": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909380672": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909380784": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938731584": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909297856"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821867111744"}}], "typeVars": [{"nodeId": ".1.139821938731584"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "139821909297856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938731584"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821938731584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821938731584": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938731584", "variance": "COVARIANT"}, "139821867111744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938731584"}]}, {"nodeId": "139821909381008"}, {"nodeId": "139821909381120"}, {"nodeId": "139821909381232"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139821909381344"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821909381008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909381120": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909381232": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909381344": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938731920": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006003840"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822006003840": {"type": "Function", "typeVars": [".-1.139822006003840"], "argTypes": [{"nodeId": "139821938731920"}, {"nodeId": ".-1.139822006003840"}], "returnType": {"nodeId": ".-1.139822006003840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.139822006003840": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "139821938739008"}, "def": "139822006003840", "variance": "INVARIANT"}, "139821938739008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938732256": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006004288"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821938732256"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938738336"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006004736"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938732256"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821938731920"}], "isAbstract": false}, "139822006004288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732256", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821909297632"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.139821938732256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938732256", "variance": "COVARIANT"}, "139821909297632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821938732256"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938738336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821938732256"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139822006004736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732256", "args": [{"nodeId": ".1.139821938732256"}]}, {"nodeId": "139821909381904"}, {"nodeId": "139821909382016"}, {"nodeId": "139821909382128"}], "returnType": {"nodeId": "139821909382240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909381904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909382016": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909382128": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909382240": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938732592": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006005632"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139822006005632": {"type": "Function", "typeVars": [".-1.139822006005632"], "argTypes": [{"nodeId": "139821938732592"}, {"nodeId": ".-1.139822006005632"}], "returnType": {"nodeId": ".-1.139822006005632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.139822006005632": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "139821938738784"}, "def": "139822006005632", "variance": "INVARIANT"}, "139821938738784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821938732928": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006006080"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821938732928"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821933918048"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909299200"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938732928"}], "bases": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821938732592"}], "isAbstract": false}, "139822006006080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732928", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821909299424"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.139821938732928": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938732928", "variance": "COVARIANT"}, "139821909299424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017687088", "args": [{"nodeId": ".1.139821938732928"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821933918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821938732928"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821909299200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938732928", "args": [{"nodeId": ".1.139821938732928"}]}, {"nodeId": "139821909382688"}, {"nodeId": "139821909382800"}, {"nodeId": "139821909382912"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139821909383024"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "139821909382688": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909382800": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909382912": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821909383024": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821938733264": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006008320"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close"]}, "139822006008320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733264"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938733600": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006008768"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139822006009216"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938733600"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938733600"}]}], "isAbstract": false}, "139822006008768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733600", "args": [{"nodeId": ".1.139821938733600"}]}, {"nodeId": ".1.139821938733600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.139821938733600": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "139821938733264"}, "def": "139821938733600", "variance": "INVARIANT"}, "139822006009216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733600", "args": [{"nodeId": ".1.139821938733600"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821938733936": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992722496"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["aclose"]}, "139821992722496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938733936"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938734272": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992722944"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909300096"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938734272"}], "bases": [{"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938734272"}]}], "isAbstract": false}, "139821992722944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734272", "args": [{"nodeId": ".1.139821938734272"}]}, {"nodeId": ".1.139821938734272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.139821938734272": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "139821938733936"}, "def": "139821938734272", "variance": "INVARIANT"}, "139821909300096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734272", "args": [{"nodeId": ".1.139821938734272"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "139821938734608": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992723840"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992724288"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "139821992723840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734608"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "139821992724288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734608"}, {"nodeId": "139821909383360"}, {"nodeId": "139821909383472"}, {"nodeId": "139821909383584"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909383472": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909383584": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938734944": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992724736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992725184"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.139821938734944"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938734944"}]}], "isAbstract": false}, "139821992724736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938734944"}]}, {"nodeId": ".1.139821938734944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.139821938734944": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938734944", "variance": "INVARIANT"}, "139821934220496": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821992725184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938734944"}]}, {"nodeId": "139821909383696"}, {"nodeId": "139821909383808"}, {"nodeId": "139821909383920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909383808": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909383920": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938735280": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.139821938735280"}], "bases": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938735280"}]}], "isAbstract": false}, ".1.139821938735280": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938735280", "variance": "INVARIANT"}, "139821938735616": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.139821938735616"}], "bases": [{"nodeId": "139821938734944", "args": [{"nodeId": ".1.139821938735616"}]}], "isAbstract": false}, ".1.139821938735616": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "139821934220496"}, "def": "139821938735616", "variance": "INVARIANT"}, "139821938735952": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992725632"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726080"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726528"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992726976"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992727424"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992727872"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992728320"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821992725632": {"type": "Function", "typeVars": [".-1.139821992725632"], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821938731248", "args": [{"nodeId": ".-1.139821992725632"}]}], "returnType": {"nodeId": ".-1.139821992725632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821992725632": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992725632", "variance": "INVARIANT"}, "139821992726080": {"type": "Function", "typeVars": [".-1.139821992726080"], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": ".-1.139821992726080"}], "returnType": {"nodeId": ".-1.139821992726080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992726080": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "139821921655536"}, "def": "139821992726080", "variance": "INVARIANT"}, "139821921655536": {"type": "Union", "items": [{"nodeId": "139821938731248", "args": [{"nodeId": "A"}]}, {"nodeId": "139821921655312"}]}, "139821921655312": {"type": "TypeAlias", "target": {"nodeId": "139821934460512"}}, "139821934460512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821934215680"}, {"nodeId": "139821934216912"}, {"nodeId": "139821934215232"}], "returnType": {"nodeId": "139821934215456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821934215680": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821934216912": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821934215232": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821934215456": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821992726528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821909300320"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909300544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909300320": {"type": "Function", "typeVars": [".-2.139821909300320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300320"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300320", "variance": "INVARIANT"}, "139821909300544": {"type": "Function", "typeVars": [".-2.139821909300544"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300544"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300544", "variance": "INVARIANT"}, "139821992726976": {"type": "Function", "typeVars": [".-1.139821992726976"], "argTypes": [{"nodeId": ".-1.139821992726976"}], "returnType": {"nodeId": ".-1.139821992726976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992726976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992726976", "variance": "INVARIANT"}, "139821992727424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992727872": {"type": "Function", "typeVars": [".-1.139821992727872"], "argTypes": [{"nodeId": ".-1.139821992727872"}], "returnType": {"nodeId": ".-1.139821992727872"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821992727872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992727872", "variance": "INVARIANT"}, "139821992728320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938735952"}, {"nodeId": "139821909383248"}, {"nodeId": "139821909384144"}, {"nodeId": "139821909384256"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821909383248": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909384144": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909384256": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938736288": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992728768"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821909300768"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992729664"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992730112"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992730560"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731008"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992729216"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731456"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992732352"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992731904"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821992728768": {"type": "Function", "typeVars": [".-1.139821992728768"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821938731248", "args": [{"nodeId": ".-1.139821992728768"}]}], "returnType": {"nodeId": ".-1.139821992728768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821992728768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992728768", "variance": "INVARIANT"}, "139821909300768": {"type": "Function", "typeVars": [".-1.139821909300768"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821938731584", "args": [{"nodeId": ".-1.139821909300768"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.139821909300768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.139821909300768": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300768", "variance": "INVARIANT"}, "139821992729664": {"type": "Function", "typeVars": [".-1.139821992729664"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": ".-1.139821992729664"}], "returnType": {"nodeId": ".-1.139821992729664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992729664": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "139821921655536"}, "def": "139821992729664", "variance": "INVARIANT"}, "139821992730112": {"type": "Function", "typeVars": [".-1.139821992730112"], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": ".-1.139821992730112"}], "returnType": {"nodeId": ".-1.139821992730112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.139821992730112": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "139821921656544"}, "def": "139821992730112", "variance": "INVARIANT"}, "139821921656544": {"type": "Union", "items": [{"nodeId": "139821938731584", "args": [{"nodeId": "A"}]}, {"nodeId": "139821921656880"}]}, "139821921656880": {"type": "TypeAlias", "target": {"nodeId": "139821933918272"}}, "139821933918272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821933967088"}, {"nodeId": "139821938702176"}, {"nodeId": "139821938701840"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": "139821938701952"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821933967088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821938702176": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821938701840": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938701952": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821992730560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909297184"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909300992"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909297184": {"type": "Function", "typeVars": [".-2.139821909297184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909297184"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909297184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909297184", "variance": "INVARIANT"}, "139821909300992": {"type": "Function", "typeVars": [".-2.139821909300992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.139821909300992"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909300992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909300992", "variance": "INVARIANT"}, "139821992731008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909296736"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139821909301440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "139821909296736": {"type": "Function", "typeVars": [".-2.139821909296736"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".-2.139821909296736"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909296736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909296736", "variance": "INVARIANT"}, "139821909301440": {"type": "Function", "typeVars": [".-2.139821909301440"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "139822017686080", "args": [{"nodeId": ".-2.139821909301440"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.139821909301440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821909301440", "variance": "INVARIANT"}, "139821992729216": {"type": "Function", "typeVars": [".-1.139821992729216"], "argTypes": [{"nodeId": ".-1.139821992729216"}], "returnType": {"nodeId": ".-1.139821992729216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992729216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992729216", "variance": "INVARIANT"}, "139821992731456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992732352": {"type": "Function", "typeVars": [".-1.139821992732352"], "argTypes": [{"nodeId": ".-1.139821992732352"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.139821992732352"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821992732352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992732352", "variance": "INVARIANT"}, "139821992731904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736288"}, {"nodeId": "139821909384816"}, {"nodeId": "139821909385152"}, {"nodeId": "139821909385264"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "139822017681040"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "139821909384816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821909385152": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821909385264": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821938736624": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821938736624"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909384704"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992734144"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992734592"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992733696"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992735040"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.139821938736624"}], "bases": [{"nodeId": "139821938731248", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139821938731584", "args": [{"nodeId": ".1.139821938736624"}]}], "isAbstract": false}, ".1.139821938736624": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938736624", "variance": "INVARIANT"}, "139821909384704": {"type": "Overloaded", "items": [{"nodeId": "139821992732800"}, {"nodeId": "139821992733248"}]}, "139821992732800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "139821992733248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": ".1.139821938736624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "139821992734144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}], "returnType": {"nodeId": ".1.139821938736624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821992734592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821992733696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821938736624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992735040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938736624", "args": [{"nodeId": ".1.139821938736624"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "139821925757136": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888057888"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888055872"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888054976"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888054304"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888053632"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888052960"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913208112"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913344256"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913345040"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913345264"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992615648"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992616096"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992616544"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821888052288"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913346384"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992618336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992618784"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821992619232"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925757136"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821888057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925757136": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925757136", "variance": "INVARIANT"}, "139821888055872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821888054976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821913344816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913344816": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821888054304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821913344928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913344928": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821888053632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821888052960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925757472": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887980928"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887981376"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887982272"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887982944"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913346832"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913348064"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913348848"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913349296"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913349744"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913350192"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913350864"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913351312"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993038496"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993038944"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993039392"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925757472"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821887980928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925757472": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925757472", "variance": "INVARIANT"}, "139821887981376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821887982272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821887982944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": ".1.139821925757472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913346832": {"type": "Overloaded", "items": [{"nodeId": "139821992621472"}, {"nodeId": "139821942391296"}]}, "139821992621472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913348960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913348960": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942391296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349072"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349072": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913349184": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913348064": {"type": "Overloaded", "items": [{"nodeId": "139821992622368"}, {"nodeId": "139821942396672"}]}, "139821992622368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349408": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942396672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349520"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349520": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913349632": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913348848": {"type": "Overloaded", "items": [{"nodeId": "139821992623264"}, {"nodeId": "139821942398464"}]}, "139821992623264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913349856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349856": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821942398464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913349968"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913350080"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913349968": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350080": {"type": "Union", "items": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "N"}]}, "139821913349296": {"type": "Overloaded", "items": [{"nodeId": "139821993034016"}, {"nodeId": "139821942399360"}]}, "139821993034016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821913350416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "139821913350416": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821942399360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913350528"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821913350752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "139821913350528": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350752": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "A"}]}, "139821913349744": {"type": "Overloaded", "items": [{"nodeId": "139821993034912"}, {"nodeId": "139821942401152"}]}, "139821993034912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821942401152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351088"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913351088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350192": {"type": "Overloaded", "items": [{"nodeId": "139821993035808"}, {"nodeId": "139821942399584"}]}, "139821993035808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821942399584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351424"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "139821913351424": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913350864": {"type": "Overloaded", "items": [{"nodeId": "139821993036704"}, {"nodeId": "139821942397120"}]}, "139821993036704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913351648"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913351648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942399136"}]}, "139821942399136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821942397120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913351872"}, {"nodeId": "139821913352096"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913351872": {"type": "Union", "items": [{"nodeId": "139821913351760"}, {"nodeId": "139821942406304"}]}, "139821913351760": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942406304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "139821913351984"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913351984": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913352096": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913351312": {"type": "Overloaded", "items": [{"nodeId": "139821993037600"}, {"nodeId": "139821942395328"}]}, "139821993037600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913352320"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913352544"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913352320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942397344"}]}, "139821942397344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913352544": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821942395328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913352768"}, {"nodeId": "139821913352992"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821913353216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "139821913352768": {"type": "Union", "items": [{"nodeId": "139821913352656"}, {"nodeId": "139821942396224"}]}, "139821913352656": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821942396224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "139821913352880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821913352880": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913352992": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913353216": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821993038496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993038944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925757472", "args": [{"nodeId": ".1.139821925757472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821993039392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821913208112": {"type": "Overloaded", "items": [{"nodeId": "139821992611616"}, {"nodeId": "139821942404064"}]}, "139821992611616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "139821942404064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913345152"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "139821913345152": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821913344256": {"type": "Overloaded", "items": [{"nodeId": "139821992612512"}, {"nodeId": "139821992612960"}, {"nodeId": "139821992613408"}]}, "139821992612512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821992612960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913345488"}], "returnType": {"nodeId": "139821913345712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821913345488": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913345712": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992613408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913345824"}, {"nodeId": "139821913345936"}, {"nodeId": "139821913346048"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "139821913345824": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913345936": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913346048": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821913346272": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821913345040": {"type": "Overloaded", "items": [{"nodeId": "139821992613856"}, {"nodeId": "139821992614304"}]}, "139821992613856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346608"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913346608": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992614304": {"type": "Function", "typeVars": [".-1.139821992614304"], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": ".-1.139821992614304"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913346720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.139821992614304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992614304", "variance": "INVARIANT"}, "139821913346720": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": ".-1.139821992614304"}]}, "139821913345264": {"type": "Overloaded", "items": [{"nodeId": "139821992614752"}, {"nodeId": "139821992615200"}]}, "139821992614752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821913347056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913347056": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992615200": {"type": "Function", "typeVars": [".-1.139821992615200"], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": ".-1.139821992615200"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821913347168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.139821992615200": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821992615200", "variance": "INVARIANT"}, "139821913347168": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": ".-1.139821992615200"}]}, "139821992615648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347280"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347280": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821992616096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347392"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347392": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821992616544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913347504"}], "returnType": {"nodeId": "139821913347728"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821913347504": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821913347728": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821888052288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821913347952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913347952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821913346384": {"type": "Overloaded", "items": [{"nodeId": "139821992617440"}, {"nodeId": "139821992617888"}]}, "139821992617440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.139821925757136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821992617888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "139821913348288"}], "returnType": {"nodeId": "139821913348512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913348288": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821913348512": {"type": "Union", "items": [{"nodeId": ".1.139821925757136"}, {"nodeId": "A"}]}, "139821992618336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}], "returnType": {"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821992618784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925757136", "args": [{"nodeId": ".1.139821925757136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821992619232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821921428736": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821929658544"}], "isAbstract": false}, "139821929658544": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963219168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963219616"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963220064"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963220512"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871455296"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871456192"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871457088"}}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}, {"nodeId": "139821929658208"}], "isAbstract": false}, "139821963219168": {"type": "Function", "typeVars": [".-1.139821963219168"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963219168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821963219168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963219168", "variance": "INVARIANT"}, "139821963219616": {"type": "Function", "typeVars": [".-1.139821963219616"], "argTypes": [{"nodeId": ".-1.139821963219616"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963219616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963219616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963219616", "variance": "INVARIANT"}, "139821963220064": {"type": "Function", "typeVars": [".-1.139821963220064"], "argTypes": [{"nodeId": ".-1.139821963220064"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963220064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963220064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963220064", "variance": "INVARIANT"}, "139821963220512": {"type": "Function", "typeVars": [".-1.139821963220512"], "argTypes": [{"nodeId": ".-1.139821963220512"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821963220512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963220512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963220512", "variance": "INVARIANT"}, "139821871455296": {"type": "Function", "typeVars": [".-1.139821871455296"], "argTypes": [{"nodeId": ".-1.139821871455296"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871455296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871455296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871455296", "variance": "INVARIANT"}, "139821871456192": {"type": "Function", "typeVars": [".-1.139821871456192"], "argTypes": [{"nodeId": ".-1.139821871456192"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871456192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871456192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871456192", "variance": "INVARIANT"}, "139821871457088": {"type": "Function", "typeVars": [".-1.139821871457088"], "argTypes": [{"nodeId": ".-1.139821871457088"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821871457088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821871457088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871457088", "variance": "INVARIANT"}, "139821929658208": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934227664"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871449024"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871449920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951318752"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951319200"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951319648"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963215136"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963215584"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963216032"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "139821929657536"}], "isAbstract": false}, "139821934227664": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821871449024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139821908966784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908966784": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821871449920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951318752": {"type": "Function", "typeVars": [".-1.139821951318752"], "argTypes": [{"nodeId": ".-1.139821951318752"}, {"nodeId": ".-1.139821951318752"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951318752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951318752", "variance": "INVARIANT"}, "139821951319200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658208"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951319648": {"type": "Function", "typeVars": [".-1.139821951319648"], "argTypes": [{"nodeId": ".-1.139821951319648"}, {"nodeId": ".-1.139821951319648"}], "returnType": {"nodeId": ".-1.139821951319648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951319648": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951319648", "variance": "INVARIANT"}, "139821963215136": {"type": "Function", "typeVars": [".-1.139821963215136"], "argTypes": [{"nodeId": ".-1.139821963215136"}, {"nodeId": ".-1.139821963215136"}], "returnType": {"nodeId": ".-1.139821963215136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963215136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963215136", "variance": "INVARIANT"}, "139821963215584": {"type": "Function", "typeVars": [".-1.139821963215584"], "argTypes": [{"nodeId": ".-1.139821963215584"}, {"nodeId": ".-1.139821963215584"}], "returnType": {"nodeId": ".-1.139821963215584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821963215584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963215584", "variance": "INVARIANT"}, "139821963216032": {"type": "Function", "typeVars": [".-1.139821963216032"], "argTypes": [{"nodeId": ".-1.139821963216032"}], "returnType": {"nodeId": ".-1.139821963216032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821963216032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963216032", "variance": "INVARIANT"}, "139821929657536": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871329376"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871330048"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934227552"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871330272"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871330496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951313824"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951314272"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951314720"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951315168"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821871329376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821871330048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934227552": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821871330272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "139821871330496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "139821951313824": {"type": "Function", "typeVars": [".-1.139821951313824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": ".-1.139821951313824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821951313824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951313824", "variance": "INVARIANT"}, "139821951314272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "139821951315168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657536"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "139821925744704": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896031072"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925745040"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942651056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896609440"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821896350208"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971425088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971425536"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912817840"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821896031072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821912820304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912820304": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821942651056": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821896609440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821896350208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971425088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "139821925745040"}, {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, {"nodeId": "139821912820752"}, {"nodeId": "139821912820864"}, {"nodeId": "139821912820976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "139821912820752": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821912820864": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}, {"nodeId": "N"}]}, "139821912820976": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821971425536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821912817840": {"type": "Overloaded", "items": [{"nodeId": "139821971425984"}, {"nodeId": "139821971426432"}]}, "139821971425984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "N"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "139821925744704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "139821971426432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925744704"}, {"nodeId": "139822017680704"}, {"nodeId": "139821912821536"}], "returnType": {"nodeId": "139821925748064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821912821536": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821925748064": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891928576"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929024"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929248"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929472"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929696"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891929920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971953856"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971954304"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891928576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821912826800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912826800": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821925481968"}]}, {"nodeId": "N"}]}, "139821891929024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821912827024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912827024": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821891929248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821925747728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925747728": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971950720"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971950720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747728"}, {"nodeId": "139821912826576"}, {"nodeId": "139821912826688"}], "returnType": {"nodeId": "139821925744704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "139821912826576": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "N"}]}, "139821912826688": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821891929472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891929696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891929920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971953856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}, {"nodeId": "139821946417920"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821946417920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971954304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748064"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821925745712": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971805952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971806400"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971806848"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971807296"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821971805952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "139821971806400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971806848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821971807296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925745712"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925746720": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891770336"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971810432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971810880"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971811328"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912818512"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}], "bases": [{"nodeId": "139822017685744", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "isAbstract": false}, "139821891770336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": "139821912823440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925746720": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "COVARIANT"}, ".2.139821925746720": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "CONTRAVARIANT"}, ".3.139821925746720": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925746720", "variance": "COVARIANT"}, "139821912823440": {"type": "Union", "items": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821971810432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821971810880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971811328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": ".2.139821925746720"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912818512": {"type": "Overloaded", "items": [{"nodeId": "139821971811776"}, {"nodeId": "139821971812224"}]}, "139821971811776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": "0"}, {"nodeId": "139821912823664"}, {"nodeId": "139821912823776"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912823664": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912823776": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971812224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746720", "args": [{"nodeId": ".1.139821925746720"}, {"nodeId": ".2.139821925746720"}, {"nodeId": ".3.139821925746720"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912823888"}], "returnType": {"nodeId": ".1.139821925746720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912823888": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925747056": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891774144"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971813120"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971813568"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971814016"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912821424"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971815360"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971815808"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}], "bases": [{"nodeId": "139822017687424", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "isAbstract": false}, "139821891774144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139821912824112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925747056": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747056", "variance": "COVARIANT"}, ".2.139821925747056": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747056", "variance": "CONTRAVARIANT"}, "139821912824112": {"type": "Union", "items": [{"nodeId": "139822017686080", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821971813120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971813568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971814016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": ".2.139821925747056"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912821424": {"type": "Overloaded", "items": [{"nodeId": "139821946417024"}, {"nodeId": "139821971814464"}]}, "139821946417024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": "0"}, {"nodeId": "139821912824784"}, {"nodeId": "139821912824896"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912824784": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912824896": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971814464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912825120"}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.139821925747056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912825120": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971815360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747056", "args": [{"nodeId": ".1.139821925747056"}, {"nodeId": ".2.139821925747056"}]}], "returnType": {"nodeId": "139822017686416", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971815808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "139821925747392": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891777504"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971948480"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971948928"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971949376"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821912825008"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}], "bases": [{"nodeId": "139822017686416", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "isAbstract": false}, "139821891777504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "139821912825904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925747392": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "COVARIANT"}, ".2.139821925747392": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "CONTRAVARIANT"}, ".3.139821925747392": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925747392", "variance": "COVARIANT"}, "139821912825904": {"type": "Union", "items": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821912825792"}]}, {"nodeId": "N"}]}, "139821912825792": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821971948480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971948928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.139821925747392"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971949376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": ".2.139821925747392"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821912825008": {"type": "Overloaded", "items": [{"nodeId": "139821971949824"}, {"nodeId": "139821971950272"}]}, "139821971949824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": "0"}, {"nodeId": "139821912826240"}, {"nodeId": "139821912826352"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912826240": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "139822017680704"}]}, "139821912826352": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821971950272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925747392", "args": [{"nodeId": ".1.139821925747392"}, {"nodeId": ".2.139821925747392"}, {"nodeId": ".3.139821925747392"}]}, {"nodeId": "139821942972352"}, {"nodeId": "N"}, {"nodeId": "139821912826464"}], "returnType": {"nodeId": ".1.139821925747392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "139821912826464": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821925748400": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931040"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931488"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891931712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971956096"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891931040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821912827696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821912827696": {"type": "Union", "items": [{"nodeId": "139822017680704"}, {"nodeId": "139821925746384"}]}, "139821891931488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891931712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971956096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748400"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821925748736": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891932832"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891933504"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891933728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971957888"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971958336"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891932832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891933504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891933728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971957888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821971958336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925748736"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821925749072": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891934848"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935296"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935520"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891935744"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971960576"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971961024"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971961472"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891934848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891935744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971960576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821971961024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821971961472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749072"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925749408": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891937760"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891938208"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891938432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971963264"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972095040"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891937760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891938208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891938432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971963264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821972095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749408"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821925749744": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891939552"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891940000"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821891940224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972096832"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972097280"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821891939552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891940000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821891940224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972096832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821972097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925749744"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "139821925750752": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892011840"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892012064"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892012288"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972104448"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972104896"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972105344"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892011840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892012064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892012288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972104448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821972104896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821972105344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925750752"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925751088": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892013408"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892013856"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821892014080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972107136"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972107584"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972108032"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821892013408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892013856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821892014080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}], "returnType": {"nodeId": "139821942964288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972107136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}, {"nodeId": "139821942964288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821972107584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821972108032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751088"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821925751760": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972212864"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972212864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925751760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925479616": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972215328"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972215776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972216224"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821972215328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972215776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972216224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479616"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925479952": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925474576", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218016"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218464"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972218912"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972219360"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972219808"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972220256"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972220704"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972221152"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972221600"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821972222048"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}], "isAbstract": true}, "139821972218016": {"type": "Function", "typeVars": [".-1.139821972218016"], "argTypes": [{"nodeId": ".-1.139821972218016"}], "returnType": {"nodeId": ".-1.139821972218016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821972218016": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972218016", "variance": "INVARIANT"}, "139821972218464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "139821972218912": {"type": "Function", "typeVars": [".-1.139821972218912"], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}, {"nodeId": ".-1.139821972218912"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.139821972218912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972218912", "variance": "INVARIANT"}, "139821972219360": {"type": "Function", "typeVars": [".-1.139821972219360"], "argTypes": [{"nodeId": ".-1.139821972219360"}, {"nodeId": ".-1.139821972219360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.139821972219360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972219360", "variance": "INVARIANT"}, "139821972219808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925473232", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972220256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925472560", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972220704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}], "returnType": {"nodeId": "139821925472896", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139822017680704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821972221152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925479952"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821972221600": {"type": "Function", "typeVars": [".-1.139821972221600"], "argTypes": [{"nodeId": ".-1.139821972221600"}, {"nodeId": ".-1.139821972221600"}], "returnType": {"nodeId": ".-1.139821972221600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821972221600": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972221600", "variance": "INVARIANT"}, "139821972222048": {"type": "Function", "typeVars": [".-1.139821972222048"], "argTypes": [{"nodeId": ".-1.139821972222048"}, {"nodeId": ".-1.139821972222048"}], "returnType": {"nodeId": ".-1.139821972222048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821972222048": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821972222048", "variance": "INVARIANT"}, "139821925480624": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821921790640"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821900899136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993365280"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993366176"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "139821921790640": {"type": "Overloaded", "items": [{"nodeId": "139821993363936"}, {"nodeId": "139821993364384"}]}, "139821993363936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821921948096"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "139821921948096": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821993364384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "139821900899136": {"type": "Function", "typeVars": [".-1.139821900899136"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.139821900899136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.139821900899136": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821900899136", "variance": "INVARIANT"}, "139821993365280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480624"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993366176": {"type": "Function", "typeVars": [".-1.139821993366176"], "argTypes": [{"nodeId": ".-1.139821993366176"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821993366176"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.139821993366176": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821993366176", "variance": "INVARIANT"}, "139821925480960": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925539328"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540112"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993366624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993367072"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993367520"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925539328": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821925540112": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993366624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}, {"nodeId": "139821921945184"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821921945408"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "139821921945184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821921945408": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993367072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821993367520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480960"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925479616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925481632": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925540896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993369760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993370208"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925540896": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993369760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481632"}, {"nodeId": "139821942966640"}, {"nodeId": "139821921946528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "139821921946528": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821993370208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925481632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926234960": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854475088"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993372448"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921786160"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916272"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916384"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821854475088": {"type": "Tuple", "items": []}, "139821993372448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926234960"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "139821921786160": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925916272": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925916384": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821926235296": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821926235632": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921206336": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854479568"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}], "typeVars": [], "bases": [{"nodeId": "139821926235632"}], "isAbstract": false}, "139821854479568": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921206672": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854480576"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854480576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921216752": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921207008": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854481584"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921206336"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854481584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921208016": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921207344": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854482928"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854482928": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921207680": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854483824"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926235296"}], "isAbstract": false}, "139821854483824": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921208352": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854485840"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921793552"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854485840": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420336": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849875776"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923104"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420672"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925923328"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785824"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849875776": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420672": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849877008"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785936"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849877008": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785936": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925923104": {"type": "Union", "items": [{"nodeId": "139821921420672"}, {"nodeId": "N"}]}, "139821925923328": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921785824": {"type": "Union", "items": [{"nodeId": "139821921420672"}, {"nodeId": "N"}]}, "139821921793552": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921208688": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854487296"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921789968"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854487296": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921789968": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921209024": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854488528"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421008"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854488528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921421008": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849877904"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923440"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849877904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921209360": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854488976"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921790416"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854488976": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921790416": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921209696": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854489872"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854489872": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921210032": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854655200"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854655200": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921210368": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854656320"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785040"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921327072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854656320": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785040": {"type": "Union", "items": [{"nodeId": "139821921323712"}, {"nodeId": "139821921322368"}, {"nodeId": "139821921323040"}]}, "139821921323712": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855012592"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855012592": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324720": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921322368": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855007328"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855007328": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921323040": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855010688"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855010688": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921327072": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921210704": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854657664"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921790752"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785152"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854657664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921790752": {"type": "Union", "items": [{"nodeId": "139821921323712"}, {"nodeId": "139821921322368"}, {"nodeId": "139821921323040"}]}, "139821921785152": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921211040": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854659120"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854659120": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921211376": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854660464"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854660464": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921211712": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854661360"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854661360": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921212048": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854662480"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854662480": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921212384": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854663600"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421680"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854663600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921421680": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849879920"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923552"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849879920": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923552": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921212720": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854664720"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421680"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854664720": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921213056": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854665616"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785264"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785488"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854665616": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785264": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921785488": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921213392": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854667072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921420000"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854667072": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921420000": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849873760"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922880"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922992"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921419664"}], "isAbstract": false}, "139821849873760": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925922880": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921419664": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921213728": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854668416"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785600"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854668416": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785600": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921214064": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854669200"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421344"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854669200": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921421344": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849878912"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923216"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849878912": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925923216": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921214400": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854670544"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921785712"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421344"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854670544": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921785712": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921214736": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854769664"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854769664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215072": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854770560"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854770560": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215408": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854771456"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821854771456": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921215744": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921216080": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921216416": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821921217088": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854772576"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921326064"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854772576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921326064": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921217424": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854773808"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921327072"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854773808": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921217760": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854774704"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921331776"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854774704": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921331776": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921218096": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854775712"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921420336"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854775712": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921218432": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854776944"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854776944": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921218768": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854777840"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925917056"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854777840": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925917056": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921219104": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854778624"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854778624": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921219440": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854779744"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854779744": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921419328": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849872752"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849872752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921219776": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854780752"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854780752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220112": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854781984"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854781984": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220448": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854782880"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921419328"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854782880": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921220784": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854783664"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854783664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921221120": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854784560"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921780560"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854784560": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921780560": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921221456": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854998592"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854998592": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921221792": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821854999936"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921333456"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821854999936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921333456": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821921222128": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855001056"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921421008"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855001056": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921321024": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855002176"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916832"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855002176": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925916832": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921321360": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855002848"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855002848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921321696": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855004528"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925916608"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922320"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855004528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925916608": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821925922320": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965632"}]}, "139821921322032": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855006096"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921323712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855006096": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921322704": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855009008"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922544"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922656"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925922768"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855009008": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925922544": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922656": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821925922768": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921323376": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855011584"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855011584": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324048": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855013600"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855013600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921324384": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821855014608"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921324720"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921216752"}], "isAbstract": false}, "139821855014608": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921325056": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921325392": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921325728": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921324720"}], "isAbstract": false}, "139821921326400": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921326064"}], "isAbstract": false}, "139821921326736": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921326064"}], "isAbstract": false}, "139821921327408": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921327744": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328080": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328416": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921328752": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329088": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329424": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921329760": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330096": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330432": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921330768": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921331104": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921331440": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921327072"}], "isAbstract": false}, "139821921332112": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921332448": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921332784": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921333120": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921331776"}], "isAbstract": false}, "139821921333792": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334128": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334464": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921334800": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335136": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335472": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921335808": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336144": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336480": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921336816": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921333456"}], "isAbstract": false}, "139821921422016": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849880928"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422688"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921208016"}], "isAbstract": false}, "139821849880928": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921422688": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849881600"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921422352"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923664"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921208016"}]}}], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821849881600": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921422352": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926234960"}], "isAbstract": false}, "139821925923664": {"type": "Union", "items": [{"nodeId": "139821921216752"}, {"nodeId": "N"}]}, "139821921423024": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849881712"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849881712": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921423360": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882048"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925923776"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882048": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821925923776": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "139821921423696": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882384"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882384": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821921424032": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849882720"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924112"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849882720": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821925924112": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921424368": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849883504"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921216752"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924224"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849883504": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925924224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921424704": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884288"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921216752"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884288": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921425040": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884512"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924336"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925924448"}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884512": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821925924336": {"type": "Union", "items": [{"nodeId": "139821921422352"}, {"nodeId": "N"}]}, "139821925924448": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921425376": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821849884736"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921422352"}]}}], "typeVars": [], "bases": [{"nodeId": "139821921422352"}], "isAbstract": false}, "139821849884736": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821929644432": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942974368"}, {"nodeId": "139821942979744"}], "isAbstract": false}, "139821929644768": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374464"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993374912"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993375360"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993375808"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993376256"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993376704"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821993377152"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971619904"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821946419488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971620352"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971620800"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971621248"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971621696"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971622144"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971622592"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821933917376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623040"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623488"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971623936"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821874989760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971624832"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821993374016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821993374464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993374912": {"type": "Function", "typeVars": [".-1.139821993374912"], "argTypes": [{"nodeId": ".-1.139821993374912"}], "returnType": {"nodeId": ".-1.139821993374912"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821993374912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821993374912", "variance": "INVARIANT"}, "139821993375360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908712848"}, {"nodeId": "139821908712960"}, {"nodeId": "139821908713072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821908712848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821908712960": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821908713072": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821993375808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993376256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993376704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821993377152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971619904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946419488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971620352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821971620800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821971621248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971621696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971622144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908713184": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971622592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821933917376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821971623040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821908713296"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713296": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971623488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713408"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908713408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971623936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821874989760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971624832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929644768"}, {"nodeId": "139821908713520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "139821908713520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929645104": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971625280"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971625728"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971626176"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971626624"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821971625280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971625728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821908713632"}], "returnType": {"nodeId": "139821908713744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713632": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821908713744": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821908713856"}], "returnType": {"nodeId": "139821908713968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908713856": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821908713968": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971626624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821908714080"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908714080": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821929645440": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929645104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627072"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627520"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971627968"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971628416"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971628864"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971629312"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821971627072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}], "returnType": {"nodeId": "139821929645104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971627520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714192"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714192": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821971627968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714304"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714304": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971628416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714416"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714416": {"type": "TypeAlias", "target": {"nodeId": "139821925917840"}}, "139821971628864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821908714528"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908714528": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821971629312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645440"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929645776": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921649040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971629760"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821880159680"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971630656"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971631104"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971631552"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "139821929645104"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821921649040": {"type": "TypeAlias", "target": {"nodeId": "139821963644928"}}, "139821963644928": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821963646720"}]}, "139821963646720": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821938694224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821925473568"}]}]}, "139821921429408": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884323008"}}], "typeVars": [{"nodeId": ".1.139821921429408"}], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__fspath__"]}, "139821884323008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921429408", "args": [{"nodeId": ".1.139821921429408"}]}], "returnType": {"nodeId": ".1.139821921429408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921429408": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921429408", "variance": "COVARIANT"}, "139821971629760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821908714640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821908714864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "139821908714640": {"type": "TypeAlias", "target": {"nodeId": "139821963644928"}}, "139821908714864": {"type": "Union", "items": [{"nodeId": "139821908714752"}, {"nodeId": "N"}]}, "139821908714752": {"type": "TypeAlias", "target": {"nodeId": "139821929530976"}}, "139821929530976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821880159680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821908714976"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908714976": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929645776"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821971631552": {"type": "Function", "typeVars": [".-1.139821971631552"], "argTypes": [{"nodeId": ".-1.139821971631552"}], "returnType": {"nodeId": ".-1.139821971631552"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971631552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971631552", "variance": "INVARIANT"}, "139821929646112": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632000"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632448"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971632896"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971633344"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971633792"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971632000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}, {"nodeId": "139821908715088"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "139821908715088": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821971632448": {"type": "Function", "typeVars": [".-1.139821971632448"], "argTypes": [{"nodeId": ".-1.139821971632448"}], "returnType": {"nodeId": ".-1.139821971632448"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971632448": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971632448", "variance": "INVARIANT"}, "139821971632896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971633344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}], "returnType": {"nodeId": "139821942966976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821971633792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646112"}, {"nodeId": "139821908715200"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908715200": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929646448": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971634240"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971634688"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971635136"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971634240": {"type": "Function", "typeVars": [".-1.139821971634240"], "argTypes": [{"nodeId": ".-1.139821971634240"}], "returnType": {"nodeId": ".-1.139821971634240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971634240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971634240", "variance": "INVARIANT"}, "139821971634688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646448"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "139821971635136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646448"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929646784": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821971635584"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967622208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967622656"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}, {"nodeId": "139821925470880"}], "isAbstract": false}, "139821971635584": {"type": "Function", "typeVars": [".-1.139821971635584"], "argTypes": [{"nodeId": ".-1.139821971635584"}], "returnType": {"nodeId": ".-1.139821971635584"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821971635584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821971635584", "variance": "INVARIANT"}, "139821967622208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646784"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "139821967622656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929646784"}, {"nodeId": "139821908715312"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908715312": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821929647120": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967623104"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967623552"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "139821929646448"}, {"nodeId": "139821929646784"}], "isAbstract": false}, "139821967623104": {"type": "Function", "typeVars": [".-1.139821967623104"], "argTypes": [{"nodeId": ".-1.139821967623104"}], "returnType": {"nodeId": ".-1.139821967623104"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967623104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967623104", "variance": "INVARIANT"}, "139821967623552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647120"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821929647456": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624448"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "139821929645440"}], "isAbstract": false}, "139821967624000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647456"}, {"nodeId": "139821929645104"}, {"nodeId": "139821929645104"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "139821967624448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647456"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821929647792": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870320"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921648704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967624896"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967625344"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967625792"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967626240"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967626688"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967627136"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967627584"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967628032"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "139821929644768"}], "isAbstract": false}, "139821921870320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921648704": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821967624896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967625344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967625792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967626240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967626688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967627136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967627584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967628032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929647792"}, {"nodeId": "139821908715424"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821908715424": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929648128": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967628480"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875410784"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875410112"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875412352"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875412576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967630720"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967631168"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967631616"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632064"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632512"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967632960"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967633408"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967633856"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "139821929647792"}, {"nodeId": "139821925471216"}], "isAbstract": false}, "139821967628480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821908715536"}, {"nodeId": "139821908715648"}, {"nodeId": "139821908715760"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "139821908715536": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875410784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875410112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875412352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875412576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967630720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821908715872"}, {"nodeId": "139821908715984"}, {"nodeId": "139821908716096"}, {"nodeId": "139821908716208"}, {"nodeId": "139821908716320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "139821908715872": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908715984": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716096": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716208": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821908716320": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821967631168": {"type": "Function", "typeVars": [".-1.139821967631168"], "argTypes": [{"nodeId": ".-1.139821967631168"}], "returnType": {"nodeId": ".-1.139821967631168"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821967631168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821967631168", "variance": "INVARIANT"}, "139821967631616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967632064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967632512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967632960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967633408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821967633856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648128"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "139821929648464": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967634304"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967634752"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "139821929648128"}], "isAbstract": false}, "139821967634304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648464"}, {"nodeId": "139821908716432"}, {"nodeId": "139821908716544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "139821908716432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908716544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821967634752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648464"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921720288": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967635200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967635648"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875522560"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967636544"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139821926224208"}], "isAbstract": false}, "139821967635200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908716656"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "139821908716656": {"type": "Union", "items": [{"nodeId": "139821926224208"}, {"nodeId": "N"}]}, "139821926224208": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964017952"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863217280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964018848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964019296"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964019744"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821964017952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863217280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821904458272"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821904458272": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821964018848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964019296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}], "returnType": {"nodeId": "139821904458496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904458496": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821964019744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224208"}, {"nodeId": "139821904458720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "139821904458720": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821967635648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908716880"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821908716880": {"type": "Union", "items": [{"nodeId": "139821908716768"}, {"nodeId": "139821942966640"}]}, "139821908716768": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821875522560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}], "returnType": {"nodeId": "139821908716992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908716992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821967636544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720288"}, {"nodeId": "139821908717216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821908717216": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821938453056": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938452720"}], "isAbstract": false}, "139821921714912": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967889728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967890176"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967890624"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891072"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891520"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821921714912"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821967889728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.139821921714912": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "139821938452720"}, "def": "139821921714912", "variance": "INVARIANT"}, "139821967890176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967890624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967891072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714912", "args": [{"nodeId": ".1.139821921714912"}]}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".1.139821921714912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "139821967891520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821938453392": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821908686912"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967891968"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "139821942964288"}], "isAbstract": false}, "139821908686912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821967891968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938455408": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821938456416": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938456752": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968206848"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821925473568"}]}], "isAbstract": false}, "139821968206848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938456752"}, {"nodeId": "139821909377984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909377984": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821938457088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968207296"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921655088"}]}], "isAbstract": false}, "139821968207296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938457088"}, {"nodeId": "139821909378096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909378096": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921655088": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821938457424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938457760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938458096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821938721168": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938721504": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938721840": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722176": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722512": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938722848": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723184": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723520": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938723856": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724192": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724528": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938724864": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725200": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725536": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938725872": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726208": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726544": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938726880": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821938727216": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921653856"}]}], "isAbstract": false}, "139821921653856": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821938727552": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821938727888": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968207744"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938454400"}, {"nodeId": "139821938456080", "args": [{"nodeId": "139821921654864"}]}], "isAbstract": false}, "139821968207744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938727888"}, {"nodeId": "139821909378208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821909378208": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921654864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938728224": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968208192"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938456080", "args": [{"nodeId": "139822017681040"}]}], "isAbstract": false}, "139821968208192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938728224"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "139821938728560": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.139821938728560"}], "bases": [{"nodeId": "139821938454064"}, {"nodeId": "139821938456080", "args": [{"nodeId": ".1.139821938728560"}]}], "isAbstract": false}, ".1.139821938728560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821938728560", "variance": "INVARIANT"}, "139821938728896": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938729232": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "139821934217024"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968208640"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821938453392"}], "isAbstract": false}, "139821934217024": {"type": "Union", "items": [{"nodeId": "139821934216576"}, {"nodeId": "139821934216800"}]}, "139821934216576": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "0"}]}, "139821934216800": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "0"}, {"nodeId": "139821942964960"}]}, "139821968208640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729232"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821938728896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821938729568": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209088"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209536"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821968209984"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "139821938453728"}], "isAbstract": false}, "139821968209088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "139821968209536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821968209984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938729568"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821938729904": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938729568"}], "isAbstract": false}, "139821938730240": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938729568"}], "isAbstract": false}, "139821938730576": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938730240"}], "isAbstract": false}, "139821938730912": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938730240"}], "isAbstract": false}, "139821921715584": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909377088"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821866868448"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909377200"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821866868896"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963133440"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909378768"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821909378880"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963135680"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963136128"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963136576"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821921715584"}], "bases": [{"nodeId": "139821938453728"}], "isAbstract": true}, "139821909377088": {"type": "Overloaded", "items": [{"nodeId": "139821968210432"}]}, "139821968210432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921715584": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "139821938453728"}, "def": "139821921715584", "variance": "INVARIANT"}, "139821866868448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909377200": {"type": "Overloaded", "items": [{"nodeId": "139821968211328"}]}, "139821968211328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821866868896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963133440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "139821909378768": {"type": "Overloaded", "items": [{"nodeId": "139821963133888"}, {"nodeId": "139821963134336"}]}, "139821963133888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821963134336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942967312"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909378880": {"type": "Overloaded", "items": [{"nodeId": "139821963134784"}, {"nodeId": "139821963135232"}]}, "139821963134784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942964960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963135232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}, {"nodeId": "139821942967312"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821963135680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963136128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921715584", "args": [{"nodeId": ".1.139821921715584"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821963136576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821925757808": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967951680"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967952128"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["read", "readline"]}, "139821967951680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757808"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967952128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925757808"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925758480": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925758816": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925758480"}], "isAbstract": false}, "139821925759152": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821925758480"}], "isAbstract": false}, "139821925759488": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942964288"}, {"nodeId": "139821929534112"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964288"}, {"nodeId": "139821938742368"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967957504"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967957952"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967958848"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967959296"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967959744"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929534112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "139821929619728"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821929619728": {"type": "TypeAlias", "target": {"nodeId": "139821929613904"}}, "139821929613904": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821929617152"}, {"nodeId": "139821929615136"}, {"nodeId": "139821929614576"}, {"nodeId": "139821929613792"}]}, "139821929617152": {"type": "Tuple", "items": [{"nodeId": "139822009412832"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}]}, "139822009412832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929615136": {"type": "Tuple", "items": [{"nodeId": "139821946893952"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "139821946893952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929614576": {"type": "Tuple", "items": [{"nodeId": "139821929534336"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "139821929615920"}]}, "139821929534336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929615920": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821929613792": {"type": "Tuple", "items": [{"nodeId": "139821929533664"}, {"nodeId": "139821942967648", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "139821929613456"}, {"nodeId": "139821929613680"}]}, "139821929533664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821929613456": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821929613680": {"type": "Union", "items": [{"nodeId": "139822017685072", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821938742368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821925759824": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821929533888"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967960192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961088"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961536"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967961984"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929533888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "139821925757808"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913484288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "139821913484288": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "139821967961088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967961536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821967961984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759824"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "139821967957504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "139821926233952", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913483392"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913483504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "139821913483392": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913483504": {"type": "TypeAlias", "target": {"nodeId": "139821925914816"}}, "139821925914816": {"type": "Union", "items": [{"nodeId": "139821946893504"}, {"nodeId": "N"}]}, "139821946893504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925758144"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821967957952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821967958848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821967959296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967959744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925759488"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "139821925760160": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967964000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967964896"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967965344"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821967965792"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954777376"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954777824"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954778272"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954778720"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954779168"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954779616"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913480816"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.139821925760160"}], "bases": [{"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}], "isAbstract": false}, "139821967964000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017690112", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.139821925760160": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925760160", "variance": "INVARIANT"}, "139821967964896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": ".1.139821925760160"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "139821967965344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821967965792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821954777376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": ".1.139821925760160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821954777824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821954778272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".1.139821925760160"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821954778720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821954779168": {"type": "Function", "typeVars": [".-1.139821954779168", ".-2.139821954779168"], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821954779168"}, {"nodeId": ".-2.139821954779168"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821913671488"}, {"nodeId": "139821913671600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954779168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779168", "variance": "INVARIANT"}, ".-2.139821954779168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779168", "variance": "INVARIANT"}, "139821913671488": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-1.139821954779168"}]}, "139821913671600": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-2.139821954779168"}]}, "139821954779616": {"type": "Function", "typeVars": [".-1.139821954779616", ".-2.139821954779616"], "argTypes": [{"nodeId": "139821925760160", "args": [{"nodeId": ".1.139821925760160"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": ".-1.139821954779616"}, {"nodeId": ".-2.139821954779616"}]}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821913671712"}, {"nodeId": "139821913671824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954779616": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779616", "variance": "INVARIANT"}, ".-2.139821954779616": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954779616", "variance": "INVARIANT"}, "139821913671712": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-1.139821954779616"}]}, "139821913671824": {"type": "Union", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".-2.139821954779616"}]}, "139821913480816": {"type": "Overloaded", "items": [{"nodeId": "139821954780064"}, {"nodeId": "139821954780512"}]}, "139821954780064": {"type": "Function", "typeVars": [".-1.139821954780064"], "argTypes": [{"nodeId": ".-1.139821954780064"}, {"nodeId": "139822017689776", "args": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}], "returnType": {"nodeId": ".-1.139821954780064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954780064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954780064", "variance": "INVARIANT"}, "139821954780512": {"type": "Function", "typeVars": [".-1.139821954780512"], "argTypes": [{"nodeId": ".-1.139821954780512"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821913672160"}]}], "returnType": {"nodeId": ".-1.139821954780512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821954780512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821954780512", "variance": "INVARIANT"}, "139821913672160": {"type": "Tuple", "items": [{"nodeId": ".1.139821925760160"}, {"nodeId": ".1.139821925760160"}]}, "139821921429072": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879398848"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884345920"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343680"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343904"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342336"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343232"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342784"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884343008"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884342560"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325248"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884324800"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325024"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884325472"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884324576"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884322336"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884323456"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884323904"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821879398848": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884345920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672384"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672384": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672496"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672496": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672608"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672608": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672720"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672720": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672832"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672832": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913672944"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913672944": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884343008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673056"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673056": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884342560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673168"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673168": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673280"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673280": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884324800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673392"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673392": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673504"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673504": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673616"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673616": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884324576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673728"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673728": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884322336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673840"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673840": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884323456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913673952"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913673952": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884323904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674064"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674064": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821925760496": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884319200"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884319424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954793056"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954957600"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958048"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958496"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954958944"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954959392"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954959840"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925760496"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821884319200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821925760496": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925760496", "variance": "INVARIANT"}, "139821884319424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954793056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954957600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821954958048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821954958496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954958944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821913674512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821913674512": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821921867408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821954959392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821925760496"}]}], "returnType": {"nodeId": ".1.139821925760496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954959840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821921429744": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879406352"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884313152"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311808"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311584"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311360"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884311136"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310912"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310688"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310464"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310240"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884310016"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884309792"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879406352": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884313152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674848"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674848": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913674960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913674960": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675072"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675072": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675184"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675184": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675296": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675408"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675408": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675520": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675632"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675632": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675744"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675744": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884310016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675856"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675856": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913675968"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913675968": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921430080": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879408032"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884307968"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884307520"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884302816"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884306848"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884306176"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821879408032": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884307968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676528"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676528": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884307520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676640": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884302816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676752"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676752": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676864"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676864": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913676976"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913676976": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821921430416": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879657408"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884300576"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884300128"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879657408": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884300576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913685488"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913685488": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821884300128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821913685600"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913685600": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921430752": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950569376"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950569824"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950570272"}, "name": "close"}], "typeVars": [{"nodeId": ".1.139821921430752"}], "bases": [{"nodeId": "139822017685072", "args": [{"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821921430752"}]}]}, {"nodeId": "139821938731248", "args": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}]}], "isAbstract": false}, "139821950569376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}], "returnType": {"nodeId": "139821925760496", "args": [{"nodeId": ".1.139821921430752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.139821921430752": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821921430752", "variance": "INVARIANT"}, "139821950569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "139821950570272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921430752", "args": [{"nodeId": ".1.139821921430752"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921431088": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950716832"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950717280"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139821929648128"}], "isAbstract": false}, "139821950716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921431088"}, {"nodeId": "139821929648128"}, {"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "139821925754784": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865616"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865952"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921539168"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925910224"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925910336"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913040576"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929534560"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535008"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535456"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929535904"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929536352"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929536800"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929537248"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929537696"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929538144"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925754784"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921865616": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821921538496": {"type": "Union", "items": [{"nodeId": "139821921534800"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821921538048"}]}]}, "139821921534800": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921538048": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921865952": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, ".1.139821925754784": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925754784", "variance": "INVARIANT"}, "139821921539168": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, "139821925910224": {"type": "Union", "items": [{"nodeId": "139821925470544", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "N"}]}, "139821925910336": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "A"}]}, "139821913040576": {"type": "Overloaded", "items": [{"nodeId": "139821942398016"}, {"nodeId": "139821934458272"}, {"nodeId": "139821934458720"}, {"nodeId": "139821934459168"}, {"nodeId": "139821934459616"}, {"nodeId": "139821934460064"}]}, "139821942398016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913208224"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913208448"}, {"nodeId": "139821913208672"}, {"nodeId": "139821913208896"}, {"nodeId": "139821913209120"}, {"nodeId": "139821913209232"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913209568"}, {"nodeId": "139821913209792"}, {"nodeId": "139821913209904"}, {"nodeId": "139821913210128"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913210240"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913210352"}, {"nodeId": "139821913210464"}, {"nodeId": "139821913210576"}, {"nodeId": "139821913276480"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913208224": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913208448": {"type": "Union", "items": [{"nodeId": "139821913208336"}, {"nodeId": "N"}]}, "139821913208336": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913208672": {"type": "Union", "items": [{"nodeId": "139821913208560"}, {"nodeId": "N"}]}, "139821913208560": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821925908880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}]}, "139821913208896": {"type": "Union", "items": [{"nodeId": "139821913208784"}, {"nodeId": "N"}]}, "139821913208784": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913209120": {"type": "Union", "items": [{"nodeId": "139821913209008"}, {"nodeId": "N"}]}, "139821913209008": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913209232": {"type": "Union", "items": [{"nodeId": "139821942390848"}, {"nodeId": "N"}]}, "139821942390848": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913209568": {"type": "Union", "items": [{"nodeId": "139821913209456"}, {"nodeId": "N"}]}, "139821913209456": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913209792": {"type": "Union", "items": [{"nodeId": "139821913209680"}, {"nodeId": "N"}]}, "139821913209680": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821921539504": {"type": "Union", "items": [{"nodeId": "139822017689776", "args": [{"nodeId": "139821925473568"}, {"nodeId": "139821921539056"}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821921538384"}]}]}, "139821921539056": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821921538384": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913209904": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913210128": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913210240": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913210352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913210464": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913210576": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913276480": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913210688"}]}, {"nodeId": "N"}]}, "139821913210688": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934458272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913276592"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913276816"}, {"nodeId": "139821913277040"}, {"nodeId": "139821913277264"}, {"nodeId": "139821913277488"}, {"nodeId": "139821913277600"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913277936"}, {"nodeId": "139821913278160"}, {"nodeId": "139821913278272"}, {"nodeId": "139821913278496"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913278608"}, {"nodeId": "139821913278720"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913278832"}, {"nodeId": "139821913278944"}, {"nodeId": "139821913279168"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913276592": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913276816": {"type": "Union", "items": [{"nodeId": "139821913276704"}, {"nodeId": "N"}]}, "139821913276704": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913277040": {"type": "Union", "items": [{"nodeId": "139821913276928"}, {"nodeId": "N"}]}, "139821913276928": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277264": {"type": "Union", "items": [{"nodeId": "139821913277152"}, {"nodeId": "N"}]}, "139821913277152": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277488": {"type": "Union", "items": [{"nodeId": "139821913277376"}, {"nodeId": "N"}]}, "139821913277376": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913277600": {"type": "Union", "items": [{"nodeId": "139821942403392"}, {"nodeId": "N"}]}, "139821942403392": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913277936": {"type": "Union", "items": [{"nodeId": "139821913277824"}, {"nodeId": "N"}]}, "139821913277824": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913278160": {"type": "Union", "items": [{"nodeId": "139821913278048"}, {"nodeId": "N"}]}, "139821913278048": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913278272": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913278496": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913278608": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913278720": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913278832": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913278944": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913279168": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913279056"}]}, {"nodeId": "N"}]}, "139821913279056": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934458720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913279280"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913279504"}, {"nodeId": "139821913279728"}, {"nodeId": "139821913279952"}, {"nodeId": "139821913280176"}, {"nodeId": "139821913280288"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913280624"}, {"nodeId": "139821913280848"}, {"nodeId": "0"}, {"nodeId": "139821913281184"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913281296"}, {"nodeId": "139821913281408"}, {"nodeId": "139821913281520"}, {"nodeId": "139821913281632"}, {"nodeId": "139821913281744"}, {"nodeId": "139821913281968"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913279280": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913279504": {"type": "Union", "items": [{"nodeId": "139821913279392"}, {"nodeId": "N"}]}, "139821913279392": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913279728": {"type": "Union", "items": [{"nodeId": "139821913279616"}, {"nodeId": "N"}]}, "139821913279616": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913279952": {"type": "Union", "items": [{"nodeId": "139821913279840"}, {"nodeId": "N"}]}, "139821913279840": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913280176": {"type": "Union", "items": [{"nodeId": "139821913280064"}, {"nodeId": "N"}]}, "139821913280064": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913280288": {"type": "Union", "items": [{"nodeId": "139821942405408"}, {"nodeId": "N"}]}, "139821942405408": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913280624": {"type": "Union", "items": [{"nodeId": "139821913280512"}, {"nodeId": "N"}]}, "139821913280512": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913280848": {"type": "Union", "items": [{"nodeId": "139821913280736"}, {"nodeId": "N"}]}, "139821913280736": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913281184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913281296": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913281408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913281520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913281632": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913281744": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913281968": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913281856"}]}, {"nodeId": "N"}]}, "139821913281856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934459168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139821913282080"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913282304"}, {"nodeId": "139821913282528"}, {"nodeId": "139821913282752"}, {"nodeId": "139821913282976"}, {"nodeId": "139821913283088"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913283424"}, {"nodeId": "139821913283648"}, {"nodeId": "139821913283760"}, {"nodeId": "139821913283984"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "0"}, {"nodeId": "139821913284208"}, {"nodeId": "139821913284320"}, {"nodeId": "139821913284432"}, {"nodeId": "139821913284544"}, {"nodeId": "139821913284768"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913282080": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913282304": {"type": "Union", "items": [{"nodeId": "139821913282192"}, {"nodeId": "N"}]}, "139821913282192": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913282528": {"type": "Union", "items": [{"nodeId": "139821913282416"}, {"nodeId": "N"}]}, "139821913282416": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913282752": {"type": "Union", "items": [{"nodeId": "139821913282640"}, {"nodeId": "N"}]}, "139821913282640": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913282976": {"type": "Union", "items": [{"nodeId": "139821913282864"}, {"nodeId": "N"}]}, "139821913282864": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913283088": {"type": "Union", "items": [{"nodeId": "139821942403840"}, {"nodeId": "N"}]}, "139821942403840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913283424": {"type": "Union", "items": [{"nodeId": "139821913283312"}, {"nodeId": "N"}]}, "139821913283312": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913283648": {"type": "Union", "items": [{"nodeId": "139821913283536"}, {"nodeId": "N"}]}, "139821913283536": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913283760": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913283984": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913284208": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913284320": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913284432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913284544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913284768": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913284656"}]}, {"nodeId": "N"}]}, "139821913284656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934459616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "139821925473568"}]}, {"nodeId": "139821913284880"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913285104"}, {"nodeId": "139821913285328"}, {"nodeId": "139821913285552"}, {"nodeId": "139821913285776"}, {"nodeId": "139821913285888"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913286224"}, {"nodeId": "139821913286448"}, {"nodeId": "139821913286672"}, {"nodeId": "139821913286896"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913287120"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "139821913287232"}, {"nodeId": "139821913287344"}, {"nodeId": "139821913287568"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913284880": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913285104": {"type": "Union", "items": [{"nodeId": "139821913284992"}, {"nodeId": "N"}]}, "139821913284992": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913285328": {"type": "Union", "items": [{"nodeId": "139821913285216"}, {"nodeId": "N"}]}, "139821913285216": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285552": {"type": "Union", "items": [{"nodeId": "139821913285440"}, {"nodeId": "N"}]}, "139821913285440": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285776": {"type": "Union", "items": [{"nodeId": "139821913285664"}, {"nodeId": "N"}]}, "139821913285664": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913285888": {"type": "Union", "items": [{"nodeId": "139821942404736"}, {"nodeId": "N"}]}, "139821942404736": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913286224": {"type": "Union", "items": [{"nodeId": "139821913286112"}, {"nodeId": "N"}]}, "139821913286112": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913286448": {"type": "Union", "items": [{"nodeId": "139821913286336"}, {"nodeId": "N"}]}, "139821913286336": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913286672": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913286896": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913287120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "139821913287232": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913287344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913287568": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913287456"}]}, {"nodeId": "N"}]}, "139821913287456": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821934460064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": "A"}]}, {"nodeId": "139821913287792"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913288016"}, {"nodeId": "139821913288240"}, {"nodeId": "139821913288464"}, {"nodeId": "139821913288688"}, {"nodeId": "139821913288800"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821913289136"}, {"nodeId": "139821913289360"}, {"nodeId": "139821913289472"}, {"nodeId": "139821913289696"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017688096", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821913289808"}, {"nodeId": "139821913289920"}, {"nodeId": "139821913290032"}, {"nodeId": "139821913290144"}, {"nodeId": "139821913290256"}, {"nodeId": "139821913290480"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "139821913287792": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913288016": {"type": "Union", "items": [{"nodeId": "139821913287904"}, {"nodeId": "N"}]}, "139821913287904": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913288240": {"type": "Union", "items": [{"nodeId": "139821913288128"}, {"nodeId": "N"}]}, "139821913288128": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288464": {"type": "Union", "items": [{"nodeId": "139821913288352"}, {"nodeId": "N"}]}, "139821913288352": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288688": {"type": "Union", "items": [{"nodeId": "139821913288576"}, {"nodeId": "N"}]}, "139821913288576": {"type": "TypeAlias", "target": {"nodeId": "139821925908880"}}, "139821913288800": {"type": "Union", "items": [{"nodeId": "139821942397568"}, {"nodeId": "N"}]}, "139821942397568": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "139821913289136": {"type": "Union", "items": [{"nodeId": "139821913289024"}, {"nodeId": "N"}]}, "139821913289024": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821913289360": {"type": "Union", "items": [{"nodeId": "139821913289248"}, {"nodeId": "N"}]}, "139821913289248": {"type": "TypeAlias", "target": {"nodeId": "139821921539504"}}, "139821913289472": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913289696": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "139821913289808": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, "139821913289920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913290032": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913290144": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913290256": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821913290480": {"type": "Union", "items": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821913290368"}]}, {"nodeId": "N"}]}, "139821913290368": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821929534560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "139821913290592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913290592": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821929535008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913290704"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "139821913290704": {"type": "Union", "items": [{"nodeId": "139821942965296"}, {"nodeId": "N"}]}, "139821929535456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913290816"}, {"nodeId": "139821913290928"}], "returnType": {"nodeId": "139821913291152"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "139821913290816": {"type": "Union", "items": [{"nodeId": ".1.139821925754784"}, {"nodeId": "N"}]}, "139821913290928": {"type": "Union", "items": [{"nodeId": "139821942965296"}, {"nodeId": "N"}]}, "139821913291152": {"type": "Tuple", "items": [{"nodeId": ".1.139821925754784"}, {"nodeId": ".1.139821925754784"}]}, "139821929535904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "139821929536352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929536800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929537248": {"type": "Function", "typeVars": [".-1.139821929537248"], "argTypes": [{"nodeId": ".-1.139821929537248"}], "returnType": {"nodeId": ".-1.139821929537248"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821929537248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821929537248", "variance": "INVARIANT"}, "139821929537696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754784", "args": [{"nodeId": ".1.139821925754784"}]}, {"nodeId": "139821913291264"}, {"nodeId": "139821913291376"}, {"nodeId": "139821913291488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821913291264": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913291376": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821913291488": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821929538144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821950717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921431088"}], "returnType": {"nodeId": "139821908619472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908619472": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921431424": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879667936"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884290240"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884289344"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884289120"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884288672"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884288896"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942965296"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942965296"}]}], "isAbstract": false}, "139821879667936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821884290240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621264"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621264": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884289344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621152"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621152": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884289120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621488"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621488": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884288672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621824"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621824": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821884288896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908621936"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908621936": {"type": "Tuple", "items": [{"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}, {"nodeId": "139821942965296"}]}, "139821921431760": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879670176"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879223328"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224448"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224672"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879224896"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879225120"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879670176": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821879223328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908705456"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908705456": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908705792"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908705792": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706128": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879224896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706240"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706240": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821879225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908706352"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908706352": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821921432096": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821879671968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821950882912"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821879226464"}}], "typeVars": [], "bases": [{"nodeId": "139821926234288", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964960"}]}], "isAbstract": false}, "139821879671968": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}]}, "139821950882912": {"type": "Function", "typeVars": [".-1.139821950882912"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821950882912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.139821950882912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821950882912", "variance": "INVARIANT"}, "139821879226464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908709936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908709936": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}]}, "139821929652832": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929653504": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871090592"}}], "typeVars": [], "bases": [{"nodeId": "139821929653168"}], "isAbstract": true}, "139821871090592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653504"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821929653840": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951029696"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951030144"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871089696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951031040"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871089248"}}], "typeVars": [], "bases": [{"nodeId": "139821929653168"}], "isAbstract": true}, "139821951029696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821951030144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957264": {"type": "Union", "items": [{"nodeId": "139821925745040"}, {"nodeId": "N"}]}, "139821871089696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957376": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951031040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929653840"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821871089248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908957600"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925745040"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "139821908957600": {"type": "Union", "items": [{"nodeId": "139821908957488"}, {"nodeId": "139821942966640"}]}, "139821908957488": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821929654176": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871088352"}}], "typeVars": [], "bases": [{"nodeId": "139821929653840"}], "isAbstract": true}, "139821871088352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654176"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821929654512": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951032384"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951032832"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951033280"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951033728"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "139821929653504"}, {"nodeId": "139821929654176"}], "isAbstract": true}, "139821951032384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942965296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821951032832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "139821951033280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908957712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908957712": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951033728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654512"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821929654848": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951034176"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951034624"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035072"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139821929652832"}], "isAbstract": false}, "139821951034176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908957936"}], "returnType": {"nodeId": "139821908958048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "139821908957936": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908958048": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951034624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951035072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929654848"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908958160"}, {"nodeId": "139821908958272"}], "returnType": {"nodeId": "139821908958384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "139821908958160": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908958272": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908958384": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929655184": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035520"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951035968"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951036416"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951036864"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "139821929652832"}], "isAbstract": false}, "139821951035520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908958496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908958496": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951035968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908958832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821908958832": {"type": "Tuple", "items": [{"nodeId": "139821908958608"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}]}, "139821908958608": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821951036416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951036864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655184"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908958944"}], "returnType": {"nodeId": "139821908959056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "139821908958944": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908959056": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929655520": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951037312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951037760"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951038208"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951038656"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "139821929653504"}, {"nodeId": "139821929654176"}], "isAbstract": true}, "139821951037312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "139821951037760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821951038208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821908959168"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908959168": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821951038656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655520"}, {"nodeId": "139821908959280"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908959280": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929655856": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870887008"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870886560"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870885888"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870886784"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821870887008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821870886560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821870885888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821870886784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929655856"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929656192": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884992"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884544"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870884320"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883648"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908956928"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821870884096"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883424"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870883200"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870882976"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "139821870884992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870884544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870884320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929656192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870883648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "139821908956928": {"type": "Overloaded", "items": [{"nodeId": "139821954484480"}, {"nodeId": "139821954484928"}, {"nodeId": "139821954485376"}, {"nodeId": "139821954485824"}, {"nodeId": "139821954486272"}, {"nodeId": "139821954486720"}, {"nodeId": "139821954487168"}]}, "139821954484480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908959504"}, {"nodeId": "139821942964960"}, {"nodeId": "139821908959616"}, {"nodeId": "139821908959728"}, {"nodeId": "139821908959840"}], "returnType": {"nodeId": "139821929648128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908959504": {"type": "TypeAlias", "target": {"nodeId": "139821938689968"}}, "139821938689968": {"type": "Union", "items": [{"nodeId": "139821938688176"}, {"nodeId": "139821938689632"}, {"nodeId": "139821938690304"}]}, "139821938688176": {"type": "TypeAlias", "target": {"nodeId": "139821938689296"}}, "139821938689296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938689632": {"type": "TypeAlias", "target": {"nodeId": "139821946830208"}}, "139821946830208": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821938690304": {"type": "TypeAlias", "target": {"nodeId": "139821946829536"}}, "139821946829536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821908959616": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908959728": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908959840": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954484928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908959952"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929645776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908959952": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821951386336": {"type": "Union", "items": [{"nodeId": "139821951101168"}, {"nodeId": "139821946829312"}, {"nodeId": "139821951386560"}]}, "139821951101168": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821946830656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821946829312": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821925916720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821951386560": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821951386224": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821954485376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961296"}, {"nodeId": "139821908961520"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929647120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908961296": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821908961520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954485824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908962752"}, {"nodeId": "139821908962864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908962752": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821908962864": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954486272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908963872"}, {"nodeId": "139821908960624"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908963872": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821908960624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821954486720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961632"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908961632": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821954487168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821908962976"}, {"nodeId": "139821908961408"}, {"nodeId": "139821908963760"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821908962976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908961408": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908963760": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821870884096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870883424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821870883200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870882976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656192"}, {"nodeId": "139821908961856"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "139821908961856": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821929656528": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870881856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954489856"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954490304"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954490752"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954491200"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "139821929655856"}], "isAbstract": true}, "139821870881856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}], "returnType": {"nodeId": "139821929656192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954489856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821954490304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "139821954490752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821954491200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656528"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921433440": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870850432"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870850880"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849984"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849536"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870849088"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870847072"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870848416"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870847296"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870845504"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}, {"nodeId": "139821929653840"}], "isAbstract": false}, "139821870850432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908953792"}], "returnType": {"nodeId": "139821908953904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908953792": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908953904": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870850880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954016"}, {"nodeId": "139821908954128"}], "returnType": {"nodeId": "139821908954240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908954016": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954128": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908954240": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870849984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870849536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870849088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870847072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870848416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821870847296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908954352"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "139821908954352": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821870845504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821921433776": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870845728"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870844832"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843936"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870844384"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843488"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870843040"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870842592"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870841920"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870840992"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}, {"nodeId": "139821929653840"}], "isAbstract": false}, "139821870845728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954464"}], "returnType": {"nodeId": "139821908954576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908954464": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954576": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870844832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908954688"}, {"nodeId": "139821908954800"}], "returnType": {"nodeId": "139821908954912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908954688": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908954800": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908954912": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870843936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870844384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870843488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870843040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "139821870842592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "139821870841920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821908955024"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "139821908955024": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821870840992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "139821921434112": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870839872"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870839424"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}], "isAbstract": false}, "139821870839872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955136"}], "returnType": {"nodeId": "139821908955248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908955136": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955248": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821870839424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955360"}, {"nodeId": "139821908955472"}], "returnType": {"nodeId": "139821908955584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908955360": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955472": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908955584": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821929652496": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870837856"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870837408"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870838304"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870836960"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821870837856": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "139821870837408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651824"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "139821921432768": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937949856"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875671808"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921870656": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937949856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}, {"nodeId": "139821908721248"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "139821908721248": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875671808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432768"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929651824": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937952352"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937952800"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937953248"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "139821929651488"}], "isAbstract": false}, "139821937952352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821921719280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821921719280": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574976"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947013600"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947014048"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884037760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947014944"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947015392"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947016736"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947017184"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947017632"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018080"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018528"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947018976"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947019424"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947019872"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947020320"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947020768"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947021216"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947021664"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947022112"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821913480256"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947025696"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947026144"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947026592"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947027040"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947109664"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947110112"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947111456"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947111904"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947112352"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947112800"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947113248"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947113696"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947114144"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821884040224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947115488"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947115936"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947116384"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947116832"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947117280"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947117728"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947118176"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947119072"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821913574976": {"type": "Function", "typeVars": [".-1.139821913574976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821913485856"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821913574976"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "139821913485856": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821938697136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}]}, ".-1.139821913574976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574976", "variance": "INVARIANT"}, "139821947013600": {"type": "Function", "typeVars": [".-1.139821947013600"], "argTypes": [{"nodeId": ".-1.139821947013600"}], "returnType": {"nodeId": ".-1.139821947013600"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821947013600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947013600", "variance": "INVARIANT"}, "139821947014048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913486080"}, {"nodeId": "139821913486192"}, {"nodeId": "139821913486304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821913486080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821913486192": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821913486304": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821884037760": {"type": "Function", "typeVars": [".-1.139821884037760"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821884037760"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821884037760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821884037760", "variance": "INVARIANT"}, "139821947014944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821913486416"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "139821913486416": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821947015392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "139821947016736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947017184": {"type": "Function", "typeVars": [".-1.139821947017184"], "argTypes": [{"nodeId": ".-1.139821947017184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947017184"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.139821947017184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947017184", "variance": "INVARIANT"}, "139821947017632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947018976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947019424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947019872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947020320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947020768": {"type": "Function", "typeVars": [".-1.139821947020768"], "argTypes": [{"nodeId": ".-1.139821947020768"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947020768"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947020768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947020768", "variance": "INVARIANT"}, "139821947021216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "139821947021664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821913486528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913486528": {"type": "TypeAlias", "target": {"nodeId": "139821921867408"}}, "139821947022112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "139821913480256": {"type": "Overloaded", "items": [{"nodeId": "139821947022560"}, {"nodeId": "139821947023008"}, {"nodeId": "139821947023456"}, {"nodeId": "139821947023904"}, {"nodeId": "139821947024352"}, {"nodeId": "139821947024800"}, {"nodeId": "139821947025248"}]}, "139821947022560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913486752"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913486864"}, {"nodeId": "139821913486976"}, {"nodeId": "139821913487088"}], "returnType": {"nodeId": "139821929648128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913486752": {"type": "TypeAlias", "target": {"nodeId": "139821938689968"}}, "139821913486864": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913486976": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913487088": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947023008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913487200"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929645776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913487200": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821947023456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488768"}, {"nodeId": "139821913487648"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929647120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488768": {"type": "TypeAlias", "target": {"nodeId": "139821946830656"}}, "139821913487648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947023904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488096"}, {"nodeId": "139821913488880"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488096": {"type": "TypeAlias", "target": {"nodeId": "139821951386224"}}, "139821913488880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947024352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913488656"}, {"nodeId": "139821913487536"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821929646448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488656": {"type": "TypeAlias", "target": {"nodeId": "139821925916720"}}, "139821913487536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "139821947024800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913487760"}, {"nodeId": "139821942964960"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "139821925470880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913487760": {"type": "TypeAlias", "target": {"nodeId": "139821951386336"}}, "139821947025248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913488992"}, {"nodeId": "139821913488432"}, {"nodeId": "139821913489104"}], "returnType": {"nodeId": "139821925470544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "139821913488992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913488432": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913489104": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947025696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947026144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947026592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947027040": {"type": "Function", "typeVars": [".-1.139821947027040"], "argTypes": [{"nodeId": ".-1.139821947027040"}], "returnType": {"nodeId": ".-1.139821947027040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947027040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947027040", "variance": "INVARIANT"}, "139821947109664": {"type": "Function", "typeVars": [".-1.139821947109664"], "argTypes": [{"nodeId": ".-1.139821947109664"}, {"nodeId": "139821913669696"}], "returnType": {"nodeId": ".-1.139821947109664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.139821947109664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947109664", "variance": "INVARIANT"}, "139821913669696": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921718272"}]}, "139821921718272": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821884014656"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883981184"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883981408"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980736"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980512"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980288"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883980064"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883979840"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573184"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930405600"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406048"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406496"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930406944"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930407392"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930407840"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573856"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574080"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930409184"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930409632"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410080"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410528"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930410976"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930411424"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930411872"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913573632"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930412768"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930413216"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930413664"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821913574752"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883974464"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821883976704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821947012704"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821884014656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883981184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883981408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883980064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821883979840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913573184": {"type": "Function", "typeVars": [".-1.139821913573184"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821913485072"}], "returnType": {"nodeId": ".-1.139821913573184"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "139821913485072": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, ".-1.139821913573184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573184", "variance": "INVARIANT"}, "139821930405600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930406048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930406496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930406944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930407392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930407840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913573856": {"type": "Function", "typeVars": [".-1.139821913573856"], "argTypes": [{"nodeId": ".-1.139821913573856"}, {"nodeId": "139821913485184"}], "returnType": {"nodeId": ".-1.139821913573856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821913573856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573856", "variance": "INVARIANT"}, "139821913485184": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821913574080": {"type": "Function", "typeVars": [".-1.139821913574080"], "argTypes": [{"nodeId": ".-1.139821913574080"}, {"nodeId": "139821913485296"}], "returnType": {"nodeId": ".-1.139821913574080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821913574080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574080", "variance": "INVARIANT"}, "139821913485296": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930409184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930409632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930410976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930411424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821913485408"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "139821913485408": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930411872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921718272"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "139821913573632": {"type": "Function", "typeVars": [".-1.139821913573632"], "argTypes": [{"nodeId": ".-1.139821913573632"}, {"nodeId": "139821913485520"}], "returnType": {"nodeId": ".-1.139821913573632"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.139821913573632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913573632", "variance": "INVARIANT"}, "139821913485520": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821930412768": {"type": "Function", "typeVars": [".-1.139821930412768"], "argTypes": [{"nodeId": ".-1.139821930412768"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930412768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.139821930412768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930412768", "variance": "INVARIANT"}, "139821930413216": {"type": "Function", "typeVars": [".-1.139821930413216"], "argTypes": [{"nodeId": ".-1.139821930413216"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930413216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.139821930413216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930413216", "variance": "INVARIANT"}, "139821930413664": {"type": "Function", "typeVars": [".-1.139821930413664"], "argTypes": [{"nodeId": ".-1.139821930413664"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821930413664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.139821930413664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930413664", "variance": "INVARIANT"}, "139821913574752": {"type": "Function", "typeVars": [".-1.139821913574752"], "argTypes": [{"nodeId": ".-1.139821913574752"}, {"nodeId": "139821913485632"}], "returnType": {"nodeId": ".-1.139821913574752"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.139821913574752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821913574752", "variance": "INVARIANT"}, "139821913485632": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821883974464": {"type": "Function", "typeVars": [".-1.139821883974464"], "argTypes": [{"nodeId": ".-1.139821883974464"}], "returnType": {"nodeId": "139822017688432", "args": [{"nodeId": ".-1.139821883974464"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821883974464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821883974464", "variance": "INVARIANT"}, "139821883976704": {"type": "Function", "typeVars": [".-1.139821883976704"], "argTypes": [{"nodeId": ".-1.139821883976704"}], "returnType": {"nodeId": ".-1.139821883976704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821883976704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821883976704", "variance": "INVARIANT"}, "139821947012704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "139821947110112": {"type": "Function", "typeVars": [".-1.139821947110112"], "argTypes": [{"nodeId": ".-1.139821947110112"}, {"nodeId": "139821913669808"}], "returnType": {"nodeId": ".-1.139821947110112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.139821947110112": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947110112", "variance": "INVARIANT"}, "139821913669808": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921718272"}]}, "139821947111456": {"type": "Function", "typeVars": [".-1.139821947111456"], "argTypes": [{"nodeId": ".-1.139821947111456"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": ".-1.139821947111456"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.139821947111456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947111456", "variance": "INVARIANT"}, "139821947111904": {"type": "Function", "typeVars": [".-1.139821947111904"], "argTypes": [{"nodeId": ".-1.139821947111904"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821947111904"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.139821947111904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947111904", "variance": "INVARIANT"}, "139821947112352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947112800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913669920"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "139821913669920": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921719280"}]}, "139821947113248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "139821913670032": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821921719280"}]}, "139821947113696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "139821947114144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "139821884040224": {"type": "Function", "typeVars": [".-1.139821884040224"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821884040224"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821884040224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821884040224", "variance": "INVARIANT"}, "139821947115488": {"type": "Function", "typeVars": [".-1.139821947115488"], "argTypes": [{"nodeId": ".-1.139821947115488"}], "returnType": {"nodeId": ".-1.139821947115488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947115488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947115488", "variance": "INVARIANT"}, "139821947115936": {"type": "Function", "typeVars": [".-1.139821947115936"], "argTypes": [{"nodeId": ".-1.139821947115936"}], "returnType": {"nodeId": ".-1.139821947115936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821947115936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821947115936", "variance": "INVARIANT"}, "139821947116384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821947116832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670144"}, {"nodeId": "139821913670256"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "139821913670144": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670256": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947117280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670368"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "139821913670368": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821947117728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670480"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821913670480": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821947118176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913670592"}, {"nodeId": "139821913670704"}, {"nodeId": "139821913670816"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "139821913670592": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670704": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821913670816": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821947119072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921719280"}, {"nodeId": "139821913670928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "139821913670928": {"type": "TypeAlias", "target": {"nodeId": "139821938694224"}}, "139821937952800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821908721472"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "139821908721472": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821937953248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651824"}, {"nodeId": "139821908951104"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821908951104": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821929651488": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875708416"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875708192"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875674048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908718560"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875674272"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673600"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875674496"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673376"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875673152"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875672928"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875672704"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821875708416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908720352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "139821908720352": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875708192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}, {"nodeId": "139821908720464"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "139821908720464": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821875674048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929651488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "139821908718560": {"type": "Overloaded", "items": [{"nodeId": "139821937944928"}, {"nodeId": "139821937945376"}]}, "139821937944928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "139821937945376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "139821908720688"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "139821908720688": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821875674272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908720912"}], "returnType": {"nodeId": "139821929651824"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "139821908720912": {"type": "TypeAlias", "target": {"nodeId": "139821938697136"}}, "139821875673600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821929648800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929648800": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930089376"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930089824"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930090272"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930090720"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930091168"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875762048"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "139821930089376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930089824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930090272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930090720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930091168": {"type": "Function", "typeVars": [".-1.139821930091168"], "argTypes": [{"nodeId": "139821929648800"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930091168"}], "returnType": {"nodeId": "139821908718000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930091168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930091168", "variance": "INVARIANT"}, "139821908718000": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.139821930091168"}]}, "139821875762048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929648800"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821908718112"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908718112": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821875674496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929650480": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937937760"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937938208"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875712896"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875714912"}}], "typeVars": [], "bases": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821934652864"}]}], "isAbstract": false}, "139821937937760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}, {"nodeId": "139821908719232"}], "returnType": {"nodeId": "139821908720016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821908719232": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821908720016": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, "139821934653984": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821937938208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821875712896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650480"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934652864": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, "139821875673376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875673152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821908721024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908721024": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821921720624"}]}, {"nodeId": "N"}]}, "139821921720624": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937941792"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937942240"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937942688"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934649840"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921648928"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929651488"}}], "typeVars": [], "bases": [{"nodeId": "139821921718608"}], "isAbstract": false}, "139821937941792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "139821937942240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821937942688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921720624"}], "returnType": {"nodeId": "139821921429408", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821934649840": {"type": "Union", "items": [{"nodeId": "139821929651152"}, {"nodeId": "N"}]}, "139821929651152": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937943136"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821937943136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651152"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821921648928": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921718608": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821875672928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821908721136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908721136": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821875672704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929651488"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821870838304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908955696"}, {"nodeId": "139821908955808"}], "returnType": {"nodeId": "139821908955920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "139821908955696": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908955808": {"type": "Union", "items": [{"nodeId": "139821925746384"}, {"nodeId": "N"}]}, "139821908955920": {"type": "Union", "items": [{"nodeId": "139821929652160"}, {"nodeId": "N"}]}, "139821870836960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956032"}], "returnType": {"nodeId": "139821908956144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "139821908956032": {"type": "Union", "items": [{"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821908956144": {"type": "Union", "items": [{"nodeId": "139821929653168"}, {"nodeId": "N"}]}, "139821921434448": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954638432"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821870836288"}}], "typeVars": [], "bases": [{"nodeId": "139821929655184"}], "isAbstract": false}, "139821954638432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921434448"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "139821908956368": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821870836288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821908956592"}], "returnType": {"nodeId": "139821908672800"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "139821908956592": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821908672800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821929655184"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821921434784": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954639328"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "139821929655520"}, {"nodeId": "139821929654512"}], "isAbstract": false}, "139821954639328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921434784"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908956704"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "139821908956704": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821921435120": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "139821929655520"}, {"nodeId": "139821929654512"}], "isAbstract": false}, "139821921714240": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954639776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954640224"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954640672"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954641120"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954641568"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954642016"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954642464"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "139821929654176"}], "isAbstract": false}, "139821954639776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "139821954640224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821908956816"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821908956816": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821954640672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821954641120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821929652160"}], "returnType": {"nodeId": "139821925746384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "139821954641568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821925746384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "139821954642016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "139821954642464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714240"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821929656864": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954644704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821954645152"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}], "isAbstract": false}, "139821954644704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821954645152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929656864"}, {"nodeId": "139821942966640"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821929657200": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951304864"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871324672"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951306656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951307104"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951307552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951308000"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871324896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951308896"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951309344"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951309792"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908961184"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821929657536"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "A"}, {"nodeId": "139821929657536"}]}}], "typeVars": [], "bases": [{"nodeId": "139821925299728"}], "isAbstract": false}, "139821951304864": {"type": "Function", "typeVars": [".-1.139821951304864"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "139821929656864"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821951304864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.139821951304864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951304864", "variance": "INVARIANT"}, "139821871324672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942964288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "139821929656864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "139821951306656": {"type": "Function", "typeVars": [".-1.139821951306656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821951306656"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821951306656": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951306656", "variance": "INVARIANT"}, "139821951307104": {"type": "Function", "typeVars": [".-1.139821951307104"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": ".-1.139821951307104"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821951307104": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951307104", "variance": "INVARIANT"}, "139821951307552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821951308000": {"type": "Function", "typeVars": [".-1.139821951308000"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821951308000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.139821951308000": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951308000", "variance": "INVARIANT"}, "139821871324896": {"type": "Function", "typeVars": [".-1.139821871324896"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "139821925745376", "args": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821871324896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821871324896": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821871324896", "variance": "INVARIANT"}, "139821951308896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821951309344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908961184": {"type": "Overloaded", "items": [{"nodeId": "139821951310240"}, {"nodeId": "139821951311136"}]}, "139821951310240": {"type": "Function", "typeVars": [".-1.139821951310240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.139821951310240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.139821951310240": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951310240", "variance": "INVARIANT"}, "139821951311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657200"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908965664"}, {"nodeId": "139821908965776"}, {"nodeId": "139821908965888"}, {"nodeId": "139821908966000"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "139821908965664": {"type": "TypeAlias", "target": {"nodeId": "139821934227888"}}, "139821934227888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "139822017684736", "args": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821934228224"}]}]}, {"nodeId": "139822017689776", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}]}, "139821934228224": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "139821908965776": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908965888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821908966000": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "N"}]}, "139821929657872": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871332512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951316064"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}, {"nodeId": "139821929657536"}], "isAbstract": false}, "139821871332512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929657872"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951316064": {"type": "Function", "typeVars": [".-1.139821951316064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": ".-1.139821951316064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.139821951316064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951316064", "variance": "INVARIANT"}, "139821921714576": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821871448128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821951317408"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821929658544"}], "isAbstract": false}, "139821871448128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921714576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821951317408": {"type": "Function", "typeVars": [".-1.139821951317408"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.139821951317408"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.139821951317408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821951317408", "variance": "INVARIANT"}, "139821925756464": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925911344"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925913808"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963227008"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925911344": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821925913808": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821963227008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756464"}, {"nodeId": "139821942966640"}, {"nodeId": "139821913344368"}, {"nodeId": "139821913344032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "139821913344368": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913344032": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821925756800": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963227456"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942964960"}], "isAbstract": false}, "139821963227456": {"type": "Function", "typeVars": [".-1.139821963227456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821963227456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.139821963227456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963227456", "variance": "INVARIANT"}, "139821926220848": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963228576"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229024"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229472"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close", "seek", "write"]}, "139821963228576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "139821963229024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821963229472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926220848"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926221184": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963229920"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963230368"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963230816"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["close", "read", "seek"]}, "139821963229920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "139821963230368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "139821963230816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221184"}], "returnType": {"nodeId": "139822017680704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821921715920": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "139821926220848"}, {"nodeId": "139821926221184"}], "protocolMembers": ["close", "read", "seek", "write"]}, "139821926221520": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963903264"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963903264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221520"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904453680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904453680": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821926221856": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963903712"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963903712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926221856"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904453904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904453904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821926222192": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963904160"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963904160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222192"}, {"nodeId": "139821926221184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821921717600"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821921717600": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821926221184"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026016"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026464"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964026912"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964027360"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964027808"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964028256"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964028704"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964029152"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964029600"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030048"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821926223536"}], "isAbstract": false}, "139821964026016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821926221184"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821964026464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "139821964026912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904459840"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "139821904459840": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964027360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904459952"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "139821904459952": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964027808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964028256": {"type": "Function", "typeVars": [".-1.139821964028256"], "argTypes": [{"nodeId": ".-1.139821964028256"}], "returnType": {"nodeId": ".-1.139821964028256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964028256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964028256", "variance": "INVARIANT"}, "139821964028704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821904460064"}, {"nodeId": "139821904460176"}, {"nodeId": "139821904460288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904460064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904460176": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904460288": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821964029152": {"type": "Function", "typeVars": [".-1.139821964029152"], "argTypes": [{"nodeId": ".-1.139821964029152"}], "returnType": {"nodeId": ".-1.139821964029152"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964029152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964029152", "variance": "INVARIANT"}, "139821964029600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964030048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717600"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909303680"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821909303680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926223536": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963916256"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963916704"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821963916256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223536"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904457712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904457712": {"type": "Tuple", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821942964960"}]}, "139821963916704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223536"}, {"nodeId": "139821925473568"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821904457936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "139821904457936": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821926222528": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963904608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963904608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222528"}, {"nodeId": "139821926220848"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821921717264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821921717264": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821926220848"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964022880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964023328"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964023776"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964024224"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964024672"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964025120"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964025568"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "139821926223536"}], "isAbstract": false}, "139821964022880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821926220848"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "139821964023328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "139821964023776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821964024224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964024672": {"type": "Function", "typeVars": [".-1.139821964024672"], "argTypes": [{"nodeId": ".-1.139821964024672"}], "returnType": {"nodeId": ".-1.139821964024672"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964024672": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964024672", "variance": "INVARIANT"}, "139821964025120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821904459280"}, {"nodeId": "139821904459392"}, {"nodeId": "139821904459504"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904459280": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904459392": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904459504": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821964025568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717264"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909303008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821909303008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821926222864": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963905056"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963905056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926222864"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821926223872"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821926223872": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963917152"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863218176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918048"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918496"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963918944"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821963917152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863218176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821963918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821963918496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}], "returnType": {"nodeId": "139821904458048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904458048": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821963918944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223872"}, {"nodeId": "139821904458160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "139821904458160": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942966640"}]}, "139821926223200": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963905504"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__call__"]}, "139821963905504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926223200"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821926224208"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821921716256": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863222656"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863221312"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863221536"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220864"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220640"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821863220416"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821963908640"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "139822017680704"}]}], "isAbstract": false}, "139821863222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454128"}], "returnType": {"nodeId": "139821926221520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454128": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863221312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454240"}], "returnType": {"nodeId": "139821926221856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454240": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863221536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454352"}], "returnType": {"nodeId": "139821926222192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454352": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454464"}], "returnType": {"nodeId": "139821926222528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454464": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454576"}], "returnType": {"nodeId": "139821926222864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454576": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821863220416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821904454688"}], "returnType": {"nodeId": "139821926223200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821904454688": {"type": "Tuple", "items": [{"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}]}, "139821963908640": {"type": "Function", "typeVars": [".-1.139821963908640"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821904454016"}, {"nodeId": "139821904454800"}, {"nodeId": "139821904454912"}, {"nodeId": "139821904455024"}, {"nodeId": "139821904455136"}, {"nodeId": "139821904455248"}], "returnType": {"nodeId": ".-1.139821963908640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "139821904454016": {"type": "Union", "items": [{"nodeId": "139821926222192"}, {"nodeId": "N"}]}, "139821904454800": {"type": "Union", "items": [{"nodeId": "139821926222528"}, {"nodeId": "N"}]}, "139821904454912": {"type": "Union", "items": [{"nodeId": "139821926222864"}, {"nodeId": "N"}]}, "139821904455024": {"type": "Union", "items": [{"nodeId": "139821926223200"}, {"nodeId": "N"}]}, "139821904455136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821904455248": {"type": "Union", "items": [{"nodeId": "139822017681040"}, {"nodeId": "N"}]}, ".-1.139821963908640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821963908640", "variance": "INVARIANT"}, "139821921716592": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964020192"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863216384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964021088"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "139821926223872"}], "isAbstract": true}, "139821964020192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863216384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "139821964021088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716592"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821921716928": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925473568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964021536"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821863215488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964022432"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "139821926224208"}], "isAbstract": true}, "139821964021536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "139821863215488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821904458832"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821904459056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "139821904458832": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821904459056": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}, "139821964022432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921716928"}, {"nodeId": "139821904459168"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "139821904459168": {"type": "TypeAlias", "target": {"nodeId": "139821925918064"}}, "139821921717936": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921715920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030496"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964030944"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964031392"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964031840"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964032288"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964032736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964033184"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821964033632"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946306848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946307296"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946307744"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946308192"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946308640"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309088"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309536"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946309984"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946310432"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946310880"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946311328"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946311776"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946312224"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946312672"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "139821925471216"}], "isAbstract": false}, "139821964030496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821921715920"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "139821964030944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821964031392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460624"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904460624": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964031840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460736"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "139821904460736": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821964032288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821964032736": {"type": "Function", "typeVars": [".-1.139821964032736"], "argTypes": [{"nodeId": ".-1.139821964032736"}], "returnType": {"nodeId": ".-1.139821964032736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821964032736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821964032736", "variance": "INVARIANT"}, "139821964033184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821964033632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821946306848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946307296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "139821946307744": {"type": "Function", "typeVars": [".-1.139821946307744"], "argTypes": [{"nodeId": ".-1.139821946307744"}], "returnType": {"nodeId": ".-1.139821946307744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946307744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946307744", "variance": "INVARIANT"}, "139821946308192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904460848"}, {"nodeId": "139821904460960"}, {"nodeId": "139821904461072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904460848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904460960": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904461072": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821946308640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946309088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946309536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946309984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946310432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946310880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946311328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}, {"nodeId": "139821904461296"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904461296": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946311776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946312224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946312672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921717936"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821926224544": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946313120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946313568"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314016"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314464"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946314912"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946315360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946315808"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946316256"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946316704"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946317152"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946317600"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318048"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318496"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946318944"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946319392"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946319840"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946320288"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946320736"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946321184"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946321632"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946322080"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946322528"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "139821925470880"}], "isAbstract": false}, "139821946313120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821921715920"}, {"nodeId": "139821926221520"}, {"nodeId": "139821926221856"}, {"nodeId": "139821926222192"}, {"nodeId": "139821926222528"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "139821946313568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821946314016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904461408"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904461408": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946314464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904461520"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925473568"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "139821904461520": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946314912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946315360": {"type": "Function", "typeVars": [".-1.139821946315360"], "argTypes": [{"nodeId": ".-1.139821946315360"}], "returnType": {"nodeId": ".-1.139821946315360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946315360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946315360", "variance": "INVARIANT"}, "139821946315808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821925473568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "139821946316256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925473568"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "139821946316704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946317152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946317600": {"type": "Function", "typeVars": [".-1.139821946317600"], "argTypes": [{"nodeId": ".-1.139821946317600"}], "returnType": {"nodeId": ".-1.139821946317600"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.139821946317600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821946317600", "variance": "INVARIANT"}, "139821946318048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904773184"}, {"nodeId": "139821904773296"}, {"nodeId": "139821904773408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "139821904773184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "139821904773296": {"type": "Union", "items": [{"nodeId": "139821942972352"}, {"nodeId": "N"}]}, "139821904773408": {"type": "Union", "items": [{"nodeId": "139821925750080"}, {"nodeId": "N"}]}, "139821946318496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "139821946318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946321184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}, {"nodeId": "139821904773520"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "139821904773520": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946321632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946322080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946322528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926224544"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821925753440": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821925753440"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.139821925753440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946408288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946408736"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946409184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.139821925753440"}], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, ".1.139821925753440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821925753440", "variance": "INVARIANT"}, "139821946408288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925753440", "args": [{"nodeId": ".1.139821925753440"}]}, {"nodeId": "139821913040128"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913040240"}, {"nodeId": "139821913040352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "139821913040128": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913040240": {"type": "Union", "items": [{"nodeId": ".1.139821925753440"}, {"nodeId": "N"}]}, "139821913040352": {"type": "Union", "items": [{"nodeId": ".1.139821925753440"}, {"nodeId": "N"}]}, "139821946408736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925753440", "args": [{"nodeId": ".1.139821925753440"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821946409184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821925751424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "139821925753776": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925754112": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821934444832"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942965296"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921865504"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921539280"}}], "typeVars": [], "bases": [{"nodeId": "139821925753776"}], "isAbstract": false}, "139821934444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754112"}, {"nodeId": "139821913207552"}, {"nodeId": "139821942965296"}, {"nodeId": "139821913207664"}, {"nodeId": "139821913207440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "139821913207552": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913207664": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913207440": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921865504": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821921539280": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821925754448": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821934445280"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821925753776"}], "isAbstract": false}, "139821934445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925754448"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913207776"}, {"nodeId": "139821913207888"}, {"nodeId": "139821913208000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "139821913207776": {"type": "TypeAlias", "target": {"nodeId": "139821921538496"}}, "139821913207888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821913208000": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "N"}]}, "139821929649472": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875723200"}}], "typeVars": [], "bases": [{"nodeId": "139821925286624"}], "isAbstract": false}, "139821875723200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649472"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929650144": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925757472", "args": [{"nodeId": "139821942966640"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937935520"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875719392"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875718720"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875719168"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934653200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937937312"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "139821929649808"}], "isAbstract": false}, "139821937935520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719344": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875719392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719568"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719568": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875718720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719680"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719680": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821875719168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719792"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908719792": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821934653200": {"type": "Union", "items": [{"nodeId": "139821929651488"}, {"nodeId": "N"}]}, "139821937937312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821908719904"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821908719904": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821929649808": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934652080"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934651632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929530528"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929531424"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821929530304"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929529632"}}], "typeVars": [], "bases": [{"nodeId": "139821942967648", "args": [{"nodeId": "139821942966640"}]}], "isAbstract": false}, "139821934652080": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821934651632": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "139821929530528": {"type": "Function", "typeVars": [".-1.139821929530528"], "argTypes": [{"nodeId": ".-1.139821929530528"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821929530528"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.139821929530528": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929530528", "variance": "INVARIANT"}, "139821934651856": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821929531424": {"type": "Function", "typeVars": [".-1.139821929531424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": ".-1.139821929531424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.139821929531424": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929531424", "variance": "INVARIANT"}, "139821929530304": {"type": "Function", "typeVars": [".-1.139821929530304"], "argTypes": [{"nodeId": ".-1.139821929530304"}], "returnType": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.139821929530304": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929530304", "variance": "INVARIANT"}, "139821929529632": {"type": "Function", "typeVars": [".-1.139821929529632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.139821929529632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.139821929529632": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "139821934651856"}, "def": "139821929529632", "variance": "INVARIANT"}, "139821929650816": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875711776"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875711104"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821875710432"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908718672"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821929650480"}]}], "isAbstract": false}, "139821875711776": {"type": "Function", "typeVars": [".-1.139821875711776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821908720128"}]}], "returnType": {"nodeId": ".-1.139821875711776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "139821908720128": {"type": "TypeAlias", "target": {"nodeId": "139821934653984"}}, ".-1.139821875711776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821875711776", "variance": "INVARIANT"}, "139821875711104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821875710432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}], "returnType": {"nodeId": "139821925474240", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821908718672": {"type": "Overloaded", "items": [{"nodeId": "139821937940896"}, {"nodeId": "139821937941344"}]}, "139821937940896": {"type": "Function", "typeVars": [".-1.139821937940896"], "argTypes": [{"nodeId": ".-1.139821937940896"}], "returnType": {"nodeId": ".-1.139821937940896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821937940896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821937940896", "variance": "INVARIANT"}, "139821937941344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929650816"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821929650480"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "139821921432432": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "139821921432768"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875672032"}}], "typeVars": [], "bases": [{"nodeId": "139821929654848"}], "isAbstract": true}, "139821875672032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921432432"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651488"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "139821921433104": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821875669792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937951904"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "139821921432432"}], "isAbstract": false}, "139821875669792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "139821921432768"}], "returnType": {"nodeId": "139822017684736", "args": [{"nodeId": "139821929651824"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "139821937951904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821921433104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "139821925755120": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821925755456": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925909104"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921864384"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887852992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937959744"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937960192"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937960640"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937961088"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821925909104": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921864384": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821887852992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821937959744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821913292272"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "139821913292272": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "139821925755792": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821921863488"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921780000"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821925755456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937961536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937962432"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937962880"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937963328"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937963776"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937964224"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937964672"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937965120"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937965568"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921863488": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821921861920": {"type": "Tuple", "items": [{"nodeId": "139821925756800"}, {"nodeId": "139821921866064"}]}, "139821921866064": {"type": "TypeAlias", "target": {"nodeId": "139821921863152"}}, "139821921863152": {"type": "Union", "items": [{"nodeId": "139821921865168"}, {"nodeId": "139821921866176"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821925755792"}]}, {"nodeId": "139821921862368"}, {"nodeId": "139821921863040"}]}, "139821921865168": {"type": "TypeAlias", "target": {"nodeId": "139821942967984", "args": [{"nodeId": "139821925910896"}]}}, "139821925910896": {"type": "Tuple", "items": [{"nodeId": "139821925756800"}, {"nodeId": "139821942964960"}]}, "139821921866176": {"type": "TypeAlias", "target": {"nodeId": "139821921540624"}}, "139821921540624": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821925755792"}]}]}, "139821921862368": {"type": "TypeAlias", "target": {"nodeId": "139821921540512"}}, "139821921540512": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}, {"nodeId": "139821925755792"}]}, "139821921863040": {"type": "TypeAlias", "target": {"nodeId": "139821921865840"}}, "139821921865840": {"type": "Tuple", "items": [{"nodeId": "139821925909552"}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925755792"}]}, "139821925909552": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821921780000": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821937961536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821925755456"}, {"nodeId": "139821913292496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "139821913292496": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821913292384"}]}, {"nodeId": "N"}]}, "139821913292384": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937962432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "139821937962880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821937963328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913292608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913292608": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821937963776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342016"}], "returnType": {"nodeId": "139821913342240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821913342016": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821913342240": {"type": "Union", "items": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342128"}]}, "139821913342128": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937964224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342352"}, {"nodeId": "139821913342688"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821913342352": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942967312"}]}, "139821913342688": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937964672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821942964960"}, {"nodeId": "139821913342464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "139821913342464": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937965120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}, {"nodeId": "139821913342912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "139821913342912": {"type": "TypeAlias", "target": {"nodeId": "139821921861920"}}, "139821937965568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755792"}], "returnType": {"nodeId": "139821913343136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913343136": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821937960640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "139821937961088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925755456"}, {"nodeId": "139821942964960"}, {"nodeId": "139821925756128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "139821925756128": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921779888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937966016"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821937966464"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475072"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475520"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938475968"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "139821887848960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938477312"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938477760"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938478208"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821921779888": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821937966016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821937966464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "139821938475072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821913342800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821913342800": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938475520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942964960"}, {"nodeId": "139822017684736", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "139821938475968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "139821887848960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938477312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938477760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "139821938478208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925756128"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821925756464"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "139821926234624": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821938483360"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821938483360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926234624"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821929649136": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092064"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092512"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930092960"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930093408"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "139821930092064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930092512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930092960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930093408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929649136"}], "returnType": {"nodeId": "139821929649136"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821929659888": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821929658880"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921870544"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821921653184"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821938445328"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930094528"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930094976"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930095424"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930095872"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930096320"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930096768"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930097216"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930097664"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930098112"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930098560"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099008"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099456"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930099904"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930100352"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930100800"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930101248"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930101696"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930102144"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283072"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283520"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930283968"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930284416"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930284864"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930285312"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930285760"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930286208"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930286656"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930287104"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930287552"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288000"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288448"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930288896"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930289344"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "139821908961072"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930290688"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930291136"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930291584"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292032"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292480"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930292928"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930293376"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930293824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930294272"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930294720"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821929658880": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934226096"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934226432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930166560"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167008"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167456"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930167904"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946880288"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871581216"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871580320"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579424"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579872"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821871579200"}}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": true}, "139821934226096": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821934226432": {"type": "Union", "items": [{"nodeId": "139821938737888"}, {"nodeId": "N"}]}, "139821938737888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930166560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821908966896"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821908967008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "139821908966896": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821908967008": {"type": "Union", "items": [{"nodeId": "139821908680864"}, {"nodeId": "N"}]}, "139821908680864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930167008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "A"}], "returnType": {"nodeId": "139821929658880"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "139821930167456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821929659888"}, {"nodeId": "139821938445328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "139821938445328": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930165216"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821942979744"}], "isAbstract": false}, "139821930165216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938445328"}, {"nodeId": "139821909174736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "139821909174736": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930167904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821929659888"}, {"nodeId": "139821938445328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "139821946880288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821908967232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "139821908967232": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821871581216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909164208"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909164208": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821871580320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164432": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821871579424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821871579872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821871579200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821921870544": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821921653184": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930094528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930094976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "139821930095424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909165776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909165776": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930095872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821929659888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "139821930096320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909165888"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "139821909165888": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821930096768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909166112"}, {"nodeId": "139821909166224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "139821909166112": {"type": "TypeAlias", "target": {"nodeId": "139821934228560"}}, "139821934228560": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821929659888"}]}, {"nodeId": "139821942966640"}, {"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}]}, "139821909166224": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821921652960": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938452384": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942964960"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934225648"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934224640"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821934223632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930156928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930157376"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930157824"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930158272"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930158720"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930159168"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930159616"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930160064"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821934225648": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934224640": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934223632": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930156928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "139821930157376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930157824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}], "returnType": {"nodeId": "139821909176304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909176304": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930158272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821930158720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017685072", "args": [{"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "139821930159168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "139821930159616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930160064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452384"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930097216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821909166336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "139821909166336": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821930097664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909166448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909166448": {"type": "TypeAlias", "target": {"nodeId": "139821921652960"}}, "139821930098112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930098560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930099008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821930099456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909166560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821909166560": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930099904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909166672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "139821909166672": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930100352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821930100800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930101248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821909166784"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909166784": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930101696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "139821909167120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909167120": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821909166896"}]}, "139821909166896": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930102144": {"type": "Function", "typeVars": [".-1.139821930102144"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930102144"}], "returnType": {"nodeId": "139821909167344"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930102144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930102144", "variance": "INVARIANT"}, "139821909167344": {"type": "Union", "items": [{"nodeId": "139821909167232"}, {"nodeId": ".-1.139821930102144"}]}, "139821909167232": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930283072": {"type": "Function", "typeVars": [".-1.139821930283072"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930283072"}], "returnType": {"nodeId": "139821909167568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.139821930283072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930283072", "variance": "INVARIANT"}, "139821909167568": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821909167456"}]}, {"nodeId": ".-1.139821930283072"}]}, "139821909167456": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930283520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909167680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "139821909167680": {"type": "TypeAlias", "target": {"nodeId": "139821934223072"}}, "139821934223072": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}, {"nodeId": "139821934224416"}]}, "139821934224416": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821934223520"}, {"nodeId": "139821942966640"}]}, "139821934223520": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930283968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909167904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "139821909167904": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930284416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930284864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930285312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930285760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930286208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "139821930286656": {"type": "Function", "typeVars": [".-1.139821930286656"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930286656"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821909168128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.139821930286656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930286656", "variance": "INVARIANT"}, "139821909168128": {"type": "Union", "items": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821909168016"}]}, {"nodeId": ".-1.139821930286656"}]}, "139821909168016": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821930287104": {"type": "Function", "typeVars": [".-1.139821930287104"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930287104"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "139821909168352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.139821930287104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930287104", "variance": "INVARIANT"}, "139821909168352": {"type": "Union", "items": [{"nodeId": ".-1.139821930287104"}, {"nodeId": "139821909168240"}]}, "139821909168240": {"type": "TypeAlias", "target": {"nodeId": "139821934222512"}}, "139821934222512": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821934224080"}]}, "139821934224080": {"type": "Tuple", "items": [{"nodeId": "139821934224192"}, {"nodeId": "139821934225312"}, {"nodeId": "139821942966640"}]}, "139821934224192": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821934225312": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930287552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "139821930288000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "139821930288448": {"type": "Function", "typeVars": [".-1.139821930288448"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930288448"}], "returnType": {"nodeId": "139821909168688"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930288448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930288448", "variance": "INVARIANT"}, "139821909168688": {"type": "Union", "items": [{"nodeId": ".-1.139821930288448"}, {"nodeId": "139821942966640"}]}, "139821930288896": {"type": "Function", "typeVars": [".-1.139821930288896"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930288896"}], "returnType": {"nodeId": "139821909168576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930288896": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930288896", "variance": "INVARIANT"}, "139821909168576": {"type": "Union", "items": [{"nodeId": ".-1.139821930288896"}, {"nodeId": "139821942966640"}]}, "139821930289344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "139821908961072": {"type": "Overloaded", "items": [{"nodeId": "139821930289792"}, {"nodeId": "139821930290240"}]}, "139821930289792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909168800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909168800": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930290240": {"type": "Function", "typeVars": [".-1.139821930290240"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930290240"}], "returnType": {"nodeId": "139821909168912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.139821930290240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930290240", "variance": "INVARIANT"}, "139821909168912": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": ".-1.139821930290240"}]}, "139821930290688": {"type": "Function", "typeVars": [".-1.139821930290688"], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": ".-1.139821930290688"}], "returnType": {"nodeId": "139821909169024"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.139821930290688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930290688", "variance": "INVARIANT"}, "139821909169024": {"type": "Union", "items": [{"nodeId": ".-1.139821930290688"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}]}, "139821930291136": {"type": "Function", "typeVars": [".-1.139821930291136"], "argTypes": [{"nodeId": ".-1.139821930291136"}], "returnType": {"nodeId": "139822017685744", "args": [{"nodeId": ".-1.139821930291136"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.139821930291136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "139822017680704"}, "def": "139821930291136", "variance": "INVARIANT"}, "139821930291584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821909169136"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909169136": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930292032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942964960"}, {"nodeId": "139821909169248"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "139821909169248": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930292480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909169360"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "139821909169360": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930292928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930293376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909169472"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "139821909169472": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930293824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821929658880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "139821930294272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909169584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909169584": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821930294720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659888"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821909169920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821909169920": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821909169696"}]}, "139821909169696": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "139821938442304": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930295168"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930295616"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296064"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296512"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930296960"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930297408"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930297856"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930298304"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930298752"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930397760"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930398208"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930398656"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930399104"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930399552"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930400000"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930400448"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "139821929659888"}], "isAbstract": false}, "139821930295168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909170032"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "139821909170032": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930295616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139822017688432", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909170144"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "139821909170144": {"type": "Union", "items": [{"nodeId": "139821929659888"}, {"nodeId": "N"}]}, "139821930296064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929659888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930296512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017685072", "args": [{"nodeId": "139821929659888"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930296960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909170368"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909170368": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821938452048": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930162528"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930162976"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930163424"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930163872"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821930162528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821929659888"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "139821930162976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821929659888"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "139821930163424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909295392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "139821909295392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821930163872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938452048"}, {"nodeId": "139821942964288"}, {"nodeId": "139821909295168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "139821909295168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "139821930297408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909170816"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909170816": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930297856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171040": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930298304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171152": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930298752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139821909171264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "139821909171264": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821930397760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909171488"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909171488": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930398208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909171824"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909171824": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930398656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "A"}, {"nodeId": "139821909172160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "139821909172160": {"type": "Union", "items": [{"nodeId": "139821938452048"}, {"nodeId": "N"}]}, "139821930399104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930399552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821930400000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909172384"}, {"nodeId": "139821909172496"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "139821909172384": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909172496": {"type": "Union", "items": [{"nodeId": "139821929658880"}, {"nodeId": "N"}]}, "139821930400448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442304"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "139821938442640": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938442304"}], "isAbstract": false}, "139821921718944": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921718272"}], "isAbstract": false}, "139821921719616": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921719280"}, {"nodeId": "139821921718608"}], "isAbstract": false}, "139821921719952": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "139821921719280"}, {"nodeId": "139821921718944"}], "isAbstract": false}, "139821938443312": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821942973696"}], "isAbstract": false}, "139821938443648": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}], "isAbstract": false}, "139821938443984": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443648"}], "isAbstract": false}, "139821938444320": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443648"}], "isAbstract": false}, "139821938444656": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}, {"nodeId": "139821942979408"}], "isAbstract": false}, "139821938444992": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938443312"}], "isAbstract": false}, "139821938445664": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446000": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446336": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938446672": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447008": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447344": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938447680": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448016": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448352": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938448688": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449024": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449360": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938449696": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938445328"}], "isAbstract": false}, "139821938450032": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938450368": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938450704": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821930165664"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821930165664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938450704"}, {"nodeId": "139821909174848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "139821909174848": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821938451040": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938451376": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821938451712": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "139821938449696"}], "isAbstract": false}, "139821929659216": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946882976"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946883424"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946883872"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946884320"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946884768"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "139821929658880"}], "isAbstract": false}, "139821946882976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909164656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909164656": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946883424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164880": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946883872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909164992"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909164992": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821938442976"}]}, "139821938442976": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946888576"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889024"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889472"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946889920"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946890368"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "139822017680704"}], "isAbstract": false}, "139821946888576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821909172608"}, {"nodeId": "139821909172720"}, {"nodeId": "139821909172832"}, {"nodeId": "139821909172944"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "139821909172608": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909172720": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821909172832": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909172944": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821946889024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821909173056"}, {"nodeId": "139821909173168"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "139821909173056": {"type": "Union", "items": [{"nodeId": "139821925473568"}, {"nodeId": "139821925473904"}, {"nodeId": "139821942966640"}]}, "139821909173168": {"type": "Union", "items": [{"nodeId": "139821938452384"}, {"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821946889472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139821942966640"}, {"nodeId": "139821909173280"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "139821909173280": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821946889920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946890368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821938442976"}, {"nodeId": "139822017680704"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946884320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946884768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659216"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821929659552": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "139822017681040"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938739232"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821938452048"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946885216"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946885664"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946886112"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946886560"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946887008"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "139821946887456"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "139821929658880"}], "isAbstract": false}, "139821938739232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946885216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821909165104"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}, {"nodeId": "139822017681040"}, {"nodeId": "139822017681040"}, {"nodeId": "139821909165216"}, {"nodeId": "139822017681040"}, {"nodeId": "139821942966640"}, {"nodeId": "139821908685568"}, {"nodeId": "139821938452048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "139821909165104": {"type": "Union", "items": [{"nodeId": "139821942964960"}, {"nodeId": "N"}]}, "139821909165216": {"type": "Union", "items": [{"nodeId": "139821908685344"}, {"nodeId": "N"}]}, "139821908685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929658880"}], "returnType": {"nodeId": "139821929659888"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821908685568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821946885664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942967984", "args": [{"nodeId": "139821942966640"}]}], "returnType": {"nodeId": "139821909165440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "139821909165440": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946886112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821909165664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821909165664": {"type": "Tuple", "items": [{"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}]}, "139821946886560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946887008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821942966640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821946887456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821929659552"}, {"nodeId": "139821942966640"}, {"nodeId": "139821942966640"}], "returnType": {"nodeId": "139821925473568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "139821846344000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846343776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846341984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846338176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846340416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "139821942964960"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846333024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["u_node"]}, "139821846432896": {"type": "Overloaded", "items": [{"nodeId": "139821846179040"}, {"nodeId": "139821846180160"}]}, "139821846179040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846180160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}, {"nodeId": "139821925480288"}], "returnType": {"nodeId": "139821942968656"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "139821846429872": {"type": "Overloaded", "items": [{"nodeId": "139821846178816"}, {"nodeId": "139821846178144"}, {"nodeId": "139821846178368"}]}, "139821846178816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821926231600", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": [null, "kwargs"]}, "139821846178144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": "139821846430992"}]}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": [null, "kwargs"]}, "139821846430992": {"type": "Tuple", "items": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}, "139821846178368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR_2"], "argNames": ["kwargs"]}, "139821846179712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821846224048": {"type": "Overloaded", "items": [{"nodeId": "139821846050656"}, {"nodeId": "139821846050208"}]}, "139821846050656": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "0"}]}, "argKinds": [], "argNames": []}, "139821846050208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017684736", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "139821942967984", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "139821900531520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900566976"}], "returnType": {"nodeId": "139822017681040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "139821900566976": {"type": "TypeAlias", "target": {"nodeId": "139821925534400"}}, "139821925534400": {"type": "Union", "items": [{"nodeId": "139821942964288"}, {"nodeId": "139821925752096"}, {"nodeId": "139821942967648", "args": [{"nodeId": "139821942644112"}]}]}, "139821942644112": {"type": "TypeAlias", "target": {"nodeId": "139821925534400"}}, "139821846051776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}, {"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["component_size", "u_node", "v_node"]}, "139821900570448": {"type": "Overloaded", "items": [{"nodeId": "139821975677952"}, {"nodeId": "139821975678400"}]}, "139821975677952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900578176"}, {"nodeId": "139821900574592"}, {"nodeId": "139821900575264"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["values", "sep", "end", "file", "flush"]}, "139821900578176": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900574592": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900575264": {"type": "Union", "items": [{"nodeId": "139821926233952", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}, "139821975678400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "139822017680704"}, {"nodeId": "139821900576160"}, {"nodeId": "139821900576384"}, {"nodeId": "139821900576496"}, {"nodeId": "139822017681040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED"], "argNames": ["values", "sep", "end", "file", "flush"]}, "139821900576160": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900576384": {"type": "Union", "items": [{"nodeId": "139821942966640"}, {"nodeId": "N"}]}, "139821900576496": {"type": "Union", "items": [{"nodeId": "139821921426048", "args": [{"nodeId": "139821942966640"}]}, {"nodeId": "N"}]}}, "types": {"boruvka": [{"startOffset": 465, "endOffset": 476, "line": 16, "type": {"nodeId": "139821942964960"}}, {"startOffset": 443, "endOffset": 461, "line": 16, "type": {"nodeId": "139821942964960"}}, {"startOffset": 443, "endOffset": 446, "line": 16, "type": {"nodeId": "139821921720960"}}, {"startOffset": 486, "endOffset": 497, "line": 17, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 486, "endOffset": 489, "line": 17, "type": {"nodeId": "139821921720960"}}, {"startOffset": 529, "endOffset": 544, "line": 18, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 529, "endOffset": 532, "line": 18, "type": {"nodeId": "139821921720960"}}, {"startOffset": 749, "endOffset": 754, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 757, "endOffset": 762, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 765, "endOffset": 770, "line": 23, "type": {"nodeId": "139821942964960"}}, {"startOffset": 728, "endOffset": 746, "line": 23, "type": {"nodeId": "139821846344000"}}, {"startOffset": 728, "endOffset": 739, "line": 23, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 728, "endOffset": 731, "line": 23, "type": {"nodeId": "139821921720960"}}, {"startOffset": 908, "endOffset": 923, "line": 28, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 908, "endOffset": 911, "line": 28, "type": {"nodeId": "139821921720960"}}, {"startOffset": 925, "endOffset": 930, "line": 28, "type": {"nodeId": "139821942964960"}}, {"startOffset": 936, "endOffset": 941, "line": 28, "type": {"nodeId": "139821942964960"}}, {"startOffset": 963, "endOffset": 968, "line": 29, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1005, "endOffset": 1020, "line": 30, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1005, "endOffset": 1008, "line": 30, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1022, "endOffset": 1027, "line": 30, "type": {"nodeId": "139821942964960"}}, {"startOffset": 985, "endOffset": 1003, "line": 30, "type": {"nodeId": "139821846343776"}}, {"startOffset": 985, "endOffset": 988, "line": 30, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1150, "endOffset": 1165, "line": 35, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1150, "endOffset": 1153, "line": 35, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1167, "endOffset": 1172, "line": 35, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1178, "endOffset": 1183, "line": 35, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1202, "endOffset": 1202, "line": 36, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1207, "endOffset": 1222, "line": 36, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1207, "endOffset": 1210, "line": 36, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1283, "endOffset": 1283, "line": 37, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1263, "endOffset": 1281, "line": 37, "type": {"nodeId": "139821846341984"}}, {"startOffset": 1263, "endOffset": 1266, "line": 37, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1241, "endOffset": 1256, "line": 37, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1241, "endOffset": 1244, "line": 37, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1258, "endOffset": 1258, "line": 37, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1576, "endOffset": 1589, "line": 44, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1591, "endOffset": 1596, "line": 44, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1602, "endOffset": 1615, "line": 44, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1617, "endOffset": 1622, "line": 44, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1665, "endOffset": 1670, "line": 45, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1638, "endOffset": 1653, "line": 45, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1638, "endOffset": 1641, "line": 45, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1655, "endOffset": 1660, "line": 45, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1710, "endOffset": 1723, "line": 46, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1725, "endOffset": 1730, "line": 46, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1684, "endOffset": 1697, "line": 46, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1699, "endOffset": 1704, "line": 46, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1764, "endOffset": 1769, "line": 47, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1745, "endOffset": 1762, "line": 47, "type": {"nodeId": "139821846338176"}}, {"startOffset": 1745, "endOffset": 1748, "line": 47, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1786, "endOffset": 1799, "line": 49, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1801, "endOffset": 1806, "line": 49, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1812, "endOffset": 1825, "line": 49, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1827, "endOffset": 1832, "line": 49, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1895, "endOffset": 1900, "line": 50, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1875, "endOffset": 1893, "line": 50, "type": {"nodeId": "139821846340416"}}, {"startOffset": 1875, "endOffset": 1878, "line": 50, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1848, "endOffset": 1863, "line": 50, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 1848, "endOffset": 1851, "line": 50, "type": {"nodeId": "139821921720960"}}, {"startOffset": 1865, "endOffset": 1870, "line": 50, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1941, "endOffset": 1954, "line": 51, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1956, "endOffset": 1961, "line": 51, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1915, "endOffset": 1928, "line": 51, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 1930, "endOffset": 1935, "line": 51, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1995, "endOffset": 2000, "line": 52, "type": {"nodeId": "139821942964960"}}, {"startOffset": 1976, "endOffset": 1993, "line": 52, "type": {"nodeId": "139821846333024"}}, {"startOffset": 1976, "endOffset": 1979, "line": 52, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2161, "endOffset": 2174, "line": 58, "type": {"nodeId": "0"}}, {"startOffset": 2189, "endOffset": 2198, "line": 59, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2253, "endOffset": 2271, "line": 61, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2253, "endOffset": 2256, "line": 61, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2213, "endOffset": 2231, "line": 61, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 2351, "endOffset": 2354, "line": 64, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2365, "endOffset": 2383, "line": 64, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2365, "endOffset": 2368, "line": 64, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2359, "endOffset": 2363, "line": 64, "type": {"nodeId": "139821846432896"}}, {"startOffset": 2423, "endOffset": 2427, "line": 65, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2430, "endOffset": 2433, "line": 65, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2399, "endOffset": 2421, "line": 65, "type": {"nodeId": "139821846429872"}}, {"startOffset": 2399, "endOffset": 2414, "line": 65, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2399, "endOffset": 2402, "line": 65, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2449, "endOffset": 2469, "line": 66, "type": {"nodeId": "139821846179712"}}, {"startOffset": 2449, "endOffset": 2462, "line": 66, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2503, "endOffset": 2521, "line": 68, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2503, "endOffset": 2506, "line": 68, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2483, "endOffset": 2499, "line": 68, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2538, "endOffset": 2554, "line": 70, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2577, "endOffset": 2580, "line": 71, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2585, "endOffset": 2596, "line": 71, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}]}}, {"startOffset": 2585, "endOffset": 2588, "line": 71, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2625, "endOffset": 2628, "line": 72, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 2615, "endOffset": 2615, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2618, "endOffset": 2618, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2621, "endOffset": 2621, "line": 72, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2661, "endOffset": 2676, "line": 74, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2661, "endOffset": 2664, "line": 74, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2678, "endOffset": 2678, "line": 74, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2647, "endOffset": 2657, "line": 74, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2711, "endOffset": 2726, "line": 75, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 2711, "endOffset": 2714, "line": 75, "type": {"nodeId": "139821921720960"}}, {"startOffset": 2728, "endOffset": 2728, "line": 75, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2697, "endOffset": 2707, "line": 75, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2751, "endOffset": 2761, "line": 77, "type": {"nodeId": "139821942964960"}}, {"startOffset": 2766, "endOffset": 2776, "line": 77, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3356, "endOffset": 3364, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3370, "endOffset": 3380, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3383, "endOffset": 3393, "line": 88, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3458, "endOffset": 3476, "line": 90, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3478, "endOffset": 3486, "line": 90, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3530, "endOffset": 3548, "line": 91, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3550, "endOffset": 3558, "line": 91, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3566, "endOffset": 3566, "line": 91, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3657, "endOffset": 3657, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3660, "endOffset": 3660, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3663, "endOffset": 3663, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3623, "endOffset": 3641, "line": 93, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3643, "endOffset": 3651, "line": 93, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3683, "endOffset": 3686, "line": 95, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3691, "endOffset": 3709, "line": 95, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 3742, "endOffset": 3745, "line": 96, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3748, "endOffset": 3751, "line": 96, "type": {"nodeId": "139821846224048"}}, {"startOffset": 3731, "endOffset": 3740, "line": 96, "type": {"nodeId": "139821900531520"}}, {"startOffset": 3785, "endOffset": 3788, "line": 97, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 3775, "endOffset": 3775, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3778, "endOffset": 3778, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3781, "endOffset": 3781, "line": 97, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3825, "endOffset": 3840, "line": 99, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 3825, "endOffset": 3828, "line": 99, "type": {"nodeId": "139821921720960"}}, {"startOffset": 3842, "endOffset": 3842, "line": 99, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3811, "endOffset": 3821, "line": 99, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3879, "endOffset": 3894, "line": 100, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942964960"}, {"nodeId": "139821942964960"}]}}, {"startOffset": 3879, "endOffset": 3882, "line": 100, "type": {"nodeId": "139821921720960"}}, {"startOffset": 3896, "endOffset": 3896, "line": 100, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3865, "endOffset": 3875, "line": 100, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3923, "endOffset": 3933, "line": 102, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3938, "endOffset": 3948, "line": 102, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3989, "endOffset": 3989, "line": 103, "type": {"nodeId": "139821942964960"}}, {"startOffset": 3975, "endOffset": 3984, "line": 103, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4026, "endOffset": 4039, "line": 104, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "139821942964960"}]}}, {"startOffset": 4042, "endOffset": 4052, "line": 104, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4055, "endOffset": 4065, "line": 104, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4015, "endOffset": 4024, "line": 104, "type": {"nodeId": "139821846051776"}}, {"startOffset": 4015, "endOffset": 4018, "line": 104, "type": {"nodeId": "139821921720960"}}, {"startOffset": 4098, "endOffset": 4113, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4098, "endOffset": 4119, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4098, "endOffset": 4139, "line": 105, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4092, "endOffset": 4096, "line": 105, "type": {"nodeId": "139821900570448"}}, {"startOffset": 4170, "endOffset": 4186, "line": 106, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4235, "endOffset": 4253, "line": 108, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4235, "endOffset": 4238, "line": 108, "type": {"nodeId": "139821921720960"}}, {"startOffset": 4206, "endOffset": 4224, "line": 108, "type": {"nodeId": "139821942967984", "args": [{"nodeId": "A"}]}}, {"startOffset": 4269, "endOffset": 4331, "line": 109, "type": {"nodeId": "139821942964960"}}, {"startOffset": 4263, "endOffset": 4267, "line": 109, "type": {"nodeId": "139821900570448"}}]}, "definitions": {"boruvka": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942966640"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "139821942968320", "args": [{"nodeId": "139821942966640"}, {"nodeId": "A"}]}}, "Graph": {"kind": "ClassDef", "type": {"nodeId": "139821921720960"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139821925481296"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "139822017681712"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "139822017682048"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "139822017682384"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "139822017682720"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139822017683056"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "139822017683392"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "139822017683728"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "139821925466176"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "139821925466512"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "139821925466848"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "139821925467184"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "139821925467520"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "139821925467856"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "139822017684064"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "139822017684400"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "139821925468192"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "139821925468528"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "139822017684736"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "139822017685072"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "139822017685408"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "139822017685744"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "139822017686080"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "139822017686416"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "139821925468864"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "139822017686752"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "139822017687088"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "139822017687424"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "139822017687760"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "139822017688096"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "139822017688432"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "139822017688768"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "139822017689104"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "139822017689440"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "139821925469200"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "139821925469536"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "139821925469872"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "139821925470208"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "139822017689776"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "139822017690112"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "139821925470544"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "139821925470880"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "139821925471216"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "139821925471552"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925471888"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925472224"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "139822017690448"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "139822017680704"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "139822017681040"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "139822017681376"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "139822017690784"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "139822017691120"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "139821942964288"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "139821942964624"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "139821942964960"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "139821942965296"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "139821942965632"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "139821942965968"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "139821942966304"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "139821942966640"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "139821925473568"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "139821925473904"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "139821942966976"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "139821942967312"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "139821942967648"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "139821942967984"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "139821942968320"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "139821925474240"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "139821925474576"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "139821925474912"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "139821942968656"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "139821942968992"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "139821942969328"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "139821921425712"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "139821942969664"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "139821925475248"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "139821942970000"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "139821925475584"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "139821921426048"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "139821942970336"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "139821942970672"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "139821942971008"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "139821925475920"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "139821942971344"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "139821942971680"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "139821921426384"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "139821925476256"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "139821942972016"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "139821942972352"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "139821942972688"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "139821942973024"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "139821942973360"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "139821942973696"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "139821942974032"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "139821942974368"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "139821942974704"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "139821942975040"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "139821942975376"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "139821942975712"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "139821942976048"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "139821942976384"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "139821942976720"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "139821942977056"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "139821942977392"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "139821942977728"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "139821942978064"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "139821942978400"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "139821942978736"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "139821942979072"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "139821942979408"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "139821942979744"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "139821942980080"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "139821925285952"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "139821925286288"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821925286624"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "139821925286960"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "139821925287296"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "139821925287632"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "139821925287968"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "139821925288304"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "139821925288640"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "139821925288976"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "139821925289312"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "139821925289648"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "139821925289984"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "139821925290320"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821925290656"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "139821925290992"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "139821925291328"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "139821925291664"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "139821925292000"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "139821925292336"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "139821925292672"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "139821925293008"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "139821925293344"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "139821925293680"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "139821925294016"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925294352"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925294688"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "139821925295024"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "139821925295360"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "139821925295696"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296032"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296368"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925296704"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297040"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297376"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925297712"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298048"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298384"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925298720"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925299056"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "139821925299392"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "139821926225216"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "139821926225552"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "139821926225888"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "139821926226224"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "139821926226560"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "139821926226896"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "139821926227232"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "139821926227568"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "139821926227904"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "139821926228240"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "139821926228576"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "139821926228912"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "139821926229248"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "139821926229584"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "139821926229920"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "139821926230256"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926230592"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "139821926230928"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "139821926231264"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926231600"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "139821926231936"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "139821926232272"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "139821926232608"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "139821926232944"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "139821926233280"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "139821926233616"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "139821926233952"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "139821926234288"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "139821925476592"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "139821925476928"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "139821925477264"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "139821925477600"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "139821925301408"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "139821926219840"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "139821926220176"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "139821926220512"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "139821925477936"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "139821925478272"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "139821925478608"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925478944"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "139821925301744"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "139821925479280"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821925752432"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "139821921426720"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427056"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427392"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "139821925752768"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "139821921427728"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "139821921428064"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "139821925753104"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "139821921428400"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "139821925472560"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "139821925472896"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "139821925473232"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "139821925299728"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "139821925300064"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "139821925300400"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "139821925300736"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "139821925301072"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938731248"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938731584"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "139821938731920"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938732256"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "139821938732592"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "139821938732928"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "139821938733264"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "139821938733600"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "139821938733936"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "139821938734272"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "139821938734608"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "139821938734944"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "139821938735280"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "139821938735616"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "139821938735952"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "139821938736288"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "139821938736624"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "139821925757136"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "139821925757472"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "139821921428736"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "139821925481968"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925744704"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "139821925745040"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "139821925745376"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "139821925745712"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "139821925746048"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "139821925746384"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "139821925746720"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "139821925747056"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "139821925747392"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925747728"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "139821925748064"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821925748400"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925748736"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "139821925749072"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925749408"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925749744"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "139821925750080"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "139821925750416"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925750752"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "139821925751088"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "139821925751424"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "139821925751760"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "139821925752096"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "139821925479616"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "139821925479952"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "139821925480288"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925480624"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "139821925480960"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "139821925481296"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "139821925481632"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "139821926234960"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "139821926235296"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "139821926235632"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "139821921206336"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "139821921206672"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "139821921207008"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "139821921207344"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "139821921207680"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "139821921208016"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "139821921208352"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "139821921208688"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "139821921209024"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "139821921209360"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "139821921209696"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "139821921210032"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "139821921210368"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "139821921210704"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "139821921211040"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "139821921211376"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "139821921211712"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "139821921212048"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "139821921212384"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "139821921212720"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "139821921213056"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "139821921213392"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "139821921213728"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "139821921214064"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "139821921214400"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "139821921214736"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "139821921215072"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "139821921215408"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "139821921215744"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "139821921216080"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "139821921216416"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "139821921216752"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217088"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217424"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "139821921217760"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "139821921218096"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "139821921218432"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "139821921218768"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "139821921219104"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "139821921219440"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "139821921219776"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "139821921220112"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "139821921220448"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "139821921220784"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "139821921221120"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "139821921221456"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "139821921221792"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "139821921222128"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "139821921321024"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "139821921321360"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "139821921321696"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "139821921322032"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "139821921322368"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "139821921322704"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "139821921323040"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "139821921323376"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "139821921323712"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "139821921324048"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "139821921324384"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "139821921324720"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "139821921325056"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "139821921325392"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "139821921325728"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "139821921326064"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "139821921326400"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "139821921326736"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "139821921327072"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "139821921327408"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "139821921327744"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "139821921328080"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "139821921328416"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "139821921328752"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "139821921329088"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "139821921329424"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "139821921329760"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "139821921330096"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "139821921330432"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "139821921330768"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "139821921331104"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "139821921331440"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "139821921331776"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "139821921332112"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "139821921332448"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "139821921332784"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "139821921333120"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "139821921333456"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "139821921333792"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "139821921334128"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "139821921334464"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "139821921334800"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "139821921335136"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "139821921335472"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "139821921335808"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "139821921336144"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "139821921336480"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "139821921336816"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "139821921419328"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "139821921419664"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "139821921420000"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "139821921420336"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "139821921420672"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "139821921421008"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "139821921421344"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "139821921421680"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "139821921422016"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "139821921422352"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "139821921422688"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "139821921423024"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "139821921423360"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "139821921423696"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "139821921424032"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "139821921424368"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "139821921424704"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "139821921425040"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "139821921425376"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "139821929644432"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929644768"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929645104"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929645440"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "139821929645776"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "139821929646112"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "139821929646448"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "139821929646784"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "139821929647120"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "139821929647456"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "139821929647792"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "139821929648128"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "139821929648464"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821921720288"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "139821926224880"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "139821938452720"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "139821938453056"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921714912"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "139821938453392"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "139821938453728"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "139821938454064"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "139821938454400"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "139821938454736"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "139821938455072"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "139821938455408"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "139821938455744"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "139821921715248"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "139821938456080"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "139821938456416"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "139821938456752"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "139821938457088"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "139821938457424"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "139821938457760"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "139821938458096"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "139821938720832"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "139821938721168"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "139821938721504"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "139821938721840"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "139821938722176"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "139821938722512"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "139821938722848"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "139821938723184"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "139821938723520"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "139821938723856"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "139821938724192"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "139821938724528"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "139821938724864"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "139821938725200"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "139821938725536"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "139821938725872"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "139821938726208"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "139821938726544"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "139821938726880"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "139821938727216"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "139821938727552"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "139821938727888"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "139821938728224"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "139821938728560"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "139821938728896"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "139821938729232"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "139821938729568"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "139821938729904"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "139821938730240"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "139821938730576"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "139821938730912"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "139821921715584"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "139821929644096"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "139821925757808"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "139821925758144"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "139821925758480"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "139821925758816"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "139821925759152"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "139821925759488"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "139821925759824"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "139821925760160"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "139821921429072"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "139821921429408"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "139821925760496"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "139821921429744"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "139821921430080"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "139821921430416"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "139821921430752"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "139821921431088"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "139821921431424"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "139821921431760"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "139821921432096"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "139821929652832"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "139821929653168"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929653504"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929653840"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929654176"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929654512"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929654848"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929655184"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821929655520"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "139821929655856"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "139821929656192"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "139821929656528"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "139821929652160"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "139821921433440"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "139821921433776"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921434112"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821929652496"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921434448"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921434784"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921435120"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "139821921714240"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "139821929656864"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "139821929657200"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "139821929657536"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "139821929657872"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "139821921714576"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "139821929658208"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "139821929658544"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "139821925756464"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "139821925756800"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "139821926220848"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "139821926221184"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "139821921715920"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "139821926221520"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "139821926221856"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "139821926222192"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "139821926222528"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821926222864"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926223200"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "139821921716256"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "139821926223536"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821926223872"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926224208"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "139821921716592"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "139821921716928"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "139821921717264"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "139821921717600"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "139821921717936"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "139821926224544"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "139821925753440"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "139821925753776"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "139821925754112"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "139821925754448"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "139821925754784"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "139821929653168"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "139821929648800"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "139821929649472"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "139821929650144"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "139821929650480"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "139821929650816"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "139821921720624"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "139821929651152"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "139821929651488"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921432432"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "139821921433104"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "139821929651824"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "139821925755120"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "139821925755456"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "139821925755792"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "139821925756128"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "139821926234624"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "139821929648800"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "139821929649136"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "139821929659888"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "139821938442304"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "139821938442640"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "139821921718272"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "139821921718608"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "139821921718944"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "139821921719280"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "139821921719616"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "139821921719952"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "139821929659888"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "139821929658880"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "139821938452384"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "139821938452048"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "139821938443312"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "139821938443648"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "139821938443984"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "139821938444320"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "139821938444656"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "139821938444992"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938445328"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938445664"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446000"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446336"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938446672"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447008"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447344"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938447680"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448016"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448352"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938448688"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449024"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449360"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938449696"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938450032"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "139821938450368"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938450704"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451040"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451376"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "139821938451712"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "139821929658880"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "139821929659216"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "139821929659552"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "139821938442976"}}}}, "names": {"boruvka": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Graph", "kind": "LocalType"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/utbot-python/src/test/resources/imports_sample.json b/utbot-python/src/test/resources/imports_sample.json deleted file mode 100644 index f6609e9f..00000000 --- a/utbot-python/src/test/resources/imports_sample.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"140162539260272": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505607088"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584758528"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584758976"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584759424"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584759872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584760320"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584760768"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584761216"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584762112"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584762560"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763008"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763456"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584763904"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584764352"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584764800"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584765248"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584765696"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584766144"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584766592"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767040"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767488"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584767936"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584768384"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584768832"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584769280"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584769728"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584770176"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584770624"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771072"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771520"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584771968"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584887360"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584887808"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584888256"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584888704"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584889152"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584889600"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890048"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890496"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584890944"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584891392"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584891840"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584892288"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584892736"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584893184"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584893632"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584894080"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505607200"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584895424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584895872"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584896320"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584896768"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584897216"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584897664"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584898112"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584898560"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899008"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899456"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584899904"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584900352"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584900800"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584901248"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584901696"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162505607088": {"type": "Overloaded", "items": [{"nodeId": "140162509910784"}, {"nodeId": "140162584757632"}]}, "140162509910784": {"type": "Function", "typeVars": [".-1.140162509910784"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162509910784"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140162618234176": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526507328"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505158528"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450776000"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206080"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206528"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597206976"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597207424"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606350400"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606350848"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606351296"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606351744"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606352192"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606352640"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353088"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353536"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606353984"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606354432"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606355328"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606355776"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140162526507328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140162539261952": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896816"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580624128"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580624576"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625024"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625472"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580625920"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505897040"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505897376"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898160"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580776768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580777216"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580777664"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580778112"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580778560"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779008"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779456"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580779904"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580780352"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898496"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "isAbstract": false}, "140162505896816": {"type": "Overloaded", "items": [{"nodeId": "140162580620992"}, {"nodeId": "140162580621440"}, {"nodeId": "140162580621888"}, {"nodeId": "140162580622336"}, {"nodeId": "140162580622784"}, {"nodeId": "140162580623232"}, {"nodeId": "140162580623680"}]}, "140162580620992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539261952": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261952", "variance": "INVARIANT"}, ".2.140162539261952": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261952", "variance": "INVARIANT"}, "140162580621440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162580621888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526752304": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124000"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124448"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__", "keys"]}, "140162593124000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}]}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526752304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526752304": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752304", "variance": "INVARIANT"}, ".2.140162526752304": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752304", "variance": "COVARIANT"}, "140162618238208": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496481760"}}], "typeVars": [{"nodeId": ".1.140162618238208"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__iter__"]}, "140162496481760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238208"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238208"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618238208": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238208", "variance": "COVARIANT"}, "140162618238544": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496484224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572097280"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140162618238544"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238544"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140162496484224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}], "returnType": {"nodeId": ".1.140162618238544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618238544": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238544", "variance": "COVARIANT"}, "140162572097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140162593124448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526752304"}, {"nodeId": ".2.140162526752304"}]}, {"nodeId": ".1.140162526752304"}], "returnType": {"nodeId": ".2.140162526752304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580622336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162580622784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505897600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505897600": {"type": "Tuple", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "140162580623232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505897824"}]}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162505897824": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539261952"}]}, "140162580623680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539261616": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505894912"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580476224"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580476672"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580477120"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580477568"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478016"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478464"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580478912"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580479360"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505895024"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580612032"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580612480"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896368"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580614720"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505896592"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616064"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616512"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580616960"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580617408"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580617856"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580618304"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580618752"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580619200"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580619648"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580620096"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580620544"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162539261616"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162539261616"}]}], "isAbstract": false}, "140162505894912": {"type": "Overloaded", "items": [{"nodeId": "140162580475328"}, {"nodeId": "140162580475776"}]}, "140162580475328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539261616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261616", "variance": "INVARIANT"}, "140162580475776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580476224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580476672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580477120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580477568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261616"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162525837152": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501364640"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__index__"]}, "140162501364640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539258592": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505387792"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597722304"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450421376"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450422272"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450420704"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450420928"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597724544"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597724992"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597725440"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597726784"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450420032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597727680"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597728128"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597728576"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729024"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729472"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597729920"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597730368"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597730816"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597731264"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597731712"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589605952"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589606400"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589606848"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589607296"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505388912"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589610432"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589610880"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589611328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589611776"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589612224"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589612672"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589613120"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589613568"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614016"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614464"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589614912"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589615360"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589615808"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589616256"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589616704"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589617152"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589617600"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618048"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618496"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589618944"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589619392"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589619840"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589620288"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589620736"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589621184"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589621632"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589769792"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589770240"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589770688"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589771136"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505387792": {"type": "Overloaded", "items": [{"nodeId": "140162509912800"}, {"nodeId": "140162597721856"}]}, "140162509912800": {"type": "Function", "typeVars": [".-1.140162509912800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505389584"}], "returnType": {"nodeId": ".-1.140162509912800"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140162505389584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162505389472"}, {"nodeId": "140162525823376"}, {"nodeId": "140162525837152"}, {"nodeId": "140162526751632"}]}, "140162505389472": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162543162912": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162543162800"}]}, "140162525830432": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505608320"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585018432"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585018880"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585019328"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585019776"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585020224"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585020672"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585021568"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585022016"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585022912"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585023360"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585023808"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585024256"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585024704"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585025152"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585025600"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026048"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026496"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585026944"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585027392"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585027840"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585028288"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585028736"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585029184"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585029632"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030080"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030528"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585030976"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585031424"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585031872"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585032320"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585032768"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585033216"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585033664"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585034112"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585165888"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585166336"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585166784"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585167232"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585167680"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585168128"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451058336"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451057888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585169472"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585169920"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505611792"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585171264"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585171712"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585172160"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585172608"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173056"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173504"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585173952"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585174400"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585174848"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585175296"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585175744"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585176192"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162525828416"}], "isAbstract": false}, "140162505608320": {"type": "Overloaded", "items": [{"nodeId": "140162584894976"}, {"nodeId": "140162584902592"}, {"nodeId": "140162584903040"}]}, "140162584894976": {"type": "Function", "typeVars": [".-1.140162584894976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505613024"}], "returnType": {"nodeId": ".-1.140162584894976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162505613024": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525837152"}, {"nodeId": "140162525824384"}, {"nodeId": "140162505612912"}]}, "140162525824384": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501648320"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__bytes__"]}, "140162501648320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824384"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505612912": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162584894976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584894976", "variance": "INVARIANT"}, "140162584902592": {"type": "Function", "typeVars": [".-1.140162584902592"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162584902592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140162584902592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584902592", "variance": "INVARIANT"}, "140162584903040": {"type": "Function", "typeVars": [".-1.140162584903040"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162584903040"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162584903040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584903040", "variance": "INVARIANT"}, "140162585018432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585018880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162585019328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505613248"}, {"nodeId": "140162505613360"}, {"nodeId": "140162505613472"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505613248": {"type": "Union", "items": [{"nodeId": "140162505613136"}, {"nodeId": "140162525837152"}]}, "140162505613136": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505613360": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505613472": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585019776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162585020224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505613808"}, {"nodeId": "140162505613920"}, {"nodeId": "140162505614032"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505613808": {"type": "Union", "items": [{"nodeId": "140162505613584"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505613696"}]}]}, "140162505613584": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162539261280": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580465920"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580466368"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580466816"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893456"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580468160"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580468608"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469056"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469504"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580469952"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505894128"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580471296"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580471744"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580472192"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580472640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580473088"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162539261280"}], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162539261280"}]}], "isAbstract": false}, "140162580465920": {"type": "Function", "typeVars": [".-1.140162580465920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": ".-1.140162580465920"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140162539261280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539261280", "variance": "COVARIANT"}, ".-1.140162580465920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580465920", "variance": "INVARIANT"}, "140162580466368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580466816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618234512": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585568512"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892000"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892112"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505892896"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893008"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893120"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893232"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585574336"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}], "isAbstract": false}, "140162585568512": {"type": "Function", "typeVars": [".-1.140162585568512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162585568512"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140162585568512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585568512", "variance": "INVARIANT"}, "140162505892000": {"type": "Overloaded", "items": [{"nodeId": "140162585568960"}, {"nodeId": "140162585569408"}]}, "140162585568960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585569408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505892112": {"type": "Overloaded", "items": [{"nodeId": "140162585569856"}, {"nodeId": "140162585570304"}]}, "140162585569856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585570304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505892896": {"type": "Overloaded", "items": [{"nodeId": "140162585570752"}, {"nodeId": "140162585571200"}]}, "140162585570752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585571200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893008": {"type": "Overloaded", "items": [{"nodeId": "140162585571648"}, {"nodeId": "140162585572096"}]}, "140162585571648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585572096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893120": {"type": "Overloaded", "items": [{"nodeId": "140162585572544"}, {"nodeId": "140162585572992"}]}, "140162585572544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585572992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505893232": {"type": "Overloaded", "items": [{"nodeId": "140162585573440"}, {"nodeId": "140162585573888"}]}, "140162585573440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585573888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585574336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162505893680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505893680": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162505893456": {"type": "Overloaded", "items": [{"nodeId": "140162580467264"}, {"nodeId": "140162580467712"}]}, "140162580467264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580467712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539260944": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446142240"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446143136"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446143360"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505893344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580465472"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162446142240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446143136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446143360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505893344": {"type": "Overloaded", "items": [{"nodeId": "140162580464576"}, {"nodeId": "140162580465024"}]}, "140162580464576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580465024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580465472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260944"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162505894800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505894800": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162580468160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580468608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580469952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505894128": {"type": "Overloaded", "items": [{"nodeId": "140162580470400"}, {"nodeId": "140162580470848"}]}, "140162580470400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580470848": {"type": "Function", "typeVars": [".-1.140162580470848"], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": ".-1.140162580470848"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162505895136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580470848": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580470848", "variance": "INVARIANT"}, "140162505895136": {"type": "Union", "items": [{"nodeId": ".1.140162539261280"}, {"nodeId": ".-1.140162580470848"}]}, "140162580471296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580471744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580472192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580472640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261280", "args": [{"nodeId": ".1.140162539261280"}]}, {"nodeId": "A"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580473088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526124672": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492435360"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492435808"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492436032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593274368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593274816"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593112576"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492435360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539257920": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770848"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770400"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450770176"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769952"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769728"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769504"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769280"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450769056"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450768832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505158976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505385104"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597716480"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597716928"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597717376"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597717824"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597718272"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450768608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597719168"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597719616"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450770848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450770400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450770176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526118624": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597598848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597599296"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597599744"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597600192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597600640"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597552192"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597552640"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553088"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553536"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597553984"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597554432"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597554880"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597555328"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "isAbstract": false}, "140162597598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162526118624": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526118624", "variance": "INVARIANT"}, ".2.140162526118624": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526118624", "variance": "COVARIANT"}, "140162597599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": ".1.140162526118624"}], "returnType": {"nodeId": ".2.140162526118624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597599744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597600640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597552192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597552640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525826736": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572416640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417088"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417536"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572417984"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572418432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572484672"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572485120"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572485568"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486016"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486464"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572486912"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572487360"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140162525826736"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525826736"}]}], "isAbstract": false}, "140162572416640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162525826736"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525826736": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826736", "variance": "COVARIANT"}, "140162618243248": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496750400"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445440"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572490944"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572491392"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572491840"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572492288"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618243248"}]}], "isAbstract": true}, "140162496750400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}], "returnType": {"nodeId": ".2.140162618243248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618243248": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243248", "variance": "INVARIANT"}, ".2.140162618243248": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243248", "variance": "COVARIANT"}, "140162522445440": {"type": "Overloaded", "items": [{"nodeId": "140162572490048"}, {"nodeId": "140162572490496"}]}, "140162572490048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}], "returnType": {"nodeId": "140162522663728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522663728": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": "N"}]}, "140162572490496": {"type": "Function", "typeVars": [".-1.140162572490496"], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": ".1.140162618243248"}, {"nodeId": "140162522663840"}], "returnType": {"nodeId": "140162522663952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140162522663840": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": ".-1.140162572490496"}]}, ".-1.140162572490496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572490496", "variance": "INVARIANT"}, "140162522663952": {"type": "Union", "items": [{"nodeId": ".2.140162618243248"}, {"nodeId": ".-1.140162572490496"}]}, "140162572490944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525826400": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572411264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572411712"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572412160"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572412608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413504"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572413952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572414400"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572414848"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572415296"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572415744"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572416192"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162542693600"}]}], "isAbstract": false}, "140162572411264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525826400": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826400", "variance": "COVARIANT"}, ".2.140162525826400": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525826400", "variance": "COVARIANT"}, "140162572411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522447344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525831104": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505898944"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580782592"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783040"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783488"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580783936"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580784384"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580784832"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580785280"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580785728"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580786176"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580786624"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787072"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787520"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580787968"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580788416"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580788864"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580789312"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580789760"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580790208"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580790656"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580873280"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580873728"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580874176"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580874624"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875072"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875520"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580875968"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580876416"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580876864"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580877312"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580877760"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580878208"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831104"}], "bases": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162525831104"}]}], "isAbstract": false}, "140162505898944": {"type": "Overloaded", "items": [{"nodeId": "140162580781696"}, {"nodeId": "140162580782144"}]}, "140162580781696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525831104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831104", "variance": "INVARIANT"}, "140162580782144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580782592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580783040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580783488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580783936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580784384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580784832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580785280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580785728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580786176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580786624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": ".1.140162525831104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580787968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580788416": {"type": "Function", "typeVars": [".-1.140162580788416"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580788416"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500887712"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140162580788416": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580788416", "variance": "INVARIANT"}, "140162500887712": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580788416"}]}, "140162580788864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580789312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580789760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580790208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580790656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618242576": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496676352"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572270528"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572270976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572402752"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572403200"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572403648"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404096"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404544"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572404992"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572405440"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572405888"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140162618242576"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618242576"}]}], "isAbstract": true}, "140162496676352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618242576": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242576", "variance": "COVARIANT"}, "140162572270528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572270976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572402752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572403200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572403648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572404096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572404544": {"type": "Function", "typeVars": [".-1.140162572404544"], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162572404544"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162522446224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572404544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572404544", "variance": "INVARIANT"}, "140162522446224": {"type": "Union", "items": [{"nodeId": ".1.140162618242576"}, {"nodeId": ".-1.140162572404544"}]}, "140162572404992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572405440": {"type": "Function", "typeVars": [".-1.140162572405440"], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162572405440"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162522446448"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572405440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572405440", "variance": "INVARIANT"}, "140162522446448": {"type": "Union", "items": [{"nodeId": ".1.140162618242576"}, {"nodeId": ".-1.140162572405440"}]}, "140162572405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242576"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140162618241568": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496571968"}}], "typeVars": [{"nodeId": ".1.140162618241568"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618241568"}]}, {"nodeId": "140162618241232", "args": [{"nodeId": ".1.140162618241568"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140162496571968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618241568"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618241568": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241568", "variance": "COVARIANT"}, "140162618241232": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496569280"}}], "typeVars": [{"nodeId": ".1.140162618241232"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__"]}, "140162496569280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241232", "args": [{"nodeId": ".1.140162618241232"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618241232": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241232", "variance": "COVARIANT"}, "140162580873280": {"type": "Function", "typeVars": [".-1.140162580873280"], "argTypes": [{"nodeId": ".-1.140162580873280"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": ".-1.140162580873280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580873280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580873280", "variance": "INVARIANT"}, "140162580873728": {"type": "Function", "typeVars": [".-1.140162580873728"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580873728"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500887824"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580873728": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580873728", "variance": "INVARIANT"}, "140162500887824": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580873728"}]}, "140162580874176": {"type": "Function", "typeVars": [".-1.140162580874176"], "argTypes": [{"nodeId": ".-1.140162580874176"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": ".-1.140162580874176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580874176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580874176", "variance": "INVARIANT"}, "140162580874624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162500887936"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162500887936": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": "N"}]}, "140162580875072": {"type": "Function", "typeVars": [".-1.140162580875072"], "argTypes": [{"nodeId": ".-1.140162580875072"}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": ".-1.140162580875072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875072", "variance": "INVARIANT"}, "140162580875520": {"type": "Function", "typeVars": [".-1.140162580875520"], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580875520"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162500888048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875520": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875520", "variance": "INVARIANT"}, "140162500888048": {"type": "Union", "items": [{"nodeId": ".1.140162525831104"}, {"nodeId": ".-1.140162580875520"}]}, "140162580875968": {"type": "Function", "typeVars": [".-1.140162580875968"], "argTypes": [{"nodeId": ".-1.140162580875968"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831104"}]}], "returnType": {"nodeId": ".-1.140162580875968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580875968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580875968", "variance": "INVARIANT"}, "140162580876416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580876864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580877312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580877760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525831104"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580878208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162618242912": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496677920"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496685536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572407232"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572407680"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572408128"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572408576"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409024"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409472"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572409920"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140162618242912"}], "bases": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "isAbstract": true}, "140162496677920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140162618242912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242912", "variance": "INVARIANT"}, "140162496685536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572407232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572407680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".1.140162618242912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572408128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242912", "args": [{"nodeId": ".1.140162618242912"}]}, {"nodeId": ".1.140162618242912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572408576": {"type": "Function", "typeVars": [".-1.140162572408576"], "argTypes": [{"nodeId": ".-1.140162572408576"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".-1.140162572408576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572408576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572408576", "variance": "INVARIANT"}, "140162572409024": {"type": "Function", "typeVars": [".-1.140162572409024"], "argTypes": [{"nodeId": ".-1.140162572409024"}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162572409024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409024", "variance": "INVARIANT"}, "140162572409472": {"type": "Function", "typeVars": [".-1.140162572409472"], "argTypes": [{"nodeId": ".-1.140162572409472"}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162618242912"}]}], "returnType": {"nodeId": ".-1.140162572409472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409472", "variance": "INVARIANT"}, "140162572409920": {"type": "Function", "typeVars": [".-1.140162572409920"], "argTypes": [{"nodeId": ".-1.140162572409920"}, {"nodeId": "140162618242576", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162572409920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572409920": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572409920", "variance": "INVARIANT"}, "140162522447344": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572412160": {"type": "Function", "typeVars": [".-1.140162572412160"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572412160"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572412160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572412160": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572412160", "variance": "INVARIANT"}, "140162572412608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572413056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522447568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162522447568": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522660928"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162522660928": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572413952": {"type": "Function", "typeVars": [".-1.140162572413952"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572413952"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661264"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572413952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572413952", "variance": "INVARIANT"}, "140162522661264": {"type": "Union", "items": [{"nodeId": "140162522661152"}, {"nodeId": ".-1.140162572413952"}]}, "140162522661152": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572414400": {"type": "Function", "typeVars": [".-1.140162572414400"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572414400"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572414400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572414400", "variance": "INVARIANT"}, "140162522661600": {"type": "Union", "items": [{"nodeId": "140162522661488"}, {"nodeId": ".-1.140162572414400"}]}, "140162522661488": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572414848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522661936"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162522661936": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572415296": {"type": "Function", "typeVars": [".-1.140162572415296"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572415296"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572415296"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572415296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572415296", "variance": "INVARIANT"}, "140162572415744": {"type": "Function", "typeVars": [".-1.140162572415744"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572415744"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572415744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572415744", "variance": "INVARIANT"}, "140162522662272": {"type": "Union", "items": [{"nodeId": "140162522662160"}, {"nodeId": ".-1.140162572415744"}]}, "140162522662160": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572416192": {"type": "Function", "typeVars": [".-1.140162572416192"], "argTypes": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572416192"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662608"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572416192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572416192", "variance": "INVARIANT"}, "140162522662608": {"type": "Union", "items": [{"nodeId": "140162522662496"}, {"nodeId": ".-1.140162572416192"}]}, "140162522662496": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162525826064": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572410368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572410816"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140162525825056"}], "isAbstract": false}, "140162572410368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826064"}, {"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140162572410816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826064"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162525825056": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501655936"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__len__"]}, "140162501655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525825056"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162542693600": {"type": "Tuple", "items": [{"nodeId": ".1.140162525826400"}, {"nodeId": ".2.140162525826400"}]}, "140162572491392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572491840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}], "returnType": {"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162618243248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525827072": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572487808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572488256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572488704"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572489152"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525827072"}], "bases": [{"nodeId": "140162525826064"}, {"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162525827072"}]}], "isAbstract": false}, "140162572487808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140162525827072": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525827072", "variance": "COVARIANT"}, "140162572488256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572488704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572489152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162525827072"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572492288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243248"}, {"nodeId": ".2.140162618243248"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572417088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572417536": {"type": "Function", "typeVars": [".-1.140162572417536"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572417536"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572417536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572417536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572417536", "variance": "INVARIANT"}, "140162572417984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572418432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572484672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572485120": {"type": "Function", "typeVars": [".-1.140162572485120"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572485120"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522662944"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572485120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572485120", "variance": "INVARIANT"}, "140162522662944": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572485120"}]}, "140162572485568": {"type": "Function", "typeVars": [".-1.140162572485568"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572485568"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572485568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572485568", "variance": "INVARIANT"}, "140162522663056": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572485568"}]}, "140162572486016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".1.140162525826736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572486464": {"type": "Function", "typeVars": [".-1.140162572486464"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572486464"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": ".-1.140162572486464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572486464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572486464", "variance": "INVARIANT"}, "140162572486912": {"type": "Function", "typeVars": [".-1.140162572486912"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572486912"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663280"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572486912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572486912", "variance": "INVARIANT"}, "140162522663280": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572486912"}]}, "140162572487360": {"type": "Function", "typeVars": [".-1.140162572487360"], "argTypes": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525826736"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162572487360"}]}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162522663392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572487360": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572487360", "variance": "INVARIANT"}, "140162522663392": {"type": "Union", "items": [{"nodeId": ".1.140162525826736"}, {"nodeId": ".-1.140162572487360"}]}, "140162597553088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597553536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597553984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162597554432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526118624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597554880": {"type": "Function", "typeVars": [".-1.140162597554880", ".-2.140162597554880"], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597554880"}, {"nodeId": ".-2.140162597554880"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162522671568"}, {"nodeId": "140162522671680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597554880": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597554880", "variance": "INVARIANT"}, ".-2.140162597554880": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597554880", "variance": "INVARIANT"}, "140162522671568": {"type": "Union", "items": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".-1.140162597554880"}]}, "140162522671680": {"type": "Union", "items": [{"nodeId": ".2.140162526118624"}, {"nodeId": ".-2.140162597554880"}]}, "140162597555328": {"type": "Function", "typeVars": [".-1.140162597555328", ".-2.140162597555328"], "argTypes": [{"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".2.140162526118624"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597555328"}, {"nodeId": ".-2.140162597555328"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162522671792"}, {"nodeId": "140162522671904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597555328": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597555328", "variance": "INVARIANT"}, ".-2.140162597555328": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597555328", "variance": "INVARIANT"}, "140162522671792": {"type": "Union", "items": [{"nodeId": ".1.140162526118624"}, {"nodeId": ".-1.140162597555328"}]}, "140162522671904": {"type": "Union", "items": [{"nodeId": ".2.140162526118624"}, {"nodeId": ".-2.140162597555328"}]}, "140162450769952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450769056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162505387344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505387344": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162450768832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505158976": {"type": "Overloaded", "items": [{"nodeId": "140162606365184"}, {"nodeId": "140162606365632"}]}, "140162606365184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162606365632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140162505385104": {"type": "Overloaded", "items": [{"nodeId": "140162606366080"}, {"nodeId": "140162597716032"}]}, "140162606366080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162597716032": {"type": "Function", "typeVars": [".-1.140162597716032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162597716032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140162597716032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597716032", "variance": "INVARIANT"}, "140162597716480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140162597716928": {"type": "Function", "typeVars": [".-1.140162597716928"], "argTypes": [{"nodeId": ".-1.140162597716928"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162597716928"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597716928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597716928", "variance": "INVARIANT"}, "140162597717376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539257920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597717824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597718272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162450768608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140162597719168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526125344": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492438496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593113920"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593114368"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593113920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162593114368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125344"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597719616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526125344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162492435808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492436032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593274368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "140162539257920"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140162593274816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162593112576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124672"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618241904": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522443984"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572261568"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262016"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262464"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572262912"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572263360"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162618241904"}], "bases": [{"nodeId": "140162618241568", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162618241904"}]}], "isAbstract": true}, "140162522443984": {"type": "Overloaded", "items": [{"nodeId": "140162572260672"}, {"nodeId": "140162572261120"}]}, "140162572260672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618241904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162618241904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618241904", "variance": "COVARIANT"}, "140162572261120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572261568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "A"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140162572262016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572262464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572262912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162572263360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618241904"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618241904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162618238880": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496486464"}}], "typeVars": [{"nodeId": ".1.140162618238880"}], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618238880"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140162496486464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162618238880"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618238880"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618238880": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618238880", "variance": "COVARIANT"}, "140162505613696": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505613920": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505614032": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585020672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162585021568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614256"}, {"nodeId": "140162505614368"}, {"nodeId": "140162505614480"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505614256": {"type": "Union", "items": [{"nodeId": "140162505614144"}, {"nodeId": "140162525837152"}]}, "140162505614144": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505614368": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505614480": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585022016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614592"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505614592": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162585022912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505614816"}, {"nodeId": "140162505614928"}, {"nodeId": "140162505615040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505614816": {"type": "Union", "items": [{"nodeId": "140162505614704"}, {"nodeId": "140162525837152"}]}, "140162505614704": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505614928": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505615040": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585023360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585023808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585024256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585024704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585025152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585025600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585026944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505615152"}]}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505615152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585027392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505615264"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505615264": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162525830768": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505612800"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585178432"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585178880"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585179328"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585179776"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585180224"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585180672"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585181120"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585181568"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585313792"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585314240"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585314688"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585315584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316032"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316480"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585316928"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585317376"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585317824"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585318272"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585318720"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585319168"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585319616"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320064"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320512"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585320960"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585321408"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585321856"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585322304"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585322752"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585323200"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585323648"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324096"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324544"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585324992"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585325440"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585325888"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585326336"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585326784"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585327232"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585327680"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585328128"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585328576"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585329024"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585395264"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585395712"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585396160"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585396608"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451230496"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162451229376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585397952"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585398400"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505619632"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505620416"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585400640"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585401088"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162505795712"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585401984"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585402432"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585402880"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585403328"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585403776"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585404224"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585404672"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585405120"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585405568"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406016"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406464"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585406912"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162525828416"}], "isAbstract": false}, "140162505612800": {"type": "Overloaded", "items": [{"nodeId": "140162585177088"}, {"nodeId": "140162585177536"}, {"nodeId": "140162585177984"}]}, "140162585177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585177536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505620640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505620640": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525837152"}, {"nodeId": "140162505620528"}]}, "140162505620528": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140162585178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585179328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162585179776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505620864"}, {"nodeId": "140162505620976"}, {"nodeId": "140162505621088"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505620864": {"type": "Union", "items": [{"nodeId": "140162505620752"}, {"nodeId": "140162525837152"}]}, "140162505620752": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505620976": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505621088": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585180224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585180672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162585181120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505883712"}, {"nodeId": "140162505883824"}, {"nodeId": "140162505883936"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505883712": {"type": "Union", "items": [{"nodeId": "140162505621200"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505621312"}]}]}, "140162505621200": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505621312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505883824": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505883936": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585181568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162585313792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585314240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884160"}, {"nodeId": "140162505884272"}, {"nodeId": "140162505884384"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505884160": {"type": "Union", "items": [{"nodeId": "140162505884048"}, {"nodeId": "140162525837152"}]}, "140162505884048": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505884272": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505884384": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585314688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884496"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505884496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162585315584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505884720"}, {"nodeId": "140162505884832"}, {"nodeId": "140162505884944"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505884720": {"type": "Union", "items": [{"nodeId": "140162505884608"}, {"nodeId": "140162525837152"}]}, "140162505884608": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505884832": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505884944": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585316032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162585316480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585316928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585317376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585317824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585318272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585318720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585319168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162505885056"}]}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885056": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505885168"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505885168": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585320960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585321408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885392"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505885392": {"type": "Union", "items": [{"nodeId": "140162505885280"}, {"nodeId": "N"}]}, "140162505885280": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585321856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885504"}], "returnType": {"nodeId": "140162505885728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885504": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505885728": {"type": "Tuple", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}]}, "140162585322304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162585322752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162585323200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885840"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885840": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585323648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505885952"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505885952": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585324096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886064"}, {"nodeId": "140162505886176"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886064": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886176": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585324544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886400"}, {"nodeId": "140162505886512"}, {"nodeId": "140162505886624"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886400": {"type": "Union", "items": [{"nodeId": "140162505886288"}, {"nodeId": "140162525837152"}]}, "140162505886288": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886512": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505886624": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585324992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505886848"}, {"nodeId": "140162505886960"}, {"nodeId": "140162505887072"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505886848": {"type": "Union", "items": [{"nodeId": "140162505886736"}, {"nodeId": "140162525837152"}]}, "140162505886736": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505886960": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505887072": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585325440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505887184"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505887184": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585325888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887296"}], "returnType": {"nodeId": "140162505887520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505887296": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505887520": {"type": "Tuple", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}, {"nodeId": "140162525830768"}]}, "140162585326336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887744"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505887744": {"type": "Union", "items": [{"nodeId": "140162505887632"}, {"nodeId": "N"}]}, "140162505887632": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585326784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505887968"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505887968": {"type": "Union", "items": [{"nodeId": "140162505887856"}, {"nodeId": "N"}]}, "140162505887856": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585327232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888192"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505888192": {"type": "Union", "items": [{"nodeId": "140162505888080"}, {"nodeId": "N"}]}, "140162505888080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585327680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830768"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162585328128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888528"}, {"nodeId": "140162505888640"}, {"nodeId": "140162505888752"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505888528": {"type": "Union", "items": [{"nodeId": "140162505888304"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505888416"}]}]}, "140162505888304": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505888416": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505888640": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505888752": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585328576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505888976"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505888976": {"type": "Union", "items": [{"nodeId": "140162505888864"}, {"nodeId": "N"}]}, "140162505888864": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585329024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585395264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585395712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889200"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140162505889200": {"type": "Union", "items": [{"nodeId": "140162505889088"}, {"nodeId": "N"}]}, "140162505889088": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585396160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585396608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162451230496": {"type": "Function", "typeVars": [".-1.140162451230496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162451230496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162451230496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162451230496", "variance": "INVARIANT"}, "140162451229376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162505889312"}, {"nodeId": "140162505889424"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505889424": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585397952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585398400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505619632": {"type": "Overloaded", "items": [{"nodeId": "140162585398848"}, {"nodeId": "140162585399296"}]}, "140162585398848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585399296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505620416": {"type": "Overloaded", "items": [{"nodeId": "140162585399744"}, {"nodeId": "140162585400192"}]}, "140162585399744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162585400192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260944"}, {"nodeId": "140162505889760"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162505889760": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525830432"}]}, "140162585400640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889872": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162585401088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505889984"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505889984": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505795712": {"type": "Function", "typeVars": [".-1.140162505795712"], "argTypes": [{"nodeId": ".-1.140162505795712"}, {"nodeId": "140162505890096"}], "returnType": {"nodeId": ".-1.140162505795712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162505795712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162505795712", "variance": "INVARIANT"}, "140162505890096": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585401984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585402432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585402880": {"type": "Function", "typeVars": [".-1.140162585402880"], "argTypes": [{"nodeId": ".-1.140162585402880"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162585402880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162585402880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585402880", "variance": "INVARIANT"}, "140162585403328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585403776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890432": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162505890320"}]}, "140162505890320": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585404224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585404672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585405120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890544"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890544": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585405568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890656"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890656": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890768"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890768": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}, {"nodeId": "140162505890880"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505890880": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585406912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618242240": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496575776"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522444432"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522444992"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445328"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572266944"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572267392"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572267840"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572268288"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572268736"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572269184"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572269632"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140162618242240"}], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": ".1.140162618242240"}]}], "isAbstract": true}, "140162496575776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140162618242240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618242240", "variance": "INVARIANT"}, "140162522444432": {"type": "Overloaded", "items": [{"nodeId": "140162572264256"}, {"nodeId": "140162572264704"}]}, "140162572264256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618242240"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572264704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162522444992": {"type": "Overloaded", "items": [{"nodeId": "140162572265152"}, {"nodeId": "140162572265600"}]}, "140162572265152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162572265600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162522445328": {"type": "Overloaded", "items": [{"nodeId": "140162572266048"}, {"nodeId": "140162572266496"}]}, "140162572266048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572266496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572266944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572267392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572267840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140162572268288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572268736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618242240"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140162572269184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162618242240"}]}, {"nodeId": ".1.140162618242240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140162572269632": {"type": "Function", "typeVars": [".-1.140162572269632"], "argTypes": [{"nodeId": ".-1.140162572269632"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162618242240"}]}], "returnType": {"nodeId": ".-1.140162572269632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572269632": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572269632", "variance": "INVARIANT"}, "140162525828416": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": true}, "140162585027840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585028288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615488"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505615488": {"type": "Union", "items": [{"nodeId": "140162505615376"}, {"nodeId": "N"}]}, "140162505615376": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585028736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615600"}], "returnType": {"nodeId": "140162505615824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505615600": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505615824": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}]}, "140162585029184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505615936"}, {"nodeId": "140162505616048"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505615936": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505616048": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585029632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616160"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505616160": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585030080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505616272": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585030528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616496"}, {"nodeId": "140162505616608"}, {"nodeId": "140162505616720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505616496": {"type": "Union", "items": [{"nodeId": "140162505616384"}, {"nodeId": "140162525837152"}]}, "140162505616384": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505616608": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505616720": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585030976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505616944"}, {"nodeId": "140162505617056"}, {"nodeId": "140162505617168"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505616944": {"type": "Union", "items": [{"nodeId": "140162505616832"}, {"nodeId": "140162525837152"}]}, "140162505616832": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505617056": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505617168": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585031424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505617280"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505617280": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162585031872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505617392"}], "returnType": {"nodeId": "140162505617616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505617392": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505617616": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}]}, "140162585032320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505617840"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505617840": {"type": "Union", "items": [{"nodeId": "140162505617728"}, {"nodeId": "N"}]}, "140162505617728": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585032768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618064"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505618064": {"type": "Union", "items": [{"nodeId": "140162505617952"}, {"nodeId": "N"}]}, "140162505617952": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585033216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505618288": {"type": "Union", "items": [{"nodeId": "140162505618176"}, {"nodeId": "N"}]}, "140162505618176": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585033664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162585034112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505618624"}, {"nodeId": "140162505618736"}, {"nodeId": "140162505618848"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505618624": {"type": "Union", "items": [{"nodeId": "140162505618400"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162505618512"}]}]}, "140162505618400": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505618512": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505618736": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505618848": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162585165888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619072"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505619072": {"type": "Union", "items": [{"nodeId": "140162505618960"}, {"nodeId": "N"}]}, "140162505618960": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585166336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585166784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585167232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619296"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140162505619296": {"type": "Union", "items": [{"nodeId": "140162505619184"}, {"nodeId": "N"}]}, "140162505619184": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585167680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585168128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162451058336": {"type": "Function", "typeVars": [".-1.140162451058336"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162451058336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162451058336": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162451058336", "variance": "INVARIANT"}, "140162451057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162505619408"}, {"nodeId": "140162505619520"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505619408": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505619520": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585169472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585169920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505611792": {"type": "Overloaded", "items": [{"nodeId": "140162585170368"}, {"nodeId": "140162585170816"}]}, "140162585170368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585170816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585171264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505619744"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505619744": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585171712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585172160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585172608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585173056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162505620080"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505620080": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162505619968"}]}, "140162505619968": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585173504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585173952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585174400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585174848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585175296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585175744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585176192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162505620304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505620304": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}]}, "140162543162800": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162543162688": {"type": "Union", "items": [{"nodeId": "140162525830768"}, {"nodeId": "140162539260608"}, {"nodeId": "140162526745584", "args": [{"nodeId": "A"}]}, {"nodeId": "140162534539328"}, {"nodeId": "140162539416800"}, {"nodeId": "140162526131392"}]}, "140162539260608": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451238784"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239232"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239456"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239680"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451239904"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240128"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240352"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240576"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451240800"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241024"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241248"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162451241472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585560448"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585560896"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585561344"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585561792"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505889536"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585563136"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585563584"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585564032"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505889648"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585565376"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585566272"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585566720"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585567168"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162585567616"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162451238784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451239232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451239456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505890992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505890992": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451239680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891104": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451239904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891216": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162451240128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451240352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451240576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162505891328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505891328": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162451240800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162451241472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585560448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505891440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162505891440": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585560896": {"type": "Function", "typeVars": [".-1.140162585560896"], "argTypes": [{"nodeId": ".-1.140162585560896"}], "returnType": {"nodeId": ".-1.140162585560896"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162585560896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162585560896", "variance": "INVARIANT"}, "140162585561344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505891552"}, {"nodeId": "140162505891664"}, {"nodeId": "140162505891776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505891552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505891664": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162539265984": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162542695056"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539121440"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162542696848"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576646208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576646656"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576647104"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162542695056": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162539121440": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162542696848": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526123328": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593260032"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135008"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492360608"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492361056"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492361280"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593260032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}, {"nodeId": "140162513455472"}, {"nodeId": "140162526123664"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140162513455472": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526123664": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492362400"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363072"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363296"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363520"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363744"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492363968"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492364192"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135456"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593264960"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492362400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162513455584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513455584": {"type": "Union", "items": [{"nodeId": "140162526123664"}, {"nodeId": "N"}]}, "140162492363072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526118288": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497319360"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320704"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320256"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497320928"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321152"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321376"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321600"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497321824"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322048"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322272"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322496"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322720"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497322944"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323168"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323392"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497323616"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497324288"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597593920"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597596160"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597597952"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497319360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497320928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497321824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497322944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497323616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497324288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162522671344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522671344": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162522671120"}]}, "140162522671120": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162597596160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140162597597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118288"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140162492363520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492363968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162513456032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513456032": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}, "140162492364192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526135456": {"type": "Union", "items": [{"nodeId": "140162530018464"}, {"nodeId": "N"}]}, "140162530018464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162593264960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526135008": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162492360608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492361056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492361280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526123328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162576646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140162576646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265984"}, {"nodeId": "140162501143216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162501143216": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162576647104": {"type": "Function", "typeVars": [".-1.140162576647104"], "argTypes": [{"nodeId": ".-1.140162576647104"}, {"nodeId": "140162501143328"}], "returnType": {"nodeId": ".-1.140162576647104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162576647104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576647104", "variance": "INVARIANT"}, "140162501143328": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162505891776": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162585561792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505891888"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140162505891888": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}]}, "140162505889536": {"type": "Overloaded", "items": [{"nodeId": "140162585562240"}, {"nodeId": "140162585562688"}]}, "140162585562240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585562688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585563136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162585563584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162585564032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505889648": {"type": "Overloaded", "items": [{"nodeId": "140162585564480"}, {"nodeId": "140162585564928"}]}, "140162585564480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162539260944"}, {"nodeId": "140162505892224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162505892224": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162585564928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162585565376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505892784"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140162505892784": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140162585566272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585566720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585567168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162585567616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260608"}, {"nodeId": "140162505892672"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140162505892672": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}]}, "140162526745584": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463937952"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463939744"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510042864"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564123200"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564123648"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124096"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124544"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564124992"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564125440"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564125888"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564126336"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564126784"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564127232"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564128128"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563932224"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563932672"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563933120"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563933568"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563934016"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563934464"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563935808"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510042976"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505154608"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938048"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938496"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563938944"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563939392"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563939840"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563940288"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563940736"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563941184"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563941632"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942080"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942528"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563942976"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140162526745584"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162526745584"}]}], "isAbstract": false}, "140162463937952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162505153040"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526745584": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539260272"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526745584", "variance": "INVARIANT"}, "140162539258928": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162509913472"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772032"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772480"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589772928"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162450940288"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450940512"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450940736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589774720"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589775168"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589775616"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776064"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776512"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589776960"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589777408"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589777856"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505389360"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589779200"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589779648"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780096"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780544"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589780992"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589781440"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589781888"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505391712"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589783680"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589784128"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589784576"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589785024"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505606416"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642048"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642496"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584642944"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584643392"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584643840"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584644288"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584644736"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584645184"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584645632"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646080"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646528"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584646976"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162509913472": {"type": "Function", "typeVars": [".-1.140162509913472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505605856"}], "returnType": {"nodeId": ".-1.140162509913472"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140162505605856": {"type": "Union", "items": [{"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505605744"}]}, "140162525823712": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501645632"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__float__"]}, "140162501645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525823712"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505605744": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162509913472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509913472", "variance": "INVARIANT"}, "140162589772032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606080": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162589772480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589772928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450940288": {"type": "Function", "typeVars": [".-1.140162450940288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162450940288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140162450940288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450940288", "variance": "INVARIANT"}, "140162450940512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450940736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589774720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589775168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589775616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589776960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589777408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589777856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505606304": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162505389360": {"type": "Overloaded", "items": [{"nodeId": "140162589778304"}, {"nodeId": "140162589778752"}]}, "140162589778304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589778752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589780992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589781440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589781888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505606752": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162505391712": {"type": "Overloaded", "items": [{"nodeId": "140162589782336"}, {"nodeId": "140162589782784"}, {"nodeId": "140162589783232"}]}, "140162589782336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162505606976"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505606976": {"type": "TypeAlias", "target": {"nodeId": "140162526503856"}}, "140162526503856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162589782784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162505610224"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505610224": {"type": "TypeAlias", "target": {"nodeId": "140162526505984"}}, "140162526505984": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162539259264": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505609440"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450946112"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450947008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584650112"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584650560"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651008"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651456"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584651904"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584652352"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584652800"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584653248"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584653696"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584654144"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584654592"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655040"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655488"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584655936"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584656384"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584656832"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584657280"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505609440": {"type": "Overloaded", "items": [{"nodeId": "140162509913696"}, {"nodeId": "140162584647424"}]}, "140162509913696": {"type": "Function", "typeVars": [".-1.140162509913696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505607312"}, {"nodeId": "140162505607648"}], "returnType": {"nodeId": ".-1.140162509913696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140162505607312": {"type": "Union", "items": [{"nodeId": "140162539259264"}, {"nodeId": "140162525824048"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}]}, "140162525824048": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501646976"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__complex__"]}, "140162501646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824048"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505607648": {"type": "Union", "items": [{"nodeId": "140162539259264"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}]}, ".-1.140162509913696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509913696", "variance": "INVARIANT"}, "140162584647424": {"type": "Function", "typeVars": [".-1.140162584647424"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505607760"}], "returnType": {"nodeId": ".-1.140162584647424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140162505607760": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525824048"}, {"nodeId": "140162525823712"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539259264"}]}, ".-1.140162584647424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584647424", "variance": "INVARIANT"}, "140162450946112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450947008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584650112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584650560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584651904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162584652352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584652800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584653248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584653696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584654144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162584654592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584655936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584656384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584656832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584657280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259264"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589783232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589783680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162505606864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606864": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}]}, "140162589784128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589784576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589785024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505606416": {"type": "Overloaded", "items": [{"nodeId": "140162589785472"}, {"nodeId": "140162584641600"}]}, "140162589785472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162584641600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584642048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584642496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584642944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584643840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584644736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584645184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584645632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584646976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505153040": {"type": "TypeAlias", "target": {"nodeId": "140162535236192"}}, "140162535236192": {"type": "Union", "items": [{"nodeId": "140162539122896"}, {"nodeId": "140162535238320"}, {"nodeId": "140162535238208"}]}, "140162539122896": {"type": "TypeAlias", "target": {"nodeId": "140162535236080"}}, "140162535236080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162535238320": {"type": "TypeAlias", "target": {"nodeId": "140162535237648"}}, "140162535237648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162535238208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140162463939744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510042864": {"type": "Overloaded", "items": [{"nodeId": "140162509903616"}, {"nodeId": "140162564121408"}, {"nodeId": "140162564121856"}, {"nodeId": "140162564122304"}, {"nodeId": "140162564122752"}]}, "140162509903616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162505153264"}, {"nodeId": "140162505153376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505153264": {"type": "TypeAlias", "target": {"nodeId": "140162535236080"}}, "140162505153376": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539258592"}]}]}, "140162564121408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162505154272"}, {"nodeId": "140162505153152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505154272": {"type": "TypeAlias", "target": {"nodeId": "140162535237648"}}, "140162505153152": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539258928"}]}]}, "140162564121856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162505154496"}, {"nodeId": "140162505154160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505154496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140162505154160": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}]}, "140162564122304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162564122752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162505153600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162505153600": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162564123200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564123648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162505153712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505153712": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162564124096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564124544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564124992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564125440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162505153824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505153824": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564125888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526753648", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162526753648": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593127136"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140162526753648"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["read"]}, "140162593127136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753648", "args": [{"nodeId": ".1.140162526753648"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526753648"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162526753648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526753648", "variance": "COVARIANT"}, "140162564126336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564126784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564127232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162564128128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162563932224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526745584"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162563932672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563933120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563933568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526754656", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526754656": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589442336"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140162526754656"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["write"]}, "140162589442336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526754656", "args": [{"nodeId": ".1.140162526754656"}]}, {"nodeId": ".1.140162526754656"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162526754656": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754656", "variance": "CONTRAVARIANT"}, "140162563934016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563934464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563935808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510042976": {"type": "Overloaded", "items": [{"nodeId": "140162563936256"}, {"nodeId": "140162563936704"}]}, "140162563936256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162526745584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563936704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505154608": {"type": "Overloaded", "items": [{"nodeId": "140162563937152"}, {"nodeId": "140162563937600"}]}, "140162563937152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162526745584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563937600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563938048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162505154384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505154384": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162563938496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563938944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563939392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563939840": {"type": "Function", "typeVars": [".-1.140162563939840"], "argTypes": [{"nodeId": ".-1.140162563939840"}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": ".-1.140162563939840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563939840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563939840", "variance": "INVARIANT"}, "140162563940288": {"type": "Function", "typeVars": [".-1.140162563940288"], "argTypes": [{"nodeId": ".-1.140162563940288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162563940288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563940288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563940288", "variance": "INVARIANT"}, "140162563940736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563941184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563941632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563942080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563942528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563942976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526745584", "args": [{"nodeId": ".1.140162526745584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162534539328": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551313824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551314272"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551314720"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551315616"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551316064"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564325664"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564326112"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564326560"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327008"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327456"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564327904"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564328352"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564328800"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564329248"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564329696"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564330144"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564330592"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509076096"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564331936"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509073072"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564333280"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564333728"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564334176"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564334624"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162525825056"}], "isAbstract": false}, "140162551313824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140162551314272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140162551315616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140162551316064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564325664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564326112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140162564326560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140162564327008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564327456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564327904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140162564328352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162564328800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140162564329248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189664"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140162509189664": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564329696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189776"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140162509189776": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564330144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509189888"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140162509189888": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162564330592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509190000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140162509190000": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162509076096": {"type": "Overloaded", "items": [{"nodeId": "140162564331040"}, {"nodeId": "140162564331488"}]}, "140162564331040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564331488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564331936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162509190224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509190224": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162509073072": {"type": "Overloaded", "items": [{"nodeId": "140162564332384"}, {"nodeId": "140162564332832"}]}, "140162564332384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162564332832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162539260944"}, {"nodeId": "140162509190448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162509190448": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564333280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564333728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162564334176": {"type": "Function", "typeVars": [".-1.140162564334176"], "argTypes": [{"nodeId": ".-1.140162564334176"}], "returnType": {"nodeId": ".-1.140162564334176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162564334176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162564334176", "variance": "INVARIANT"}, "140162564334624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534539328"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162539416800": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526144752"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472274944"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472274272"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472275840"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472276960"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162472277408"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526144752": {"type": "Union", "items": [{"nodeId": "140162618243248", "args": [{"nodeId": "A"}, {"nodeId": "140162539258592"}]}, {"nodeId": "N"}]}, "140162472274944": {"type": "Function", "typeVars": [".-1.140162472274944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509769968"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472274944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140162509769968": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, ".-1.140162472274944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472274944", "variance": "INVARIANT"}, "140162472274272": {"type": "Function", "typeVars": [".-1.140162472274272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509770080"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472274272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140162509770080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162472274272": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472274272", "variance": "INVARIANT"}, "140162472275840": {"type": "Function", "typeVars": [".-1.140162472275840"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162472275840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140162472275840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472275840", "variance": "INVARIANT"}, "140162472276960": {"type": "Function", "typeVars": [".-1.140162472276960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162509770304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140162509770304": {"type": "Union", "items": [{"nodeId": ".-1.140162472276960"}, {"nodeId": "140162539418816"}]}, ".-1.140162472276960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472276960", "variance": "INVARIANT"}, "140162539418816": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162472277408": {"type": "Function", "typeVars": [".-1.140162472277408"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162472277408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140162539415792": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539416800"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563944096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563944992"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563945440"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162563944096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162509769520"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509769632"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509769744"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140162509769520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509769632": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509769744": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162563944992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539418144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539418144": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539417808"}], "isAbstract": false}, "140162539417808": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662592"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530659008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509767504"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564526752"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539416800"}], "isAbstract": false}, "140162530662592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140162534564896"}, {"nodeId": "N"}]}, "140162534564896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162530659008": {"type": "TypeAlias", "target": {"nodeId": "140162530022272"}}, "140162530022272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162530663040"}, {"nodeId": "140162539417808"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539416800"}]}], "returnType": {"nodeId": "140162539416800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162530663040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509767504": {"type": "Overloaded", "items": [{"nodeId": "140162564524960"}, {"nodeId": "140162564525408"}, {"nodeId": "140162564525856"}, {"nodeId": "140162564526304"}]}, "140162564524960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140162564525408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162509220864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140162509220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162564525856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162509770976"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162509771088"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140162509770976": {"type": "Tuple", "items": [{"nodeId": "140162509770640"}, {"nodeId": "140162539415792"}]}, "140162509770640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162509771088": {"type": "TypeAlias", "target": {"nodeId": "140162530657328"}}, "140162530657328": {"type": "Union", "items": [{"nodeId": "140162530658336"}, {"nodeId": "140162530656880"}, {"nodeId": "140162530657104"}]}, "140162530658336": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162530656880": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162530657104": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162564526304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162509771424"}]}, {"nodeId": "140162522186800", "args": [{"nodeId": "140162526593088"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140162509771424": {"type": "TypeAlias", "target": {"nodeId": "140162530657328"}}, "140162522186800": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162522186800"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509767616"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509771200"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564537056"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140162522186800"}], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539416800"}], "isAbstract": false}, ".1.140162522186800": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140162539416800"}, "def": "140162522186800", "variance": "INVARIANT"}, "140162509767616": {"type": "Overloaded", "items": [{"nodeId": "140162564535264"}, {"nodeId": "140162564535712"}]}, "140162564535264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564535712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": ".1.140162522186800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140162509771200": {"type": "Overloaded", "items": [{"nodeId": "140162564536160"}, {"nodeId": "140162564536608"}]}, "140162564536160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564536608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564537056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186800", "args": [{"nodeId": ".1.140162522186800"}]}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162539417472": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539417136"}], "isAbstract": false}, "140162539417136": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, "140162526593088": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162539419152": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162539419152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303072"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539419152"}], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, ".1.140162539419152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539419152", "variance": "INVARIANT"}, "140162551303072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539419152", "args": [{"nodeId": ".1.140162539419152"}]}, {"nodeId": ".1.140162539419152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162564526752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539417808"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162563945440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539418144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162472277408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162472277408", "variance": "INVARIANT"}, "140162526131392": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564336416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564336864"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564337312"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162564336416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}, {"nodeId": "140162513943152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140162513943152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162564336864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162564337312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525823376": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501644288"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__int__"]}, "140162501644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525823376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526751632": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593123104"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__trunc__"]}, "140162593123104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751632"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162509912800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509912800", "variance": "INVARIANT"}, "140162597721856": {"type": "Function", "typeVars": [".-1.140162597721856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505389696"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162597721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140162505389696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, ".-1.140162597721856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597721856", "variance": "INVARIANT"}, "140162597722304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505390032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505390032": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "0"}]}, "140162450421376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450422272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450420704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162450420928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597724544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597724992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597725440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597726784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162525837152"}, {"nodeId": "140162505390592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140162505390592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162450420032": {"type": "Function", "typeVars": [".-1.140162450420032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505390816"}, {"nodeId": "140162505391152"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": ".-1.140162450420032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140162505390816": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162525837152"}]}, {"nodeId": "140162525824384"}, {"nodeId": "140162505390704"}]}, "140162505390704": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505391152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140162450420032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450420032", "variance": "INVARIANT"}, "140162597727680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597728128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597728576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597729920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597730368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505391376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505391376": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162597730816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597731264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597731712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589605952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589606400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589606848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589607296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505391600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505391600": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162505388912": {"type": "Overloaded", "items": [{"nodeId": "140162589607744"}, {"nodeId": "140162589608192"}, {"nodeId": "140162589608640"}, {"nodeId": "140162589609088"}, {"nodeId": "140162589609536"}, {"nodeId": "140162589609984"}]}, "140162589607744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589608192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162589608640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162505605408"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505605408": {"type": "TypeAlias", "target": {"nodeId": "140162526503856"}}, "140162589609088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162505608096"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505608096": {"type": "TypeAlias", "target": {"nodeId": "140162526505984"}}, "140162589609536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162589609984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162589610432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162505607536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505607536": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162589610880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589611328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589611776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589612224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589612672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589613120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589613568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589614912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589615360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589615808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589616256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589616704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589617152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589617600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589618048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162589618496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505605632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505605632": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162589618944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589619392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589619840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589620288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589620736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589621184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589621632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589769792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589770240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162589770688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589771136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580478016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162580478464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580478912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162580479360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505895024": {"type": "Overloaded", "items": [{"nodeId": "140162580611136"}, {"nodeId": "140162580611584"}]}, "140162580611136": {"type": "Function", "typeVars": [".-1.140162580611136"], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162580611136"}]}, {"nodeId": "N"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140162580611136": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140162542698192"}, "def": "140162580611136", "variance": "INVARIANT"}, "140162542698192": {"type": "Union", "items": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}]}, "140162526746928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593116832"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140162526746928"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__lt__"]}, "140162593116832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746928", "args": [{"nodeId": ".1.140162526746928"}]}, {"nodeId": ".1.140162526746928"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526746928": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746928", "variance": "CONTRAVARIANT"}, "140162526747264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593117280"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140162526747264"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__gt__"]}, "140162593117280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747264", "args": [{"nodeId": ".1.140162526747264"}]}, {"nodeId": ".1.140162526747264"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747264": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747264", "variance": "CONTRAVARIANT"}, "140162580611584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162505797504"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140162505797504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "140162505896704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505896704": {"type": "TypeAlias", "target": {"nodeId": "140162535232608"}}, "140162535232608": {"type": "Union", "items": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}]}, "140162580612032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580612480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505896256": {"type": "Overloaded", "items": [{"nodeId": "140162580612928"}, {"nodeId": "140162580613376"}]}, "140162580612928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162539261616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580613376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505896368": {"type": "Overloaded", "items": [{"nodeId": "140162580613824"}, {"nodeId": "140162580614272"}]}, "140162580613824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162539261616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580614272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580614720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162505896928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505896928": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162505896592": {"type": "Overloaded", "items": [{"nodeId": "140162580615168"}, {"nodeId": "140162580615616"}]}, "140162580615168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580615616": {"type": "Function", "typeVars": [".-1.140162580615616"], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".-1.140162580615616"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162505897152"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580615616": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580615616", "variance": "INVARIANT"}, "140162505897152": {"type": "Union", "items": [{"nodeId": ".-1.140162580615616"}, {"nodeId": ".1.140162539261616"}]}, "140162580616064": {"type": "Function", "typeVars": [".-1.140162580616064"], "argTypes": [{"nodeId": ".-1.140162580616064"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": ".-1.140162580616064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580616064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580616064", "variance": "INVARIANT"}, "140162580616512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580616960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580617408": {"type": "Function", "typeVars": [".-1.140162580617408"], "argTypes": [{"nodeId": ".-1.140162580617408"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".-1.140162580617408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580617408": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580617408", "variance": "INVARIANT"}, "140162580617856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580618304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261616"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580618752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580619200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580619648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580620096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}, {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162539261616"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580620544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162580624128": {"type": "Function", "typeVars": [".-1.140162580624128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162580624128"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140162580624128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580624128", "variance": "INVARIANT"}, "140162580624576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580625024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525829424": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459581600"}}], "typeVars": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}], "bases": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162525829424"}]}], "isAbstract": false}, "140162459581600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525829424"}, {"nodeId": ".2.140162525829424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525829424": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829424", "variance": "COVARIANT"}, ".2.140162525829424": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829424", "variance": "COVARIANT"}, "140162580625472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525829760": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459481056"}}], "typeVars": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}], "bases": [{"nodeId": "140162525827072", "args": [{"nodeId": ".2.140162525829760"}]}], "isAbstract": false}, "140162459481056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525829760"}, {"nodeId": ".2.140162525829760"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525829760": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829760", "variance": "COVARIANT"}, ".2.140162525829760": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525829760", "variance": "COVARIANT"}, "140162580625920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525830096": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162459471648"}}], "typeVars": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}], "bases": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}], "isAbstract": false}, "140162459471648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": ".1.140162525830096"}, {"nodeId": ".2.140162525830096"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525830096": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525830096", "variance": "COVARIANT"}, ".2.140162525830096": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525830096", "variance": "COVARIANT"}, "140162505897040": {"type": "Overloaded", "items": [{"nodeId": "140162580626368"}, {"nodeId": "140162580626816"}]}, "140162580626368": {"type": "Function", "typeVars": [".-1.140162580626368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580626368"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162580626368"}, {"nodeId": "140162505898384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140162580626368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626368", "variance": "INVARIANT"}, "140162505898384": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162580626816": {"type": "Function", "typeVars": [".-1.140162580626816", ".-2.140162580626816"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580626816"}]}, {"nodeId": ".-2.140162580626816"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162580626816"}, {"nodeId": ".-2.140162580626816"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140162580626816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626816", "variance": "INVARIANT"}, ".-2.140162580626816": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580626816", "variance": "INVARIANT"}, "140162505897376": {"type": "Overloaded", "items": [{"nodeId": "140162580774976"}, {"nodeId": "140162580775424"}]}, "140162580774976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": "140162505898608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505898608": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": "N"}]}, "140162580775424": {"type": "Function", "typeVars": [".-1.140162580775424"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": "140162505898720"}], "returnType": {"nodeId": "140162505898832"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505898720": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580775424"}]}, ".-1.140162580775424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580775424", "variance": "INVARIANT"}, "140162505898832": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580775424"}]}, "140162505898160": {"type": "Overloaded", "items": [{"nodeId": "140162580775872"}, {"nodeId": "140162580776320"}]}, "140162580775872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": ".2.140162539261952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580776320": {"type": "Function", "typeVars": [".-1.140162580776320"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": "140162505899056"}], "returnType": {"nodeId": "140162505899168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505899056": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580776320"}]}, ".-1.140162580776320": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580776320", "variance": "INVARIANT"}, "140162505899168": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-1.140162580776320"}]}, "140162580776768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580777216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": ".2.140162539261952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580777664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162580778112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": ".1.140162539261952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580778560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580779008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539261952"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580779456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162580779904": {"type": "Function", "typeVars": [".-1.140162580779904", ".-2.140162580779904"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162580779904"}, {"nodeId": ".-2.140162580779904"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162505899392"}, {"nodeId": "140162505899504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580779904": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580779904", "variance": "INVARIANT"}, ".-2.140162580779904": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580779904", "variance": "INVARIANT"}, "140162505899392": {"type": "Union", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".-1.140162580779904"}]}, "140162505899504": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-2.140162580779904"}]}, "140162580780352": {"type": "Function", "typeVars": [".-1.140162580780352", ".-2.140162580780352"], "argTypes": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162580780352"}, {"nodeId": ".-2.140162580780352"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162505899616"}, {"nodeId": "140162505899728"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580780352": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780352", "variance": "INVARIANT"}, ".-2.140162580780352": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780352", "variance": "INVARIANT"}, "140162505899616": {"type": "Union", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".-1.140162580780352"}]}, "140162505899728": {"type": "Union", "items": [{"nodeId": ".2.140162539261952"}, {"nodeId": ".-2.140162580780352"}]}, "140162505898496": {"type": "Overloaded", "items": [{"nodeId": "140162580780800"}, {"nodeId": "140162580781248"}]}, "140162580780800": {"type": "Function", "typeVars": [".-1.140162580780800"], "argTypes": [{"nodeId": ".-1.140162580780800"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}], "returnType": {"nodeId": ".-1.140162580780800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580780800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580780800", "variance": "INVARIANT"}, "140162580781248": {"type": "Function", "typeVars": [".-1.140162580781248"], "argTypes": [{"nodeId": ".-1.140162580781248"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162500886704"}]}], "returnType": {"nodeId": ".-1.140162580781248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580781248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580781248", "variance": "INVARIANT"}, "140162500886704": {"type": "Tuple", "items": [{"nodeId": ".1.140162539261952"}, {"nodeId": ".2.140162539261952"}]}, "140162618243584": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496751968"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496752416"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572493632"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522445552"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572494976"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522663616"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522664064"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "isAbstract": true}, "140162496751968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162618243584": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243584", "variance": "INVARIANT"}, ".2.140162618243584": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618243584", "variance": "INVARIANT"}, "140162496752416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572493632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522445552": {"type": "Overloaded", "items": [{"nodeId": "140162572494080"}, {"nodeId": "140162572494528"}]}, "140162572494080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": ".2.140162618243584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162572494528": {"type": "Function", "typeVars": [".-1.140162572494528"], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": "140162522664176"}], "returnType": {"nodeId": "140162522664288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140162522664176": {"type": "Union", "items": [{"nodeId": ".2.140162618243584"}, {"nodeId": ".-1.140162572494528"}]}, ".-1.140162572494528": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572494528", "variance": "INVARIANT"}, "140162522664288": {"type": "Union", "items": [{"nodeId": ".2.140162618243584"}, {"nodeId": ".-1.140162572494528"}]}, "140162572494976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}], "returnType": {"nodeId": "140162522664512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522664512": {"type": "Tuple", "items": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, "140162522663616": {"type": "Overloaded", "items": [{"nodeId": "140162572495424"}, {"nodeId": "140162572495872"}]}, "140162572495424": {"type": "Function", "typeVars": [".-1.140162572495424"], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": "140162522664736"}]}, {"nodeId": ".1.140162618243584"}], "returnType": {"nodeId": "140162522664848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522664736": {"type": "Union", "items": [{"nodeId": ".-1.140162572495424"}, {"nodeId": "N"}]}, ".-1.140162572495424": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572495424", "variance": "INVARIANT"}, "140162522664848": {"type": "Union", "items": [{"nodeId": ".-1.140162572495424"}, {"nodeId": "N"}]}, "140162572495872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": ".2.140162618243584"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162522664064": {"type": "Overloaded", "items": [{"nodeId": "140162572496320"}, {"nodeId": "140162572496768"}, {"nodeId": "140162572497216"}]}, "140162572496320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162572496768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522665184"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162522665184": {"type": "Tuple", "items": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, "140162572497216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162618243584"}, {"nodeId": ".2.140162618243584"}]}, {"nodeId": ".2.140162618243584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162505158528": {"type": "Overloaded", "items": [{"nodeId": "140162597205184"}]}, "140162597205184": {"type": "Function", "typeVars": [".-1.140162597205184"], "argTypes": [{"nodeId": ".-1.140162597205184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597205184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597205184", "variance": "INVARIANT"}, "140162450776000": {"type": "Function", "typeVars": [".-1.140162450776000"], "argTypes": [{"nodeId": ".-1.140162450776000"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162450776000": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162450776000", "variance": "INVARIANT"}, "140162597206080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597206528": {"type": "Function", "typeVars": [".-1.140162597206528"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162597206528"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162597206528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597206528", "variance": "INVARIANT"}, "140162597206976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597207424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606350400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606350848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606351296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162606351744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162606352192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606352640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162606353088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606353536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606353984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162505385552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505385552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162606354432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162505385776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505385776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162606355328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606355776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162509910784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509910784", "variance": "INVARIANT"}, "140162584757632": {"type": "Function", "typeVars": [".-1.140162584757632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162505608432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162584757632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140162505608432": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, ".-1.140162584757632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162584757632", "variance": "INVARIANT"}, "140162584758528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584758976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584759424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584759872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505608544"}, {"nodeId": "140162505608656"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140162505608544": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505608656": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584760320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162584760768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505608768"}, {"nodeId": "140162505608880"}, {"nodeId": "140162505608992"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505608768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162505608880": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505608992": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584761216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140162584762112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505609104"}, {"nodeId": "140162505609216"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505609104": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505609216": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584762560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162584763008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539259600"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140162539259600": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584756736"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162584756736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259600"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584763456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505609328"}, {"nodeId": "140162505609664"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505609328": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505609664": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584763904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584764352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584764800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584765248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584765696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584766144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584766592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584767936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584768384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584768832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584769280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584769728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584770176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584770624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505609776"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505609776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584771072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505610000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505610000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162584771520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162584771968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584887360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162584887808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505610336"}, {"nodeId": "140162505610448"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505610336": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505610448": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584888256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505610560"}, {"nodeId": "140162505610672"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505610560": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505610672": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584888704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162584889152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505610896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505610896": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162584889600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611008"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505611008": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505611120": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611232"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162505611232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584890944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162584891392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611344"}, {"nodeId": "140162505611456"}, {"nodeId": "140162505611568"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162505611344": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162505611456": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162505611568": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "N"}]}, "140162584891840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505611680"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162505611680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162584892288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584892736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584893184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539259936"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539259936": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162584757184"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162584757184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539259936"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162505607984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505607984": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162584893632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162584894080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505607200": {"type": "Overloaded", "items": [{"nodeId": "140162509912352"}, {"nodeId": "140162584894528"}]}, "140162509912352": {"type": "Function", "typeVars": [".-1.140162509912352"], "argTypes": [{"nodeId": "140162505612016"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162509912352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162505612016": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162509912352"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162509912352"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162505611904"}, {"nodeId": ".-1.140162509912352"}]}]}, ".-1.140162509912352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509912352", "variance": "INVARIANT"}, "140162505611904": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162584894528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162505612128"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162505612240"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162505612128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162505612240": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162584895424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584895872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584896320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584896768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584897216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162505612352"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162505612352": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162584897664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584898112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584898560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584899008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162584899456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584899904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584900352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584900800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584901248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162584901696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505612688"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505612688": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522192512": {"type": "Concrete", "module": "import_test", "simpleName": "A", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534547392": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162609967424"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522111600"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522111824"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530665616"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530665728"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476383744"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162609968320"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162609967424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349024"}, {"nodeId": "140162509349136"}, {"nodeId": "A"}, {"nodeId": "140162509349360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140162509349024": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162534548400": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576658752"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576659200"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576659648"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576660096"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162576658752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162526119632": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526134448"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497447744"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526134896"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135120"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618242240", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526135232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597558464"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597558912"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526134448": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162497447744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526134896": {"type": "Union", "items": [{"nodeId": "140162526119296"}, {"nodeId": "N"}]}, "140162526119296": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597557568"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["load_module"]}, "140162597557568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119296"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162526135120": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526135232": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162597558464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522672464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140162522672464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162597558912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162576659200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162576659648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509352944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162509352944": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162576660096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548400"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162509349136": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509349360": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162522111600": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162522111824": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530665616": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162530665728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162476383744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509349472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509349472": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162609968320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162521921376": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381504"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381952"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476381056"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476380608"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476380160"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476378144"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476379488"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476378368"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476376576"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}, {"nodeId": "140162534549072"}], "isAbstract": false}, "140162476381504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349584"}], "returnType": {"nodeId": "140162509349696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509349584": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509349696": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476381952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509349808"}, {"nodeId": "140162509349920"}], "returnType": {"nodeId": "140162509350032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509349808": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509349920": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509350032": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476381056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476380608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476380160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476378144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476379488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162476378368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509350144"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140162509350144": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162476376576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162534550080": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601503872"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601504320"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601504768"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162534548064"}], "isAbstract": false}, "140162601503872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509353728"}], "returnType": {"nodeId": "140162509353840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140162509353728": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509353840": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601504320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601504768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550080"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509353952"}, {"nodeId": "140162509354064"}], "returnType": {"nodeId": "140162509354176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140162509353952": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509354064": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509354176": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162534548064": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534549072": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576660992"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576661440"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476440736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601500736"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476439392"}}], "typeVars": [], "bases": [{"nodeId": "140162534548400"}], "isAbstract": true}, "140162576660992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162576661440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353056": {"type": "Union", "items": [{"nodeId": "140162526118288"}, {"nodeId": "N"}]}, "140162476440736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353168": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601500736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549072"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162476439392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509353392"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140162509353392": {"type": "Union", "items": [{"nodeId": "140162509353280"}, {"nodeId": "140162539260272"}]}, "140162509353280": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162521921712": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476376800"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476375424"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476374752"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476375200"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476374304"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476373856"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476373408"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476372288"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476372064"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}, {"nodeId": "140162534549072"}], "isAbstract": false}, "140162476376800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350256"}], "returnType": {"nodeId": "140162509350368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509350256": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509350368": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476375424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350480"}, {"nodeId": "140162509350592"}], "returnType": {"nodeId": "140162509350704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509350480": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509350592": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509350704": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476374752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476374304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140162476373408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140162476372288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162509350816"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140162509350816": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162476372064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140162521922048": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476370944"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476370496"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}], "isAbstract": false}, "140162476370944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509350928"}], "returnType": {"nodeId": "140162509351040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509350928": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351040": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162476370496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351152"}, {"nodeId": "140162509351264"}], "returnType": {"nodeId": "140162509351376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509351152": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351264": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509351376": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162534547728": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368928"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368480"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476369376"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476368032"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162476368928": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140162476368480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534547056"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140162521920704": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606551488"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475992768"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522331984": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162606551488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}, {"nodeId": "140162509346560"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140162509346560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475992768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534547056": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606553728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606554176"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606554624"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140162534546720"}], "isAbstract": false}, "140162606553728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162522190832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162522190832": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162514108928"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568564384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568564832"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484295200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568565728"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568566176"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568567520"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568567968"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568568416"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568700192"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568700640"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701088"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701536"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568701984"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568702432"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568702880"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568703328"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568703776"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568704224"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513941584"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568707808"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568708256"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568708704"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568709152"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568709600"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568710048"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568711392"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568711840"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568712288"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568712736"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568713184"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568713632"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568714080"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484292736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568715424"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568715872"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563588384"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563588832"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563589280"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563589728"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563590176"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563591072"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162514108928": {"type": "Function", "typeVars": [".-1.140162514108928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162514045632"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162514108928"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140162514045632": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162535236528": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}]}, "140162521917344": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484643520"}}], "typeVars": [{"nodeId": ".1.140162521917344"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__fspath__"]}, "140162484643520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521917344", "args": [{"nodeId": ".1.140162521917344"}]}], "returnType": {"nodeId": ".1.140162521917344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521917344": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521917344", "variance": "COVARIANT"}, ".-1.140162514108928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162514108928", "variance": "INVARIANT"}, "140162568564384": {"type": "Function", "typeVars": [".-1.140162568564384"], "argTypes": [{"nodeId": ".-1.140162568564384"}], "returnType": {"nodeId": ".-1.140162568564384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162568564384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568564384", "variance": "INVARIANT"}, "140162568564832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514045856"}, {"nodeId": "140162514045968"}, {"nodeId": "140162514046080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162514045856": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162514045968": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162514046080": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162484295200": {"type": "Function", "typeVars": [".-1.140162484295200"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162484295200"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162484295200": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484295200", "variance": "INVARIANT"}, "140162568565728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162514046192"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162514046192": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162522328736": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162568566176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140162568567520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568567968": {"type": "Function", "typeVars": [".-1.140162568567968"], "argTypes": [{"nodeId": ".-1.140162568567968"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568567968"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140162568567968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568567968", "variance": "INVARIANT"}, "140162618239216": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572098176"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496489152"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522441184"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572099968"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572100416"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496489376"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496489824"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496490496"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496490720"}}], "typeVars": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162618239216"}]}], "isAbstract": true}, "140162572098176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239216": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "COVARIANT"}, ".2.140162618239216": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "CONTRAVARIANT"}, ".3.140162618239216": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239216", "variance": "COVARIANT"}, "140162496489152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": ".2.140162618239216"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522441184": {"type": "Overloaded", "items": [{"nodeId": "140162572099072"}, {"nodeId": "140162572099520"}]}, "140162572099072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": "0"}, {"nodeId": "140162522442864"}, {"nodeId": "140162522442976"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522442864": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522442976": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572099520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522443088"}], "returnType": {"nodeId": ".1.140162618239216"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522443088": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572099968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572100416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496489376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496489824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496490496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496490720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162618239216"}, {"nodeId": ".2.140162618239216"}, {"nodeId": ".3.140162618239216"}]}], "returnType": {"nodeId": "140162522443536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522443536": {"type": "Union", "items": [{"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162568568416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568702880": {"type": "Function", "typeVars": [".-1.140162568702880"], "argTypes": [{"nodeId": ".-1.140162568702880"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568702880"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568702880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568702880", "variance": "INVARIANT"}, "140162568703328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140162568703776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162514046304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514046304": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162568704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140162513941584": {"type": "Overloaded", "items": [{"nodeId": "140162568704672"}, {"nodeId": "140162568705120"}, {"nodeId": "140162568705568"}, {"nodeId": "140162568706016"}, {"nodeId": "140162568706464"}, {"nodeId": "140162568706912"}, {"nodeId": "140162568707360"}]}, "140162568704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514046528"}, {"nodeId": "140162539258592"}, {"nodeId": "140162514046640"}, {"nodeId": "140162514046752"}, {"nodeId": "140162514046864"}], "returnType": {"nodeId": "140162534543360"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514046528": {"type": "TypeAlias", "target": {"nodeId": "140162534704736"}}, "140162534704736": {"type": "Union", "items": [{"nodeId": "140162534703168"}, {"nodeId": "140162534704064"}, {"nodeId": "140162534704624"}]}, "140162534703168": {"type": "TypeAlias", "target": {"nodeId": "140162534705520"}}, "140162534705520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534704064": {"type": "TypeAlias", "target": {"nodeId": "140162543173328"}}, "140162543173328": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534704624": {"type": "TypeAlias", "target": {"nodeId": "140162543170640"}}, "140162543170640": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162514046640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514046752": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514046864": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534543360": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593486240"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475731744"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475731072"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475733312"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475733760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593488480"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568126752"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568127200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568127648"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128096"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128544"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568128992"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568129440"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140162534543024"}, {"nodeId": "140162525828080"}], "isAbstract": false}, "140162593486240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162509340848"}, {"nodeId": "140162509340960"}, {"nodeId": "140162509341072"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140162525827408": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496753536"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496754656"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496755552"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496756224"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496756896"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496905280"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496905952"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496906624"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496907296"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496907968"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496908640"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496909312"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496909984"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496910656"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496911328"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496912000"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496912672"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496913344"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496914016"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496914688"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496915584"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496916704"}}], "typeVars": [{"nodeId": ".1.140162525827408"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827408"}]}], "isAbstract": true}, "140162496753536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525827408": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525827408", "variance": "INVARIANT"}, "140162496754656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496755552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496756224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496756896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496905280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496905952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496906624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496907296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496907968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496908640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162496909312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162496909984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496910656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496911328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162522665296"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162522665296": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162496912000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496912672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": ".1.140162525827408"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162496913344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162496914016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": ".1.140162525827408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496914688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496915584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162496916704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162525827408"}]}, {"nodeId": "140162522665408"}, {"nodeId": "140162522665520"}, {"nodeId": "140162522665632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162522665408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162522665520": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162522665632": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509340848": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509340960": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341072": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475731744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525827744": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496918048"}}], "typeVars": [], "bases": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}], "isAbstract": true}, "140162496918048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525827744"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162475731072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475733312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475733760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593488480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162509341184"}, {"nodeId": "140162509341296"}, {"nodeId": "140162509341408"}, {"nodeId": "140162509341520"}, {"nodeId": "140162509341632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140162509341184": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341408": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341520": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162509341632": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162568126752": {"type": "Function", "typeVars": [".-1.140162568126752"], "argTypes": [{"nodeId": ".-1.140162568126752"}], "returnType": {"nodeId": ".-1.140162568126752"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162568126752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568126752", "variance": "INVARIANT"}, "140162568127200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568127648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568128096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162568128544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162568128992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162568129440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543360"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162534543024": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331648"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593482656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593483104"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593483552"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484000"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484448"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593484896"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593485344"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593485792"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162522331648": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522110032": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162593482656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162593483104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593483552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593484000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162593484448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162593484896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593485344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593485792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543024"}, {"nodeId": "140162509340736"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509340736": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534540000": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593050400"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593050848"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593051296"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593051744"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593052192"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593052640"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053088"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053536"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593053984"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534563776"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593054432"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593054880"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593055328"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593055776"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593056224"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593056672"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534568480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593057120"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593057568"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593058016"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162480449664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593058912"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593050400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162593050848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593051296": {"type": "Function", "typeVars": [".-1.140162593051296"], "argTypes": [{"nodeId": ".-1.140162593051296"}], "returnType": {"nodeId": ".-1.140162593051296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593051296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593051296", "variance": "INVARIANT"}, "140162593051744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509190560"}, {"nodeId": "140162509190672"}, {"nodeId": "140162509190784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509190560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509190672": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509190784": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162593052192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593052640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593053984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534563776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162593054432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593054880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593055328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593055776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593056224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509190896"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509190896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593056672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534568480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162593057120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509191008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191008": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593057568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509191120"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509191120": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593058016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162480449664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593058912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540000"}, {"nodeId": "140162509191232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140162509191232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162525828080": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496919616"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920064"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920288"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920512"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496920736"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496920960"}}], "typeVars": [], "bases": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": true}, "140162496919616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162522665744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522665744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162496920512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496920960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828080"}], "returnType": {"nodeId": "140162525828080"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568705120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514046416"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514046416": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162543164256": {"type": "Union", "items": [{"nodeId": "140162543170976"}, {"nodeId": "140162543173104"}, {"nodeId": "140162543166384"}]}, "140162543170976": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162543168064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162543173104": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162543171536": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162543166384": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162543164144": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162534541008": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593473696"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162480453920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593474592"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475040"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475488"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140162534540336"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162522110368": {"type": "TypeAlias", "target": {"nodeId": "140162547328592"}}, "140162547328592": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162547330832"}]}, "140162547330832": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162535232496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162521917344", "args": [{"nodeId": "140162525830432"}]}]}, "140162593473696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162509192352"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509192576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140162509192352": {"type": "TypeAlias", "target": {"nodeId": "140162547328592"}}, "140162509192576": {"type": "Union", "items": [{"nodeId": "140162509192464"}, {"nodeId": "N"}]}, "140162509192464": {"type": "TypeAlias", "target": {"nodeId": "140162530469568"}}, "140162530469568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162480453920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593474592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162509192688"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192688": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593475040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541008"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162593475488": {"type": "Function", "typeVars": [".-1.140162593475488"], "argTypes": [{"nodeId": ".-1.140162593475488"}], "returnType": {"nodeId": ".-1.140162593475488"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593475488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593475488", "variance": "INVARIANT"}, "140162534540336": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593059360"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593059808"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593060256"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593060704"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162593059360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593059808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162509191344"}], "returnType": {"nodeId": "140162509191456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191344": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162509191456": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593060256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162509191568"}], "returnType": {"nodeId": "140162509191680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191568": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162509191680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593060704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162509191792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509191792": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162568705568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514047200"}, {"nodeId": "140162514048544"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514047200": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162514048544": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162534542352": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593480864"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593481312"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140162534541680"}, {"nodeId": "140162534542016"}], "isAbstract": false}, "140162593480864": {"type": "Function", "typeVars": [".-1.140162593480864"], "argTypes": [{"nodeId": ".-1.140162593480864"}], "returnType": {"nodeId": ".-1.140162593480864"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593480864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593480864", "variance": "INVARIANT"}, "140162593481312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542352"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162534541680": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593478176"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593478624"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479072"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593478176": {"type": "Function", "typeVars": [".-1.140162593478176"], "argTypes": [{"nodeId": ".-1.140162593478176"}], "returnType": {"nodeId": ".-1.140162593478176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593478176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593478176", "variance": "INVARIANT"}, "140162593478624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541680"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140162593479072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541680"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534540672": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534540336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593061152"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593061600"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593062048"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593062496"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593472800"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593473248"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140162534540000"}], "isAbstract": false}, "140162593061152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}], "returnType": {"nodeId": "140162534540336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593061600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509191904"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509191904": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162593062048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192016"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192016": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593062496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509192128": {"type": "TypeAlias", "target": {"nodeId": "140162543162688"}}, "140162593472800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162509192240"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509192240": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162593473248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534540672"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534542016": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479520"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593479968"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593480416"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593479520": {"type": "Function", "typeVars": [".-1.140162593479520"], "argTypes": [{"nodeId": ".-1.140162593479520"}], "returnType": {"nodeId": ".-1.140162593479520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593479520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593479520", "variance": "INVARIANT"}, "140162593479968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542016"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140162593480416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542016"}, {"nodeId": "140162509193024"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509193024": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162568706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049776"}, {"nodeId": "140162514049888"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514049776": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162514049888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162568706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514050896"}, {"nodeId": "140162514047648"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514050896": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162514047648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162568706912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048656"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514048656": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162568707360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162514048208"}, {"nodeId": "140162514050000"}, {"nodeId": "140162514050784"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162514048208": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514050000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514050784": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568707808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568708256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568708704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568709152": {"type": "Function", "typeVars": [".-1.140162568709152"], "argTypes": [{"nodeId": ".-1.140162568709152"}], "returnType": {"nodeId": ".-1.140162568709152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568709152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568709152", "variance": "INVARIANT"}, "140162568709600": {"type": "Function", "typeVars": [".-1.140162568709600"], "argTypes": [{"nodeId": ".-1.140162568709600"}, {"nodeId": "140162514048880"}], "returnType": {"nodeId": ".-1.140162568709600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140162568709600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568709600", "variance": "INVARIANT"}, "140162514048880": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522189824"}]}, "140162522189824": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484302368"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301920"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301696"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301472"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301248"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484301024"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484300800"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484300576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538800064"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568553632"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554080"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554528"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568554976"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568555424"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568555872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538799168"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538814848"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568557216"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568557664"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568558112"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568558560"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559008"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559456"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568559904"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538815072"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162538799392"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568560800"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568561248"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568561696"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484296320"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484297440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568563488"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162484302368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484301024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484300800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162484300576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162538800064": {"type": "Function", "typeVars": [".-1.140162538800064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162514044848"}], "returnType": {"nodeId": ".-1.140162538800064"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140162514044848": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, ".-1.140162538800064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538800064", "variance": "INVARIANT"}, "140162568553632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568554080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568554528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568554976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568555424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568555872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162538799168": {"type": "Function", "typeVars": [".-1.140162538799168"], "argTypes": [{"nodeId": ".-1.140162538799168"}, {"nodeId": "140162514044960"}], "returnType": {"nodeId": ".-1.140162538799168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162538799168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538799168", "variance": "INVARIANT"}, "140162514044960": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162538814848": {"type": "Function", "typeVars": [".-1.140162538814848"], "argTypes": [{"nodeId": ".-1.140162538814848"}, {"nodeId": "140162514045072"}], "returnType": {"nodeId": ".-1.140162538814848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162538814848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538814848", "variance": "INVARIANT"}, "140162514045072": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162568557216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568557664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568558112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568558560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568559008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568559456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162514045184"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140162514045184": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162568559904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189824"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140162538815072": {"type": "Function", "typeVars": [".-1.140162538815072"], "argTypes": [{"nodeId": ".-1.140162538815072"}, {"nodeId": "140162514045296"}], "returnType": {"nodeId": ".-1.140162538815072"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140162538815072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538815072", "variance": "INVARIANT"}, "140162514045296": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162538799392": {"type": "Function", "typeVars": [".-1.140162538799392"], "argTypes": [{"nodeId": ".-1.140162538799392"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162538799392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140162538799392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162538799392", "variance": "INVARIANT"}, "140162568560800": {"type": "Function", "typeVars": [".-1.140162568560800"], "argTypes": [{"nodeId": ".-1.140162568560800"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162568560800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140162568560800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568560800", "variance": "INVARIANT"}, "140162568561248": {"type": "Function", "typeVars": [".-1.140162568561248"], "argTypes": [{"nodeId": ".-1.140162568561248"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162568561248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140162568561248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568561248", "variance": "INVARIANT"}, "140162568561696": {"type": "Function", "typeVars": [".-1.140162568561696"], "argTypes": [{"nodeId": ".-1.140162568561696"}, {"nodeId": "140162514045408"}], "returnType": {"nodeId": ".-1.140162568561696"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140162568561696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568561696", "variance": "INVARIANT"}, "140162514045408": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162484296320": {"type": "Function", "typeVars": [".-1.140162484296320"], "argTypes": [{"nodeId": ".-1.140162484296320"}], "returnType": {"nodeId": "140162618241904", "args": [{"nodeId": ".-1.140162484296320"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162484296320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484296320", "variance": "INVARIANT"}, "140162484297440": {"type": "Function", "typeVars": [".-1.140162484297440"], "argTypes": [{"nodeId": ".-1.140162484297440"}], "returnType": {"nodeId": ".-1.140162484297440"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162484297440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484297440", "variance": "INVARIANT"}, "140162568563488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140162568710048": {"type": "Function", "typeVars": [".-1.140162568710048"], "argTypes": [{"nodeId": ".-1.140162568710048"}, {"nodeId": "140162514051568"}], "returnType": {"nodeId": ".-1.140162568710048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140162568710048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568710048", "variance": "INVARIANT"}, "140162514051568": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522189824"}]}, "140162568711392": {"type": "Function", "typeVars": [".-1.140162568711392"], "argTypes": [{"nodeId": ".-1.140162568711392"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": ".-1.140162568711392"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140162568711392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568711392", "variance": "INVARIANT"}, "140162568711840": {"type": "Function", "typeVars": [".-1.140162568711840"], "argTypes": [{"nodeId": ".-1.140162568711840"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568711840"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140162568711840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568711840", "variance": "INVARIANT"}, "140162568712288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568712736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048768"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140162514048768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522190832"}]}, "140162568713184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140162514049104": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162522190832"}]}, "140162568713632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140162568714080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140162484292736": {"type": "Function", "typeVars": [".-1.140162484292736"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162484292736"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162484292736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162484292736", "variance": "INVARIANT"}, "140162568715424": {"type": "Function", "typeVars": [".-1.140162568715424"], "argTypes": [{"nodeId": ".-1.140162568715424"}], "returnType": {"nodeId": ".-1.140162568715424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568715424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568715424", "variance": "INVARIANT"}, "140162568715872": {"type": "Function", "typeVars": [".-1.140162568715872"], "argTypes": [{"nodeId": ".-1.140162568715872"}], "returnType": {"nodeId": ".-1.140162568715872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568715872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568715872", "variance": "INVARIANT"}, "140162563588384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563588832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514051680"}, {"nodeId": "140162514047536"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162514051680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514047536": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162563589280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514047984"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140162514047984": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162563589728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514048096"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162514048096": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162563590176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162539260272"}, {"nodeId": "140162514048992"}, {"nodeId": "140162514049216"}, {"nodeId": "140162514049328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140162514048992": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514049216": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162514049328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162563591072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522190832"}, {"nodeId": "140162514049440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140162514049440": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162606554176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162509346784"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140162509346784": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162606554624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534547056"}, {"nodeId": "140162509346896"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162509346896": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162534546720": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475996352"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995904"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509343872"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475995232"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994560"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475995456"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994336"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475994112"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475993888"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475993664"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162475996352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509345664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140162509345664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475995904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}, {"nodeId": "140162509345776"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162509345776": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162475995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534546720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140162509343872": {"type": "Overloaded", "items": [{"nodeId": "140162577087872"}, {"nodeId": "140162606547008"}]}, "140162577087872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140162606547008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140162509346000"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140162509346000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162475995232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509346224"}], "returnType": {"nodeId": "140162534547056"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140162509346224": {"type": "TypeAlias", "target": {"nodeId": "140162535236528"}}, "140162475994560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162534544032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534544032": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568138848"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568139296"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568139744"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568140192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568140640"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476099392"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140162568138848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568139296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568139744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568140192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568140640": {"type": "Function", "typeVars": [".-1.140162568140640"], "argTypes": [{"nodeId": "140162534544032"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568140640"}], "returnType": {"nodeId": "140162509343312"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568140640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568140640", "variance": "INVARIANT"}, "140162509343312": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140162568140640"}]}, "140162476099392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544032"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162509343424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509343424": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162475995456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534545712": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577080704"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577081152"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476017472"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476019488"}}], "typeVars": [], "bases": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162530668192"}]}], "isAbstract": false}, "140162577080704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}, {"nodeId": "140162509344544"}], "returnType": {"nodeId": "140162509345328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509344544": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162509345328": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, "140162522108464": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162577081152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162476017472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476019488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534545712"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530668192": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, "140162475994336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475994112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162509346336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509346336": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162522192176"}]}, {"nodeId": "N"}]}, "140162522192176": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577084736"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577085184"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577085632"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522108240"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522110256"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534546720"}}], "typeVars": [], "bases": [{"nodeId": "140162522190160"}], "isAbstract": false}, "140162577084736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140162577085184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162577085632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522192176"}], "returnType": {"nodeId": "140162521917344", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522108240": {"type": "Union", "items": [{"nodeId": "140162534546384"}, {"nodeId": "N"}]}, "140162534546384": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577086080"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162577086080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546384"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162522110256": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522190160": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162475993888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162509346448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509346448": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162475993664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546720"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476369376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351488"}, {"nodeId": "140162509351600"}], "returnType": {"nodeId": "140162509351712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140162509351488": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351600": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509351712": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162476368032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509351824"}], "returnType": {"nodeId": "140162509351936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140162509351824": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162509351936": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162521922384": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605984768"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476367360"}}], "typeVars": [], "bases": [{"nodeId": "140162534550416"}], "isAbstract": false}, "140162605984768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521922384"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509352160"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140162509352160": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162476367360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162509352384"}], "returnType": {"nodeId": "140162509209888"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140162509352384": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162509209888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534550416"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162534550416": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601505216"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601505664"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601506112"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601506560"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162534548064"}], "isAbstract": false}, "140162601505216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509354288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509354288": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601505664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509354624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509354624": {"type": "Tuple", "items": [{"nodeId": "140162509354400"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}]}, "140162509354400": {"type": "Union", "items": [{"nodeId": "140162534548400"}, {"nodeId": "N"}]}, "140162601506112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601506560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550416"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509354736"}], "returnType": {"nodeId": "140162509354848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140162509354736": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162509354848": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162521922720": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605985664"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140162534550752"}, {"nodeId": "140162534549744"}], "isAbstract": false}, "140162605985664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521922720"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509352496"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140162509352496": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162534550752": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507456"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601507904"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601508352"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140162534548736"}, {"nodeId": "140162534549408"}], "isAbstract": true}, "140162601507008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140162601507456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162601507904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162509354960"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509354960": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601508352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534550752"}, {"nodeId": "140162509355072"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509355072": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534548736": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476440960"}}], "typeVars": [], "bases": [{"nodeId": "140162534548400"}], "isAbstract": true}, "140162476440960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534548736"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162534549408": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476438496"}}], "typeVars": [], "bases": [{"nodeId": "140162534549072"}], "isAbstract": true}, "140162476438496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549408"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162534549744": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502080"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502528"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601502976"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601503424"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140162534548736"}, {"nodeId": "140162534549408"}], "isAbstract": true}, "140162601502080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162601502528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140162601502976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509353504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162509353504": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601503424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534549744"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162521923056": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140162534550752"}, {"nodeId": "140162534549744"}], "isAbstract": false}, "140162522185792": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605986112"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605986560"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987008"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987456"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605987904"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605988352"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605988800"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162534549408"}], "isAbstract": false}, "140162605986112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140162605986560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162509352608"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162509352608": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162605987008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162605987456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162534547392"}], "returnType": {"nodeId": "140162526119632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140162605987904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162526119632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140162605988352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140162605988800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522185792"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525833456": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509781392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605849440"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605849888"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605850336"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605850784"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605851232"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605851680"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605848992"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605852128"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509781504"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605853920"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605854368"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509782176"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "isAbstract": false}, ".1.140162525833456": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833456", "variance": "INVARIANT"}, ".2.140162525833456": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833456", "variance": "INVARIANT"}, "140162509781392": {"type": "Overloaded", "items": [{"nodeId": "140162605846304"}, {"nodeId": "140162551900736"}, {"nodeId": "140162605847200"}, {"nodeId": "140162605846752"}, {"nodeId": "140162605848096"}, {"nodeId": "140162605847648"}, {"nodeId": "140162605848544"}]}, "140162605846304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162551900736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "N"}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162605847200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162605846752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162605848096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509782400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509782400": {"type": "Tuple", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, "140162605847648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509782624"}]}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162509782624": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162525833456"}]}, "140162605848544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162605849440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162605849888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}], "returnType": {"nodeId": ".2.140162525833456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605850336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162605850784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": ".1.140162525833456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605851232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525833456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162605851680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605848992": {"type": "Function", "typeVars": [".-1.140162605848992"], "argTypes": [{"nodeId": ".-1.140162605848992"}], "returnType": {"nodeId": ".-1.140162605848992"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162605848992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605848992", "variance": "INVARIANT"}, "140162605852128": {"type": "Function", "typeVars": [".-1.140162605852128"], "argTypes": [{"nodeId": ".-1.140162605852128"}], "returnType": {"nodeId": ".-1.140162605852128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162605852128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605852128", "variance": "INVARIANT"}, "140162509781504": {"type": "Overloaded", "items": [{"nodeId": "140162605853024"}, {"nodeId": "140162605853472"}]}, "140162605853024": {"type": "Function", "typeVars": [".-1.140162605853024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162605853024"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853024"}, {"nodeId": "140162510028864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162605853024": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853024", "variance": "INVARIANT"}, "140162510028864": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162605853472": {"type": "Function", "typeVars": [".-1.140162605853472", ".-2.140162605853472"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162605853472"}]}, {"nodeId": ".-2.140162605853472"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853472"}, {"nodeId": ".-2.140162605853472"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162605853472": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853472", "variance": "INVARIANT"}, ".-2.140162605853472": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853472", "variance": "INVARIANT"}, "140162605853920": {"type": "Function", "typeVars": [".-1.140162605853920", ".-2.140162605853920"], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162510028976"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": "140162510029088"}, {"nodeId": "140162510029200"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510028976": {"type": "Union", "items": [{"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605853920"}, {"nodeId": ".-2.140162605853920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162605853920"}, {"nodeId": ".-2.140162605853920"}]}]}, ".-1.140162605853920": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853920", "variance": "INVARIANT"}, ".-2.140162605853920": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605853920", "variance": "INVARIANT"}, "140162510029088": {"type": "Union", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".-1.140162605853920"}]}, "140162510029200": {"type": "Union", "items": [{"nodeId": ".2.140162525833456"}, {"nodeId": ".-2.140162605853920"}]}, "140162605854368": {"type": "Function", "typeVars": [".-1.140162605854368", ".-2.140162605854368"], "argTypes": [{"nodeId": "140162525833456", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, {"nodeId": "140162510029312"}], "returnType": {"nodeId": "140162525833456", "args": [{"nodeId": "140162510029424"}, {"nodeId": "140162510029536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510029312": {"type": "Union", "items": [{"nodeId": "140162525833456", "args": [{"nodeId": ".-1.140162605854368"}, {"nodeId": ".-2.140162605854368"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": ".-1.140162605854368"}, {"nodeId": ".-2.140162605854368"}]}]}, ".-1.140162605854368": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854368", "variance": "INVARIANT"}, ".-2.140162605854368": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854368", "variance": "INVARIANT"}, "140162510029424": {"type": "Union", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".-1.140162605854368"}]}, "140162510029536": {"type": "Union", "items": [{"nodeId": ".2.140162525833456"}, {"nodeId": ".-2.140162605854368"}]}, "140162509782176": {"type": "Overloaded", "items": [{"nodeId": "140162605852576"}, {"nodeId": "140162605854816"}]}, "140162605852576": {"type": "Function", "typeVars": [".-1.140162605852576"], "argTypes": [{"nodeId": ".-1.140162605852576"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}], "returnType": {"nodeId": ".-1.140162605852576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605852576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605852576", "variance": "INVARIANT"}, "140162605854816": {"type": "Function", "typeVars": [".-1.140162605854816"], "argTypes": [{"nodeId": ".-1.140162605854816"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510029872"}]}], "returnType": {"nodeId": ".-1.140162605854816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605854816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605854816", "variance": "INVARIANT"}, "140162510029872": {"type": "Tuple", "items": [{"nodeId": ".1.140162525833456"}, {"nodeId": ".2.140162525833456"}]}, "140162525833792": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509782736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605856608"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857056"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857504"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605857952"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162605858400"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601812256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601812704"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510029648"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510029984"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601814944"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601813600"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601815392"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601815840"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601816288"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601816736"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601817184"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818080"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818528"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601818976"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601819424"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601817632"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601819872"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601820768"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601821216"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030544"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601822560"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140162525833792"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162525833792"}]}], "isAbstract": false}, ".1.140162525833792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833792", "variance": "INVARIANT"}, "140162509782736": {"type": "Overloaded", "items": [{"nodeId": "140162605855712"}, {"nodeId": "140162605856160"}]}, "140162605855712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140162605856160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140162605856608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030096"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030096": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030208"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030208": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030320"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030320": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605857952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030432"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030432": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}]}, "140162605858400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601812256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601812704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510029648": {"type": "Overloaded", "items": [{"nodeId": "140162601813152"}, {"nodeId": "140162605855264"}]}, "140162601813152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162525833792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162605855264": {"type": "Function", "typeVars": [".-1.140162605855264"], "argTypes": [{"nodeId": ".-1.140162605855264"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": ".-1.140162605855264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162605855264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162605855264", "variance": "INVARIANT"}, "140162510029984": {"type": "Overloaded", "items": [{"nodeId": "140162601814048"}, {"nodeId": "140162601814496"}]}, "140162601814048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162601814496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162601814944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162510030768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510030768": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162601813600": {"type": "Function", "typeVars": [".-1.140162601813600"], "argTypes": [{"nodeId": ".-1.140162601813600"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601813600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601813600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601813600", "variance": "INVARIANT"}, "140162601815392": {"type": "Function", "typeVars": [".-1.140162601815392"], "argTypes": [{"nodeId": ".-1.140162601815392"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601815392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601815392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601815392", "variance": "INVARIANT"}, "140162601815840": {"type": "Function", "typeVars": [".-1.140162601815840"], "argTypes": [{"nodeId": ".-1.140162601815840"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": ".-1.140162601815840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601815840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601815840", "variance": "INVARIANT"}, "140162601816288": {"type": "Function", "typeVars": [".-1.140162601816288"], "argTypes": [{"nodeId": ".-1.140162601816288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601816288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601816288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601816288", "variance": "INVARIANT"}, "140162601816736": {"type": "Function", "typeVars": [".-1.140162601816736"], "argTypes": [{"nodeId": ".-1.140162601816736"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601816736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601816736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601816736", "variance": "INVARIANT"}, "140162601817184": {"type": "Function", "typeVars": [".-1.140162601817184"], "argTypes": [{"nodeId": ".-1.140162601817184"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601817184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601817184": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601817184", "variance": "INVARIANT"}, "140162601818080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601818528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140162601818976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162525833792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140162601819424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601817632": {"type": "Function", "typeVars": [".-1.140162601817632"], "argTypes": [{"nodeId": ".-1.140162601817632"}], "returnType": {"nodeId": ".-1.140162601817632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601817632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601817632", "variance": "INVARIANT"}, "140162601819872": {"type": "Function", "typeVars": [".-1.140162601819872"], "argTypes": [{"nodeId": ".-1.140162601819872"}], "returnType": {"nodeId": ".-1.140162601819872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601819872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601819872", "variance": "INVARIANT"}, "140162601820768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140162601821216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": ".1.140162525833792"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140162510030544": {"type": "Overloaded", "items": [{"nodeId": "140162601820320"}, {"nodeId": "140162601822112"}]}, "140162601820320": {"type": "Function", "typeVars": [".-1.140162601820320"], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".-1.140162601820320"}]}, {"nodeId": "N"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140162601820320": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140162542698192"}, "def": "140162601820320", "variance": "INVARIANT"}, "140162601822112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162509900704"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140162509900704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162525833792"}], "returnType": {"nodeId": "140162510031216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162510031216": {"type": "TypeAlias", "target": {"nodeId": "140162535232608"}}, "140162601822560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833792", "args": [{"nodeId": ".1.140162525833792"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525833792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140162525834128": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823456"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601823904"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601824352"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601824800"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601825248"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601825696"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601826144"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601826592"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827040"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827488"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601827936"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601894176"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601894624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895072"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895520"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601895968"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601896416"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601896864"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601897312"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601897760"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601898656"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601899104"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601899552"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601900000"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601900448"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601901344"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601901792"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601902240"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601902688"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601903136"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601903584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904032"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904480"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601904928"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601905376"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601905824"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601906272"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601906720"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601907168"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601907616"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908064"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908512"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601908960"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601909408"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162601909856"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602025248"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602025696"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030656"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027040"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027488"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602027936"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602028384"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602028832"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602029280"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602029728"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602030176"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602030624"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031072"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031520"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602031968"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602032416"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602032864"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602033312"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602033760"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602034208"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602034656"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602035104"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162525834128"}]}], "isAbstract": false}, "140162601823008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140162601823456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601823904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601824352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539259264"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601824800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162510031328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510031328": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162601825248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031440"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601825696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031552"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601826144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031664"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601826592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510031776"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162510031776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601827040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601827488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162601827936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162601894176": {"type": "Function", "typeVars": [".-1.140162601894176"], "argTypes": [{"nodeId": ".-1.140162601894176"}, {"nodeId": "140162510031888"}], "returnType": {"nodeId": ".-1.140162601894176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601894176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601894176", "variance": "INVARIANT"}, "140162510031888": {"type": "Union", "items": [{"nodeId": "140162525837152"}, {"nodeId": "140162539260944"}]}, "140162601894624": {"type": "Function", "typeVars": [".-1.140162601894624"], "argTypes": [{"nodeId": ".-1.140162601894624"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162601894624"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162601894624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601894624", "variance": "INVARIANT"}, "140162601895072": {"type": "Function", "typeVars": [".-1.140162601895072"], "argTypes": [{"nodeId": ".-1.140162601895072"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162601895072"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162601895072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895072", "variance": "INVARIANT"}, "140162601895520": {"type": "Function", "typeVars": [".-1.140162601895520"], "argTypes": [{"nodeId": ".-1.140162601895520"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601895520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601895520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895520", "variance": "INVARIANT"}, "140162601895968": {"type": "Function", "typeVars": [".-1.140162601895968"], "argTypes": [{"nodeId": ".-1.140162601895968"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601895968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601895968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601895968", "variance": "INVARIANT"}, "140162601896416": {"type": "Function", "typeVars": [".-1.140162601896416"], "argTypes": [{"nodeId": ".-1.140162601896416"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601896416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601896416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601896416", "variance": "INVARIANT"}, "140162601896864": {"type": "Function", "typeVars": [".-1.140162601896864"], "argTypes": [{"nodeId": ".-1.140162601896864"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601896864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601896864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601896864", "variance": "INVARIANT"}, "140162601897312": {"type": "Function", "typeVars": [".-1.140162601897312"], "argTypes": [{"nodeId": ".-1.140162601897312"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601897312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601897312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601897312", "variance": "INVARIANT"}, "140162601897760": {"type": "Function", "typeVars": [".-1.140162601897760"], "argTypes": [{"nodeId": ".-1.140162601897760"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162601897760"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162601897760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601897760", "variance": "INVARIANT"}, "140162601898656": {"type": "Function", "typeVars": [".-1.140162601898656"], "argTypes": [{"nodeId": ".-1.140162601898656"}], "returnType": {"nodeId": ".-1.140162601898656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601898656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601898656", "variance": "INVARIANT"}, "140162601899104": {"type": "Function", "typeVars": [".-1.140162601899104"], "argTypes": [{"nodeId": ".-1.140162601899104"}], "returnType": {"nodeId": ".-1.140162601899104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162601899104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601899104", "variance": "INVARIANT"}, "140162601899552": {"type": "Function", "typeVars": [".-1.140162601899552"], "argTypes": [{"nodeId": ".-1.140162601899552"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601899552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162601899552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601899552", "variance": "INVARIANT"}, "140162601900000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032224"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510032224": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601900448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032336"}, {"nodeId": "140162510032448"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140162510032336": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510032448": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601901344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032560"}, {"nodeId": "140162510032672"}, {"nodeId": "140162510032784"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140162510032560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162510032672": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510032784": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162601901792": {"type": "Function", "typeVars": [".-1.140162601901792"], "argTypes": [{"nodeId": ".-1.140162601901792"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162601901792"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140162601901792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601901792", "variance": "INVARIANT"}, "140162601902240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510032896"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510032896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162601902688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140162601903136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140162601903584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162601904032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601904480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601904928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601905376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601905824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601906272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601906720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601907168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601907616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601908960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162601909408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140162601909856": {"type": "Function", "typeVars": [".-1.140162601909856"], "argTypes": [{"nodeId": ".-1.140162601909856"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162601909856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162601909856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162601909856", "variance": "INVARIANT"}, "140162602025248": {"type": "Function", "typeVars": [".-1.140162602025248"], "argTypes": [{"nodeId": ".-1.140162602025248"}], "returnType": {"nodeId": ".-1.140162602025248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602025248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602025248", "variance": "INVARIANT"}, "140162602025696": {"type": "Function", "typeVars": [".-1.140162602025696"], "argTypes": [{"nodeId": ".-1.140162602025696"}, {"nodeId": "140162510033456"}], "returnType": {"nodeId": ".-1.140162602025696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602025696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602025696", "variance": "INVARIANT"}, "140162510033456": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510030656": {"type": "Overloaded", "items": [{"nodeId": "140162602026144"}, {"nodeId": "140162602026592"}]}, "140162602026144": {"type": "Function", "typeVars": [".-1.140162602026144"], "argTypes": [{"nodeId": "140162510033792"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162602026144"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140162510033792": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": ".-1.140162602026144"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162602026144"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162510033680"}, {"nodeId": ".-1.140162602026144"}]}]}, ".-1.140162602026144": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602026144", "variance": "INVARIANT"}, "140162510033680": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162602026592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162510033904"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140162510033904": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602027040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510034128"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140162510034128": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162602027488": {"type": "Function", "typeVars": [".-1.140162602027488"], "argTypes": [{"nodeId": ".-1.140162602027488"}, {"nodeId": "140162510034240"}], "returnType": {"nodeId": ".-1.140162602027488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162602027488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602027488", "variance": "INVARIANT"}, "140162510034240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602027936": {"type": "Function", "typeVars": [".-1.140162602027936"], "argTypes": [{"nodeId": ".-1.140162602027936"}, {"nodeId": "140162510034352"}], "returnType": {"nodeId": ".-1.140162602027936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162602027936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602027936", "variance": "INVARIANT"}, "140162510034352": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602028384": {"type": "Function", "typeVars": [".-1.140162602028384"], "argTypes": [{"nodeId": ".-1.140162602028384"}, {"nodeId": "140162510034464"}, {"nodeId": "140162510034576"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602028384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140162602028384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602028384", "variance": "INVARIANT"}, "140162510034464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162510034576": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602028832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510034688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510034688": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602029280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510034800"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140162510034800": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525834128"}]}, "140162602029728": {"type": "Function", "typeVars": [".-1.140162602029728"], "argTypes": [{"nodeId": ".-1.140162602029728"}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162602029728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140162602029728": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602029728", "variance": "INVARIANT"}, "140162602030176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510035136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140162510035136": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162602030624": {"type": "Function", "typeVars": [".-1.140162602030624"], "argTypes": [{"nodeId": ".-1.140162602030624"}, {"nodeId": "140162510035248"}], "returnType": {"nodeId": ".-1.140162602030624"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602030624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602030624", "variance": "INVARIANT"}, "140162510035248": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035360"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162510035360": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035472"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140162510035472": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602031968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140162602032416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834128"}, {"nodeId": "140162510035584"}, {"nodeId": "140162510035696"}, {"nodeId": "140162510035808"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140162510035584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}]}, "140162510035696": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510035808": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602032864": {"type": "Function", "typeVars": [".-1.140162602032864"], "argTypes": [{"nodeId": ".-1.140162602032864"}, {"nodeId": "140162510035920"}], "returnType": {"nodeId": ".-1.140162602032864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140162602032864": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602032864", "variance": "INVARIANT"}, "140162510035920": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162602033312": {"type": "Function", "typeVars": [".-1.140162602033312"], "argTypes": [{"nodeId": ".-1.140162602033312"}], "returnType": {"nodeId": ".-1.140162602033312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602033312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602033312", "variance": "INVARIANT"}, "140162602033760": {"type": "Function", "typeVars": [".-1.140162602033760"], "argTypes": [{"nodeId": ".-1.140162602033760"}], "returnType": {"nodeId": ".-1.140162602033760"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602033760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602033760", "variance": "INVARIANT"}, "140162602034208": {"type": "Function", "typeVars": [".-1.140162602034208"], "argTypes": [{"nodeId": ".-1.140162602034208"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162602034208"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140162602034208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602034208", "variance": "INVARIANT"}, "140162602034656": {"type": "Function", "typeVars": [".-1.140162602034656"], "argTypes": [{"nodeId": ".-1.140162602034656"}], "returnType": {"nodeId": ".-1.140162602034656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602034656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602034656", "variance": "INVARIANT"}, "140162602035104": {"type": "Function", "typeVars": [".-1.140162602035104"], "argTypes": [{"nodeId": ".-1.140162602035104"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602035104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140162602035104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602035104", "variance": "INVARIANT"}, "140162525834464": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467964384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510030880"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602036896"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602037344"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602037792"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602038240"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602038688"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602039136"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602039584"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040480"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602040928"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602156320"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602156768"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602157216"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602157664"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602158112"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602158560"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159008"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159456"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602159904"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602160352"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602160800"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602161248"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602161696"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602162144"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602162592"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163040"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163488"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602163936"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525834464"}], "bases": [{"nodeId": "140162618242240", "args": [{"nodeId": ".1.140162525834464"}]}], "isAbstract": false}, "140162467964384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162510036144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525834464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834464", "variance": "INVARIANT"}, "140162510036144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510030880": {"type": "Overloaded", "items": [{"nodeId": "140162602036000"}, {"nodeId": "140162602036448"}]}, "140162602036000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162510036368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140162510036368": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602036448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162510036480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140162510036480": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162602036896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602037344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602037792": {"type": "Function", "typeVars": [".-1.140162602037792"], "argTypes": [{"nodeId": ".-1.140162602037792"}], "returnType": {"nodeId": ".-1.140162602037792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602037792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602037792", "variance": "INVARIANT"}, "140162602038240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602038688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602039136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602039584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162539258592"}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162602040032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162602040480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602040928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602156320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602156768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162602157216": {"type": "Function", "typeVars": [".-1.140162602157216"], "argTypes": [{"nodeId": ".-1.140162602157216"}], "returnType": {"nodeId": ".-1.140162602157216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602157216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602157216", "variance": "INVARIANT"}, "140162602157664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602158112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": ".1.140162525834464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602158560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}, {"nodeId": ".1.140162525834464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162602159008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602159456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602159904": {"type": "Function", "typeVars": [".-1.140162602159904"], "argTypes": [{"nodeId": ".-1.140162602159904"}], "returnType": {"nodeId": "140162510036928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602159904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602159904", "variance": "INVARIANT"}, "140162510036928": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140162510036704"}, {"nodeId": "N"}, {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525834464"}]}]}, "140162510036704": {"type": "Tuple", "items": []}, "140162602160352": {"type": "Function", "typeVars": [".-1.140162602160352"], "argTypes": [{"nodeId": ".-1.140162602160352"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": ".-1.140162602160352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602160352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602160352", "variance": "INVARIANT"}, "140162602160800": {"type": "Function", "typeVars": [".-1.140162602160800"], "argTypes": [{"nodeId": ".-1.140162602160800"}, {"nodeId": ".-1.140162602160800"}], "returnType": {"nodeId": ".-1.140162602160800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602160800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602160800", "variance": "INVARIANT"}, "140162602161248": {"type": "Function", "typeVars": [".-1.140162602161248"], "argTypes": [{"nodeId": ".-1.140162602161248"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602161248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602161248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602161248", "variance": "INVARIANT"}, "140162602161696": {"type": "Function", "typeVars": [".-1.140162602161696"], "argTypes": [{"nodeId": ".-1.140162602161696"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162602161696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602161696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602161696", "variance": "INVARIANT"}, "140162602162144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602162592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}, {"nodeId": "140162525834464", "args": [{"nodeId": ".1.140162525834464"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602163936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162539191456": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510033568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602166176"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602166624"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602167072"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162462917888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510036256"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037152"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602170656"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602171104"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602171552"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602172000"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602320160"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602320608"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321056"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321504"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602321952"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602322400"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602322848"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602323296"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602323744"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602324192"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602324640"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325088"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325536"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602325984"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602326432"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140162539191456"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162510033568": {"type": "Overloaded", "items": [{"nodeId": "140162602164384"}, {"nodeId": "140162602164832"}, {"nodeId": "140162602165280"}, {"nodeId": "140162602165728"}]}, "140162602164384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162539191456": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191456", "variance": "INVARIANT"}, "140162602164832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602165280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602165728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602166176": {"type": "Function", "typeVars": [".-1.140162602166176"], "argTypes": [{"nodeId": ".-1.140162602166176"}], "returnType": {"nodeId": ".-1.140162602166176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602166176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602166176", "variance": "INVARIANT"}, "140162602166624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602167072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162510037264"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162510037488"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140162510037264": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510037488": {"type": "Tuple", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}, "140162462917888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140162510037712"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140162510037712": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162510036256": {"type": "Overloaded", "items": [{"nodeId": "140162602167968"}, {"nodeId": "140162602168416"}, {"nodeId": "140162602168864"}]}, "140162602167968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162602168416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162602168864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162510037152": {"type": "Overloaded", "items": [{"nodeId": "140162602169312"}, {"nodeId": "140162602169760"}, {"nodeId": "140162602170208"}]}, "140162602169312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162539191456"}, {"nodeId": "140162539258592"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602169760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602170208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "N"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162602170656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": ".1.140162539191456"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162602171104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602171552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602172000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602320160": {"type": "Function", "typeVars": [".-1.140162602320160"], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".-1.140162602320160"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": "140162510038048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602320160": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602320160", "variance": "INVARIANT"}, "140162510038048": {"type": "Union", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": ".-1.140162602320160"}]}, "140162602320608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602321056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602321504": {"type": "Function", "typeVars": [".-1.140162602321504"], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": ".-1.140162602321504"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": "140162510038160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602321504": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602321504", "variance": "INVARIANT"}, "140162510038160": {"type": "Union", "items": [{"nodeId": ".1.140162539191456"}, {"nodeId": ".-1.140162602321504"}]}, "140162602321952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602322400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602322848": {"type": "Function", "typeVars": [".-1.140162602322848"], "argTypes": [{"nodeId": ".-1.140162602322848"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602322848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602322848": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602322848", "variance": "INVARIANT"}, "140162602323296": {"type": "Function", "typeVars": [".-1.140162602323296"], "argTypes": [{"nodeId": ".-1.140162602323296"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602323296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602323296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602323296", "variance": "INVARIANT"}, "140162602323744": {"type": "Function", "typeVars": [".-1.140162602323744"], "argTypes": [{"nodeId": ".-1.140162602323744"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602323744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602323744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602323744", "variance": "INVARIANT"}, "140162602324192": {"type": "Function", "typeVars": [".-1.140162602324192"], "argTypes": [{"nodeId": ".-1.140162602324192"}, {"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": ".-1.140162602324192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162602324192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602324192", "variance": "INVARIANT"}, "140162602324640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602325088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602325536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602325984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162602326432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191456", "args": [{"nodeId": ".1.140162539191456"}]}, {"nodeId": "140162539191456", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526740544": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602326880"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526740544"}], "bases": [{"nodeId": "140162525826736", "args": [{"nodeId": ".1.140162526740544"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162526740544"}]}], "isAbstract": false}, "140162602326880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526740544", "args": [{"nodeId": ".1.140162526740544"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526740544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526740544": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740544", "variance": "COVARIANT"}, "140162526740880": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602327328"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}], "bases": [{"nodeId": "140162525826400", "args": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": "140162535239216"}]}], "isAbstract": false}, "140162602327328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526740880", "args": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162510038832"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526740880": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740880", "variance": "COVARIANT"}, ".2.140162526740880": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526740880", "variance": "COVARIANT"}, "140162510038832": {"type": "Tuple", "items": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, "140162535239216": {"type": "Tuple", "items": [{"nodeId": ".1.140162526740880"}, {"nodeId": ".2.140162526740880"}]}, "140162526741216": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602327776"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162526741216"}], "bases": [{"nodeId": "140162525827072", "args": [{"nodeId": ".1.140162526741216"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162526741216"}]}], "isAbstract": false}, "140162602327776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741216", "args": [{"nodeId": ".1.140162526741216"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526741216"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526741216": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526741216", "variance": "COVARIANT"}, "140162525834800": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602328224"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}], "bases": [{"nodeId": "140162525829424", "args": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525834800"}]}], "isAbstract": false}, "140162602328224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525834800", "args": [{"nodeId": ".1.140162525834800"}, {"nodeId": ".2.140162525834800"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525834800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525834800": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834800", "variance": "COVARIANT"}, ".2.140162525834800": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525834800", "variance": "COVARIANT"}, "140162525835136": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602328672"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}], "bases": [{"nodeId": "140162525830096", "args": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": "140162535236976"}]}], "isAbstract": false}, "140162602328672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835136", "args": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162510039056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525835136": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835136", "variance": "COVARIANT"}, ".2.140162525835136": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835136", "variance": "COVARIANT"}, "140162510039056": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, "140162535236976": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835136"}, {"nodeId": ".2.140162525835136"}]}, "140162525835472": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602329120"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}], "bases": [{"nodeId": "140162525829760", "args": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".2.140162525835472"}]}], "isAbstract": false}, "140162602329120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835472", "args": [{"nodeId": ".1.140162525835472"}, {"nodeId": ".2.140162525835472"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".2.140162525835472"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162525835472": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835472", "variance": "COVARIANT"}, ".2.140162525835472": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835472", "variance": "COVARIANT"}, "140162525835808": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602329568"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330016"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602330912"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602331360"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602331808"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162602332256"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037824"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510037936"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525835808"}]}], "isAbstract": false}, "140162602329568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162510039280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140162525835808": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835808", "variance": "INVARIANT"}, ".2.140162525835808": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525835808", "variance": "INVARIANT"}, "140162510039280": {"type": "Tuple", "items": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "140162602330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": ".1.140162525835808"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140162602330464": {"type": "Function", "typeVars": [".-1.140162602330464"], "argTypes": [{"nodeId": ".-1.140162602330464"}], "returnType": {"nodeId": ".-1.140162602330464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162602330464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602330464", "variance": "INVARIANT"}, "140162602330912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162602331360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525834800", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602331808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525835136", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162602332256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}], "returnType": {"nodeId": "140162525835472", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510037824": {"type": "Overloaded", "items": [{"nodeId": "140162602332704"}, {"nodeId": "140162602333152"}]}, "140162602332704": {"type": "Function", "typeVars": [".-1.140162602332704"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162602332704"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525835808", "args": [{"nodeId": ".-1.140162602332704"}, {"nodeId": "140162510039616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162602332704": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602332704", "variance": "INVARIANT"}, "140162510039616": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162602333152": {"type": "Function", "typeVars": [".-1.140162602333152", ".-2.140162602333152"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162602333152"}]}, {"nodeId": ".-2.140162602333152"}], "returnType": {"nodeId": "140162525835808", "args": [{"nodeId": ".-1.140162602333152"}, {"nodeId": ".-2.140162602333152"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140162602333152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333152", "variance": "INVARIANT"}, ".-2.140162602333152": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333152", "variance": "INVARIANT"}, "140162510037936": {"type": "Overloaded", "items": [{"nodeId": "140162602333600"}, {"nodeId": "140162602334048"}]}, "140162602333600": {"type": "Function", "typeVars": [".-1.140162602333600"], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": "140162510039840"}]}, {"nodeId": ".1.140162525835808"}], "returnType": {"nodeId": "140162510039952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162510039840": {"type": "Union", "items": [{"nodeId": ".-1.140162602333600"}, {"nodeId": "N"}]}, ".-1.140162602333600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162602333600", "variance": "INVARIANT"}, "140162510039952": {"type": "Union", "items": [{"nodeId": ".-1.140162602333600"}, {"nodeId": "N"}]}, "140162602334048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525835808", "args": [{"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}]}, {"nodeId": ".1.140162525835808"}, {"nodeId": ".2.140162525835808"}], "returnType": {"nodeId": ".2.140162525835808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140162539191792": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162535234400"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510039392"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597193760"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597194208"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597194656"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "isAbstract": false}, "140162535234400": {"type": "Union", "items": [{"nodeId": "140162534563104"}, {"nodeId": "N"}]}, "140162534563104": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, ".2.140162539191792": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191792", "variance": "INVARIANT"}, "140162510039392": {"type": "Overloaded", "items": [{"nodeId": "140162602334496"}, {"nodeId": "140162602334944"}, {"nodeId": "140162602335392"}, {"nodeId": "140162602335840"}, {"nodeId": "140162597191968"}, {"nodeId": "140162597192416"}, {"nodeId": "140162597192864"}, {"nodeId": "140162597193312"}]}, "140162602334496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539191792": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539191792", "variance": "INVARIANT"}, "140162602334944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162602335392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162510040176": {"type": "Union", "items": [{"nodeId": "140162509901152"}, {"nodeId": "N"}]}, "140162509901152": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162602335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040288"}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140162510040288": {"type": "Union", "items": [{"nodeId": "140162509901376"}, {"nodeId": "N"}]}, "140162509901376": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597191968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040400"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162510040400": {"type": "Union", "items": [{"nodeId": "140162509901600"}, {"nodeId": "N"}]}, "140162509901600": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597192416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040512"}, {"nodeId": "140162526752304", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140162510040512": {"type": "Union", "items": [{"nodeId": "140162509901824"}, {"nodeId": "N"}]}, "140162509901824": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162597192864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040624"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510040848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162510040624": {"type": "Union", "items": [{"nodeId": "140162509902048"}, {"nodeId": "N"}]}, "140162509902048": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162510040848": {"type": "Tuple", "items": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, "140162597193312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": "140162510040960"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510041184"}]}, {"nodeId": ".2.140162539191792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140162510040960": {"type": "Union", "items": [{"nodeId": "140162509902272"}, {"nodeId": "N"}]}, "140162509902272": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": [], "argNames": []}, "140162510041184": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".2.140162539191792"}]}, "140162597193760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539191792", "args": [{"nodeId": ".1.140162539191792"}, {"nodeId": ".2.140162539191792"}]}, {"nodeId": ".1.140162539191792"}], "returnType": {"nodeId": ".2.140162539191792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597194208": {"type": "Function", "typeVars": [".-1.140162597194208"], "argTypes": [{"nodeId": ".-1.140162597194208"}], "returnType": {"nodeId": ".-1.140162597194208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597194208": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597194208", "variance": "INVARIANT"}, "140162597194656": {"type": "Function", "typeVars": [".-1.140162597194656"], "argTypes": [{"nodeId": ".-1.140162597194656"}], "returnType": {"nodeId": ".-1.140162597194656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597194656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597194656", "variance": "INVARIANT"}, "140162525836144": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597195104"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597195552"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463222464"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597196448"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597196896"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597197344"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597197792"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597198240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597198688"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597199136"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597199584"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597200032"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510039728"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597201376"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463224928"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510040064"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597202720"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597203168"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162510041408"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "isAbstract": false}, ".1.140162525836144": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525836144", "variance": "INVARIANT"}, ".2.140162525836144": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525836144", "variance": "INVARIANT"}, "140162597195104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140162597195552": {"type": "Function", "typeVars": [".-1.140162597195552"], "argTypes": [{"nodeId": ".-1.140162597195552"}, {"nodeId": "140162510041296"}], "returnType": {"nodeId": ".-1.140162597195552"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140162597195552": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597195552", "variance": "INVARIANT"}, "140162510041296": {"type": "Union", "items": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "N"}]}, "140162463222464": {"type": "Function", "typeVars": [".-1.140162463222464"], "argTypes": [{"nodeId": ".-1.140162463222464"}], "returnType": {"nodeId": ".-1.140162463222464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162463222464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162463222464", "variance": "INVARIANT"}, "140162597196448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162597196896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597197344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597197792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525836144"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597198240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597198688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597199136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162597199584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597200032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140162510039728": {"type": "Overloaded", "items": [{"nodeId": "140162597200480"}, {"nodeId": "140162597200928"}]}, "140162597200480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}], "returnType": {"nodeId": ".2.140162525836144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140162597200928": {"type": "Function", "typeVars": [".-1.140162597200928"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": ".1.140162525836144"}, {"nodeId": "140162510041520"}], "returnType": {"nodeId": "140162510041632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140162510041520": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-1.140162597200928"}]}, ".-1.140162597200928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597200928", "variance": "INVARIANT"}, "140162510041632": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-1.140162597200928"}]}, "140162597201376": {"type": "Function", "typeVars": [".-1.140162597201376"], "argTypes": [{"nodeId": ".-1.140162597201376"}], "returnType": {"nodeId": ".-1.140162597201376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162597201376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597201376", "variance": "INVARIANT"}, "140162463224928": {"type": "Function", "typeVars": [".-1.140162463224928"], "argTypes": [{"nodeId": ".-1.140162463224928"}], "returnType": {"nodeId": ".-1.140162463224928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162463224928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162463224928", "variance": "INVARIANT"}, "140162510040064": {"type": "Overloaded", "items": [{"nodeId": "140162597201824"}, {"nodeId": "140162597202272"}]}, "140162597201824": {"type": "Function", "typeVars": [".-1.140162597201824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162597201824"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": ".-1.140162597201824"}, {"nodeId": "140162510041968"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140162597201824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597201824", "variance": "INVARIANT"}, "140162510041968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162597202272": {"type": "Function", "typeVars": [".-1.140162597202272", ".-2.140162597202272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162597202272"}]}, {"nodeId": ".-2.140162597202272"}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": ".-1.140162597202272"}, {"nodeId": ".-2.140162597202272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140162597202272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202272", "variance": "INVARIANT"}, ".-2.140162597202272": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202272", "variance": "INVARIANT"}, "140162597202720": {"type": "Function", "typeVars": [".-1.140162597202720", ".-2.140162597202720"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597202720"}, {"nodeId": ".-2.140162597202720"}]}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": "140162510042080"}, {"nodeId": "140162510042192"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597202720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202720", "variance": "INVARIANT"}, ".-2.140162597202720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597202720", "variance": "INVARIANT"}, "140162510042080": {"type": "Union", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".-1.140162597202720"}]}, "140162510042192": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-2.140162597202720"}]}, "140162597203168": {"type": "Function", "typeVars": [".-1.140162597203168", ".-2.140162597203168"], "argTypes": [{"nodeId": "140162525836144", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162597203168"}, {"nodeId": ".-2.140162597203168"}]}], "returnType": {"nodeId": "140162525836144", "args": [{"nodeId": "140162510042304"}, {"nodeId": "140162510042416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597203168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203168", "variance": "INVARIANT"}, ".-2.140162597203168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203168", "variance": "INVARIANT"}, "140162510042304": {"type": "Union", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".-1.140162597203168"}]}, "140162510042416": {"type": "Union", "items": [{"nodeId": ".2.140162525836144"}, {"nodeId": ".-2.140162597203168"}]}, "140162510041408": {"type": "Overloaded", "items": [{"nodeId": "140162597203616"}, {"nodeId": "140162597204064"}]}, "140162597203616": {"type": "Function", "typeVars": [".-1.140162597203616"], "argTypes": [{"nodeId": ".-1.140162597203616"}, {"nodeId": "140162526752304", "args": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}], "returnType": {"nodeId": ".-1.140162597203616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597203616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597203616", "variance": "INVARIANT"}, "140162597204064": {"type": "Function", "typeVars": [".-1.140162597204064"], "argTypes": [{"nodeId": ".-1.140162597204064"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162510042752"}]}], "returnType": {"nodeId": ".-1.140162597204064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162597204064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162597204064", "variance": "INVARIANT"}, "140162510042752": {"type": "Tuple", "items": [{"nodeId": ".1.140162525836144"}, {"nodeId": ".2.140162525836144"}]}, "140162618234848": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446247520"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526497584"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446247968"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446248640"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580474880"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162446247520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162505895584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505895584": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162525838832": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589243008"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589243008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838832"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162526497584": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162446247968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446248640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580474880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618234848"}, {"nodeId": "140162505895920"}, {"nodeId": "140162505896032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162505895920": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162505896032": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162618244256": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450773760"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450773536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606357120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606357568"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450772864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606358464"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140162618244256"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450773760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162509905856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618244256": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618244256", "variance": "COVARIANT"}, "140162509905856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450773536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606357120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": "140162509905408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509905408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606357568": {"type": "Function", "typeVars": [".-1.140162606357568"], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": ".-1.140162606357568"}, {"nodeId": "140162505386112"}], "returnType": {"nodeId": "140162509911232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140162606357568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606357568", "variance": "INVARIANT"}, "140162505386112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509911232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450772864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}], "returnType": {"nodeId": "140162509911008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509911008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606358464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162618244256"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244256"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162618244592": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450772416"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450771968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606359808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606360256"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162450771296"}}], "typeVars": [{"nodeId": ".1.140162618244592"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162450772416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162509911680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618244592": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618244592", "variance": "COVARIANT"}, "140162509911680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450771968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606359808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}, {"nodeId": "140162509911456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509911456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162606360256": {"type": "Function", "typeVars": [".-1.140162606360256"], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}, {"nodeId": ".-1.140162606360256"}, {"nodeId": "140162505386896"}], "returnType": {"nodeId": "140162509912128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140162606360256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606360256", "variance": "INVARIANT"}, "140162505386896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509912128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162450771296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162618244592"}]}], "returnType": {"nodeId": "140162509911904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509911904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162618244592"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539258256": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505387456"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162505387456": {"type": "Overloaded", "items": [{"nodeId": "140162597720064"}, {"nodeId": "140162597720512"}, {"nodeId": "140162597720960"}]}, "140162597720064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597720512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162597720960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539258256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525831440": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162505899840"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580879552"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880000"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880448"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580880896"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580881344"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580881792"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580882240"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580882688"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580883136"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580883584"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884480"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580884928"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580885376"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580885824"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580886272"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580886720"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580887168"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580887616"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888064"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831440"}], "bases": [{"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "isAbstract": false}, "140162505899840": {"type": "Overloaded", "items": [{"nodeId": "140162580878656"}, {"nodeId": "140162580879104"}]}, "140162580878656": {"type": "Function", "typeVars": [".-1.140162580878656"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162580878656"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162580878656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580878656", "variance": "INVARIANT"}, "140162580879104": {"type": "Function", "typeVars": [".-1.140162580879104"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": ".-1.140162580879104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140162525831440": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831440", "variance": "COVARIANT"}, ".-1.140162580879104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580879104", "variance": "INVARIANT"}, "140162580879552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162580880000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580880448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140162580880896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580881344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580881792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580882240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162580882688": {"type": "Function", "typeVars": [".-1.140162580882688"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162580882688"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888384"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140162580882688": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580882688", "variance": "INVARIANT"}, "140162500888384": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580882688"}]}, "140162580883136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580883584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580884032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162580884480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580884928": {"type": "Function", "typeVars": [".-1.140162580884928"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580884928"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580884928": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580884928", "variance": "INVARIANT"}, "140162500888496": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580884928"}]}, "140162580885376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".1.140162525831440"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580885824": {"type": "Function", "typeVars": [".-1.140162580885824"], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": ".-1.140162580885824"}]}], "returnType": {"nodeId": "140162525831440", "args": [{"nodeId": "140162500888608"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162580885824": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580885824", "variance": "INVARIANT"}, "140162500888608": {"type": "Union", "items": [{"nodeId": ".1.140162525831440"}, {"nodeId": ".-1.140162580885824"}]}, "140162580886272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580886720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580887168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580887616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831440", "args": [{"nodeId": ".1.140162525831440"}]}, {"nodeId": "140162618242576", "args": [{"nodeId": "140162618234176"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162580888064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162525831776": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888512"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162580888960"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581020736"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581021184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162525831776"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": "140162526498368"}]}], "isAbstract": false}, "140162580888512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831776", "args": [{"nodeId": ".1.140162525831776"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525831776"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140162525831776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525831776", "variance": "INVARIANT"}, "140162580888960": {"type": "Function", "typeVars": [".-1.140162580888960"], "argTypes": [{"nodeId": ".-1.140162580888960"}], "returnType": {"nodeId": ".-1.140162580888960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162580888960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162580888960", "variance": "INVARIANT"}, "140162581020736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525831776", "args": [{"nodeId": ".1.140162525831776"}]}], "returnType": {"nodeId": "140162500888944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162500888944": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": ".1.140162525831776"}]}, "140162581021184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526498368": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": ".1.140162525831776"}]}, "140162539262288": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446641632"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446642080"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162446642304"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500886816"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581023872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581024320"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581024768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581025216"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581025664"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500888272"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027008"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162446641632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446642080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162446642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162500886816": {"type": "Overloaded", "items": [{"nodeId": "140162581022976"}, {"nodeId": "140162581023424"}]}, "140162581022976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581023424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162581023872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581024320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162581024768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581025216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581025664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500888272": {"type": "Overloaded", "items": [{"nodeId": "140162581026112"}, {"nodeId": "140162581026560"}]}, "140162581026112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162525837152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581026560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539262288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581027008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262288"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162539262624": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526506320"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526507216"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508000"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027456"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581027904"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581028352"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581028800"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581029248"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581029696"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581030144"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526506320": {"type": "Union", "items": [{"nodeId": "140162534569824"}, {"nodeId": "N"}]}, "140162534569824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526507216": {"type": "Union", "items": [{"nodeId": "140162534570048"}, {"nodeId": "N"}]}, "140162534570048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526508000": {"type": "Union", "items": [{"nodeId": "140162534561536"}, {"nodeId": "N"}]}, "140162534561536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581027456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162500889392"}, {"nodeId": "140162500889728"}, {"nodeId": "140162500890064"}, {"nodeId": "140162500890288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140162500889392": {"type": "Union", "items": [{"nodeId": "140162505797952"}, {"nodeId": "N"}]}, "140162505797952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500889728": {"type": "Union", "items": [{"nodeId": "140162505798400"}, {"nodeId": "N"}]}, "140162505798400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162500890064": {"type": "Union", "items": [{"nodeId": "140162505798624"}, {"nodeId": "N"}]}, "140162505798624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162500890288": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162581027904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505798176"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505798176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581028352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505797728"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505797728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162581028800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "140162505798848"}], "returnType": {"nodeId": "140162539262624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162505798848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581029248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}, {"nodeId": "140162500891072"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162500891072": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162581029696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162581030144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539262624"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162539262960": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162521913648": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581034176"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140162521913648"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__fspath__"]}, "140162581034176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521913648", "args": [{"nodeId": ".1.140162521913648"}]}], "returnType": {"nodeId": ".1.140162521913648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521913648": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521913648", "variance": "COVARIANT"}, "140162539263296": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581035072"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140162539263296"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__anext__"]}, "140162581035072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263296", "args": [{"nodeId": ".1.140162539263296"}]}], "returnType": {"nodeId": ".1.140162539263296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539263296": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, "def": "140162539263296", "variance": "COVARIANT"}, "140162618239552": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496491392"}}], "typeVars": [{"nodeId": ".1.140162618239552"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__await__"]}, "140162496491392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618239552"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140162618239552"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239552", "variance": "COVARIANT"}, "140162525832112": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500892304"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581141696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581142144"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525832112"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832112"}]}], "isAbstract": false}, "140162500892304": {"type": "Overloaded", "items": [{"nodeId": "140162581140352"}, {"nodeId": "140162581140800"}, {"nodeId": "140162581141248"}]}, "140162581140352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "N"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162500894656"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140162525832112": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832112", "variance": "INVARIANT"}, "140162500894656": {"type": "Union", "items": [{"nodeId": ".1.140162525832112"}, {"nodeId": "N"}]}, "140162581140800": {"type": "Function", "typeVars": [".-1.140162581140800"], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "140162505799744"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581140800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505799744": {"type": "Function", "typeVars": [".-1.140162505799744"], "argTypes": [{"nodeId": ".-1.140162505799744"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162505799744": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162505799744", "variance": "INVARIANT"}, ".-1.140162581140800": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581140800", "variance": "INVARIANT"}, "140162581141248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}, {"nodeId": "140162505799520"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162525832112"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162505799520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140162525832112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162581141696": {"type": "Function", "typeVars": [".-1.140162581141696"], "argTypes": [{"nodeId": ".-1.140162581141696"}], "returnType": {"nodeId": ".-1.140162581141696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162581141696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581141696", "variance": "INVARIANT"}, "140162581142144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832112", "args": [{"nodeId": ".1.140162525832112"}]}], "returnType": {"nodeId": ".1.140162525832112"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539263632": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581148864"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162539263632"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__"]}, "140162581148864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263632", "args": [{"nodeId": ".1.140162539263632"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162539263632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162539263632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263632", "variance": "COVARIANT"}, "140162525832448": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162500894768"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581303744"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581304192"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525832448"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832448"}]}], "isAbstract": false}, "140162500894768": {"type": "Overloaded", "items": [{"nodeId": "140162581301056"}, {"nodeId": "140162581301504"}, {"nodeId": "140162581301952"}, {"nodeId": "140162581302400"}, {"nodeId": "140162581302848"}, {"nodeId": "140162581303296"}]}, "140162581301056": {"type": "Function", "typeVars": [".-1.140162581301056"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050880"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140162525832448": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832448", "variance": "INVARIANT"}, "140162501050880": {"type": "Function", "typeVars": [".-1.140162501050880"], "argTypes": [{"nodeId": ".-1.140162501050880"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162501050880": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050880", "variance": "INVARIANT"}, ".-1.140162581301056": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301056", "variance": "INVARIANT"}, "140162581301504": {"type": "Function", "typeVars": [".-1.140162581301504", ".-2.140162581301504"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050656"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301504"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581301504"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162501050656": {"type": "Function", "typeVars": [".-1.140162501050656", ".-2.140162501050656"], "argTypes": [{"nodeId": ".-1.140162501050656"}, {"nodeId": ".-2.140162501050656"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162501050656": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050656", "variance": "INVARIANT"}, ".-2.140162501050656": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050656", "variance": "INVARIANT"}, ".-1.140162581301504": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301504", "variance": "INVARIANT"}, ".-2.140162581301504": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301504", "variance": "INVARIANT"}, "140162581301952": {"type": "Function", "typeVars": [".-1.140162581301952", ".-2.140162581301952", ".-3.140162581301952"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501050432"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581301952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581301952"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581301952"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140162501050432": {"type": "Function", "typeVars": [".-1.140162501050432", ".-2.140162501050432", ".-3.140162501050432"], "argTypes": [{"nodeId": ".-1.140162501050432"}, {"nodeId": ".-2.140162501050432"}, {"nodeId": ".-3.140162501050432"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140162501050432": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-2.140162501050432": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-3.140162501050432": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501050432", "variance": "INVARIANT"}, ".-1.140162581301952": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, ".-2.140162581301952": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, ".-3.140162581301952": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581301952", "variance": "INVARIANT"}, "140162581302400": {"type": "Function", "typeVars": [".-1.140162581302400", ".-2.140162581302400", ".-3.140162581302400", ".-4.140162581302400"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051104"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581302400"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162581302400"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162501051104": {"type": "Function", "typeVars": [".-1.140162501051104", ".-2.140162501051104", ".-3.140162501051104", ".-4.140162501051104"], "argTypes": [{"nodeId": ".-1.140162501051104"}, {"nodeId": ".-2.140162501051104"}, {"nodeId": ".-3.140162501051104"}, {"nodeId": ".-4.140162501051104"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140162501051104": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-2.140162501051104": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-3.140162501051104": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-4.140162501051104": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051104", "variance": "INVARIANT"}, ".-1.140162581302400": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-2.140162581302400": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-3.140162581302400": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, ".-4.140162581302400": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302400", "variance": "INVARIANT"}, "140162581302848": {"type": "Function", "typeVars": [".-1.140162581302848", ".-2.140162581302848", ".-3.140162581302848", ".-4.140162581302848", ".-5.140162581302848"], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051328"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162581302848"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-5.140162581302848"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140162501051328": {"type": "Function", "typeVars": [".-1.140162501051328", ".-2.140162501051328", ".-3.140162501051328", ".-4.140162501051328", ".-5.140162501051328"], "argTypes": [{"nodeId": ".-1.140162501051328"}, {"nodeId": ".-2.140162501051328"}, {"nodeId": ".-3.140162501051328"}, {"nodeId": ".-4.140162501051328"}, {"nodeId": ".-5.140162501051328"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140162501051328": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-2.140162501051328": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-3.140162501051328": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-4.140162501051328": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-5.140162501051328": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501051328", "variance": "INVARIANT"}, ".-1.140162581302848": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-2.140162581302848": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-3.140162581302848": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-4.140162581302848": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, ".-5.140162581302848": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581302848", "variance": "INVARIANT"}, "140162581303296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}, {"nodeId": "140162501051552"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140162501051552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162581303744": {"type": "Function", "typeVars": [".-1.140162581303744"], "argTypes": [{"nodeId": ".-1.140162581303744"}], "returnType": {"nodeId": ".-1.140162581303744"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162581303744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162581303744", "variance": "INVARIANT"}, "140162581304192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832448", "args": [{"nodeId": ".1.140162525832448"}]}], "returnType": {"nodeId": ".1.140162525832448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162521913984": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162581314944"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140162521913984"}], "bases": [{"nodeId": "140162526754656", "args": [{"nodeId": ".1.140162521913984"}]}], "protocolMembers": ["flush", "write"]}, "140162581314944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521913984", "args": [{"nodeId": ".1.140162521913984"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521913984": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521913984", "variance": "CONTRAVARIANT"}, "140162539263968": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576253888"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539263968"}, {"nodeId": ".2.140162539263968"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576253888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539263968", "args": [{"nodeId": ".1.140162539263968"}, {"nodeId": ".2.140162539263968"}]}, {"nodeId": ".1.140162539263968"}], "returnType": {"nodeId": ".2.140162539263968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162539263968": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263968", "variance": "CONTRAVARIANT"}, ".2.140162539263968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539263968", "variance": "COVARIANT"}, "140162539264304": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576254336"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539264304"}, {"nodeId": ".2.140162539264304"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576254336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264304", "args": [{"nodeId": ".1.140162539264304"}, {"nodeId": ".2.140162539264304"}]}, {"nodeId": ".1.140162539264304"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140162539264304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140162539264304": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264304", "variance": "CONTRAVARIANT"}, ".2.140162539264304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264304", "variance": "COVARIANT"}, "140162539264640": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576254784"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}, {"nodeId": ".3.140162539264640"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__pow__"]}, "140162576254784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264640", "args": [{"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}, {"nodeId": ".3.140162539264640"}]}, {"nodeId": ".1.140162539264640"}, {"nodeId": ".2.140162539264640"}], "returnType": {"nodeId": ".3.140162539264640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162539264640": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "CONTRAVARIANT"}, ".2.140162539264640": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "CONTRAVARIANT"}, ".3.140162539264640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264640", "variance": "COVARIANT"}, "140162525832784": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162501136048"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576450496"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576450944"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576451392"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140162525832784"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525832784"}]}], "isAbstract": false}, "140162501136048": {"type": "Overloaded", "items": [{"nodeId": "140162576449600"}, {"nodeId": "140162576450048"}]}, "140162576449600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}, {"nodeId": "140162618238880", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162525832784": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525832784", "variance": "INVARIANT"}, "140162576450048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}, {"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526751296": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593122208"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593122656"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526751296"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__getitem__", "__len__"]}, "140162593122208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162526751296"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526751296": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751296", "variance": "COVARIANT"}, "140162593122656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751296", "args": [{"nodeId": ".1.140162526751296"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526751296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162576450496": {"type": "Function", "typeVars": [".-1.140162576450496"], "argTypes": [{"nodeId": ".-1.140162576450496"}], "returnType": {"nodeId": ".-1.140162576450496"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162576450496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576450496", "variance": "INVARIANT"}, "140162576450944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": ".1.140162525832784"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162576451392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525832784", "args": [{"nodeId": ".1.140162525832784"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539264976": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576452288"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162539264976"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162576452288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539264976", "args": [{"nodeId": ".1.140162539264976"}]}], "returnType": {"nodeId": ".1.140162539264976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162539264976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539264976", "variance": "COVARIANT"}, "140162539265312": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576452736"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162539265312"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162576452736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539265312", "args": [{"nodeId": ".1.140162539265312"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162539265312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162539265312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539265312", "variance": "COVARIANT"}, "140162521914320": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526748608", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140162526748944", "args": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140162526748608": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593118624"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140162526748608"}, {"nodeId": ".2.140162526748608"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__add__"]}, "140162593118624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526748608", "args": [{"nodeId": ".1.140162526748608"}, {"nodeId": ".2.140162526748608"}]}, {"nodeId": ".1.140162526748608"}], "returnType": {"nodeId": ".2.140162526748608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526748608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748608", "variance": "CONTRAVARIANT"}, ".2.140162526748608": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748608", "variance": "COVARIANT"}, "140162526748944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119072"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140162526748944"}, {"nodeId": ".2.140162526748944"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__radd__"]}, "140162593119072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526748944", "args": [{"nodeId": ".1.140162526748944"}, {"nodeId": ".2.140162526748944"}]}, {"nodeId": ".1.140162526748944"}], "returnType": {"nodeId": ".2.140162526748944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526748944": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748944", "variance": "CONTRAVARIANT"}, ".2.140162526748944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526748944", "variance": "COVARIANT"}, "140162525833120": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162501138176"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576463936"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576464384"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162525833120"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162525833120"}]}], "isAbstract": false}, "140162501138176": {"type": "Overloaded", "items": [{"nodeId": "140162576458560"}, {"nodeId": "140162576459008"}, {"nodeId": "140162576459456"}, {"nodeId": "140162576459904"}, {"nodeId": "140162576460352"}, {"nodeId": "140162576460800"}]}, "140162576458560": {"type": "Function", "typeVars": [".-1.140162576458560"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576458560"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140162576458560": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576458560", "variance": "INVARIANT"}, "140162501140304": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576458560"}]}, "140162576459008": {"type": "Function", "typeVars": [".-1.140162576459008", ".-2.140162576459008"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459008"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459008"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140528"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140162576459008": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459008", "variance": "INVARIANT"}, ".-2.140162576459008": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459008", "variance": "INVARIANT"}, "140162501140528": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459008"}, {"nodeId": ".-2.140162576459008"}]}, "140162576459456": {"type": "Function", "typeVars": [".-1.140162576459456", ".-2.140162576459456", ".-3.140162576459456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459456"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576459456"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140162576459456": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, ".-2.140162576459456": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, ".-3.140162576459456": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459456", "variance": "INVARIANT"}, "140162501140752": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459456"}, {"nodeId": ".-2.140162576459456"}, {"nodeId": ".-3.140162576459456"}]}, "140162576459904": {"type": "Function", "typeVars": [".-1.140162576459904", ".-2.140162576459904", ".-3.140162576459904", ".-4.140162576459904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576459904"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162576459904"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501140976"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140162576459904": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-2.140162576459904": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-3.140162576459904": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, ".-4.140162576459904": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576459904", "variance": "INVARIANT"}, "140162501140976": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576459904"}, {"nodeId": ".-2.140162576459904"}, {"nodeId": ".-3.140162576459904"}, {"nodeId": ".-4.140162576459904"}]}, "140162576460352": {"type": "Function", "typeVars": [".-1.140162576460352", ".-2.140162576460352", ".-3.140162576460352", ".-4.140162576460352", ".-5.140162576460352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-1.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-2.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-3.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-4.140162576460352"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": ".-5.140162576460352"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162501141200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140162576460352": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-2.140162576460352": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-3.140162576460352": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-4.140162576460352": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, ".-5.140162576460352": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576460352", "variance": "INVARIANT"}, "140162501141200": {"type": "Tuple", "items": [{"nodeId": ".-1.140162576460352"}, {"nodeId": ".-2.140162576460352"}, {"nodeId": ".-3.140162576460352"}, {"nodeId": ".-4.140162576460352"}, {"nodeId": ".-5.140162576460352"}]}, "140162576460800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525833120", "args": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140162576463936": {"type": "Function", "typeVars": [".-1.140162576463936"], "argTypes": [{"nodeId": ".-1.140162576463936"}], "returnType": {"nodeId": ".-1.140162576463936"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162576463936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162576463936", "variance": "INVARIANT"}, "140162576464384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525833120", "args": [{"nodeId": ".1.140162525833120"}]}], "returnType": {"nodeId": ".1.140162525833120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162525833120": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525833120", "variance": "COVARIANT"}, "140162539265648": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539266320": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539266656": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539266992": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509904"}}], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162526509904": {"type": "TypeAlias", "target": {"nodeId": "140162526136128"}}, "140162526136128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539267328": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539265984"}], "isAbstract": false}, "140162539267664": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268000": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268336": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539268672": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539269008": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648000"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234176"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162576648000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539269008"}, {"nodeId": "140162618234176"}, {"nodeId": "140162501143440"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140162501143440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539269344": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539269680": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539270016": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648448"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509232"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526509792"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162576648448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539270016"}, {"nodeId": "140162618234176"}, {"nodeId": "140162501143552"}, {"nodeId": "140162501143664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140162501143552": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162501143664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526509232": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526509792": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539270352": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539270688": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271024": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271360": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539271696": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539272032": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539272368": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539120320"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510016"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508112"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510128"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508448"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539111472"}}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539120320": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526510016": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526508112": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526510128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526508448": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539111472": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162539272704": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273040": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273376": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539273712": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176000": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176336": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268336"}], "isAbstract": false}, "140162539176672": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270016"}], "isAbstract": false}, "140162539177008": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270352"}], "isAbstract": false}, "140162539177344": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539270352"}], "isAbstract": false}, "140162539177680": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271024"}], "isAbstract": false}, "140162539178016": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539178352": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539178688": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539179024": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539179360": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539179696": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539180032": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539178688"}], "isAbstract": false}, "140162539180368": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539180704": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181040": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181376": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539181712": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182048": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182384": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539182720": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}], "isAbstract": false}, "140162539183056": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271696"}], "isAbstract": false}, "140162539183392": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539271696"}], "isAbstract": false}, "140162539183728": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539272368"}], "isAbstract": false}, "140162539184064": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539183728"}], "isAbstract": false}, "140162539184400": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539273376"}], "isAbstract": false}, "140162539184736": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576648896"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576648896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539184736"}, {"nodeId": "140162539260272"}, {"nodeId": "140162501143776"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162501143776": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162539185072": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576649344"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576649344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539185072"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140162539185408": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162576649792"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539184400"}], "isAbstract": false}, "140162576649792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539185408"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140162539185744": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539186080": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539186416": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539186752": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187088": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187424": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539187760": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188096": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188432": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539188768": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539189104": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162539189440": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539185744"}], "isAbstract": false}, "140162534551088": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434464"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434016"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476433344"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476434240"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162476434464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162476434016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162476433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162476434240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551088"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534551424": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476432448"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476432000"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476431776"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476431104"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509352720"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476431552"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430880"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430656"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476430432"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140162476432448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476432000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476431776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534551424"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476431104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140162509352720": {"type": "Overloaded", "items": [{"nodeId": "140162601513280"}, {"nodeId": "140162601513728"}, {"nodeId": "140162601514176"}, {"nodeId": "140162601514624"}, {"nodeId": "140162601515072"}, {"nodeId": "140162601515520"}, {"nodeId": "140162601515968"}]}, "140162601513280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355296"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509355408"}, {"nodeId": "140162509355520"}, {"nodeId": "140162509355632"}], "returnType": {"nodeId": "140162534543360"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355296": {"type": "TypeAlias", "target": {"nodeId": "140162534704736"}}, "140162509355408": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509355520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509355632": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162601513728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355184"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541008"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355184": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162601514176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509355968"}, {"nodeId": "140162509356304"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542352"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509355968": {"type": "TypeAlias", "target": {"nodeId": "140162543168064"}}, "140162509356304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601514624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509356416"}, {"nodeId": "140162509356752"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534542016"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509356416": {"type": "TypeAlias", "target": {"nodeId": "140162543164144"}}, "140162509356752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601515072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509356864"}, {"nodeId": "140162509555184"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509356864": {"type": "TypeAlias", "target": {"nodeId": "140162543171536"}}, "140162509555184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140162601515520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509553952"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140162525827744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509553952": {"type": "TypeAlias", "target": {"nodeId": "140162543164256"}}, "140162601515968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509554176"}, {"nodeId": "140162509555296"}, {"nodeId": "140162509555520"}], "returnType": {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140162509554176": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509555296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509555520": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162476431552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476430880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162476430656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162476430432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551424"}, {"nodeId": "140162509554400"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140162509554400": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162534551760": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476429312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577073984"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577074432"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577074880"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577075328"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140162534551088"}], "isAbstract": true}, "140162476429312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}], "returnType": {"nodeId": "140162534551424"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162577073984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162534541680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162577074432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140162577074880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140162577075328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534551760"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534544704": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476027776"}}], "typeVars": [], "bases": [{"nodeId": "140162539176672"}], "isAbstract": false}, "140162476027776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544704"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162534545376": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577078464"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023968"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023296"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476023744"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530668080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162577080256"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140162534545040"}], "isAbstract": false}, "140162526130720": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488354176"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488354624"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488355520"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488355744"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513808160"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513809392"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513810176"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513810624"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513811072"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513811520"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513812192"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513812640"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563829856"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563830304"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563830752"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526130720"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162488354176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526130720": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526130720", "variance": "INVARIANT"}, "140162488354624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488355520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488355744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": ".1.140162526130720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513808160": {"type": "Overloaded", "items": [{"nodeId": "140162563822688"}, {"nodeId": "140162538806784"}]}, "140162563822688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810288": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162526130384": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488411616"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488409600"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488408704"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488408032"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488407360"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488406688"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513767888"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513805584"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513806368"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513806592"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551135392"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551135840"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563817760"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488406016"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513807712"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563819552"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563820000"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563820448"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526130384"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162488411616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526130384": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526130384", "variance": "INVARIANT"}, "140162488409600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488408704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162513806144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513806144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162488408032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162513806256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513806256": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162488407360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162488406688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513767888": {"type": "Overloaded", "items": [{"nodeId": "140162551131360"}, {"nodeId": "140162538801856"}]}, "140162551131360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140162538801856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513806480"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140162513806480": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513805584": {"type": "Overloaded", "items": [{"nodeId": "140162551132256"}, {"nodeId": "140162551132704"}, {"nodeId": "140162551133152"}]}, "140162551132256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162551132704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513806816"}], "returnType": {"nodeId": "140162513807040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162513806816": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807040": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551133152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513807152"}, {"nodeId": "140162513807264"}, {"nodeId": "140162513807376"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513807600"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140162513807152": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807376": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162513807600": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162513806368": {"type": "Overloaded", "items": [{"nodeId": "140162551133600"}, {"nodeId": "140162551134048"}]}, "140162551133600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513807936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513807936": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551134048": {"type": "Function", "typeVars": [".-1.140162551134048"], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": ".-1.140162551134048"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513808048"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140162551134048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551134048", "variance": "INVARIANT"}, "140162513808048": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": ".-1.140162551134048"}]}, "140162513806592": {"type": "Overloaded", "items": [{"nodeId": "140162551134496"}, {"nodeId": "140162551134944"}]}, "140162551134496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162513808384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513808384": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162551134944": {"type": "Function", "typeVars": [".-1.140162551134944"], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": ".-1.140162551134944"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162513808496"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140162551134944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551134944", "variance": "INVARIANT"}, "140162513808496": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": ".-1.140162551134944"}]}, "140162551135392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808608"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808608": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162551135840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808720": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162563817760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513808832"}], "returnType": {"nodeId": "140162513809056"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162513808832": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162513809056": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162488406016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "140162513809280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513809280": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162513807712": {"type": "Overloaded", "items": [{"nodeId": "140162563818656"}, {"nodeId": "140162563819104"}]}, "140162563818656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140162526130384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563819104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "140162513809616"}], "returnType": {"nodeId": "140162513809840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513809616": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162513809840": {"type": "Union", "items": [{"nodeId": ".1.140162526130384"}, {"nodeId": "A"}]}, "140162563819552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}], "returnType": {"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563820000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526130384", "args": [{"nodeId": ".1.140162526130384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563820448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162538806784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513810400"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810400": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513810512": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513809392": {"type": "Overloaded", "items": [{"nodeId": "140162563823584"}, {"nodeId": "140162538812160"}]}, "140162563823584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810736"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810736": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162538812160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513810848"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513810960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513810848": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513810960": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513810176": {"type": "Overloaded", "items": [{"nodeId": "140162563824480"}, {"nodeId": "140162538809024"}]}, "140162563824480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513811184"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513811184": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162538809024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513811296"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513811408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513811296": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513811408": {"type": "Union", "items": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "N"}]}, "140162513810624": {"type": "Overloaded", "items": [{"nodeId": "140162563825376"}, {"nodeId": "140162538812608"}]}, "140162563825376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162513811744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140162513811744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162538812608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513811856"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162513812080"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140162513811856": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812080": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "A"}]}, "140162513811072": {"type": "Overloaded", "items": [{"nodeId": "140162563826272"}, {"nodeId": "140162538813952"}]}, "140162563826272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162538813952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513812416"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513812416": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513811520": {"type": "Overloaded", "items": [{"nodeId": "140162563827168"}, {"nodeId": "140162538802528"}]}, "140162563827168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162538802528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513812752"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140162513812752": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812192": {"type": "Overloaded", "items": [{"nodeId": "140162563828064"}, {"nodeId": "140162538811040"}]}, "140162563828064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513812976"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513812976": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162538814624"}]}, "140162538814624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162538811040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513813200"}, {"nodeId": "140162513928256"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513813200": {"type": "Union", "items": [{"nodeId": "140162513813088"}, {"nodeId": "140162538811488"}]}, "140162513813088": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162538811488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "140162513813312"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513813312": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513928256": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513812640": {"type": "Overloaded", "items": [{"nodeId": "140162563828960"}, {"nodeId": "140162538809696"}]}, "140162563828960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513928480"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513928704"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513928480": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162538813504"}]}, "140162538813504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513928704": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162538809696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513928928"}, {"nodeId": "140162513929152"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162513929376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140162513928928": {"type": "Union", "items": [{"nodeId": "140162513928816"}, {"nodeId": "140162538814400"}]}, "140162513928816": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162538814400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130384", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "140162513929040"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162513929040": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513929152": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162513929376": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162563829856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563830304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526130720", "args": [{"nodeId": ".1.140162526130720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162563830752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162577078464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344656": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344880"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344880": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509344992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509344992": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162476023744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509345104"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509345104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530668080": {"type": "Union", "items": [{"nodeId": "140162534546720"}, {"nodeId": "N"}]}, "140162577080256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509345216"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162509345216": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162534545040": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530667072"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530669312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530468448"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530469120"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530467552"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530467776"}}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162530667072": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530669312": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140162530468448": {"type": "Function", "typeVars": [".-1.140162530468448"], "argTypes": [{"nodeId": ".-1.140162530468448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530468448"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140162530468448": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530468448", "variance": "INVARIANT"}, "140162530669536": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162530469120": {"type": "Function", "typeVars": [".-1.140162530469120"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530469120"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140162530469120": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530469120", "variance": "INVARIANT"}, "140162530467552": {"type": "Function", "typeVars": [".-1.140162530467552"], "argTypes": [{"nodeId": ".-1.140162530467552"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140162530467552": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530467552", "variance": "INVARIANT"}, "140162530467776": {"type": "Function", "typeVars": [".-1.140162530467776"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162530467776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140162530467776": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140162530669536"}, "def": "140162530467776", "variance": "INVARIANT"}, "140162534546048": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162476016352"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162476015904"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475998368"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509343984"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162534545712"}]}], "isAbstract": false}, "140162476016352": {"type": "Function", "typeVars": [".-1.140162476016352"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162509345440"}]}], "returnType": {"nodeId": ".-1.140162476016352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140162509345440": {"type": "TypeAlias", "target": {"nodeId": "140162522108464"}}, ".-1.140162476016352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162476016352", "variance": "INVARIANT"}, "140162476015904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162475998368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}], "returnType": {"nodeId": "140162525831104", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509343984": {"type": "Overloaded", "items": [{"nodeId": "140162577083840"}, {"nodeId": "140162577084288"}]}, "140162577083840": {"type": "Function", "typeVars": [".-1.140162577083840"], "argTypes": [{"nodeId": ".-1.140162577083840"}], "returnType": {"nodeId": ".-1.140162577083840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162577083840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162577083840", "variance": "INVARIANT"}, "140162577084288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534546048"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162534545712"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140162521920368": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140162521920704"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475992992"}}], "typeVars": [], "bases": [{"nodeId": "140162534550080"}], "isAbstract": true}, "140162475992992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521920368"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534546720"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140162521921040": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162475990752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606553280"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140162521920368"}], "isAbstract": false}, "140162475990752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162521920704"}], "returnType": {"nodeId": "140162618238208", "args": [{"nodeId": "140162534547056"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140162606553280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521921040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140162526125680": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606560672"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["find_spec"]}, "140162606560672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125680"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513459952"}, {"nodeId": "140162513460064"}], "returnType": {"nodeId": "140162513460176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140162513459952": {"type": "Union", "items": [{"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162513460064": {"type": "Union", "items": [{"nodeId": "140162526119632"}, {"nodeId": "N"}]}, "140162513460176": {"type": "Union", "items": [{"nodeId": "140162534547392"}, {"nodeId": "N"}]}, "140162521914656": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492641376"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642272"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642496"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642720"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492642944"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643168"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643392"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643616"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492643840"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644064"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644288"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644512"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644736"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492644960"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492694592"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492695264"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162492641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460400"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460400": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460512"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460512": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460624"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460624": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460736"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460736": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492642944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460848"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460848": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513460960"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513460960": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461072"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461072": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461184"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461184": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492643840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461296"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461296": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461408"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461408": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461520"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461520": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461632"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461632": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461744"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461744": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492644960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461856"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461856": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492694592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513461968"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513461968": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492695264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462080"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462080": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162526754992": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589443232"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140162526754992"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589443232": {"type": "Function", "typeVars": [".-1.140162589443232"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": ".1.140162526754992"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162589443232"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140162526754992": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754992", "variance": "COVARIANT"}, ".-1.140162589443232": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162589443232", "variance": "INVARIANT"}, "140162521914992": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492696384"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492696832"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697056"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697280"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697504"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697728"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492697952"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698176"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698400"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698624"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492698848"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492696384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462192"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462192": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492696832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462304"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462304": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462416"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462416": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462528"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462528": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462640"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462640": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462752"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462752": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462864"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462864": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513462976"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513462976": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463088"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463088": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463200"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463200": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492698848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463312"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463312": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521915328": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700192"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700416"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700640"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492700864"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701088"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701312"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701536"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701760"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492701984"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162521993552"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463424"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463424": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463536"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463536": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463648"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463648": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492700864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463760"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463760": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463872"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463872": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513463984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513463984": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464096"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464096": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464208"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464208": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492701984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464320"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464320": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521993552": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140162539258592"}]}, "140162526126016": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521992320"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162588866848"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162521992320": {"type": "TypeAlias", "target": {"nodeId": "140162522321120"}}, "140162522321120": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162588866848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126016"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162521915664": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704000"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704224"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704448"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704672"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162492704000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464544"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464544": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464656"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464656": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464768"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464768": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162492704672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464880"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464880": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521916000": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492704896"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706016"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706240"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706464"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492706688"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162492704896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513464992"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513464992": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465104"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465104": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465216"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465216": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465328"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465328": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162492706688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513465440"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513465440": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526126352": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522324144"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521998032"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521998256"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526139040"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522324144": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162521998032": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162521998256": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526139040": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162521916336": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492709600"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492710048"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162526139264"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162522108688"}]}], "isAbstract": false}, "140162492709600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513468016"}], "returnType": {"nodeId": "140162513468128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513468016": {"type": "Tuple", "items": [{"nodeId": "140162521990640"}, {"nodeId": "140162521995008"}]}, "140162521990640": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162526140272": {"type": "Union", "items": [{"nodeId": "140162542940480"}, {"nodeId": "N"}]}, "140162542940480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162618240896": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572255744"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496567264"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522442752"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572257536"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496566816"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568160"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568384"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496568608"}}], "typeVars": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}], "bases": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240896"}]}], "isAbstract": true}, "140162572255744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240896": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240896", "variance": "COVARIANT"}, ".2.140162618240896": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240896", "variance": "CONTRAVARIANT"}, "140162496567264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": ".2.140162618240896"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522442752": {"type": "Overloaded", "items": [{"nodeId": "140162572256640"}, {"nodeId": "140162572257088"}]}, "140162572256640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": "0"}, {"nodeId": "140162522444544"}, {"nodeId": "140162522444656"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444544": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522444656": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572257088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522444768"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444768": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572257536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496566816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496568608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162618240896"}, {"nodeId": ".2.140162618240896"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618240560": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496565024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572255296"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140162618240560"}], "bases": [{"nodeId": "140162618240224", "args": [{"nodeId": ".1.140162618240560"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140162496565024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162618240560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240560": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240560", "variance": "COVARIANT"}, "140162572255296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240560"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618240224": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496562336"}}], "typeVars": [{"nodeId": ".1.140162618240224"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aiter__"]}, "140162496562336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240224", "args": [{"nodeId": ".1.140162618240224"}]}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162618240224"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618240224": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618240224", "variance": "COVARIANT"}, "140162521995008": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162513468128": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162492710048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162513468240"}], "returnType": {"nodeId": "140162513468352"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513468240": {"type": "Tuple", "items": [{"nodeId": "140162521990640"}, {"nodeId": "140162521995008"}]}, "140162513468352": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162526139264": {"type": "TypeAlias", "target": {"nodeId": "140162526140272"}}, "140162522108688": {"type": "Union", "items": [{"nodeId": "140162501057600"}, {"nodeId": "N"}]}, "140162501057600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618240896", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526117952": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501652576"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510240"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497061472"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496753088"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589244800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597584960"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522667200"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162501652576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162522669664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522669664": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162526510240": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162497061472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496753088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162589244800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "140162526118288"}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "140162522670112"}, {"nodeId": "140162522670224"}, {"nodeId": "140162522670336"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140162522670112": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522670224": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}, {"nodeId": "N"}]}, "140162522670336": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162597584960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162522667200": {"type": "Overloaded", "items": [{"nodeId": "140162597585408"}, {"nodeId": "140162597585856"}]}, "140162597585408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "N"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162526117952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140162597585856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526117952"}, {"nodeId": "140162618234176"}, {"nodeId": "140162522670896"}], "returnType": {"nodeId": "140162526121312"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162522670896": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162526121312": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497459392"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497459840"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460064"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460288"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460512"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497460736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597326848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597327296"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497459392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162522676160"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522676160": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162525838832"}]}, {"nodeId": "N"}]}, "140162497459840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162522676384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522676384": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162497460064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162526120976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526120976": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597323712"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162597323712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120976"}, {"nodeId": "140162522675936"}, {"nodeId": "140162522676048"}], "returnType": {"nodeId": "140162526117952"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140162522675936": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "N"}]}, "140162522676048": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162497460288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497460512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162497460736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597326848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}, {"nodeId": "140162534558624"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162534558624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162597327296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121312"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162526118960": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597555776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597556224"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597556672"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597557120"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162597555776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140162597556224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597556672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162597557120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526118960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526119968": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497448864"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597560256"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597560704"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597561152"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522667872"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}], "bases": [{"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "isAbstract": false}, "140162497448864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": "140162522672800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526119968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "COVARIANT"}, ".2.140162526119968": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "CONTRAVARIANT"}, ".3.140162526119968": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526119968", "variance": "COVARIANT"}, "140162522672800": {"type": "Union", "items": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162597560256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162597560704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597561152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": ".2.140162526119968"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522667872": {"type": "Overloaded", "items": [{"nodeId": "140162597561600"}, {"nodeId": "140162597562048"}]}, "140162597561600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": "0"}, {"nodeId": "140162522673024"}, {"nodeId": "140162522673136"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522673024": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522673136": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597562048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526119968", "args": [{"nodeId": ".1.140162526119968"}, {"nodeId": ".2.140162526119968"}, {"nodeId": ".3.140162526119968"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522673248"}], "returnType": {"nodeId": ".1.140162526119968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522673248": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526120304": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497452672"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597562944"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597563392"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597563840"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522670784"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597565184"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597565632"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}], "bases": [{"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "isAbstract": false}, "140162497452672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162522673472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526120304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120304", "variance": "COVARIANT"}, ".2.140162526120304": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120304", "variance": "CONTRAVARIANT"}, "140162522673472": {"type": "Union", "items": [{"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162597562944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597563392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618239888": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496493856"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494080"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494304"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162496494528"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496494752"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522442640"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496494976"}}], "typeVars": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}], "bases": [{"nodeId": "140162618239552", "args": [{"nodeId": ".3.140162618239888"}]}], "isAbstract": true}, "140162496493856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162522443872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618239888": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "COVARIANT"}, ".2.140162618239888": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "CONTRAVARIANT"}, ".3.140162618239888": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618239888", "variance": "COVARIANT"}, "140162522443872": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162496494080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162526118288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162526123664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162496494752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": ".2.140162618239888"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522442640": {"type": "Overloaded", "items": [{"nodeId": "140162572105344"}, {"nodeId": "140162572105792"}]}, "140162572105344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": "0"}, {"nodeId": "140162522444096"}, {"nodeId": "140162522444208"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444096": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522444208": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162572105792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522444320"}], "returnType": {"nodeId": ".1.140162618239888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522444320": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162496494976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162618239888"}, {"nodeId": ".2.140162618239888"}, {"nodeId": ".3.140162618239888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597563840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": ".2.140162526120304"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522670784": {"type": "Overloaded", "items": [{"nodeId": "140162534560416"}, {"nodeId": "140162597564288"}]}, "140162534560416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": "0"}, {"nodeId": "140162522674144"}, {"nodeId": "140162522674256"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522674144": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522674256": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597564288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522674480"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526120304"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522674480": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597565184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120304", "args": [{"nodeId": ".1.140162526120304"}, {"nodeId": ".2.140162526120304"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597565632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140162526120640": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497456032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597566976"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597567424"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597567872"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522674368"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}], "bases": [{"nodeId": "140162618239888", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "isAbstract": false}, "140162497456032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "140162522675264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526120640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "COVARIANT"}, ".2.140162526120640": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "CONTRAVARIANT"}, ".3.140162526120640": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526120640", "variance": "COVARIANT"}, "140162522675264": {"type": "Union", "items": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162522675152"}]}, {"nodeId": "N"}]}, "140162522675152": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162597566976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597567424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140162526120640"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597567872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": ".2.140162526120640"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162522674368": {"type": "Overloaded", "items": [{"nodeId": "140162597322816"}, {"nodeId": "140162597323264"}]}, "140162597322816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": "0"}, {"nodeId": "140162522675600"}, {"nodeId": "140162522675712"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522675600": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "140162618234176"}]}, "140162522675712": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162597323264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526120640", "args": [{"nodeId": ".1.140162526120640"}, {"nodeId": ".2.140162526120640"}, {"nodeId": ".3.140162526120640"}]}, {"nodeId": "140162539265984"}, {"nodeId": "N"}, {"nodeId": "140162522675824"}], "returnType": {"nodeId": ".1.140162526120640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140162522675824": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526121648": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162497461408"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492350752"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492350976"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597329088"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162497461408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162522677056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522677056": {"type": "Union", "items": [{"nodeId": "140162618234176"}, {"nodeId": "140162526119632"}]}, "140162492350752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492350976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597329088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121648"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162526121984": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352096"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352768"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492352992"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597330880"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597331328"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492352096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492352768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492352992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597330880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597331328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526121984"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162526122320": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354112"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354560"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492354784"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492355008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597333568"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597334016"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597334464"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492354112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492354560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492354784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492355008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597333568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597334016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162597334464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122320"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526122656": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357024"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357472"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492357696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597336256"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597336704"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492357024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492357472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492357696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597336256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162597336704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122656"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162526122992": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492358816"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492359264"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492359488"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162597338496"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593259584"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492358816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492359264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492359488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162597338496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162593259584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526122992"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140162526124000": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365312"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365536"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492365760"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593266752"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593267200"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593267648"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492365312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492365536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492365760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593266752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593267200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162593267648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124000"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526124336": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492432672"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492433120"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162492433344"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593269440"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593269888"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593270336"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162492432672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492433120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162492433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}], "returnType": {"nodeId": "140162539257920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593269440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140162593269888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162593270336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526124336"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162526125008": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593113024"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162593113024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526125008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526745920": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593115488"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162593115488": {"type": "Function", "typeVars": [".-1.140162593115488"], "argTypes": [{"nodeId": "140162526745920"}, {"nodeId": ".-1.140162593115488"}], "returnType": {"nodeId": ".-1.140162593115488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162593115488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593115488", "variance": "INVARIANT"}, "140162526746256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593115936"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140162526746256"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__next__"]}, "140162593115936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746256", "args": [{"nodeId": ".1.140162526746256"}]}], "returnType": {"nodeId": ".1.140162526746256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526746256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746256", "variance": "COVARIANT"}, "140162526746592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593116384"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140162526746592"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__anext__"]}, "140162593116384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526746592", "args": [{"nodeId": ".1.140162526746592"}]}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".1.140162526746592"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526746592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526746592", "variance": "COVARIANT"}, "140162526747600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593117728"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140162526747600"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__le__"]}, "140162593117728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747600", "args": [{"nodeId": ".1.140162526747600"}]}, {"nodeId": ".1.140162526747600"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747600": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747600", "variance": "CONTRAVARIANT"}, "140162526747936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593118176"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140162526747936"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__ge__"]}, "140162593118176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526747936", "args": [{"nodeId": ".1.140162526747936"}]}, {"nodeId": ".1.140162526747936"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526747936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526747936", "variance": "CONTRAVARIANT"}, "140162526748272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526746928", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747264", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747600", "args": [{"nodeId": "A"}]}, {"nodeId": "140162526747936", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140162526749280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119520"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140162526749280"}, {"nodeId": ".2.140162526749280"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__sub__"]}, "140162593119520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749280", "args": [{"nodeId": ".1.140162526749280"}, {"nodeId": ".2.140162526749280"}]}, {"nodeId": ".1.140162526749280"}], "returnType": {"nodeId": ".2.140162526749280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749280": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749280", "variance": "CONTRAVARIANT"}, ".2.140162526749280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749280", "variance": "COVARIANT"}, "140162526749616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593119968"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140162526749616"}, {"nodeId": ".2.140162526749616"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__rsub__"]}, "140162593119968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749616", "args": [{"nodeId": ".1.140162526749616"}, {"nodeId": ".2.140162526749616"}]}, {"nodeId": ".1.140162526749616"}], "returnType": {"nodeId": ".2.140162526749616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749616": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749616", "variance": "CONTRAVARIANT"}, ".2.140162526749616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749616", "variance": "COVARIANT"}, "140162526749952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593120416"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140162526749952"}, {"nodeId": ".2.140162526749952"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__divmod__"]}, "140162593120416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526749952", "args": [{"nodeId": ".1.140162526749952"}, {"nodeId": ".2.140162526749952"}]}, {"nodeId": ".1.140162526749952"}], "returnType": {"nodeId": ".2.140162526749952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526749952": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749952", "variance": "CONTRAVARIANT"}, ".2.140162526749952": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526749952", "variance": "COVARIANT"}, "140162526750288": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593120864"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140162526750288"}, {"nodeId": ".2.140162526750288"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__rdivmod__"]}, "140162593120864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750288", "args": [{"nodeId": ".1.140162526750288"}, {"nodeId": ".2.140162526750288"}]}, {"nodeId": ".1.140162526750288"}], "returnType": {"nodeId": ".2.140162526750288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140162526750288": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750288", "variance": "CONTRAVARIANT"}, ".2.140162526750288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750288", "variance": "COVARIANT"}, "140162526750624": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593121312"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140162526750624"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__iter__"]}, "140162593121312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750624", "args": [{"nodeId": ".1.140162526750624"}]}], "returnType": {"nodeId": ".1.140162526750624"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526750624": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750624", "variance": "COVARIANT"}, "140162526750960": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593121760"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140162526750960"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aiter__"]}, "140162593121760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526750960", "args": [{"nodeId": ".1.140162526750960"}]}], "returnType": {"nodeId": ".1.140162526750960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526750960": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526750960", "variance": "COVARIANT"}, "140162526751968": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593123552"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["items"]}, "140162593123552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526751968", "args": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}]}], "returnType": {"nodeId": "140162618242576", "args": [{"nodeId": "140162505155616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526751968": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751968", "variance": "COVARIANT"}, ".2.140162526751968": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526751968", "variance": "COVARIANT"}, "140162505155616": {"type": "Tuple", "items": [{"nodeId": ".1.140162526751968"}, {"nodeId": ".2.140162526751968"}]}, "140162526752640": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593124896"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593125344"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140162593124896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140162526752640": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752640", "variance": "CONTRAVARIANT"}, ".2.140162526752640": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752640", "variance": "COVARIANT"}, "140162593125344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752640"}, {"nodeId": ".2.140162526752640"}]}, {"nodeId": ".1.140162526752640"}], "returnType": {"nodeId": ".2.140162526752640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526752976": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593125792"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593126240"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}], "bases": [{"nodeId": "140162526752640", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140162593125792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752976", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}, {"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140162526752976": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752976", "variance": "CONTRAVARIANT"}, ".2.140162526752976": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526752976", "variance": "INVARIANT"}, "140162593126240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526752976", "args": [{"nodeId": ".1.140162526752976"}, {"nodeId": ".2.140162526752976"}]}, {"nodeId": ".1.140162526752976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526753312": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593126688"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["fileno"]}, "140162593126688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753312"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526753984": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593127584"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140162526753984"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["readline"]}, "140162593127584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526753984", "args": [{"nodeId": ".1.140162526753984"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162526753984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140162526753984": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526753984", "variance": "COVARIANT"}, "140162526754320": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593128032"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140162526754320"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["readline"]}, "140162593128032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526754320", "args": [{"nodeId": ".1.140162526754320"}]}], "returnType": {"nodeId": ".1.140162526754320"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526754320": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526754320", "variance": "COVARIANT"}, "140162525838160": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125360"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606480096"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501369792"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501370912"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539125360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162539125584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162606480096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522434688"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522433568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140162522434688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140162539260272"}]}, "140162522433568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162501369792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}], "returnType": {"nodeId": "140162618235856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618235856": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618236528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589450624"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162618236528": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539121216"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589451520"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501640480"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162501640928"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589453760"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589454208"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539121216": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589451520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522432448"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140162522432448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162501640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}], "returnType": {"nodeId": "140162618235856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162501640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}], "returnType": {"nodeId": "140162618236192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618236192": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618236528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589451072"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589451072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236192"}, {"nodeId": "140162618236528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140162589453760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618235520": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589446592"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589447040"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589447488"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589446592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589447040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589447488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235520"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589454208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236528"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589450624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235856"}, {"nodeId": "140162618236528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140162501370912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838160"}], "returnType": {"nodeId": "140162618236192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618235184": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539111920"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589444800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589445248"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589445696"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539111920": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589444800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}, {"nodeId": "140162522433456"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140162522433456": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162589445248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589445696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618235184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618236864": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589454656"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589455104"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589455552"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589456000"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539257920"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589454656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140162589455104": {"type": "Function", "typeVars": [".-1.140162589455104"], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": ".-1.140162589455104"}], "returnType": {"nodeId": ".-1.140162589455104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140162589455104": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162589455104", "variance": "INVARIANT"}, "140162589455552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162589456000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618236864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618235520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162618237200": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162589457792"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162589457792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237200"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525823040": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539189776"}], "isAbstract": false}, "140162539189776": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568133696"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568134144"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568134592"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568135040"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568135488"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140162539257920"}], "isAbstract": false}, "140162568133696": {"type": "Function", "typeVars": [".-1.140162568133696"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162568133696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140162568133696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568133696", "variance": "INVARIANT"}, "140162568134144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140162568134592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "140162539257920"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140162568135040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "140162505155168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140162505155168": {"type": "Union", "items": [{"nodeId": "140162526754656", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162568135488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539189776"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140162525824720": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501649888"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__index__"]}, "140162501649888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525824720"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162618237536": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501651232"}}], "typeVars": [{"nodeId": ".1.140162618237536"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__abs__"]}, "140162501651232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237536", "args": [{"nodeId": ".1.140162618237536"}]}], "returnType": {"nodeId": ".1.140162618237536"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162618237536": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618237536", "variance": "COVARIANT"}, "140162618237872": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522264320"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140162618237872"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__round__"]}, "140162522264320": {"type": "Overloaded", "items": [{"nodeId": "140162572094592"}, {"nodeId": "140162572095040"}]}, "140162572094592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237872", "args": [{"nodeId": ".1.140162618237872"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162618237872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162618237872", "variance": "COVARIANT"}, "140162572095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618237872", "args": [{"nodeId": ".1.140162618237872"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".1.140162618237872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162525825392": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162496480192"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__hash__"]}, "140162496480192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525825392"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162525825728": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140162525825728"}, {"nodeId": ".2.140162525825728"}, {"nodeId": ".3.140162525825728"}, {"nodeId": ".4.140162525825728"}], "bases": [{"nodeId": "140162618239552", "args": [{"nodeId": ".3.140162525825728"}]}, {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162525825728"}, {"nodeId": ".2.140162525825728"}, {"nodeId": ".3.140162525825728"}]}], "isAbstract": true}, ".1.140162525825728": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "COVARIANT"}, ".2.140162525825728": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "CONTRAVARIANT"}, ".3.140162525825728": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "COVARIANT"}, ".4.140162525825728": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162525825728", "variance": "INVARIANT"}, "140162525828752": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522664960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162497054976"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572780480"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572781376"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140162522664960": {"type": "Overloaded", "items": [{"nodeId": "140162572647808"}, {"nodeId": "140162572779584"}]}, "140162572647808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522668208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140162522668208": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162572779584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140162497054976": {"type": "Function", "typeVars": [".-1.140162497054976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162497054976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140162497054976": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162497054976", "variance": "INVARIANT"}, "140162572780480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525828752"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572781376": {"type": "Function", "typeVars": [".-1.140162572781376"], "argTypes": [{"nodeId": ".-1.140162572781376"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162572781376"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140162572781376": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572781376", "variance": "INVARIANT"}, "140162525829088": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572781824"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572782272"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572782720"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572783168"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572783616"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784064"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784512"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572784960"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572785408"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572785856"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}], "isAbstract": true}, "140162572781824": {"type": "Function", "typeVars": [".-1.140162572781824"], "argTypes": [{"nodeId": ".-1.140162572781824"}], "returnType": {"nodeId": ".-1.140162572781824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162572781824": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572781824", "variance": "INVARIANT"}, "140162572782272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140162572782720": {"type": "Function", "typeVars": [".-1.140162572782720"], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}, {"nodeId": ".-1.140162572782720"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140162572782720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572782720", "variance": "INVARIANT"}, "140162572783168": {"type": "Function", "typeVars": [".-1.140162572783168"], "argTypes": [{"nodeId": ".-1.140162572783168"}, {"nodeId": ".-1.140162572783168"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162572783168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572783168", "variance": "INVARIANT"}, "140162572783616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572784064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572784512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572784960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525829088"}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162572785408": {"type": "Function", "typeVars": [".-1.140162572785408"], "argTypes": [{"nodeId": ".-1.140162572785408"}, {"nodeId": ".-1.140162572785408"}], "returnType": {"nodeId": ".-1.140162572785408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572785408": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572785408", "variance": "INVARIANT"}, "140162572785856": {"type": "Function", "typeVars": [".-1.140162572785856"], "argTypes": [{"nodeId": ".-1.140162572785856"}, {"nodeId": ".-1.140162572785856"}], "returnType": {"nodeId": ".-1.140162572785856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162572785856": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162572785856", "variance": "INVARIANT"}, "140162618243920": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526118288"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526510576"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526508336"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572786304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572787200"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572788096"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526510576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162526508336": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572786304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522668880"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140162522668880": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572787200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162522669104"}, {"nodeId": "140162522669328"}, {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162522669552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140162522669104": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162522669328": {"type": "Union", "items": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162522669552": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162572788096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162618243920"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525836480": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572793248"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572793696"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162572794144"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162572793248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572793696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162572794144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836480"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525836816": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525831440", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606465312"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606465760"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606466208"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606466656"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606467104"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606467552"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468000"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468448"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606468896"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606469344"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}], "isAbstract": true}, "140162606465312": {"type": "Function", "typeVars": [".-1.140162606465312"], "argTypes": [{"nodeId": ".-1.140162606465312"}], "returnType": {"nodeId": ".-1.140162606465312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162606465312": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606465312", "variance": "INVARIANT"}, "140162606465760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140162606466208": {"type": "Function", "typeVars": [".-1.140162606466208"], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}, {"nodeId": ".-1.140162606466208"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140162606466208": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606466208", "variance": "INVARIANT"}, "140162606466656": {"type": "Function", "typeVars": [".-1.140162606466656"], "argTypes": [{"nodeId": ".-1.140162606466656"}, {"nodeId": ".-1.140162606466656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140162606466656": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606466656", "variance": "INVARIANT"}, "140162606467104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525830096", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606467552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525829424", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606468000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}], "returnType": {"nodeId": "140162525829760", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606468448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525836816"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606468896": {"type": "Function", "typeVars": [".-1.140162606468896"], "argTypes": [{"nodeId": ".-1.140162606468896"}, {"nodeId": ".-1.140162606468896"}], "returnType": {"nodeId": ".-1.140162606468896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162606468896": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606468896", "variance": "INVARIANT"}, "140162606469344": {"type": "Function", "typeVars": [".-1.140162606469344"], "argTypes": [{"nodeId": ".-1.140162606469344"}, {"nodeId": ".-1.140162606469344"}], "returnType": {"nodeId": ".-1.140162606469344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162606469344": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606469344", "variance": "INVARIANT"}, "140162525837488": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162522264992"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162501367552"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606476960"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606477856"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140162522264992": {"type": "Overloaded", "items": [{"nodeId": "140162606475616"}, {"nodeId": "140162606476064"}]}, "140162606475616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162522441520"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140162522441520": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162606476064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140162501367552": {"type": "Function", "typeVars": [".-1.140162501367552"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140162501367552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140162501367552": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162501367552", "variance": "INVARIANT"}, "140162606476960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837488"}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162606477856": {"type": "Function", "typeVars": [".-1.140162606477856"], "argTypes": [{"nodeId": ".-1.140162606477856"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162606477856"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140162606477856": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162606477856", "variance": "INVARIANT"}, "140162525837824": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539124240"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606478304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606478752"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162606479200"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539124240": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162539125024": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162606478304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}, {"nodeId": "140162522434352"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162522433792"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140162522434352": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162522433792": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162606478752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162606479200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525837824"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162525836480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162525838496": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539125808"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593046816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593047264"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162539125808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162593046816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838496"}, {"nodeId": "140162539260272"}, {"nodeId": "140162522434576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140162522434576": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162593047264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162525838496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526755664": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454674608"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593048832"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522320112"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162543169184"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162543164480"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162454674608": {"type": "Tuple", "items": []}, "140162593048832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526755664"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140162522320112": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543169184": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543164480": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526756000": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162526756336": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521710656": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454679088"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}], "typeVars": [], "bases": [{"nodeId": "140162526756336"}], "isAbstract": false}, "140162454679088": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521710992": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454680096"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454680096": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521721072": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521711328": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454681104"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521710656"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454681104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521712336": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521711664": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454682448"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454682448": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521712000": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454683344"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526756000"}], "isAbstract": false}, "140162454683344": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521712672": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454849344"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522317872"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454849344": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908272": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455285408"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576325696"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908608"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162597249296"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319776"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455285408": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908608": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455286640"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319888"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455286640": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319888": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576325696": {"type": "Union", "items": [{"nodeId": "140162521908608"}, {"nodeId": "N"}]}, "140162597249296": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162522319776": {"type": "Union", "items": [{"nodeId": "140162521908608"}, {"nodeId": "N"}]}, "140162522317872": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521713008": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454850800"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318768"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454850800": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522318768": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521713344": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454852032"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908944"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454852032": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521908944": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455287536"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162606002496"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455287536": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162606002496": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521713680": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454852480"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318880"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454852480": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522318880": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521714016": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454853376"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454853376": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521714352": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454854720"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454854720": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521714688": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454855840"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318992"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521831392"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454855840": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522318992": {"type": "Union", "items": [{"nodeId": "140162521828032"}, {"nodeId": "140162521826688"}, {"nodeId": "140162521827360"}]}, "140162521828032": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455277792"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455277792": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521829040": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521826688": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455141312"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455141312": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521827360": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455275888"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455275888": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521831392": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521715024": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454857184"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319104"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319216"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454857184": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319104": {"type": "Union", "items": [{"nodeId": "140162521828032"}, {"nodeId": "140162521826688"}, {"nodeId": "140162521827360"}]}, "140162522319216": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521715360": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454858640"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454858640": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521715696": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454859984"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454859984": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716032": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454860880"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454860880": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716368": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454862000"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454862000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521716704": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454863120"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909616"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454863120": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521909616": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455289552"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162610621216"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455289552": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162610621216": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521717040": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454995456"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909616"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454995456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521717376": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454996352"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319328"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319440"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454996352": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319328": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162522319440": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521717712": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454997808"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907936"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454997808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521907936": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455283392"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576326816"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576326704"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521907600"}], "isAbstract": false}, "140162455283392": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162576326816": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576326704": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521907600": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521718048": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454999152"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319552"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454999152": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319552": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521718384": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162454999936"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909280"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162454999936": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521909280": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455288544"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162606003728"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455288544": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162606003728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521718720": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455001280"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522319664"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521909280"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455001280": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162522319664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521719056": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455001952"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455001952": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521719392": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455002848"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455002848": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521719728": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455003744"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455003744": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521720064": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521720400": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521720736": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162521721408": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455004864"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521830384"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455004864": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521830384": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521721744": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455006096"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521831392"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455006096": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521722080": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455006992"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521836096"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455006992": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521836096": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521722416": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455008000"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521908272"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455008000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521722752": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455009232"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455009232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521723088": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455010128"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162547218160"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455010128": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547218160": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521723424": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455010912"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455010912": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521723760": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455126864"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455126864": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521907264": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455282384"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455282384": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724096": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455127872"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455127872": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724432": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455129104"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455129104": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521724768": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455130000"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521907264"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455130000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521725104": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455130784"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455130784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521725440": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455131680"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522318432"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455131680": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162522318432": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521725776": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455132576"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455132576": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521726112": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455133920"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521837776"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455133920": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521837776": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162521726448": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455135040"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521908944"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455135040": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521825344": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455136160"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162547212784"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455136160": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547212784": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521825680": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455136832"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455136832": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521826016": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455138512"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162547212896"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162588949328"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455138512": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547212896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162588949328": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539259264"}]}, "140162521826352": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455140080"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521828032"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455140080": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521827024": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455274208"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576983184"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576983072"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162576833824"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455274208": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162576983184": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576983072": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162576833824": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521827696": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455276784"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455276784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521828368": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455278800"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455278800": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521828704": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455279808"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521829040"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521721072"}], "isAbstract": false}, "140162455279808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521829376": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521829712": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521830048": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521829040"}], "isAbstract": false}, "140162521830720": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521830384"}], "isAbstract": false}, "140162521831056": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521830384"}], "isAbstract": false}, "140162521831728": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832064": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832400": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521832736": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833072": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833408": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521833744": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834080": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834416": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521834752": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835088": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835424": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521835760": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521831392"}], "isAbstract": false}, "140162521836432": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521836768": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521837104": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521837440": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521836096"}], "isAbstract": false}, "140162521838112": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521838448": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521838784": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839120": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839456": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521839792": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840128": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840464": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521840800": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521841136": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140162521837776"}], "isAbstract": false}, "140162521909952": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455536464"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910624"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521712336"}], "isAbstract": false}, "140162455536464": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521910624": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537136"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521910288"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162610618752"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521712336"}]}}], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162455537136": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521910288": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526755664"}], "isAbstract": false}, "140162610618752": {"type": "Union", "items": [{"nodeId": "140162521721072"}, {"nodeId": "N"}]}, "140162521910960": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537248"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537248": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521911296": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537584"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526497472"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537584": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162526497472": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140162521911632": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455537920"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455537920": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162521911968": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455538256"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496128"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455538256": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162526496128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521912304": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455539040"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521721072"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526498032"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455539040": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162526498032": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521912640": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455539824"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162521721072"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455539824": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521912976": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455540048"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496688"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526496912"}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455540048": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162526496688": {"type": "Union", "items": [{"nodeId": "140162521910288"}, {"nodeId": "N"}]}, "140162526496912": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162521913312": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162455540272"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162521910288"}]}}], "typeVars": [], "bases": [{"nodeId": "140162521910288"}], "isAbstract": false}, "140162455540272": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162534539664": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539268000"}, {"nodeId": "140162539273376"}], "isAbstract": false}, "140162534541344": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593475936"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593476384"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593476832"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593477280"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593477728"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}, {"nodeId": "140162525827744"}], "isAbstract": false}, "140162593475936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}, {"nodeId": "140162509192800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140162509192800": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162593476384": {"type": "Function", "typeVars": [".-1.140162593476384"], "argTypes": [{"nodeId": ".-1.140162593476384"}], "returnType": {"nodeId": ".-1.140162593476384"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162593476384": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162593476384", "variance": "INVARIANT"}, "140162593476832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593477280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}], "returnType": {"nodeId": "140162539260608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162593477728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534541344"}, {"nodeId": "140162509192912"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162509192912": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534542688": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593481760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162593482208"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140162534540672"}], "isAbstract": false}, "140162593481760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542688"}, {"nodeId": "140162534540336"}, {"nodeId": "140162534540336"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140162593482208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534542688"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162534543696": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568129888"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568130336"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140162534543360"}], "isAbstract": false}, "140162568129888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543696"}, {"nodeId": "140162509341744"}, {"nodeId": "140162509341856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140162509341744": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509341856": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568130336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534543696"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522191840": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568130784"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568131232"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162475827136"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568132128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162526744912"}], "isAbstract": false}, "140162568130784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509341968"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140162509341968": {"type": "Union", "items": [{"nodeId": "140162526744912"}, {"nodeId": "N"}]}, "140162526744912": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547041888"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463508160"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547042784"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547043232"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547043680"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162547041888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463508160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162505149120"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162505149120": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162547042784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547043232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}], "returnType": {"nodeId": "140162505149344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505149344": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162547043680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744912"}, {"nodeId": "140162505149568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140162505149568": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162568131232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509342192"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162509342192": {"type": "Union", "items": [{"nodeId": "140162509342080"}, {"nodeId": "140162539260272"}]}, "140162509342080": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162475827136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}], "returnType": {"nodeId": "140162509342304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509342304": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162568132128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522191840"}, {"nodeId": "140162509342528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162509342528": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162539190112": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568136384"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539190112"}], "bases": [{"nodeId": "140162618244592", "args": [{"nodeId": ".1.140162539190112"}]}], "isAbstract": false}, "140162568136384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539190112", "args": [{"nodeId": ".1.140162539190112"}]}, {"nodeId": "140162509904960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140162539190112": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539190112", "variance": "COVARIANT"}, "140162509904960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162539190112"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539190448": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568136832"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140162539190448"}], "bases": [{"nodeId": "140162618244256", "args": [{"nodeId": ".1.140162539190448"}]}], "isAbstract": false}, "140162568136832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539190448", "args": [{"nodeId": ".1.140162539190448"}]}, {"nodeId": "140162509904288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140162539190448": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162539190448", "variance": "COVARIANT"}, "140162509904288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140162539190448"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162539190784": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140162539262624"}], "isAbstract": false}, "140162539191120": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534544368": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568141536"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568141984"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568142432"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568208672"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140162568141536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568141984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568142432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568208672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534544368"}], "returnType": {"nodeId": "140162534544368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162534555120": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534554112"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522331872"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522114512"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539408400"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568209792"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568210240"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568210688"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568211136"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568211584"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212032"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212480"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568212928"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568213376"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568213824"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568214272"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568214720"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568215168"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568215616"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216064"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216512"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568216960"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568217408"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568217856"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568218304"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568218752"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568219200"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568219648"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220096"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220544"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568220992"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568221440"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568221888"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568222336"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568222784"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568223232"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568223680"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568224128"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509556416"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568356800"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568357248"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568357696"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568358144"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568358592"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359040"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359488"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568359936"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568360384"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568360832"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534554112": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662144"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530662368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547316800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547317248"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547317696"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547318144"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547368000"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471868256"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471867808"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471866688"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471867136"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471866240"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162530662144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162530662368": {"type": "Union", "items": [{"nodeId": "140162534565344"}, {"nodeId": "N"}]}, "140162534565344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162547316800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162509559440"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509559552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140162509559440": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509559552": {"type": "Union", "items": [{"nodeId": "140162509210784"}, {"nodeId": "N"}]}, "140162509210784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162547317248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162534554112"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140162547317696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162534555120"}, {"nodeId": "140162539408400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140162539408400": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547315456"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539273376"}], "isAbstract": false}, "140162547315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539408400"}, {"nodeId": "140162509767280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140162509767280": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547318144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162534555120"}, {"nodeId": "140162539408400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140162547368000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509559776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140162509559776": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162471868256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509560000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509560000": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162471867808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560224": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162471866688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162471867136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162471866240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162522331872": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522114512": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568209792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568210240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140162568210688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509561568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509561568": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568211136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162534555120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140162568211584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509561680"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140162509561680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162568212032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509561904"}, {"nodeId": "140162509562016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140162509561904": {"type": "TypeAlias", "target": {"nodeId": "140162530663712"}}, "140162530663712": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162534555120"}]}, {"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162509562016": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162522114288": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539415456": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660240"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660464"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530660576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547307168"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547307616"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308064"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308512"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547308960"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547309408"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547309856"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547310304"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162530660240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530660464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530660576": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547307168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140162547307616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547308064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}], "returnType": {"nodeId": "140162509768848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509768848": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162547308512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162547308960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618238544", "args": [{"nodeId": "140162539258592"}]}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140162547309408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162547309856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547310304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415456"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568212480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162509562128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140162509562128": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162568212928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509562240"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562240": {"type": "TypeAlias", "target": {"nodeId": "140162522114288"}}, "140162568213376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568213824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568214272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162568214720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509562352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509562352": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568215168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509562464"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162509562464": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568215616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162568216064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568216512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162509562576"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562576": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568216960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162509562912"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509562912": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162509562688"}]}, "140162509562688": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568217408": {"type": "Function", "typeVars": [".-1.140162568217408"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568217408"}], "returnType": {"nodeId": "140162509563136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568217408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568217408", "variance": "INVARIANT"}, "140162509563136": {"type": "Union", "items": [{"nodeId": "140162509563024"}, {"nodeId": ".-1.140162568217408"}]}, "140162509563024": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568217856": {"type": "Function", "typeVars": [".-1.140162568217856"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568217856"}], "returnType": {"nodeId": "140162509563360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140162568217856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568217856", "variance": "INVARIANT"}, "140162509563360": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162509563248"}]}, {"nodeId": ".-1.140162568217856"}]}, "140162509563248": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568218304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509563472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140162509563472": {"type": "TypeAlias", "target": {"nodeId": "140162530658560"}}, "140162530658560": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}, {"nodeId": "140162530660352"}]}, "140162530660352": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162530657776"}, {"nodeId": "140162539260272"}]}, "140162530657776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568218752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509563584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140162509563584": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568219200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568219648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568220992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140162568221440": {"type": "Function", "typeVars": [".-1.140162568221440"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568221440"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162509563920"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140162568221440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568221440", "variance": "INVARIANT"}, "140162509563920": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162509563808"}]}, {"nodeId": ".-1.140162568221440"}]}, "140162509563808": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162568221888": {"type": "Function", "typeVars": [".-1.140162568221888"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568221888"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162509564144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140162568221888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568221888", "variance": "INVARIANT"}, "140162509564144": {"type": "Union", "items": [{"nodeId": ".-1.140162568221888"}, {"nodeId": "140162509564032"}]}, "140162509564032": {"type": "TypeAlias", "target": {"nodeId": "140162530658000"}}, "140162530658000": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162530661136"}]}, "140162530661136": {"type": "Tuple", "items": [{"nodeId": "140162530661248"}, {"nodeId": "140162530659904"}, {"nodeId": "140162539260272"}]}, "140162530661248": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162530659904": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568222336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140162568222784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140162568223232": {"type": "Function", "typeVars": [".-1.140162568223232"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568223232"}], "returnType": {"nodeId": "140162509564368"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568223232": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568223232", "variance": "INVARIANT"}, "140162509564368": {"type": "Union", "items": [{"nodeId": ".-1.140162568223232"}, {"nodeId": "140162539260272"}]}, "140162568223680": {"type": "Function", "typeVars": [".-1.140162568223680"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568223680"}], "returnType": {"nodeId": "140162509563696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568223680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568223680", "variance": "INVARIANT"}, "140162509563696": {"type": "Union", "items": [{"nodeId": ".-1.140162568223680"}, {"nodeId": "140162539260272"}]}, "140162568224128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140162509556416": {"type": "Overloaded", "items": [{"nodeId": "140162568355904"}, {"nodeId": "140162568356352"}]}, "140162568355904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509564592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509564592": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568356352": {"type": "Function", "typeVars": [".-1.140162568356352"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568356352"}], "returnType": {"nodeId": "140162509564704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140162568356352": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568356352", "variance": "INVARIANT"}, "140162509564704": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162568356352"}]}, "140162568356800": {"type": "Function", "typeVars": [".-1.140162568356800"], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": ".-1.140162568356800"}], "returnType": {"nodeId": "140162509564816"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140162568356800": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568356800", "variance": "INVARIANT"}, "140162509564816": {"type": "Union", "items": [{"nodeId": ".-1.140162568356800"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162568357248": {"type": "Function", "typeVars": [".-1.140162568357248"], "argTypes": [{"nodeId": ".-1.140162568357248"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".-1.140162568357248"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162568357248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162568357248", "variance": "INVARIANT"}, "140162568357696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162509564928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509564928": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568358144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539258592"}, {"nodeId": "140162509565040"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140162509565040": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568358592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509565152"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140162509565152": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568359040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568359488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509565264"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140162509565264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568359936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162534554112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140162568360384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509565376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509565376": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162568360832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534555120"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162509565712"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509565712": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162509565488"}]}, "140162509565488": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140162539405376": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568361280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568361728"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568362176"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568362624"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363072"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363520"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568363968"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568364416"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568364864"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568365312"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568365760"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568366208"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568366656"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568367104"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568367552"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162568368000"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140162534555120"}], "isAbstract": false}, "140162568361280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509565824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140162509565824": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568361728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509565936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140162509565936": {"type": "Union", "items": [{"nodeId": "140162534555120"}, {"nodeId": "N"}]}, "140162568362176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534555120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568362624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "140162534555120"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568363072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509566160"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509566160": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162539415120": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547312768"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547313216"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547313664"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547314112"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162547312768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162534555120"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140162547313216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162534555120"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140162547313664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509218624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140162509218624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162547314112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539415120"}, {"nodeId": "140162539257920"}, {"nodeId": "140162509218400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140162509218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162568363520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509566608"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509566608": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568363968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509566832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509566832": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568364416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509566944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509566944": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568364864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162509567056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140162509567056": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162568365312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567280"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567280": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568365760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567616"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567616": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568366208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "A"}, {"nodeId": "140162509567952"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140162509567952": {"type": "Union", "items": [{"nodeId": "140162539415120"}, {"nodeId": "N"}]}, "140162568366656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568367104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162568367552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509568176"}, {"nodeId": "140162509568288"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140162509568176": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509568288": {"type": "Union", "items": [{"nodeId": "140162534554112"}, {"nodeId": "N"}]}, "140162568368000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539405376"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539405712": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539405376"}], "isAbstract": false}, "140162522190496": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522189824"}], "isAbstract": false}, "140162522191168": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522190832"}, {"nodeId": "140162522190160"}], "isAbstract": false}, "140162522191504": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140162522190832"}, {"nodeId": "140162522190496"}], "isAbstract": false}, "140162526133408": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563592640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563593536"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563593984"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563594432"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563594880"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563595328"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563595776"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563596224"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563596672"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563597120"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513942144"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140162526133408"}], "bases": [{"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}], "isAbstract": false}, "140162563592640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243584", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140162526133408": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526133408", "variance": "INVARIANT"}, "140162563593536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": ".1.140162526133408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140162563593984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162563594432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563594880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": ".1.140162526133408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563595328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162563595776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526133408"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162563596224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162563596672": {"type": "Function", "typeVars": [".-1.140162563596672", ".-2.140162563596672"], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162563596672"}, {"nodeId": ".-2.140162563596672"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162514050448"}, {"nodeId": "140162514050560"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563596672": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563596672", "variance": "INVARIANT"}, ".-2.140162563596672": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563596672", "variance": "INVARIANT"}, "140162514050448": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-1.140162563596672"}]}, "140162514050560": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-2.140162563596672"}]}, "140162563597120": {"type": "Function", "typeVars": [".-1.140162563597120", ".-2.140162563597120"], "argTypes": [{"nodeId": "140162526133408", "args": [{"nodeId": ".1.140162526133408"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": ".-1.140162563597120"}, {"nodeId": ".-2.140162563597120"}]}], "returnType": {"nodeId": "140162539261952", "args": [{"nodeId": "140162514050672"}, {"nodeId": "140162514051008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563597120": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597120", "variance": "INVARIANT"}, ".-2.140162563597120": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597120", "variance": "INVARIANT"}, "140162514050672": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-1.140162563597120"}]}, "140162514051008": {"type": "Union", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".-2.140162563597120"}]}, "140162513942144": {"type": "Overloaded", "items": [{"nodeId": "140162563597568"}, {"nodeId": "140162563598016"}]}, "140162563597568": {"type": "Function", "typeVars": [".-1.140162563597568"], "argTypes": [{"nodeId": ".-1.140162563597568"}, {"nodeId": "140162618243248", "args": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}], "returnType": {"nodeId": ".-1.140162563597568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563597568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563597568", "variance": "INVARIANT"}, "140162563598016": {"type": "Function", "typeVars": [".-1.140162563598016"], "argTypes": [{"nodeId": ".-1.140162563598016"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162514051344"}]}], "returnType": {"nodeId": ".-1.140162563598016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162563598016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162563598016", "variance": "INVARIANT"}, "140162514051344": {"type": "Tuple", "items": [{"nodeId": ".1.140162526133408"}, {"nodeId": ".1.140162526133408"}]}, "140162521917008": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162484890400"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484649344"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646208"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647552"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647104"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484647328"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646656"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646880"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645760"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645984"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484646432"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645536"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645312"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484643296"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484645088"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484643968"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484644416"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162484890400": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484649344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514051792"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514051792": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514051904"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514051904": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052016"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052016": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052128"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052128": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484647328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052240"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052240": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052352"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052352": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052464"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052464": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052576"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052576": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052688"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052688": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484646432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052800"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052800": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514052912"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514052912": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053024"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053024": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484643296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053136"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053136": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484645088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053248": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484643968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053360"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053360": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484644416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514053472"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514053472": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162526133744": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484639712"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484639936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555091136"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555091584"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092032"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092480"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555092928"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555093376"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555093824"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526133744"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162484639712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526133744": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526133744", "variance": "INVARIANT"}, "140162484639936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555091136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555091584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162555092032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162555092480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555092928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162514053920"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140162514053920": {"type": "TypeAlias", "target": {"nodeId": "140162522328736"}}, "140162555093376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162526133744"}]}], "returnType": {"nodeId": ".1.140162526133744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162555093824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162521917680": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479851776"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484600192"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484599296"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484599072"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598848"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598624"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598400"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484598176"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597952"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597728"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597504"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484597280"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162479851776": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054256"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054256": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054368"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054368": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484599072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054480"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054480": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054592"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054592": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054704"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054704": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054816"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054816": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484598176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514054928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514054928": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055040": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055152"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055152": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055264"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055264": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484597280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055376": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521918016": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479853456"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484596608"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484595040"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484594368"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484593920"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484593472"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162479853456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484596608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514055936"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514055936": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484595040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056048"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056048": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484594368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056160"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056160": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056272": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484593472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162514056384"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162514056384": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162521918352": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162479856928"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484589888"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484587872"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162479856928": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484589888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509067920"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509067920": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484587872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509068032"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509068032": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521918688": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555634944"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555635392"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555635840"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140162521918688"}], "bases": [{"nodeId": "140162618238544", "args": [{"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162521918688"}]}]}, {"nodeId": "140162526603504", "args": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}]}], "isAbstract": false}, "140162555634944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}], "returnType": {"nodeId": "140162526133744", "args": [{"nodeId": ".1.140162521918688"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162521918688": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162521918688", "variance": "INVARIANT"}, "140162555635392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162555635840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521918688", "args": [{"nodeId": ".1.140162521918688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526603504": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551601344"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162467402400"}}], "typeVars": [{"nodeId": ".1.140162526603504"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__enter__", "__exit__"]}, "140162551601344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526603504"}]}], "returnType": {"nodeId": ".1.140162526603504"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140162526603504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526603504", "variance": "COVARIANT"}, "140162467402400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526603504"}]}, {"nodeId": "140162509776240"}, {"nodeId": "140162509776352"}, {"nodeId": "140162509776464"}], "returnType": {"nodeId": "140162509776576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509776240": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509776352": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509776464": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509776576": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162521919024": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555782400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555782848"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162534543360"}], "isAbstract": false}, "140162555782400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521919024"}, {"nodeId": "140162534543360"}, {"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140162526128032": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522325824"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522323920"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522000496"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526142176"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526142288"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162513469136"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530470688"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530471136"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530471584"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472032"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472480"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530472928"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530473376"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530473824"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530474272"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526128032"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522325824": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162521989744": {"type": "Union", "items": [{"nodeId": "140162521991984"}, {"nodeId": "140162618241904", "args": [{"nodeId": "140162521992096"}]}]}, "140162521991984": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162521992096": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162522323920": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, ".1.140162526128032": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526128032", "variance": "INVARIANT"}, "140162522000496": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, "140162526142176": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "N"}]}, "140162526142288": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "A"}]}, "140162513469136": {"type": "Overloaded", "items": [{"nodeId": "140162542939360"}, {"nodeId": "140162530463072"}, {"nodeId": "140162530463520"}, {"nodeId": "140162530463968"}, {"nodeId": "140162530464416"}, {"nodeId": "140162530464864"}]}, "140162542939360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513768000"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513768224"}, {"nodeId": "140162513768448"}, {"nodeId": "140162513768672"}, {"nodeId": "140162513768896"}, {"nodeId": "140162513769008"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513769344"}, {"nodeId": "140162513769568"}, {"nodeId": "140162513769680"}, {"nodeId": "140162513769904"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513770016"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513770128"}, {"nodeId": "140162513770240"}, {"nodeId": "140162513770352"}, {"nodeId": "140162513770576"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513768000": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513768224": {"type": "Union", "items": [{"nodeId": "140162513768112"}, {"nodeId": "N"}]}, "140162513768112": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513768448": {"type": "Union", "items": [{"nodeId": "140162513768336"}, {"nodeId": "N"}]}, "140162513768336": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162526140832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140162539258592"}, {"nodeId": "140162525827408", "args": [{"nodeId": "A"}]}]}, "140162513768672": {"type": "Union", "items": [{"nodeId": "140162513768560"}, {"nodeId": "N"}]}, "140162513768560": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513768896": {"type": "Union", "items": [{"nodeId": "140162513768784"}, {"nodeId": "N"}]}, "140162513768784": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513769008": {"type": "Union", "items": [{"nodeId": "140162538809472"}, {"nodeId": "N"}]}, "140162538809472": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513769344": {"type": "Union", "items": [{"nodeId": "140162513769232"}, {"nodeId": "N"}]}, "140162513769232": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513769568": {"type": "Union", "items": [{"nodeId": "140162513769456"}, {"nodeId": "N"}]}, "140162513769456": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162522000832": {"type": "Union", "items": [{"nodeId": "140162618243248", "args": [{"nodeId": "140162525830432"}, {"nodeId": "140162522000384"}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162521995792"}]}]}, "140162522000384": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162521995792": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513769680": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513769904": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513770016": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513770128": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513770240": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513770352": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513770576": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513770464"}]}, {"nodeId": "N"}]}, "140162513770464": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513770688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513770912"}, {"nodeId": "140162513771136"}, {"nodeId": "140162513771360"}, {"nodeId": "140162513771584"}, {"nodeId": "140162513771696"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513772032"}, {"nodeId": "140162513772256"}, {"nodeId": "140162513772368"}, {"nodeId": "140162513772592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513772704"}, {"nodeId": "140162513772816"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513772928"}, {"nodeId": "140162513773040"}, {"nodeId": "140162513773264"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513770688": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513770912": {"type": "Union", "items": [{"nodeId": "140162513770800"}, {"nodeId": "N"}]}, "140162513770800": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513771136": {"type": "Union", "items": [{"nodeId": "140162513771024"}, {"nodeId": "N"}]}, "140162513771024": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771360": {"type": "Union", "items": [{"nodeId": "140162513771248"}, {"nodeId": "N"}]}, "140162513771248": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771584": {"type": "Union", "items": [{"nodeId": "140162513771472"}, {"nodeId": "N"}]}, "140162513771472": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513771696": {"type": "Union", "items": [{"nodeId": "140162538809920"}, {"nodeId": "N"}]}, "140162538809920": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513772032": {"type": "Union", "items": [{"nodeId": "140162513771920"}, {"nodeId": "N"}]}, "140162513771920": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513772256": {"type": "Union", "items": [{"nodeId": "140162513772144"}, {"nodeId": "N"}]}, "140162513772144": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513772368": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513772592": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513772704": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513772816": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513772928": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513773040": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513773264": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513773152"}]}, {"nodeId": "N"}]}, "140162513773152": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513773376"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513773600"}, {"nodeId": "140162513773824"}, {"nodeId": "140162513774048"}, {"nodeId": "140162513774272"}, {"nodeId": "140162513774384"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513774720"}, {"nodeId": "140162513774944"}, {"nodeId": "0"}, {"nodeId": "140162513775280"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513775392"}, {"nodeId": "140162513775504"}, {"nodeId": "140162513775616"}, {"nodeId": "140162513775728"}, {"nodeId": "140162513775840"}, {"nodeId": "140162513776064"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513773376": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513773600": {"type": "Union", "items": [{"nodeId": "140162513773488"}, {"nodeId": "N"}]}, "140162513773488": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513773824": {"type": "Union", "items": [{"nodeId": "140162513773712"}, {"nodeId": "N"}]}, "140162513773712": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774048": {"type": "Union", "items": [{"nodeId": "140162513773936"}, {"nodeId": "N"}]}, "140162513773936": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774272": {"type": "Union", "items": [{"nodeId": "140162513774160"}, {"nodeId": "N"}]}, "140162513774160": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513774384": {"type": "Union", "items": [{"nodeId": "140162538804992"}, {"nodeId": "N"}]}, "140162538804992": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513774720": {"type": "Union", "items": [{"nodeId": "140162513774608"}, {"nodeId": "N"}]}, "140162513774608": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513774944": {"type": "Union", "items": [{"nodeId": "140162513774832"}, {"nodeId": "N"}]}, "140162513774832": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513775280": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513775392": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513775504": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513775616": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513775728": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513775840": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513776064": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513775952"}]}, {"nodeId": "N"}]}, "140162513775952": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530463968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162513776176"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513776400"}, {"nodeId": "140162513776624"}, {"nodeId": "140162513776848"}, {"nodeId": "140162513777072"}, {"nodeId": "140162513777184"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513777520"}, {"nodeId": "140162513777744"}, {"nodeId": "140162513777856"}, {"nodeId": "140162513778080"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "0"}, {"nodeId": "140162513778304"}, {"nodeId": "140162513778416"}, {"nodeId": "140162513778528"}, {"nodeId": "140162513778640"}, {"nodeId": "140162513778864"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513776176": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513776400": {"type": "Union", "items": [{"nodeId": "140162513776288"}, {"nodeId": "N"}]}, "140162513776288": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513776624": {"type": "Union", "items": [{"nodeId": "140162513776512"}, {"nodeId": "N"}]}, "140162513776512": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513776848": {"type": "Union", "items": [{"nodeId": "140162513776736"}, {"nodeId": "N"}]}, "140162513776736": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513777072": {"type": "Union", "items": [{"nodeId": "140162513776960"}, {"nodeId": "N"}]}, "140162513776960": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513777184": {"type": "Union", "items": [{"nodeId": "140162538799840"}, {"nodeId": "N"}]}, "140162538799840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513777520": {"type": "Union", "items": [{"nodeId": "140162513777408"}, {"nodeId": "N"}]}, "140162513777408": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513777744": {"type": "Union", "items": [{"nodeId": "140162513777632"}, {"nodeId": "N"}]}, "140162513777632": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513777856": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513778080": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513778304": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513778416": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513778528": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513778640": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513778864": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513778752"}]}, {"nodeId": "N"}]}, "140162513778752": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530464416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162513778976"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513779200"}, {"nodeId": "140162513779424"}, {"nodeId": "140162513779648"}, {"nodeId": "140162513779872"}, {"nodeId": "140162513779984"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513780320"}, {"nodeId": "140162513780544"}, {"nodeId": "140162513797296"}, {"nodeId": "140162513797520"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513797744"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140162513797856"}, {"nodeId": "140162513797968"}, {"nodeId": "140162513798192"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513778976": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513779200": {"type": "Union", "items": [{"nodeId": "140162513779088"}, {"nodeId": "N"}]}, "140162513779088": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513779424": {"type": "Union", "items": [{"nodeId": "140162513779312"}, {"nodeId": "N"}]}, "140162513779312": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779648": {"type": "Union", "items": [{"nodeId": "140162513779536"}, {"nodeId": "N"}]}, "140162513779536": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779872": {"type": "Union", "items": [{"nodeId": "140162513779760"}, {"nodeId": "N"}]}, "140162513779760": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513779984": {"type": "Union", "items": [{"nodeId": "140162538804320"}, {"nodeId": "N"}]}, "140162538804320": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513780320": {"type": "Union", "items": [{"nodeId": "140162513780208"}, {"nodeId": "N"}]}, "140162513780208": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513780544": {"type": "Union", "items": [{"nodeId": "140162513780432"}, {"nodeId": "N"}]}, "140162513780432": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513797296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162513797520": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513797744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140162513797856": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513797968": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513798192": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513798080"}]}, {"nodeId": "N"}]}, "140162513798080": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530464864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": "A"}]}, {"nodeId": "140162513798416"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513798640"}, {"nodeId": "140162513798864"}, {"nodeId": "140162513799088"}, {"nodeId": "140162513799312"}, {"nodeId": "140162513799424"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162513799760"}, {"nodeId": "140162513799984"}, {"nodeId": "140162513800096"}, {"nodeId": "140162513800320"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618241568", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162513800432"}, {"nodeId": "140162513800544"}, {"nodeId": "140162513800656"}, {"nodeId": "140162513800768"}, {"nodeId": "140162513800880"}, {"nodeId": "140162513801104"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140162513798416": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513798640": {"type": "Union", "items": [{"nodeId": "140162513798528"}, {"nodeId": "N"}]}, "140162513798528": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513798864": {"type": "Union", "items": [{"nodeId": "140162513798752"}, {"nodeId": "N"}]}, "140162513798752": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799088": {"type": "Union", "items": [{"nodeId": "140162513798976"}, {"nodeId": "N"}]}, "140162513798976": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799312": {"type": "Union", "items": [{"nodeId": "140162513799200"}, {"nodeId": "N"}]}, "140162513799200": {"type": "TypeAlias", "target": {"nodeId": "140162526140832"}}, "140162513799424": {"type": "Union", "items": [{"nodeId": "140162538811712"}, {"nodeId": "N"}]}, "140162538811712": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140162513799760": {"type": "Union", "items": [{"nodeId": "140162513799648"}, {"nodeId": "N"}]}, "140162513799648": {"type": "TypeAlias", "target": {"nodeId": "140162535232496"}}, "140162513799984": {"type": "Union", "items": [{"nodeId": "140162513799872"}, {"nodeId": "N"}]}, "140162513799872": {"type": "TypeAlias", "target": {"nodeId": "140162522000832"}}, "140162513800096": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513800320": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140162513800432": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162513800544": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513800656": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162513800768": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513800880": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162513801104": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162513800992"}]}, {"nodeId": "N"}]}, "140162513800992": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162530470688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "140162513801216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513801216": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162530471136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140162513801328": {"type": "Union", "items": [{"nodeId": "140162539258928"}, {"nodeId": "N"}]}, "140162530471584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801440"}, {"nodeId": "140162513801552"}], "returnType": {"nodeId": "140162513801776"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140162513801440": {"type": "Union", "items": [{"nodeId": ".1.140162526128032"}, {"nodeId": "N"}]}, "140162513801552": {"type": "Union", "items": [{"nodeId": "140162539258928"}, {"nodeId": "N"}]}, "140162513801776": {"type": "Tuple", "items": [{"nodeId": ".1.140162526128032"}, {"nodeId": ".1.140162526128032"}]}, "140162530472032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140162530472480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530472928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530473376": {"type": "Function", "typeVars": [".-1.140162530473376"], "argTypes": [{"nodeId": ".-1.140162530473376"}], "returnType": {"nodeId": ".-1.140162530473376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530473376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530473376", "variance": "INVARIANT"}, "140162530473824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128032", "args": [{"nodeId": ".1.140162526128032"}]}, {"nodeId": "140162513801888"}, {"nodeId": "140162513802000"}, {"nodeId": "140162513802112"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162513801888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162513802000": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162513802112": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162530474272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162555782848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162521919024"}], "returnType": {"nodeId": "140162509179920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509179920": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162521919360": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480096976"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484577984"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484576864"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484577088"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484303712"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484296992"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258928"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162480096976": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484577984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181488"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181488": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484576864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509180928"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509180928": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484577088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181264"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181264": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484303712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181600"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181600": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162484296992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509181712"}], "returnType": {"nodeId": "140162539258928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509181712": {"type": "Tuple", "items": [{"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}, {"nodeId": "140162539258928"}]}, "140162521919696": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480099216"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484803552"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484804672"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484804896"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484805120"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484805344"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162480099216": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162484803552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183168"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183168": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484804672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183504"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183504": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484804896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183840"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183840": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484805120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509183952"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509183952": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162484805344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509184064"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509184064": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162521920032": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162480101008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162555915712"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162484806688"}}], "typeVars": [], "bases": [{"nodeId": "140162526754992", "args": [{"nodeId": "140162539258592"}]}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162480101008": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}]}, "140162555915712": {"type": "Function", "typeVars": [".-1.140162555915712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162555915712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140162555915712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162555915712", "variance": "INVARIANT"}, "140162484806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162509187648"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509187648": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}]}, "140162521916672": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162534553776"}], "isAbstract": false}, "140162534553776": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547737632"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738080"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738528"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547738976"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471759872"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471760768"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471761664"}}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}, {"nodeId": "140162534553440"}], "isAbstract": false}, "140162547737632": {"type": "Function", "typeVars": [".-1.140162547737632"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547737632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162547737632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547737632", "variance": "INVARIANT"}, "140162547738080": {"type": "Function", "typeVars": [".-1.140162547738080"], "argTypes": [{"nodeId": ".-1.140162547738080"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738080", "variance": "INVARIANT"}, "140162547738528": {"type": "Function", "typeVars": [".-1.140162547738528"], "argTypes": [{"nodeId": ".-1.140162547738528"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738528", "variance": "INVARIANT"}, "140162547738976": {"type": "Function", "typeVars": [".-1.140162547738976"], "argTypes": [{"nodeId": ".-1.140162547738976"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547738976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547738976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547738976", "variance": "INVARIANT"}, "140162471759872": {"type": "Function", "typeVars": [".-1.140162471759872"], "argTypes": [{"nodeId": ".-1.140162471759872"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471759872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471759872": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471759872", "variance": "INVARIANT"}, "140162471760768": {"type": "Function", "typeVars": [".-1.140162471760768"], "argTypes": [{"nodeId": ".-1.140162471760768"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471760768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471760768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471760768", "variance": "INVARIANT"}, "140162471761664": {"type": "Function", "typeVars": [".-1.140162471761664"], "argTypes": [{"nodeId": ".-1.140162471761664"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162471761664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162471761664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471761664", "variance": "INVARIANT"}, "140162534553440": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530663264"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471622272"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471623168"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547732256"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547732704"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547733152"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547733600"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547734048"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547734496"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140162534552768"}], "isAbstract": false}, "140162530663264": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162471622272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162509559328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509559328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162471623168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547732256": {"type": "Function", "typeVars": [".-1.140162547732256"], "argTypes": [{"nodeId": ".-1.140162547732256"}, {"nodeId": ".-1.140162547732256"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547732256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547732256", "variance": "INVARIANT"}, "140162547732704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553440"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547733152": {"type": "Function", "typeVars": [".-1.140162547733152"], "argTypes": [{"nodeId": ".-1.140162547733152"}, {"nodeId": ".-1.140162547733152"}], "returnType": {"nodeId": ".-1.140162547733152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547733152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547733152", "variance": "INVARIANT"}, "140162547733600": {"type": "Function", "typeVars": [".-1.140162547733600"], "argTypes": [{"nodeId": ".-1.140162547733600"}, {"nodeId": ".-1.140162547733600"}], "returnType": {"nodeId": ".-1.140162547733600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547733600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547733600", "variance": "INVARIANT"}, "140162547734048": {"type": "Function", "typeVars": [".-1.140162547734048"], "argTypes": [{"nodeId": ".-1.140162547734048"}, {"nodeId": ".-1.140162547734048"}], "returnType": {"nodeId": ".-1.140162547734048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162547734048": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547734048", "variance": "INVARIANT"}, "140162547734496": {"type": "Function", "typeVars": [".-1.140162547734496"], "argTypes": [{"nodeId": ".-1.140162547734496"}], "returnType": {"nodeId": ".-1.140162547734496"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547734496": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547734496", "variance": "INVARIANT"}, "140162534552768": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471617568"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471618240"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530661696"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471618464"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471618688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530982624"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530983072"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530983520"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547728672"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162471617568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162471618240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530661696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}]}, "140162471618464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140162471618688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140162530982624": {"type": "Function", "typeVars": [".-1.140162530982624"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": ".-1.140162530982624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162530982624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530982624", "variance": "INVARIANT"}, "140162530983072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530983520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140162547728672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552768"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, "140162539416128": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539415792"}], "isAbstract": false}, "140162522186464": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563945888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563946336"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563946784"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563947232"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563947680"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162522186464"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162563945888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140162522186464": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140162539415792"}, "def": "140162522186464", "variance": "INVARIANT"}, "140162563946336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563946784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162563947232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186464", "args": [{"nodeId": ".1.140162522186464"}]}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".1.140162522186464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140162563947680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162539416464": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162563948128"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564522272"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140162539257920"}], "isAbstract": false}, "140162563948128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162564522272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162539418480": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539419488": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162539419824": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303520"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162525830432"}]}], "isAbstract": false}, "140162551303520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539419824"}, {"nodeId": "140162509773776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509773776": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}]}, "140162539420160": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551303968"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522115408"}]}], "isAbstract": false}, "140162551303968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539420160"}, {"nodeId": "140162509773888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509773888": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522115408": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162539420496": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162539420832": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162539421168": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258928"}]}], "isAbstract": false}, "140162526593424": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526593760": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594096": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594432": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526594768": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595104": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595440": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526595776": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596112": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596448": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526596784": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597120": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597456": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526597792": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598128": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598464": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526598800": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526599136": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539258592"}]}], "isAbstract": false}, "140162526599472": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522116304"}]}], "isAbstract": false}, "140162522116304": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526599808": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162539260272"}]}], "isAbstract": false}, "140162526600144": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551304416"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539417472"}, {"nodeId": "140162539419152", "args": [{"nodeId": "140162522115632"}]}], "isAbstract": false}, "140162551304416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526600144"}, {"nodeId": "140162509774000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162509774000": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162522115632": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162526600480": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551304864"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539419152", "args": [{"nodeId": "140162618234512"}]}], "isAbstract": false}, "140162551304864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526600480"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140162526600816": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140162526600816"}], "bases": [{"nodeId": "140162539417136"}, {"nodeId": "140162539419152", "args": [{"nodeId": ".1.140162526600816"}]}], "isAbstract": false}, ".1.140162526600816": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526600816", "variance": "INVARIANT"}, "140162526601152": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526601488": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "140162530231344"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618241904", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551305312"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162539416464"}], "isAbstract": false}, "140162530231344": {"type": "Union", "items": [{"nodeId": "140162530231008"}, {"nodeId": "140162530231232"}]}, "140162530231008": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "0"}]}, "140162530231232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "0"}, {"nodeId": "140162539258592"}]}, "140162551305312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526601152"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526601824": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551305760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551306208"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551306656"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140162539416800"}], "isAbstract": false}, "140162551305760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140162551306208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162551306656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526601824"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162526602160": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526601824"}], "isAbstract": false}, "140162526602496": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526601824"}], "isAbstract": false}, "140162526602832": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526602496"}], "isAbstract": false}, "140162526603168": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526602496"}], "isAbstract": false}, "140162522187136": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509772880"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467173024"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509772992"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162467173472"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551308896"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509774560"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509774672"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551311136"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551311584"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551312032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162522187136"}], "bases": [{"nodeId": "140162539416800"}], "isAbstract": true}, "140162509772880": {"type": "Overloaded", "items": [{"nodeId": "140162551307104"}]}, "140162551307104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162522187136": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140162539416800"}, "def": "140162522187136", "variance": "INVARIANT"}, "140162467173024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509772992": {"type": "Overloaded", "items": [{"nodeId": "140162551308000"}]}, "140162551308000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162467173472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551308896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140162509774560": {"type": "Overloaded", "items": [{"nodeId": "140162551309344"}, {"nodeId": "140162551309792"}]}, "140162551309344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162551309792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539260944"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162509774672": {"type": "Overloaded", "items": [{"nodeId": "140162551310240"}, {"nodeId": "140162551310688"}]}, "140162551310240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539258592"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162551310688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}, {"nodeId": "140162539260944"}, {"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162551311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551311584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522187136", "args": [{"nodeId": ".1.140162522187136"}]}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551312032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162526131056": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564335520"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564335968"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["read", "readline"]}, "140162564335520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131056"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162564335968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131056"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526131728": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526132064": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526131728"}], "isAbstract": false}, "140162526132400": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526131728"}], "isAbstract": false}, "140162526132736": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618243248", "args": [{"nodeId": "140162539257920"}, {"nodeId": "140162538808128"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539257920"}, {"nodeId": "140162534567360"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162564341344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551595296"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551596192"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551596640"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551597088"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162538808128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140162526496240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526496240": {"type": "TypeAlias", "target": {"nodeId": "140162526502176"}}, "140162526502176": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162526499376"}, {"nodeId": "140162526500048"}, {"nodeId": "140162526500944"}, {"nodeId": "140162526502064"}]}, "140162526499376": {"type": "Tuple", "items": [{"nodeId": "140162538810368"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}]}, "140162538810368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500048": {"type": "Tuple", "items": [{"nodeId": "140162538805216"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140162538805216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500944": {"type": "Tuple", "items": [{"nodeId": "140162538807680"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140162526500832"}]}, "140162538807680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526500832": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162526502064": {"type": "Tuple", "items": [{"nodeId": "140162538806112"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140162526501728"}, {"nodeId": "140162526501952"}]}, "140162538806112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526501728": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162526501952": {"type": "Union", "items": [{"nodeId": "140162618238544", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162534567360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162526133072": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539258592"}, {"nodeId": "140162538808576"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551597536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551598432"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551598880"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551599328"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162538808576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551597536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "140162526131056"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162514044064"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140162514044064": {"type": "Union", "items": [{"nodeId": "140162618238208", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140162551598432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551598880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162551599328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526133072"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140162564341344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "140162526754656", "args": [{"nodeId": "140162525830432"}]}, {"nodeId": "140162514043168"}, {"nodeId": "140162618234512"}, {"nodeId": "140162514043280"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140162514043168": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162514043280": {"type": "TypeAlias", "target": {"nodeId": "140162526146768"}}, "140162526146768": {"type": "Union", "items": [{"nodeId": "140162542943392"}, {"nodeId": "N"}]}, "140162542943392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526131392"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551595296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162551596192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162551596640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551597088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526132736"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140162526603840": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162509225120"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162467399936"}}], "typeVars": [{"nodeId": ".1.140162526603840"}], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140162509225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526603840"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526603840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140162526603840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526603840", "variance": "COVARIANT"}, "140162467399936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526603840"}]}, {"nodeId": "140162509776800"}, {"nodeId": "140162509776912"}, {"nodeId": "140162509777024"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162509777136"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162509776800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509776912": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509777024": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509777136": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526604176": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551603136"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551603136": {"type": "Function", "typeVars": [".-1.140162551603136"], "argTypes": [{"nodeId": "140162526604176"}, {"nodeId": ".-1.140162551603136"}], "returnType": {"nodeId": ".-1.140162551603136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140162551603136": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140162534561760"}, "def": "140162551603136", "variance": "INVARIANT"}, "140162534561760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526604512": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551603584"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526604512"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534563328"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551604032"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526604512"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162526604176"}], "isAbstract": false}, "140162551603584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526604512", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162509897792"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140162526604512": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526604512", "variance": "COVARIANT"}, "140162509897792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".1.140162526604512"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162534563328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618239216", "args": [{"nodeId": ".1.140162526604512"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162551604032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526604512", "args": [{"nodeId": ".1.140162526604512"}]}, {"nodeId": "140162509777696"}, {"nodeId": "140162509777808"}, {"nodeId": "140162509777920"}], "returnType": {"nodeId": "140162509778032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509777696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509777808": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509777920": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509778032": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526604848": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551604928"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551604928": {"type": "Function", "typeVars": [".-1.140162551604928"], "argTypes": [{"nodeId": "140162526604848"}, {"nodeId": ".-1.140162551604928"}], "returnType": {"nodeId": ".-1.140162551604928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140162551604928": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140162534562880"}, "def": "140162551604928", "variance": "INVARIANT"}, "140162534562880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162526605184": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551605376"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526605184"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162530023168"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551602688"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526605184"}], "bases": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162526604848"}], "isAbstract": false}, "140162551605376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605184", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162509898912"}, {"nodeId": "140162539261280", "args": [{"nodeId": "A"}]}, {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140162526605184": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526605184", "variance": "COVARIANT"}, "140162509898912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618240560", "args": [{"nodeId": ".1.140162526605184"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162530023168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162618240896", "args": [{"nodeId": ".1.140162526605184"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140162551602688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605184", "args": [{"nodeId": ".1.140162526605184"}]}, {"nodeId": "140162509778480"}, {"nodeId": "140162509778592"}, {"nodeId": "140162509778704"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162509778816"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140162509778480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509778592": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509778704": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162509778816": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162526605520": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551607616"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close"]}, "140162551607616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605520"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526605856": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608512"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526605856"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526605856"}]}], "isAbstract": false}, "140162551608064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605856", "args": [{"nodeId": ".1.140162526605856"}]}, {"nodeId": ".1.140162526605856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140162526605856": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140162526605520"}, "def": "140162526605856", "variance": "INVARIANT"}, "140162551608512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526605856", "args": [{"nodeId": ".1.140162526605856"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162526606192": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551608960"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["aclose"]}, "140162551608960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606192"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "140162618234176"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526606528": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551609408"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551605824"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526606528"}], "bases": [{"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526606528"}]}], "isAbstract": false}, "140162551609408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606528", "args": [{"nodeId": ".1.140162526606528"}]}, {"nodeId": ".1.140162526606528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140162526606528": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140162526606192"}, "def": "140162526606528", "variance": "INVARIANT"}, "140162551605824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606528", "args": [{"nodeId": ".1.140162526606528"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140162526606864": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551610304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551610752"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140162551610304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606864"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140162551610752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526606864"}, {"nodeId": "140162509779152"}, {"nodeId": "140162509779264"}, {"nodeId": "140162509779376"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779264": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509779376": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526607200": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551889984"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551890432"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140162526607200"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526607200"}]}], "isAbstract": false}, "140162551889984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607200"}]}, {"nodeId": ".1.140162526607200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140162526607200": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607200", "variance": "INVARIANT"}, "140162530657552": {"type": "Union", "items": [{"nodeId": "140162525827408", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "N"}]}, "140162551890432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607200"}]}, {"nodeId": "140162509779488"}, {"nodeId": "140162509779600"}, {"nodeId": "140162509779712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779488": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779600": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509779712": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526607536": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140162526607536"}], "bases": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607536"}]}], "isAbstract": false}, ".1.140162526607536": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607536", "variance": "INVARIANT"}, "140162526607872": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140162526607872"}], "bases": [{"nodeId": "140162526607200", "args": [{"nodeId": ".1.140162526607872"}]}], "isAbstract": false}, ".1.140162526607872": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140162530657552"}, "def": "140162526607872", "variance": "INVARIANT"}, "140162526608208": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551890880"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551891328"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551891776"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551609856"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551892672"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551892224"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551893568"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551890880": {"type": "Function", "typeVars": [".-1.140162551890880"], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162526603504", "args": [{"nodeId": ".-1.140162551890880"}]}], "returnType": {"nodeId": ".-1.140162551890880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551890880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551890880", "variance": "INVARIANT"}, "140162551891328": {"type": "Function", "typeVars": [".-1.140162551891328"], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": ".-1.140162551891328"}], "returnType": {"nodeId": ".-1.140162551891328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551891328": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140162522116864"}, "def": "140162551891328", "variance": "INVARIANT"}, "140162522116864": {"type": "Union", "items": [{"nodeId": "140162526603504", "args": [{"nodeId": "A"}]}, {"nodeId": "140162522116640"}]}, "140162522116640": {"type": "TypeAlias", "target": {"nodeId": "140162530467328"}}, "140162530467328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162530230560"}, {"nodeId": "140162530231680"}, {"nodeId": "140162530230784"}], "returnType": {"nodeId": "140162530230336"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162530230560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162530231680": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162530230784": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162530230336": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162551891776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162509899808"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509899808": {"type": "Function", "typeVars": [".-2.140162509899808"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509899808"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509899808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509899808", "variance": "INVARIANT"}, "140162509900032": {"type": "Function", "typeVars": [".-2.140162509900032"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509900032"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900032", "variance": "INVARIANT"}, "140162551609856": {"type": "Function", "typeVars": [".-1.140162551609856"], "argTypes": [{"nodeId": ".-1.140162551609856"}], "returnType": {"nodeId": ".-1.140162551609856"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551609856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551609856", "variance": "INVARIANT"}, "140162551892672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551892224": {"type": "Function", "typeVars": [".-1.140162551892224"], "argTypes": [{"nodeId": ".-1.140162551892224"}], "returnType": {"nodeId": ".-1.140162551892224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162551892224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551892224", "variance": "INVARIANT"}, "140162551893568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608208"}, {"nodeId": "140162509779040"}, {"nodeId": "140162509779936"}, {"nodeId": "140162509780048"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162509779040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509779936": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509780048": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526608544": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894016"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551893120"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894912"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551895360"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551895808"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551896256"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551894464"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551896704"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551897600"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551897152"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162551894016": {"type": "Function", "typeVars": [".-1.140162551894016"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162526603504", "args": [{"nodeId": ".-1.140162551894016"}]}], "returnType": {"nodeId": ".-1.140162551894016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551894016": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551894016", "variance": "INVARIANT"}, "140162551893120": {"type": "Function", "typeVars": [".-1.140162551893120"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162526603840", "args": [{"nodeId": ".-1.140162551893120"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140162551893120"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140162551893120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551893120", "variance": "INVARIANT"}, "140162551894912": {"type": "Function", "typeVars": [".-1.140162551894912"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": ".-1.140162551894912"}], "returnType": {"nodeId": ".-1.140162551894912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551894912": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140162522116864"}, "def": "140162551894912", "variance": "INVARIANT"}, "140162551895360": {"type": "Function", "typeVars": [".-1.140162551895360"], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": ".-1.140162551895360"}], "returnType": {"nodeId": ".-1.140162551895360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140162551895360": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140162522117872"}, "def": "140162551895360", "variance": "INVARIANT"}, "140162522117872": {"type": "Union", "items": [{"nodeId": "140162526603840", "args": [{"nodeId": "A"}]}, {"nodeId": "140162522118208"}]}, "140162522118208": {"type": "TypeAlias", "target": {"nodeId": "140162530466432"}}, "140162530466432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162535238768"}, {"nodeId": "140162535242576"}, {"nodeId": "140162535241232"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": "140162535240000"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162535238768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162535242576": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162535241232": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162535240000": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, "140162551895808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509899584"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900480"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509899584": {"type": "Function", "typeVars": [".-2.140162509899584"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509899584"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509899584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509899584", "variance": "INVARIANT"}, "140162509900480": {"type": "Function", "typeVars": [".-2.140162509900480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140162509900480"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900480": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900480", "variance": "INVARIANT"}, "140162551896256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509900256"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162509900928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140162509900256": {"type": "Function", "typeVars": [".-2.140162509900256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".-2.140162509900256"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900256": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900256", "variance": "INVARIANT"}, "140162509900928": {"type": "Function", "typeVars": [".-2.140162509900928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140162618239552", "args": [{"nodeId": ".-2.140162509900928"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140162509900928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162509900928", "variance": "INVARIANT"}, "140162551894464": {"type": "Function", "typeVars": [".-1.140162551894464"], "argTypes": [{"nodeId": ".-1.140162551894464"}], "returnType": {"nodeId": ".-1.140162551894464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551894464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551894464", "variance": "INVARIANT"}, "140162551896704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551897600": {"type": "Function", "typeVars": [".-1.140162551897600"], "argTypes": [{"nodeId": ".-1.140162551897600"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140162551897600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162551897600": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162551897600", "variance": "INVARIANT"}, "140162551897152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608544"}, {"nodeId": "140162509780608"}, {"nodeId": "140162509780944"}, {"nodeId": "140162509781056"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140162618234512"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140162509780608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162509780944": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162509781056": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162526608880": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526608880"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509780496"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551899392"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551899840"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551898944"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551900288"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140162526608880"}], "bases": [{"nodeId": "140162526603504", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162526603840", "args": [{"nodeId": ".1.140162526608880"}]}], "isAbstract": false}, ".1.140162526608880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526608880", "variance": "INVARIANT"}, "140162509780496": {"type": "Overloaded", "items": [{"nodeId": "140162551898048"}, {"nodeId": "140162551898496"}]}, "140162551898048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140162551898496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": ".1.140162526608880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140162551899392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}], "returnType": {"nodeId": ".1.140162526608880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162551899840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140162551898944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140162526608880"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162551900288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526608880", "args": [{"nodeId": ".1.140162526608880"}]}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618239888", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140162526741552": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551904992"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551905440"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162551905888"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close", "seek", "write"]}, "140162551904992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140162551905440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162551905888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741552"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526741888": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546909472"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546909920"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546910368"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["close", "read", "seek"]}, "140162546909472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140162546909920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140162546910368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526741888"}], "returnType": {"nodeId": "140162618234176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162522187472": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140162526741552"}, {"nodeId": "140162526741888"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140162526742224": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546910816"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546910816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742224"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510043200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162510043200": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162526742560": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546911264"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546911264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742560"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162510043424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162510043424": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526742896": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546911712"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546911712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526742896"}, {"nodeId": "140162526741888"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162522189152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162522189152": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526741888"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547050400"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547050848"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547051296"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547051744"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547052192"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547052640"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053088"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053536"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547053984"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162526744240"}], "isAbstract": false}, "140162547049952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162526741888"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162547050400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140162547050848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150688"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140162505150688": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547051296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150800"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140162505150800": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547051744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547052192": {"type": "Function", "typeVars": [".-1.140162547052192"], "argTypes": [{"nodeId": ".-1.140162547052192"}], "returnType": {"nodeId": ".-1.140162547052192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547052192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547052192", "variance": "INVARIANT"}, "140162547052640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162505150912"}, {"nodeId": "140162505151024"}, {"nodeId": "140162505151136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505150912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505151024": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505151136": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547053088": {"type": "Function", "typeVars": [".-1.140162547053088"], "argTypes": [{"nodeId": ".-1.140162547053088"}], "returnType": {"nodeId": ".-1.140162547053088"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547053088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547053088", "variance": "INVARIANT"}, "140162547053536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547053984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189152"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509903168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162509903168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526744240": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546923808"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546924256"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162546923808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744240"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505148560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162505148560": {"type": "Tuple", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162539258592"}]}, "140162546924256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744240"}, {"nodeId": "140162525830432"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162505148784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140162505148784": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162526743232": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546912160"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546912160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743232"}, {"nodeId": "140162526741552"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162522188816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162522188816": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526741552"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547046816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547047264"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547047712"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547048160"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547048608"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049056"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547049504"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140162526744240"}], "isAbstract": false}, "140162547046816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162526741552"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140162547047264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140162547047712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547048160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547048608": {"type": "Function", "typeVars": [".-1.140162547048608"], "argTypes": [{"nodeId": ".-1.140162547048608"}], "returnType": {"nodeId": ".-1.140162547048608"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547048608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547048608", "variance": "INVARIANT"}, "140162547049056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162505150128"}, {"nodeId": "140162505150240"}, {"nodeId": "140162505150352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505150128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505150240": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505150352": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547049504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188816"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509902496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140162509902496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162526743568": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546912608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546912608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743568"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526744576"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162526744576": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546924704"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463509056"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547040544"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547040992"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547041440"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": true}, "140162546924704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463509056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162547040544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547040992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}], "returnType": {"nodeId": "140162505148896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162505148896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162547041440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526744576"}, {"nodeId": "140162505149008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140162505149008": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}]}, "140162526743904": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546913056"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "protocolMembers": ["__call__"]}, "140162546913056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526743904"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162526744912"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162522187808": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463540256"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463538688"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463536448"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463538016"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463531072"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162463531296"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162546916192"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539261280", "args": [{"nodeId": "140162618234176"}]}], "isAbstract": false}, "140162463540256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043648"}], "returnType": {"nodeId": "140162526742224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043648": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463538688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043760"}], "returnType": {"nodeId": "140162526742560"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043760": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463536448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043872"}], "returnType": {"nodeId": "140162526742896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043872": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463538016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510043984"}], "returnType": {"nodeId": "140162526743232"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510043984": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463531072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510044096"}], "returnType": {"nodeId": "140162526743568"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510044096": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162463531296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162510044208"}], "returnType": {"nodeId": "140162526743904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162510044208": {"type": "Tuple", "items": [{"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}]}, "140162546916192": {"type": "Function", "typeVars": [".-1.140162546916192"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162510043536"}, {"nodeId": "140162510044320"}, {"nodeId": "140162510044432"}, {"nodeId": "140162510044544"}, {"nodeId": "140162510044656"}, {"nodeId": "140162510044768"}], "returnType": {"nodeId": ".-1.140162546916192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140162510043536": {"type": "Union", "items": [{"nodeId": "140162526742896"}, {"nodeId": "N"}]}, "140162510044320": {"type": "Union", "items": [{"nodeId": "140162526743232"}, {"nodeId": "N"}]}, "140162510044432": {"type": "Union", "items": [{"nodeId": "140162526743568"}, {"nodeId": "N"}]}, "140162510044544": {"type": "Union", "items": [{"nodeId": "140162526743904"}, {"nodeId": "N"}]}, "140162510044656": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162510044768": {"type": "Union", "items": [{"nodeId": "140162618234512"}, {"nodeId": "N"}]}, ".-1.140162546916192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162546916192", "variance": "INVARIANT"}, "140162522188144": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547044128"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463507264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547045024"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140162526744576"}], "isAbstract": true}, "140162547044128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463507264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140162547045024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188144"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162522188480": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162525830432"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547045472"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162463506144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547046368"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140162526744912"}], "isAbstract": true}, "140162547045472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140162463506144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162505149680"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162505149904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140162505149680": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162505149904": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}, "140162547046368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522188480"}, {"nodeId": "140162505150016"}, {"nodeId": "140162618234512"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140162505150016": {"type": "TypeAlias", "target": {"nodeId": "140162543162912"}}, "140162522189488": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522187472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547054432"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547054880"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547055328"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547055776"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547056224"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188448"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547188896"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547189344"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547189792"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547190240"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547190688"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547191136"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547191584"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192032"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192480"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547192928"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547193376"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547193824"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547194272"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547194720"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547195168"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140162525828080"}], "isAbstract": false}, "140162547054432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162522187472"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140162547054880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162547055328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151472"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505151472": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547055776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151584"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140162505151584": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547056224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547188000": {"type": "Function", "typeVars": [".-1.140162547188000"], "argTypes": [{"nodeId": ".-1.140162547188000"}], "returnType": {"nodeId": ".-1.140162547188000"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547188000": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547188000", "variance": "INVARIANT"}, "140162547188448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162547188896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547189344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547189792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140162547190240": {"type": "Function", "typeVars": [".-1.140162547190240"], "argTypes": [{"nodeId": ".-1.140162547190240"}], "returnType": {"nodeId": ".-1.140162547190240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547190240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547190240", "variance": "INVARIANT"}, "140162547190688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505151696"}, {"nodeId": "140162505151808"}, {"nodeId": "140162505151920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505151696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505151808": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505151920": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547191136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547191584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547192928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547193376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547193824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}, {"nodeId": "140162505152144"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152144": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547194272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547194720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547195168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522189488"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526745248": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547195616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196064"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196512"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547196960"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547197408"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547197856"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547198304"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547198752"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547199200"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547199648"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200096"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200544"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547200992"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547201440"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547201888"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547202336"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547202784"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547203232"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547203680"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547302688"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547303136"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547303584"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140162525827744"}], "isAbstract": false}, "140162547195616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162522187472"}, {"nodeId": "140162526742224"}, {"nodeId": "140162526742560"}, {"nodeId": "140162526742896"}, {"nodeId": "140162526743232"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140162547196064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162547196512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152256"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152256": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547196960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152368"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162525830432"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140162505152368": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547197408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547197856": {"type": "Function", "typeVars": [".-1.140162547197856"], "argTypes": [{"nodeId": ".-1.140162547197856"}], "returnType": {"nodeId": ".-1.140162547197856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547197856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547197856", "variance": "INVARIANT"}, "140162547198304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162525830432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140162547198752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162525830432"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140162547199200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547199648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547200096": {"type": "Function", "typeVars": [".-1.140162547200096"], "argTypes": [{"nodeId": ".-1.140162547200096"}], "returnType": {"nodeId": ".-1.140162547200096"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162547200096": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547200096", "variance": "INVARIANT"}, "140162547200544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152592"}, {"nodeId": "140162505152704"}, {"nodeId": "140162505152816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140162505152592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140162505152704": {"type": "Union", "items": [{"nodeId": "140162539265984"}, {"nodeId": "N"}]}, "140162505152816": {"type": "Union", "items": [{"nodeId": "140162526123328"}, {"nodeId": "N"}]}, "140162547200992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140162547201440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547201888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547202336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547202784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547203232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547203680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}, {"nodeId": "140162505152928"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140162505152928": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162547302688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547303136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547303584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526745248"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162539406384": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162539406720": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}], "isAbstract": false}, "140162539407056": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406720"}], "isAbstract": false}, "140162539407392": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406720"}], "isAbstract": false}, "140162539407728": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}, {"nodeId": "140162539273040"}], "isAbstract": false}, "140162539408064": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539406384"}], "isAbstract": false}, "140162539408736": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409072": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409408": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539409744": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410080": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410416": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539410752": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411088": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411424": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539411760": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412096": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412432": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539412768": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539408400"}], "isAbstract": false}, "140162539413104": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539413440": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539413776": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547315904"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162547315904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539413776"}, {"nodeId": "140162509767392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140162509767392": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162539414112": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539414448": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162539414784": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539412768"}], "isAbstract": false}, "140162534554448": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547370688"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547371136"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547371584"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372032"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372480"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140162534554112"}], "isAbstract": false}, "140162547370688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509560448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509560448": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547371136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560672"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560672": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547371584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509560784"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509560784": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539406048"}]}, "140162539406048": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543482272"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543482720"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543483168"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543483616"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162543484064"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162543482272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162509568400"}, {"nodeId": "140162509568512"}, {"nodeId": "140162509568624"}, {"nodeId": "140162509568736"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140162509568400": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509568512": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509568624": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509568736": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162543482720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162509568848"}, {"nodeId": "140162509568960"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140162509568848": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "140162525830768"}, {"nodeId": "140162539260272"}]}, "140162509568960": {"type": "Union", "items": [{"nodeId": "140162539415456"}, {"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162543483168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509569072"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140162509569072": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162543483616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162543484064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539406048"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547372032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547372480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554448"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162534554784": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162534566688"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539415120"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547372928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547373376"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547373824"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547374272"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547374720"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547375168"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140162534554112"}], "isAbstract": false}, "140162534566688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547372928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162509560896"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}, {"nodeId": "140162618234512"}, {"nodeId": "140162618234512"}, {"nodeId": "140162509561008"}, {"nodeId": "140162618234512"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509219520"}, {"nodeId": "140162539415120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140162509560896": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162509561008": {"type": "Union", "items": [{"nodeId": "140162509219296"}, {"nodeId": "N"}]}, "140162509219296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554112"}], "returnType": {"nodeId": "140162534555120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162509219520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162547373376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162509561232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140162509561232": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547373824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162509561456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162509561456": {"type": "Tuple", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}]}, "140162547374272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547374720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162547375168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534554784"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162525830432"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140162526126688": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526126688"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140162526126688"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547377184"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547377632"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547378080"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140162526126688"}], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, ".1.140162526126688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162526126688", "variance": "INVARIANT"}, "140162547377184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126688", "args": [{"nodeId": ".1.140162526126688"}]}, {"nodeId": "140162513468688"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513468800"}, {"nodeId": "140162513468912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140162513468688": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513468800": {"type": "Union", "items": [{"nodeId": ".1.140162526126688"}, {"nodeId": "N"}]}, "140162513468912": {"type": "Union", "items": [{"nodeId": ".1.140162526126688"}, {"nodeId": "N"}]}, "140162547377632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526126688", "args": [{"nodeId": ".1.140162526126688"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547378080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140162526124672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140162526127024": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526127360": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530023392"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258928"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522322128"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522000608"}}], "typeVars": [], "bases": [{"nodeId": "140162526127024"}], "isAbstract": false}, "140162530023392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526127360"}, {"nodeId": "140162513767216"}, {"nodeId": "140162539258928"}, {"nodeId": "140162513767328"}, {"nodeId": "140162513767440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140162513767216": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513767328": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513767440": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522322128": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162522000608": {"type": "Union", "items": [{"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162526127696": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530023840"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162526127024"}], "isAbstract": false}, "140162530023840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526127696"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513767552"}, {"nodeId": "140162513767664"}, {"nodeId": "140162513767776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140162513767552": {"type": "TypeAlias", "target": {"nodeId": "140162521989744"}}, "140162513767664": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513767776": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162534552096": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530971424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530971872"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}], "isAbstract": false}, "140162530971424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530971872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552096"}, {"nodeId": "140162539260272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162534552432": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530973664"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162471612864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530975456"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530975904"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530976352"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530976800"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471613088"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530977696"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530978144"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162530978592"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140162509355856"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162534552768"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "A"}, {"nodeId": "140162534552768"}]}}], "typeVars": [], "bases": [{"nodeId": "140162539189776"}], "isAbstract": false}, "140162530973664": {"type": "Function", "typeVars": [".-1.140162530973664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "140162534552096"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140162530973664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140162530973664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530973664", "variance": "INVARIANT"}, "140162471612864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539261280", "args": [{"nodeId": "140162539257920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140162534552096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140162530975456": {"type": "Function", "typeVars": [".-1.140162530975456"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162530975456"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530975456": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530975456", "variance": "INVARIANT"}, "140162530975904": {"type": "Function", "typeVars": [".-1.140162530975904"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162618238544", "args": [{"nodeId": ".-1.140162530975904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140162530975904": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530975904", "variance": "INVARIANT"}, "140162530976352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162618234176"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162530976800": {"type": "Function", "typeVars": [".-1.140162530976800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162530976800"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140162530976800": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530976800", "variance": "INVARIANT"}, "140162471613088": {"type": "Function", "typeVars": [".-1.140162471613088"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140162526118624", "args": [{"nodeId": "140162539260272"}, {"nodeId": ".-1.140162471613088"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140162471613088": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162471613088", "variance": "INVARIANT"}, "140162530977696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162530978144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162530978592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}], "returnType": {"nodeId": "140162539261616", "args": [{"nodeId": "140162539260272"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162509355856": {"type": "Overloaded", "items": [{"nodeId": "140162530979040"}, {"nodeId": "140162530979936"}]}, "140162530979040": {"type": "Function", "typeVars": [".-1.140162530979040"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140162530979040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140162530979040": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162530979040", "variance": "INVARIANT"}, "140162530979936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534552432"}, {"nodeId": "140162539260272"}, {"nodeId": "140162509558208"}, {"nodeId": "140162509558320"}, {"nodeId": "140162509558432"}, {"nodeId": "140162509558544"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140162509558208": {"type": "TypeAlias", "target": {"nodeId": "140162530661584"}}, "140162530661584": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162618238208", "args": [{"nodeId": "140162530663376"}]}]}, {"nodeId": "140162618243248", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}]}, "140162530663376": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}, "140162509558320": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509558432": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162509558544": {"type": "Union", "items": [{"nodeId": "140162539257920"}, {"nodeId": "N"}]}, "140162534553104": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471620704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547729568"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}, {"nodeId": "140162534552768"}], "isAbstract": false}, "140162471620704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162534553104"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547729568": {"type": "Function", "typeVars": [".-1.140162547729568"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": ".-1.140162547729568"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140162547729568": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547729568", "variance": "INVARIANT"}, "140162522186128": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162471621376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162547730912"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162534553776"}], "isAbstract": false}, "140162471621376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162522186128"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162547730912": {"type": "Function", "typeVars": [".-1.140162547730912"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140162547730912"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140162547730912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162547730912", "variance": "INVARIANT"}, "140162526129712": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526143296"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526145760"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534245312"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526143296": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162526145760": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162534245312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129712"}, {"nodeId": "140162539260272"}, {"nodeId": "140162513805696"}, {"nodeId": "140162513805360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140162513805696": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "140162525830432"}, {"nodeId": "N"}]}, "140162513805360": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162526130048": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534245760"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140162539258592"}], "isAbstract": false}, "140162534245760": {"type": "Function", "typeVars": [".-1.140162534245760"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": ".-1.140162534245760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140162534245760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140162618234176"}, "def": "140162534245760", "variance": "INVARIANT"}, "140162526755328": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162534248448"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162534248448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526755328"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162526128368": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140162539267328"}], "isAbstract": false}, "140162526128704": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162526141056"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522321568"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488186720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542832544"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542832992"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542833440"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542833888"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162526141056": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522321568": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162488186720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542832544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162513802896"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140162513802896": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542832992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140162526129040": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261616", "args": [{"nodeId": "140162522325712"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522266672"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162526128704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542834336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542835232"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542835680"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542836128"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542836576"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837024"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837472"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542837920"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542838368"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522325712": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162522323360": {"type": "Tuple", "items": [{"nodeId": "140162526130048"}, {"nodeId": "140162522322352"}]}, "140162522322352": {"type": "TypeAlias", "target": {"nodeId": "140162522322912"}}, "140162522322912": {"type": "Union", "items": [{"nodeId": "140162522324928"}, {"nodeId": "140162522325488"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162526129040"}]}, {"nodeId": "140162522322688"}, {"nodeId": "140162522322800"}]}, "140162522324928": {"type": "TypeAlias", "target": {"nodeId": "140162539261616", "args": [{"nodeId": "140162526142848"}]}}, "140162526142848": {"type": "Tuple", "items": [{"nodeId": "140162526130048"}, {"nodeId": "140162539258592"}]}, "140162522325488": {"type": "TypeAlias", "target": {"nodeId": "140162522001952"}}, "140162522001952": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140162539261616", "args": [{"nodeId": "140162526129040"}]}]}, "140162522322688": {"type": "TypeAlias", "target": {"nodeId": "140162522001840"}}, "140162522001840": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}, {"nodeId": "140162526129040"}]}, "140162522322800": {"type": "TypeAlias", "target": {"nodeId": "140162522327392"}}, "140162522327392": {"type": "Tuple", "items": [{"nodeId": "140162526141504"}, {"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129040"}]}, "140162526141504": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162522266672": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "N"}]}, "140162542834336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162526128704"}, {"nodeId": "140162513803120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140162513803120": {"type": "Union", "items": [{"nodeId": "140162539261616", "args": [{"nodeId": "140162513803008"}]}, {"nodeId": "N"}]}, "140162513803008": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542835232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140162542835680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140162542836128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513803344": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162542836576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803680"}], "returnType": {"nodeId": "140162513803456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140162513803680": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162513803456": {"type": "Union", "items": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803232"}]}, "140162513803232": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803792"}, {"nodeId": "140162513804128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140162513803792": {"type": "Union", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539260944"}]}, "140162513804128": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162539258592"}, {"nodeId": "140162513803904"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140162513803904": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542837920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}, {"nodeId": "140162513803568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140162513803568": {"type": "TypeAlias", "target": {"nodeId": "140162522323360"}}, "140162542838368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129040"}], "returnType": {"nodeId": "140162513804576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513804576": {"type": "Tuple", "items": [{"nodeId": "140162539258592"}, {"nodeId": "140162539258592"}]}, "140162542833440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140162542833888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526128704"}, {"nodeId": "140162539258592"}, {"nodeId": "140162526129376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140162526129376": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162618234512"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539258592"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162522262864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542838816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542839264"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542839712"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542840160"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542840608"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140162488182016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542841952"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542842400"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140162542842848"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140162618234176"}], "isAbstract": false}, "140162522262864": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542838816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140162542839264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162618234512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140162542839712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162513804016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162513804016": {"type": "Union", "items": [{"nodeId": "140162539260272"}, {"nodeId": "N"}]}, "140162542840160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539258592"}, {"nodeId": "140162618238208", "args": [{"nodeId": "140162539260272"}]}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140162542840608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539260272"}], "returnType": {"nodeId": "140162539260272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140162488182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542841952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}], "returnType": {"nodeId": "140162539258592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140162542842400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140162542842848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140162526129376"}, {"nodeId": "140162539260272"}, {"nodeId": "140162539258592"}], "returnType": {"nodeId": "140162526129712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}}, "types": {}, "definitions": {"import_test": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539260272"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140162539261952", "args": [{"nodeId": "140162539260272"}, {"nodeId": "A"}]}}, "A": {"kind": "ClassDef", "type": {"nodeId": "140162522192512"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140162534547392"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140162521921376"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140162521921712"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521922048"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534547728"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521922384"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162521922720"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162521923056"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162522185792"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140162534548400"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140162525833456"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140162525833792"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140162525834128"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140162525834464"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140162539191456"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140162526740544"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140162526740880"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140162526741216"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140162525834800"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140162525835136"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140162525835472"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525835808"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140162539191792"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140162525836144"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140162618234176"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140162618234512"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140162618234848"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140162618244256"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140162618244592"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140162539257920"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140162539258256"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140162539258592"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140162539258928"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140162539259264"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140162539259600"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140162539259936"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140162539260272"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140162525830432"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140162525830768"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140162539260608"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140162539260944"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140162539261280"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140162539261616"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140162539261952"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140162525831104"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140162525831440"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140162525831776"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140162539262288"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140162539262624"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140162539262960"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140162521913648"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140162539263296"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140162525832112"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140162539263632"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140162525832448"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140162521913984"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140162539263968"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140162539264304"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140162539264640"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140162525832784"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140162539264976"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140162539265312"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140162521914320"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140162525833120"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140162539265648"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140162539265984"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140162539266320"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140162539266656"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140162539266992"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140162539267328"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140162539267664"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140162539268000"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140162539268336"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140162539268672"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140162539269008"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140162539269344"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140162539269680"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140162539270016"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140162539270352"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539270688"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140162539271024"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140162539271360"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140162539271696"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140162539272032"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140162539272368"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140162539272704"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140162539273040"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140162539273376"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140162539273712"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140162539176000"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140162539176336"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162539176672"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140162539177008"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140162539177344"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140162539177680"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140162539178016"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140162539178352"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140162539178688"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140162539179024"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140162539179360"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140162539179696"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140162539180032"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140162539180368"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162539180704"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140162539181040"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539181376"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140162539181712"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140162539182048"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140162539182384"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140162539182720"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140162539183056"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140162539183392"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140162539183728"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140162539184064"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539184400"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539184736"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140162539185072"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140162539185408"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140162539185744"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186080"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186416"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539186752"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187088"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187424"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539187760"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188096"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188432"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539188768"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539189104"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140162539189440"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140162534548064"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140162534548400"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534548736"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549072"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549408"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534549744"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534550080"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140162534550416"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140162534550752"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140162534551088"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140162534551424"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140162534551760"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140162534544032"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140162534544704"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140162534545376"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140162534545712"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140162534546048"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140162522192176"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140162534546384"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140162534546720"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521920368"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162521921040"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140162534547056"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140162526125680"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140162521914656"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140162521914992"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140162521915328"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140162526126016"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140162521915664"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140162521916000"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140162526126352"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140162521916336"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140162525838832"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526117952"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140162526118288"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140162526118624"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140162526118960"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140162526119296"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140162526119632"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140162526119968"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140162526120304"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140162526120640"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526120976"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140162526121312"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162526121648"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526121984"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140162526122320"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526122656"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526122992"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140162526123328"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140162526123664"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526124000"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140162526124336"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140162526124672"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140162526125008"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140162526125344"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140162526745920"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140162526746256"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140162526746592"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140162526746928"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140162526747264"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140162526747600"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140162526747936"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140162526748272"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140162526748608"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140162526748944"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140162526749280"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140162526749616"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140162526749952"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140162526750288"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140162526750624"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140162526750960"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526751296"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140162526751632"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140162526751968"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526752304"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140162526752640"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140162526752976"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140162526753312"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140162526753648"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140162526753984"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140162526754320"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140162526754656"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140162526754992"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162525838160"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140162618235184"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140162618235520"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140162618235856"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140162618236192"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162618236528"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140162618236864"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140162618237200"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140162525823040"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140162525823376"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140162525823712"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140162525824048"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140162525824384"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140162525824720"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140162618237536"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140162618237872"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140162525825056"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140162525825392"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140162618238208"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140162618238544"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140162618238880"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140162618239216"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140162618239552"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140162618239888"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140162525825728"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140162618240224"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140162618240560"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140162618240896"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140162618241232"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140162618241568"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140162618241904"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140162618242240"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140162618242576"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140162618242912"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140162525826064"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140162525826400"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140162525826736"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140162525827072"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140162618243248"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140162618243584"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140162525827408"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140162525827744"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140162525828080"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140162525828416"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525828752"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525829088"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140162618243920"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140162525829424"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140162525829760"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140162525830096"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140162525836480"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140162525836816"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140162525837152"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525837488"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140162525837824"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140162525838160"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140162525838496"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140162526755664"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140162526756000"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140162526756336"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140162521710656"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140162521710992"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140162521711328"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140162521711664"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140162521712000"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140162521712336"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140162521712672"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140162521713008"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140162521713344"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140162521713680"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140162521714016"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140162521714352"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140162521714688"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140162521715024"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140162521715360"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140162521715696"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140162521716032"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140162521716368"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140162521716704"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140162521717040"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140162521717376"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140162521717712"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140162521718048"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140162521718384"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140162521718720"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140162521719056"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140162521719392"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140162521719728"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140162521720064"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140162521720400"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140162521720736"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140162521721072"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140162521721408"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140162521721744"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140162521722080"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140162521722416"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140162521722752"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140162521723088"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140162521723424"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140162521723760"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140162521724096"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140162521724432"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140162521724768"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140162521725104"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140162521725440"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140162521725776"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140162521726112"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140162521726448"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140162521825344"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140162521825680"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140162521826016"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140162521826352"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140162521826688"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140162521827024"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140162521827360"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140162521827696"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140162521828032"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140162521828368"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140162521828704"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140162521829040"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140162521829376"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140162521829712"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140162521830048"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140162521830384"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140162521830720"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140162521831056"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140162521831392"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140162521831728"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140162521832064"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140162521832400"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140162521832736"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140162521833072"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140162521833408"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140162521833744"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140162521834080"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140162521834416"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140162521834752"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140162521835088"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140162521835424"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140162521835760"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140162521836096"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140162521836432"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140162521836768"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140162521837104"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140162521837440"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140162521837776"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140162521838112"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140162521838448"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140162521838784"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140162521839120"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140162521839456"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140162521839792"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140162521840128"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140162521840464"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140162521840800"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140162521841136"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140162521907264"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140162521907600"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140162521907936"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140162521908272"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140162521908608"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140162521908944"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140162521909280"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140162521909616"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140162521909952"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140162521910288"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140162521910624"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140162521910960"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140162521911296"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140162521911632"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140162521911968"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140162521912304"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140162521912640"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140162521912976"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140162521913312"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140162534539664"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540000"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540336"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534540672"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140162534541008"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140162534541344"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140162534541680"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140162534542016"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140162534542352"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140162534542688"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140162534543024"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140162534543360"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140162534543696"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162522191840"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140162539189776"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140162539190112"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140162539190448"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140162539190784"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140162539191120"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140162534544032"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140162534544368"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140162534555120"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140162539405376"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140162539405712"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140162522189824"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140162522190160"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140162522190496"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140162522190832"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140162522191168"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140162522191504"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140162526133408"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140162521917008"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140162521917344"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140162526133744"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140162521917680"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140162521918016"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140162521918352"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140162521918688"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140162521919024"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140162521919360"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140162521919696"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140162521920032"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140162526130384"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140162526130720"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140162521916672"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140162526745584"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140162539415792"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140162539416128"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140162522186464"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140162539416464"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140162539416800"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140162539417136"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140162539417472"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140162539417808"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140162539418144"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140162539418480"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140162539418816"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140162522186800"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140162539419152"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140162539419488"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140162539419824"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140162539420160"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140162539420496"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140162539420832"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140162539421168"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140162526593088"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140162526593424"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140162526593760"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140162526594096"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140162526594432"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140162526594768"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140162526595104"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140162526595440"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140162526595776"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140162526596112"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140162526596448"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140162526596784"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140162526597120"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140162526597456"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140162526597792"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140162526598128"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140162526598464"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140162526598800"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140162526599136"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140162526599472"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140162526599808"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140162526600144"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140162526600480"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140162526600816"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140162526601152"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140162526601488"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140162526601824"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140162526602160"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140162526602496"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140162526602832"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140162526603168"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140162522187136"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140162534539328"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140162526131056"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140162526131392"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140162526131728"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140162526132064"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140162526132400"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140162526132736"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140162526133072"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526603504"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526603840"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140162526604176"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526604512"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140162526604848"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140162526605184"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140162526605520"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140162526605856"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140162526606192"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140162526606528"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140162526606864"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140162526607200"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140162526607536"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140162526607872"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140162526608208"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140162526608544"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140162526608880"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140162526741552"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140162526741888"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140162522187472"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140162526742224"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140162526742560"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140162526742896"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140162526743232"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162526743568"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526743904"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140162522187808"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140162526744240"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162526744576"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526744912"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140162522188144"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140162522188480"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140162522188816"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140162522189152"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140162522189488"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140162526745248"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140162534555120"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140162534554112"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140162539415456"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140162539415120"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140162539406384"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140162539406720"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140162539407056"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140162539407392"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140162539407728"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140162539408064"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539408400"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539408736"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409072"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409408"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539409744"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410080"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410416"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539410752"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411088"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411424"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539411760"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412096"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412432"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539412768"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539413104"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140162539413440"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539413776"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414112"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414448"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140162539414784"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140162534554112"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140162534554448"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140162534554784"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140162526126688"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140162526127024"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140162526127360"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140162526127696"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140162526128032"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140162534552096"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140162534552432"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140162534552768"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140162534553104"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140162522186128"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140162534553440"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140162534553776"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140162526129712"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140162526130048"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140162526755328"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140162539406048"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140162526128368"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140162526128704"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140162526129040"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140162526129376"}}}}, "names": {"import_test": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "im", "kind": "Module", "fullname": "importlib.machinery"}, {"name": "c", "kind": "Module", "fullname": "collections"}, {"name": "deque", "kind": "ImportedType", "fullname": "collections.deque"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "A", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}]}} \ No newline at end of file diff --git a/utbot-python/src/test/resources/subtypes_sample.json b/utbot-python/src/test/resources/subtypes_sample.json deleted file mode 100644 index e7d009b6..00000000 --- a/utbot-python/src/test/resources/subtypes_sample.json +++ /dev/null @@ -1 +0,0 @@ -{"nodeStorage": {"140042577367376": {"type": "Concrete", "module": "builtins", "simpleName": "str", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105712"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712020832"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712021280"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712021728"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712022176"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712022624"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712138016"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712138464"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712139360"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712139808"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "map", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712140256"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712140704"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712141152"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712141600"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142048"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142496"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712142944"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712143392"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712143840"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712144288"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712144736"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712145184"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712145632"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146080"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146528"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712146976"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712147424"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712147872"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712148320"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712148768"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712149216"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712149664"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712150112"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712150560"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151008"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151456"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712151904"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712152352"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712152800"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712153248"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712153696"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712252704"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712253152"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712253600"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254048"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254496"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712254944"}, "name": "zfill"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105824"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712256288"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712256736"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712257184"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712257632"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258080"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258528"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712258976"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712259424"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712259872"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712260320"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712260768"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712261216"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712261664"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712262112"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712262560"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042552105712": {"type": "Overloaded", "items": [{"nodeId": "140042712019936"}, {"nodeId": "140042552084512"}]}, "140042712019936": {"type": "Function", "typeVars": [".-1.140042712019936"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042712019936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "object"]}, "0": {"type": "Unknown"}, "140042782775936": {"type": "Concrete", "module": "builtins", "simpleName": "object", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569418560"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556832816"}, "items": [{"kind": "Variable", "name": "__class__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511004416"}}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__class__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719782816"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719783264"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719783712"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719784160"}, "name": "__delattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719784608"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785056"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785504"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719785952"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719786400"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719786848"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719787296"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719787744"}, "name": "__sizeof__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719788192"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719788640"}, "name": "__reduce_ex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749674208"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749674656"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [], "isAbstract": false}, "140042569418560": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "N": {"type": "NoneType"}, "140042577369056": {"type": "Concrete", "module": "builtins", "simpleName": "dict", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559424"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707886688"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707887136"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707887584"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707888032"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707888480"}, "name": "items"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559648"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559984"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552560768"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707891616"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892064"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892512"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707892960"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707893408"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707893856"}, "name": "__reversed__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708009248"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708009696"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708010144"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552561104"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "isAbstract": false}, "140042552559424": {"type": "Overloaded", "items": [{"nodeId": "140042707883552"}, {"nodeId": "140042707884000"}, {"nodeId": "140042707884448"}, {"nodeId": "140042707884896"}, {"nodeId": "140042707885344"}, {"nodeId": "140042707885792"}, {"nodeId": "140042707886240"}]}, "140042707883552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577369056": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577369056", "variance": "INVARIANT"}, ".2.140042577369056": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577369056", "variance": "INVARIANT"}, "140042707884000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042707884448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042568807952": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsKeysAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749710112"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749710560"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "keys"]}, "140042749710112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}]}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568807952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568807952": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807952", "variance": "INVARIANT"}, ".2.140042568807952": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807952", "variance": "COVARIANT"}, "140042782780640": {"type": "Protocol", "module": "typing", "simpleName": "Iterable", "members": [{"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548302048"}}], "typeVars": [{"nodeId": ".1.140042782780640"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__iter__"]}, "140042548302048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782780640"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780640"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782780640": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780640", "variance": "COVARIANT"}, "140042782780976": {"type": "Protocol", "module": "typing", "simpleName": "Iterator", "members": [{"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548304960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753674592"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042782780976"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782780976"}]}], "protocolMembers": ["__iter__", "__next__"]}, "140042548304960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}], "returnType": {"nodeId": ".1.140042782780976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782780976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780976", "variance": "COVARIANT"}, "140042753674592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782780976"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "A": {"type": "Any"}, "140042749710560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042568807952"}, {"nodeId": ".2.140042568807952"}]}, {"nodeId": ".1.140042568807952"}], "returnType": {"nodeId": ".2.140042568807952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707884896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042707885344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552560208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552560208": {"type": "Tuple", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "140042707885792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552560432"}]}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042552560432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577369056"}]}, "140042707886240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577368720": {"type": "Concrete", "module": "builtins", "simpleName": "list", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552393536"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707755168"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707755616"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756064"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756512"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707756960"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707757408"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707757856"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707758304"}, "name": "remove"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552557632"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707759648"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707760096"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552558864"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552558976"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707762336"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552559200"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707878624"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879072"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879520"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707879968"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707880416"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707880864"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707881312"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707881760"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707882208"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707882656"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707883104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577368720"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577368720"}]}], "isAbstract": false}, "140042552393536": {"type": "Overloaded", "items": [{"nodeId": "140042707754272"}, {"nodeId": "140042707754720"}]}, "140042707754272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577368720": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577368720", "variance": "INVARIANT"}, "140042707754720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707755168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707755616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707756064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707756512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368720"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042578051136": {"type": "Protocol", "module": "typing_extensions", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042547893344"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__index__"]}, "140042547893344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577365696": {"type": "Concrete", "module": "builtins", "simpleName": "int", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552099552"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720053280"}, "name": "as_integer_ratio"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510994112"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510995008"}}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510993888"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510993664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720055520"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720055968"}, "name": "bit_length"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720056416"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720057760"}, "name": "to_bytes"}, {"kind": "Variable", "name": "from_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510992768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720058656"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720059104"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720059552"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060000"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060448"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720060896"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720061344"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720061792"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720062240"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720062688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720063136"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720063584"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720064032"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720064480"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552100672"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711793952"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711794400"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711794848"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711795296"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711795744"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711796192"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711796640"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797088"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797536"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711797984"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711798432"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711798880"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711799328"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711799776"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711800224"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711800672"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711801120"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711801568"}, "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802016"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802464"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711802912"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711803360"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711803808"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711804256"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711804704"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711805152"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711805600"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806048"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806496"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711806944"}, "name": "__index__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552099552": {"type": "Overloaded", "items": [{"nodeId": "140042556323904"}, {"nodeId": "140042556325024"}]}, "140042556323904": {"type": "Function", "typeVars": [".-1.140042556323904"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552101344"}], "returnType": {"nodeId": ".-1.140042556323904"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140042552101344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042552101232"}, {"nodeId": "140042577725808"}, {"nodeId": "140042578051136"}, {"nodeId": "140042568807280"}]}, "140042552101232": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569012208": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042569012096"}]}, "140042577732864": {"type": "Concrete", "module": "builtins", "simpleName": "bytes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552106944"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712264352"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712264800"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712265248"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712265696"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712266144"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712266592"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712267488"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712267936"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707157280"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707157728"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707158176"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707158624"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159072"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159520"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707159968"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707160416"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707160864"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707161312"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707161760"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707162208"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707162656"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707163104"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707163552"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164000"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164448"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707164896"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707165344"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707165792"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707166240"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707166688"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707167136"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707167584"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168032"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168480"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707168928"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707169376"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707169824"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707170272"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707170720"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707171168"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506026592"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506158592"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707172512"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707172960"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552110416"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240096"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240544"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707240992"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707241440"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707241888"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707242336"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707242784"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707243232"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707243680"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707244128"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707244576"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707245024"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042577730848"}], "isAbstract": false}, "140042552106944": {"type": "Overloaded", "items": [{"nodeId": "140042552084960"}, {"nodeId": "140042712263456"}, {"nodeId": "140042712263904"}]}, "140042552084960": {"type": "Function", "typeVars": [".-1.140042552084960"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552111648"}], "returnType": {"nodeId": ".-1.140042552084960"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042552111648": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042578051136"}, {"nodeId": "140042577726816"}, {"nodeId": "140042552111536"}]}, "140042577726816": {"type": "Protocol", "module": "typing", "simpleName": "SupportsBytes", "members": [{"kind": "Variable", "name": "__bytes__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548193408"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__bytes__"]}, "140042548193408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726816"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552111536": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084960": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084960", "variance": "INVARIANT"}, "140042712263456": {"type": "Function", "typeVars": [".-1.140042712263456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042712263456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "encoding", "errors"]}, ".-1.140042712263456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712263456", "variance": "INVARIANT"}, "140042712263904": {"type": "Function", "typeVars": [".-1.140042712263904"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042712263904"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042712263904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712263904", "variance": "INVARIANT"}, "140042712264352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712264800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712265248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552111872"}, {"nodeId": "140042552111984"}, {"nodeId": "140042552112096"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552111872": {"type": "Union", "items": [{"nodeId": "140042552111760"}, {"nodeId": "140042578051136"}]}, "140042552111760": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552111984": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552112096": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712265696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042712266144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552112432"}, {"nodeId": "140042552112544"}, {"nodeId": "140042552112656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552112432": {"type": "Union", "items": [{"nodeId": "140042552112208"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552112320"}]}]}, "140042552112208": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042577368384": {"type": "Concrete", "module": "builtins", "simpleName": "tuple", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707646304"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707646752"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707647200"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552392080"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707747104"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707747552"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748000"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748448"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707748896"}, "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552392752"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707750240"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707750688"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707751136"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707751584"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707752032"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577368384"}], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042577368384"}]}], "isAbstract": false}, "140042707646304": {"type": "Function", "typeVars": [".-1.140042707646304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": ".-1.140042707646304"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".1.140042577368384": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577368384", "variance": "COVARIANT"}, ".-1.140042707646304": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707646304", "variance": "INVARIANT"}, "140042707646752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707647200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782776944": {"type": "Concrete", "module": "builtins", "simpleName": "bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707637344"}, "name": "__new__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552390624"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552390736"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391520"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391632"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391744"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391856"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707643168"}, "name": "__getnewargs__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}], "isAbstract": false}, "140042707637344": {"type": "Function", "typeVars": [".-1.140042707637344"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042707637344"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, ".-1.140042707637344": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707637344", "variance": "INVARIANT"}, "140042552390624": {"type": "Overloaded", "items": [{"nodeId": "140042707637792"}, {"nodeId": "140042707638240"}]}, "140042707637792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707638240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552390736": {"type": "Overloaded", "items": [{"nodeId": "140042707638688"}, {"nodeId": "140042707639136"}]}, "140042707638688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707639136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391520": {"type": "Overloaded", "items": [{"nodeId": "140042707639584"}, {"nodeId": "140042707640032"}]}, "140042707639584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707640032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391632": {"type": "Overloaded", "items": [{"nodeId": "140042707640480"}, {"nodeId": "140042707640928"}]}, "140042707640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391744": {"type": "Overloaded", "items": [{"nodeId": "140042707641376"}, {"nodeId": "140042707641824"}]}, "140042707641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707641824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552391856": {"type": "Overloaded", "items": [{"nodeId": "140042707642272"}, {"nodeId": "140042707642720"}]}, "140042707642272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707642720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707643168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042552392304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552392304": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042552392080": {"type": "Overloaded", "items": [{"nodeId": "140042707647648"}, {"nodeId": "140042707648096"}]}, "140042707647648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707648096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577368048": {"type": "Concrete", "module": "builtins", "simpleName": "slice", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506352928"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506437120"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506437344"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552391968"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707645856"}, "name": "indices"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042506352928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506437120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506437344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552391968": {"type": "Overloaded", "items": [{"nodeId": "140042707644960"}, {"nodeId": "140042707645408"}]}, "140042707644960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707645408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707645856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368048"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042552393424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552393424": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042707747104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707747552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707748896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552392752": {"type": "Overloaded", "items": [{"nodeId": "140042707749344"}, {"nodeId": "140042707749792"}]}, "140042707749344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707749792": {"type": "Function", "typeVars": [".-1.140042707749792"], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": ".-1.140042707749792"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042552557744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707749792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707749792", "variance": "INVARIANT"}, "140042552557744": {"type": "Union", "items": [{"nodeId": ".1.140042577368384"}, {"nodeId": ".-1.140042707749792"}]}, "140042707750240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707750688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707751136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707751584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368384", "args": [{"nodeId": ".1.140042577368384"}]}, {"nodeId": "A"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707752032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042578059872": {"type": "Concrete", "module": "types", "simpleName": "GenericAlias", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305248"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305696"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544305920"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716216928"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716332320"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716333664"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544305248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577365024": {"type": "Concrete", "module": "builtins", "simpleName": "type", "members": [{"kind": "Variable", "name": "__base__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510999264"}}, {"kind": "Variable", "name": "__bases__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}}, {"kind": "Variable", "name": "__basicsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998816"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998592"}}, {"kind": "Variable", "name": "__dictoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998368"}}, {"kind": "Variable", "name": "__flags__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510998144"}}, {"kind": "Variable", "name": "__itemsize__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997920"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__mro__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997696"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__text_signature__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997472"}}, {"kind": "Variable", "name": "__weakrefoffset__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510997248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556833264"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042551965648"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749685856"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556324128"}, "name": "__subclasses__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749686752"}, "name": "mro"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749687200"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749687648"}, "name": "__subclasscheck__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510997024"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749688544"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749688992"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042510999264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578053824": {"type": "Concrete", "module": "types", "simpleName": "MappingProxyType", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715871968"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715872416"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715872864"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715644192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715644640"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645088"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645536"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715645984"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715646432"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715646880"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715647328"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715647776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715648224"}, "name": "__ror__"}], "typeVars": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "isAbstract": false}, "140042715871968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042578053824": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578053824", "variance": "INVARIANT"}, ".2.140042578053824": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578053824", "variance": "COVARIANT"}, "140042715872416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": ".1.140042578053824"}], "returnType": {"nodeId": ".2.140042578053824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715872864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715644192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715644640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715645088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715645536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577729168": {"type": "Concrete", "module": "typing", "simpleName": "KeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754108640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109088"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109536"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754109984"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754110432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754110880"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754111328"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754111776"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754112224"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754112672"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754113120"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754261280"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042577729168"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577729168"}]}], "isAbstract": false}, "140042754108640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577729168"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577729168": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729168", "variance": "COVARIANT"}, "140042577363344": {"type": "Concrete", "module": "typing", "simpleName": "Mapping", "members": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548587520"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815440"}, "items": [{"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754264864"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754265312"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754265760"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754266208"}, "name": "__contains__"}], "typeVars": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042577363344"}]}], "isAbstract": true}, "140042548587520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}], "returnType": {"nodeId": ".2.140042577363344"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577363344": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363344", "variance": "INVARIANT"}, ".2.140042577363344": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363344", "variance": "COVARIANT"}, "140042564815440": {"type": "Overloaded", "items": [{"nodeId": "140042754263968"}, {"nodeId": "140042754264416"}]}, "140042754263968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}], "returnType": {"nodeId": "140042564820592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564820592": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": "N"}]}, "140042754264416": {"type": "Function", "typeVars": [".-1.140042754264416"], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": ".1.140042577363344"}, {"nodeId": "140042564820704"}], "returnType": {"nodeId": "140042564820816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140042564820704": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": ".-1.140042754264416"}]}, ".-1.140042754264416": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754264416", "variance": "INVARIANT"}, "140042564820816": {"type": "Union", "items": [{"nodeId": ".2.140042577363344"}, {"nodeId": ".-1.140042754264416"}]}, "140042754264864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577728832": {"type": "Concrete", "module": "typing", "simpleName": "ItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754103264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754103712"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754104160"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754104608"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105504"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754105952"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754106400"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754106848"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754107296"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754107744"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754108192"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042577829264"}]}], "isAbstract": false}, "140042754103264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577728832": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728832", "variance": "COVARIANT"}, ".2.140042577728832": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728832", "variance": "COVARIANT"}, "140042754103712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564817344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577733536": {"type": "Concrete", "module": "builtins", "simpleName": "set", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552561552"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708012384"}, "name": "add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708012832"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708013280"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708013728"}, "name": "difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708014176"}, "name": "discard"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708014624"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015072"}, "name": "intersection_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015520"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708015968"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708016416"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__element", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708016864"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708017312"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708017760"}, "name": "symmetric_difference_update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708018208"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708018656"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708019104"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708019552"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020000"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020448"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708020896"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708021344"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708021792"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708022240"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708022688"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708023136"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708023584"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024032"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024480"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708024928"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708173088"}, "name": "__gt__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708173536"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577733536"}], "bases": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577733536"}]}], "isAbstract": false}, "140042552561552": {"type": "Overloaded", "items": [{"nodeId": "140042708011488"}, {"nodeId": "140042708011936"}]}, "140042708011488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577733536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577733536", "variance": "INVARIANT"}, "140042708011936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708012384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708012832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042708013280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708013728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708014176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708014624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708015072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708015520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708015968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708016416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708016864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": ".1.140042577733536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708017312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708017760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708018208": {"type": "Function", "typeVars": [".-1.140042708018208"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042708018208"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552563680"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140042708018208": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708018208", "variance": "INVARIANT"}, "140042552563680": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708018208"}]}, "140042708018656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708019104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708019552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708020000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708020448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782785008": {"type": "Concrete", "module": "typing", "simpleName": "AbstractSet", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548529856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753896992"}, "name": "_hash"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753897440"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753897888"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753898336"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753898784"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753899232"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753899680"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753900128"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754097440"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754097888"}, "name": "isdisjoint"}], "typeVars": [{"nodeId": ".1.140042782785008"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782785008"}]}], "isAbstract": true}, "140042548529856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782785008": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782785008", "variance": "COVARIANT"}, "140042753896992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753897440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753897888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753898336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753898784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753899680": {"type": "Function", "typeVars": [".-1.140042753899680"], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042753899680"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042564816224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042753899680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042753899680", "variance": "INVARIANT"}, "140042564816224": {"type": "Union", "items": [{"nodeId": ".1.140042782785008"}, {"nodeId": ".-1.140042753899680"}]}, "140042753900128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754097440": {"type": "Function", "typeVars": [".-1.140042754097440"], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042754097440"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042564816448"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754097440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754097440", "variance": "INVARIANT"}, "140042564816448": {"type": "Union", "items": [{"nodeId": ".1.140042782785008"}, {"nodeId": ".-1.140042754097440"}]}, "140042754097888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042782785008"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042782784000": {"type": "Protocol", "module": "typing", "simpleName": "Collection", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548376320"}}], "typeVars": [{"nodeId": ".1.140042782784000"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784000"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": ".1.140042782784000"}]}], "protocolMembers": ["__contains__", "__iter__", "__len__"]}, "140042548376320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782784000"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782784000": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784000", "variance": "COVARIANT"}, "140042782783664": {"type": "Protocol", "module": "typing", "simpleName": "Container", "members": [{"kind": "Variable", "name": "__contains__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548373632"}}], "typeVars": [{"nodeId": ".1.140042782783664"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__"]}, "140042548373632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783664", "args": [{"nodeId": ".1.140042782783664"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782783664": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783664", "variance": "COVARIANT"}, "140042708020896": {"type": "Function", "typeVars": [".-1.140042708020896"], "argTypes": [{"nodeId": ".-1.140042708020896"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": ".-1.140042708020896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708020896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708020896", "variance": "INVARIANT"}, "140042708021344": {"type": "Function", "typeVars": [".-1.140042708021344"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708021344"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552563792"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708021344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708021344", "variance": "INVARIANT"}, "140042552563792": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708021344"}]}, "140042708021792": {"type": "Function", "typeVars": [".-1.140042708021792"], "argTypes": [{"nodeId": ".-1.140042708021792"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": ".-1.140042708021792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708021792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708021792", "variance": "INVARIANT"}, "140042708022240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042552563904"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552563904": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": "N"}]}, "140042708022688": {"type": "Function", "typeVars": [".-1.140042708022688"], "argTypes": [{"nodeId": ".-1.140042708022688"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": ".-1.140042708022688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708022688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708022688", "variance": "INVARIANT"}, "140042708023136": {"type": "Function", "typeVars": [".-1.140042708023136"], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708023136"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042552564016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708023136": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708023136", "variance": "INVARIANT"}, "140042552564016": {"type": "Union", "items": [{"nodeId": ".1.140042577733536"}, {"nodeId": ".-1.140042708023136"}]}, "140042708023584": {"type": "Function", "typeVars": [".-1.140042708023584"], "argTypes": [{"nodeId": ".-1.140042708023584"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733536"}]}], "returnType": {"nodeId": ".-1.140042708023584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708023584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708023584", "variance": "INVARIANT"}, "140042708024032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708024480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708024928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708173088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577733536"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708173536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042577363008": {"type": "Concrete", "module": "typing", "simpleName": "MutableSet", "members": [{"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548531424"}}, {"kind": "Variable", "name": "discard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548539040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754099232"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754099680"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754100128"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754100576"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101024"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101472"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "it", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754101920"}, "name": "__isub__"}], "typeVars": [{"nodeId": ".1.140042577363008"}], "bases": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "isAbstract": true}, "140042548531424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, ".1.140042577363008": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363008", "variance": "INVARIANT"}, "140042548539040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042754099232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754099680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".1.140042577363008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754100128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363008", "args": [{"nodeId": ".1.140042577363008"}]}, {"nodeId": ".1.140042577363008"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042754100576": {"type": "Function", "typeVars": [".-1.140042754100576"], "argTypes": [{"nodeId": ".-1.140042754100576"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".-1.140042754100576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754100576": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754100576", "variance": "INVARIANT"}, "140042754101024": {"type": "Function", "typeVars": [".-1.140042754101024"], "argTypes": [{"nodeId": ".-1.140042754101024"}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042754101024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101024": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101024", "variance": "INVARIANT"}, "140042754101472": {"type": "Function", "typeVars": [".-1.140042754101472"], "argTypes": [{"nodeId": ".-1.140042754101472"}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577363008"}]}], "returnType": {"nodeId": ".-1.140042754101472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101472": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101472", "variance": "INVARIANT"}, "140042754101920": {"type": "Function", "typeVars": [".-1.140042754101920"], "argTypes": [{"nodeId": ".-1.140042754101920"}, {"nodeId": "140042782785008", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042754101920"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754101920": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754101920", "variance": "INVARIANT"}, "140042564817344": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754104160": {"type": "Function", "typeVars": [".-1.140042754104160"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754104160"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754104160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754104160": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754104160", "variance": "INVARIANT"}, "140042754104608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754105056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564817568"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042564817568": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754105504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564817792"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042564817792": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754105952": {"type": "Function", "typeVars": [".-1.140042754105952"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754105952"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818128"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754105952": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754105952", "variance": "INVARIANT"}, "140042564818128": {"type": "Union", "items": [{"nodeId": "140042564818016"}, {"nodeId": ".-1.140042754105952"}]}, "140042564818016": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754106400": {"type": "Function", "typeVars": [".-1.140042754106400"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754106400"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754106400": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754106400", "variance": "INVARIANT"}, "140042564818464": {"type": "Union", "items": [{"nodeId": "140042564818352"}, {"nodeId": ".-1.140042754106400"}]}, "140042564818352": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754106848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564818800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042564818800": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754107296": {"type": "Function", "typeVars": [".-1.140042754107296"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754107296"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754107296"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754107296": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754107296", "variance": "INVARIANT"}, "140042754107744": {"type": "Function", "typeVars": [".-1.140042754107744"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754107744"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819136"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754107744": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754107744", "variance": "INVARIANT"}, "140042564819136": {"type": "Union", "items": [{"nodeId": "140042564819024"}, {"nodeId": ".-1.140042754107744"}]}, "140042564819024": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754108192": {"type": "Function", "typeVars": [".-1.140042754108192"], "argTypes": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754108192"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819472"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754108192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754108192", "variance": "INVARIANT"}, "140042564819472": {"type": "Union", "items": [{"nodeId": "140042564819360"}, {"nodeId": ".-1.140042754108192"}]}, "140042564819360": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042577728496": {"type": "Concrete", "module": "typing", "simpleName": "MappingView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754102368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754102816"}, "name": "__len__"}], "typeVars": [], "bases": [{"nodeId": "140042577727488"}], "isAbstract": false}, "140042754102368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140042754102816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577728496"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577727488": {"type": "Protocol", "module": "typing", "simpleName": "Sized", "members": [{"kind": "Variable", "name": "__len__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548300032"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__len__"]}, "140042548300032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577829264": {"type": "Tuple", "items": [{"nodeId": ".1.140042577728832"}, {"nodeId": ".2.140042577728832"}]}, "140042754265312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042754265760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}], "returnType": {"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042577363344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577729504": {"type": "Concrete", "module": "typing", "simpleName": "ValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754261728"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754262176"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754262624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754263072"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577729504"}], "bases": [{"nodeId": "140042577728496"}, {"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042577729504"}]}], "isAbstract": false}, "140042754261728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, ".1.140042577729504": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729504", "variance": "COVARIANT"}, "140042754262176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754262624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729504"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754263072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042577729504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729504"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754266208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363344"}, {"nodeId": ".2.140042577363344"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754109088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754109536": {"type": "Function", "typeVars": [".-1.140042754109536"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754109536"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754109536"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754109536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754109536", "variance": "INVARIANT"}, "140042754109984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754110432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754110880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042754111328": {"type": "Function", "typeVars": [".-1.140042754111328"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754111328"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819808"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754111328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754111328", "variance": "INVARIANT"}, "140042564819808": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754111328"}]}, "140042754111776": {"type": "Function", "typeVars": [".-1.140042754111776"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754111776"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564819920"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754111776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754111776", "variance": "INVARIANT"}, "140042564819920": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754111776"}]}, "140042754112224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".1.140042577729168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754112672": {"type": "Function", "typeVars": [".-1.140042754112672"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754112672"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": ".-1.140042754112672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754112672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754112672", "variance": "INVARIANT"}, "140042754113120": {"type": "Function", "typeVars": [".-1.140042754113120"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754113120"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564820144"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754113120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754113120", "variance": "INVARIANT"}, "140042564820144": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754113120"}]}, "140042754261280": {"type": "Function", "typeVars": [".-1.140042754261280"], "argTypes": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577729168"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042754261280"}]}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042564820256"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042754261280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754261280", "variance": "INVARIANT"}, "140042564820256": {"type": "Union", "items": [{"nodeId": ".1.140042577729168"}, {"nodeId": ".-1.140042754261280"}]}, "140042715645984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715646432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715646880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042715647328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042578053824"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715647776": {"type": "Function", "typeVars": [".-1.140042715647776", ".-2.140042715647776"], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042715647776"}, {"nodeId": ".-2.140042715647776"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042564828432"}, {"nodeId": "140042564828544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042715647776": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715647776", "variance": "INVARIANT"}, ".-2.140042715647776": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715647776", "variance": "INVARIANT"}, "140042564828432": {"type": "Union", "items": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".-1.140042715647776"}]}, "140042564828544": {"type": "Union", "items": [{"nodeId": ".2.140042578053824"}, {"nodeId": ".-2.140042715647776"}]}, "140042715648224": {"type": "Function", "typeVars": [".-1.140042715648224", ".-2.140042715648224"], "argTypes": [{"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".2.140042578053824"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042715648224"}, {"nodeId": ".-2.140042715648224"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042564828656"}, {"nodeId": "140042564828768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042715648224": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715648224", "variance": "INVARIANT"}, ".-2.140042715648224": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042715648224", "variance": "INVARIANT"}, "140042564828656": {"type": "Union", "items": [{"nodeId": ".1.140042578053824"}, {"nodeId": ".-1.140042715648224"}]}, "140042564828768": {"type": "Union", "items": [{"nodeId": ".2.140042578053824"}, {"nodeId": ".-2.140042715648224"}]}, "140042510998368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510998144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510997472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042552099104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552099104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042510997248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556833264": {"type": "Overloaded", "items": [{"nodeId": "140042749684064"}, {"nodeId": "140042749684512"}]}, "140042749684064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042749684512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, null, "kwds"]}, "140042551965648": {"type": "Overloaded", "items": [{"nodeId": "140042749684960"}, {"nodeId": "140042556324800"}]}, "140042749684960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042556324800": {"type": "Function", "typeVars": [".-1.140042556324800"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042556324800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["cls", null, null, null, "kwds"]}, ".-1.140042556324800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556324800", "variance": "INVARIANT"}, "140042749685856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140042556324128": {"type": "Function", "typeVars": [".-1.140042556324128"], "argTypes": [{"nodeId": ".-1.140042556324128"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042556324128"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042556324128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556324128", "variance": "INVARIANT"}, "140042749686752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365024"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749687200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042749687648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042510997024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", null, null, "kwds"]}, "140042749688544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578060544": {"type": "Concrete", "module": "types", "simpleName": "UnionType", "members": [{"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544308384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716335008"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716335456"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544308384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716335008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716335456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060544"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749688992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578060544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042544305696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544305920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716216928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "140042577365024"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "origin", "args"]}, "140042716332320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716333664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782784336": {"type": "Concrete", "module": "typing", "simpleName": "Sequence", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564813984"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888032"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888480"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753888928"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753889376"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753889824"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042782784336"}], "bases": [{"nodeId": "140042782784000", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042782784336"}]}], "isAbstract": true}, "140042564813984": {"type": "Overloaded", "items": [{"nodeId": "140042753887136"}, {"nodeId": "140042753887584"}]}, "140042753887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784336"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042782784336": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784336", "variance": "COVARIANT"}, "140042753887584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "A"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "value", "start", "stop"]}, "140042753888480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753888928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753889376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042753889824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784336"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782784336"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042782781312": {"type": "Protocol", "module": "typing", "simpleName": "Reversible", "members": [{"kind": "Variable", "name": "__reversed__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548307200"}}], "typeVars": [{"nodeId": ".1.140042782781312"}], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782781312"}]}], "protocolMembers": ["__iter__", "__reversed__"]}, "140042548307200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042782781312"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782781312"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782781312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781312", "variance": "COVARIANT"}, "140042552112320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552112544": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552112656": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712266592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042712267488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552112880"}, {"nodeId": "140042552112992"}, {"nodeId": "140042552113104"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552112880": {"type": "Union", "items": [{"nodeId": "140042552112768"}, {"nodeId": "140042578051136"}]}, "140042552112768": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552112992": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552113104": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712267936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552113216"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552113216": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042707157280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552113440"}, {"nodeId": "140042552113552"}, {"nodeId": "140042552113664"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552113440": {"type": "Union", "items": [{"nodeId": "140042552113328"}, {"nodeId": "140042578051136"}]}, "140042552113328": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552113552": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552113664": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707157728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707158176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707158624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707159968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707160416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707160864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707161312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552113776"}]}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552113776": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707161760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552113888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552113888": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042577733200": {"type": "Concrete", "module": "builtins", "simpleName": "bytearray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552111424"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707247264"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707247712"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707248160"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707248608"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249056"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249504"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707249952"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707250400"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_ints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707251296"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707251744"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707252192"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253088"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253536"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707253984"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707254432"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707254880"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707370272"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707370720"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707371168"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707371616"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372064"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable_of_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372512"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707372960"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707373408"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707373856"}, "name": "lstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707374304"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707374752"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707375200"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707375648"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376096"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376544"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707376992"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707377440"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fillchar", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707377888"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707378336"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707378784"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707379232"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707379680"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707380128"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707380576"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381024"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381472"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707381920"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__table", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delete", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707382368"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707382816"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707383264"}, "name": "zfill"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506166656"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042506165536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707384608"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707385056"}, "name": "__iter__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552380544"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552381328"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707502240"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707502688"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042552095040"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707503584"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504032"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504480"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707504928"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707505376"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707505824"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707506272"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707506720"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707507168"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707507616"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707508064"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707508512"}, "name": "__alloc__"}], "typeVars": [], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577730848"}], "isAbstract": false}, "140042552111424": {"type": "Overloaded", "items": [{"nodeId": "140042707245920"}, {"nodeId": "140042707246368"}, {"nodeId": "140042707246816"}]}, "140042707245920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707246368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552381552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552381552": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042578051136"}, {"nodeId": "140042552381440"}]}, "140042552381440": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707246816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "encoding", "errors"]}, "140042707247264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707247712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707248160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042707248608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552381776"}, {"nodeId": "140042552381888"}, {"nodeId": "140042552382000"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552381776": {"type": "Union", "items": [{"nodeId": "140042552381664"}, {"nodeId": "140042578051136"}]}, "140042552381664": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552381888": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552382000": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707249056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707249504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042707249952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552382336"}, {"nodeId": "140042552382448"}, {"nodeId": "140042552382560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552382336": {"type": "Union", "items": [{"nodeId": "140042552382112"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552382224"}]}]}, "140042552382112": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382224": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382448": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552382560": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707250400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042707251296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707251744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552382784"}, {"nodeId": "140042552382896"}, {"nodeId": "140042552383008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552382784": {"type": "Union", "items": [{"nodeId": "140042552382672"}, {"nodeId": "140042578051136"}]}, "140042552382672": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552382896": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552383008": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707252192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552383120"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552383120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042707253088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552383344"}, {"nodeId": "140042552383456"}, {"nodeId": "140042552383568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552383344": {"type": "Union", "items": [{"nodeId": "140042552383232"}, {"nodeId": "140042578051136"}]}, "140042552383232": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552383456": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552383568": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707253536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042707253984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707254432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707254880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707370272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707370720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707371168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707371616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707372064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552383680"}]}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552383680": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552383792"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552383792": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707373408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384016"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552384016": {"type": "Union", "items": [{"nodeId": "140042552383904"}, {"nodeId": "N"}]}, "140042552383904": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707374304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384128"}], "returnType": {"nodeId": "140042552384352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384128": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552384352": {"type": "Tuple", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}]}, "140042707374752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042707375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707375648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384464"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384464": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384576"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552384576": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552384688"}, {"nodeId": "140042552384800"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552384688": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552384800": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707376992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385024"}, {"nodeId": "140042552385136"}, {"nodeId": "140042552385248"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552385024": {"type": "Union", "items": [{"nodeId": "140042552384912"}, {"nodeId": "140042578051136"}]}, "140042552384912": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552385136": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552385248": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707377440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385472"}, {"nodeId": "140042552385584"}, {"nodeId": "140042552385696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552385472": {"type": "Union", "items": [{"nodeId": "140042552385360"}, {"nodeId": "140042578051136"}]}, "140042552385360": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552385584": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552385696": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707377888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552385808"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552385808": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707378336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552385920"}], "returnType": {"nodeId": "140042552386144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552385920": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552386144": {"type": "Tuple", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577733200"}]}, "140042707378784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386368"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552386368": {"type": "Union", "items": [{"nodeId": "140042552386256"}, {"nodeId": "N"}]}, "140042552386256": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707379232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386592"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552386592": {"type": "Union", "items": [{"nodeId": "140042552386480"}, {"nodeId": "N"}]}, "140042552386480": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707379680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552386816"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552386816": {"type": "Union", "items": [{"nodeId": "140042552386704"}, {"nodeId": "N"}]}, "140042552386704": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707380128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577733200"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042707380576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387152"}, {"nodeId": "140042552387264"}, {"nodeId": "140042552387376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552387152": {"type": "Union", "items": [{"nodeId": "140042552386928"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552387040"}]}]}, "140042552386928": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552387040": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552387264": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552387376": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707381024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387600"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552387600": {"type": "Union", "items": [{"nodeId": "140042552387488"}, {"nodeId": "N"}]}, "140042552387488": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707381472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707381920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707382368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552387824"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140042552387824": {"type": "Union", "items": [{"nodeId": "140042552387712"}, {"nodeId": "N"}]}, "140042552387712": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707382816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707383264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042506166656": {"type": "Function", "typeVars": [".-1.140042506166656"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042506166656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042506166656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042506166656", "variance": "INVARIANT"}, "140042506165536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042552387936"}, {"nodeId": "140042552388048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552387936": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552388048": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707384608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707385056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552380544": {"type": "Overloaded", "items": [{"nodeId": "140042707385504"}, {"nodeId": "140042707385952"}]}, "140042707385504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707385952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552381328": {"type": "Overloaded", "items": [{"nodeId": "140042707501344"}, {"nodeId": "140042707501792"}]}, "140042707501344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707501792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042577368048"}, {"nodeId": "140042552388384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042552388384": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042577732864"}]}, "140042707502240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552388496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552388496": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042707502688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552388608"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552388608": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552095040": {"type": "Function", "typeVars": [".-1.140042552095040"], "argTypes": [{"nodeId": ".-1.140042552095040"}, {"nodeId": "140042552388720"}], "returnType": {"nodeId": ".-1.140042552095040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042552095040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552095040", "variance": "INVARIANT"}, "140042552388720": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707503584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707504032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577733200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707504480": {"type": "Function", "typeVars": [".-1.140042707504480"], "argTypes": [{"nodeId": ".-1.140042707504480"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042707504480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707504480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707504480", "variance": "INVARIANT"}, "140042707504928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707505376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389056"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389056": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042552388944"}]}, "140042552388944": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707505824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707506272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707506720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389168"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389168": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707507168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389280"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389280": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707507616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389392"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389392": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707508064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}, {"nodeId": "140042552389504"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552389504": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707508512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782784672": {"type": "Concrete", "module": "typing", "simpleName": "MutableSequence", "members": [{"kind": "Variable", "name": "insert", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548527840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564814432"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564814992"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815328"}, "items": [{"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753893408"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753893856"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753894304"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753894752"}, "name": "reverse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753895200"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753895648"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753896096"}, "name": "__iadd__"}], "typeVars": [{"nodeId": ".1.140042782784672"}], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": ".1.140042782784672"}]}], "isAbstract": true}, "140042548527840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "value"]}, ".1.140042782784672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782784672", "variance": "INVARIANT"}, "140042564814432": {"type": "Overloaded", "items": [{"nodeId": "140042753890720"}, {"nodeId": "140042753891168"}]}, "140042753890720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784672"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753891168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042564814992": {"type": "Overloaded", "items": [{"nodeId": "140042753891616"}, {"nodeId": "140042753892064"}]}, "140042753891616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042753892064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042564815328": {"type": "Overloaded", "items": [{"nodeId": "140042753892512"}, {"nodeId": "140042753892960"}]}, "140042753892512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753892960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042753893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753894304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "values"]}, "140042753894752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753895200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782784672"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "index"]}, "140042753895648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042782784672"}]}, {"nodeId": ".1.140042782784672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042753896096": {"type": "Function", "typeVars": [".-1.140042753896096"], "argTypes": [{"nodeId": ".-1.140042753896096"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042782784672"}]}], "returnType": {"nodeId": ".-1.140042753896096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042753896096": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042753896096", "variance": "INVARIANT"}, "140042577730848": {"type": "Concrete", "module": "typing", "simpleName": "ByteString", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": true}, "140042707162208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707162656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114112"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552114112": {"type": "Union", "items": [{"nodeId": "140042552114000"}, {"nodeId": "N"}]}, "140042552114000": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707163104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114224"}], "returnType": {"nodeId": "140042552114448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114224": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552114448": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}]}, "140042707163552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114560"}, {"nodeId": "140042552114672"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552114560": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552114672": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114784"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114784": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552114896"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552114896": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707164896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552377408"}, {"nodeId": "140042552377520"}, {"nodeId": "140042552377632"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552377408": {"type": "Union", "items": [{"nodeId": "140042552115008"}, {"nodeId": "140042578051136"}]}, "140042552115008": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552377520": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552377632": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707165344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552377856"}, {"nodeId": "140042552377968"}, {"nodeId": "140042552378080"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552377856": {"type": "Union", "items": [{"nodeId": "140042552377744"}, {"nodeId": "140042578051136"}]}, "140042552377744": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552377968": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552378080": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707165792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552378192"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552378192": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042707166240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378304"}], "returnType": {"nodeId": "140042552378528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552378304": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552378528": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}]}, "140042707166688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378752"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552378752": {"type": "Union", "items": [{"nodeId": "140042552378640"}, {"nodeId": "N"}]}, "140042552378640": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707167136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552378976"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552378976": {"type": "Union", "items": [{"nodeId": "140042552378864"}, {"nodeId": "N"}]}, "140042552378864": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707167584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379200"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552379200": {"type": "Union", "items": [{"nodeId": "140042552379088"}, {"nodeId": "N"}]}, "140042552379088": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707168032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042707168480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379536"}, {"nodeId": "140042552379648"}, {"nodeId": "140042552379760"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552379536": {"type": "Union", "items": [{"nodeId": "140042552379312"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042552379424"}]}]}, "140042552379312": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552379424": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552379648": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552379760": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042707168928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552379984"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552379984": {"type": "Union", "items": [{"nodeId": "140042552379872"}, {"nodeId": "N"}]}, "140042552379872": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707169376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707169824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707170272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380208"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, "delete"]}, "140042552380208": {"type": "Union", "items": [{"nodeId": "140042552380096"}, {"nodeId": "N"}]}, "140042552380096": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707170720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707171168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042506026592": {"type": "Function", "typeVars": [".-1.140042506026592"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042506026592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042506026592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042506026592", "variance": "INVARIANT"}, "140042506158592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042552380320"}, {"nodeId": "140042552380432"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552380432": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707172512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707172960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552110416": {"type": "Overloaded", "items": [{"nodeId": "140042707239200"}, {"nodeId": "140042707239648"}]}, "140042707239200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707239648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707240096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380656"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380656": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707240544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707240992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707241440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707241888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042552380992"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552380992": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042552380880"}]}, "140042552380880": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707242336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707242784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707243232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707243680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707244128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707244576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707245024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042552381216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552381216": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}]}, "140042569012096": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042569013552": {"type": "Union", "items": [{"nodeId": "140042577733200"}, {"nodeId": "140042577367712"}, {"nodeId": "140042568801232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042573219872"}, {"nodeId": "140042573739200"}, {"nodeId": "140042578066592"}]}, "140042577367712": {"type": "Concrete", "module": "builtins", "simpleName": "memoryview", "members": [{"kind": "Variable", "name": "format", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339040"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339488"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339712"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506339936"}}, {"kind": "Variable", "name": "suboffsets", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340160"}}, {"kind": "Variable", "name": "readonly", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340384"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340608"}}, {"kind": "Variable", "name": "obj", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506340832"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341056"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341280"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341504"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506341728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707514336"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707514784"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707515232"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707515680"}, "name": "cast"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552388160"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707517024"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707632416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707632864"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552388272"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707634208"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707635104"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707635552"}, "name": "toreadonly"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707636000"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes_per_sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707636448"}, "name": "hex"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042506339040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506339488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506339712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389616": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506339936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389728"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389728": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506340160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389840": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042506340384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506340608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506340832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042552389952"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552389952": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042506341056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506341728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707514336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552390064"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042552390064": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707514784": {"type": "Function", "typeVars": [".-1.140042707514784"], "argTypes": [{"nodeId": ".-1.140042707514784"}], "returnType": {"nodeId": ".-1.140042707514784"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042707514784": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707514784", "variance": "INVARIANT"}, "140042707515232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552390176"}, {"nodeId": "140042552390288"}, {"nodeId": "140042552390400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042552390176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042552390288": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042577373088": {"type": "Concrete", "module": "builtins", "simpleName": "BaseException", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__cause__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367232"}}, {"kind": "Variable", "name": "__context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577828032"}}, {"kind": "Variable", "name": "__suppress_context__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__traceback__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586362304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703646368"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703646816"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703647264"}, "name": "with_traceback"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586367232": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042577828032": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042586362304": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578058528": {"type": "Concrete", "module": "types", "simpleName": "TracebackType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716202592"}, "name": "__init__"}, {"kind": "Variable", "name": "tb_next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833968"}}, {"kind": "Variable", "name": "tb_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544230496"}}, {"kind": "Variable", "name": "tb_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544230944"}}, {"kind": "Variable", "name": "tb_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544231168"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716202592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}, {"nodeId": "140042565115056"}, {"nodeId": "140042578058864"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "tb_next", "tb_frame", "tb_lasti", "tb_lineno"]}, "140042565115056": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578058864": {"type": "Concrete", "module": "types", "simpleName": "FrameType", "members": [{"kind": "Variable", "name": "f_back", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544232288"}}, {"kind": "Variable", "name": "f_builtins", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544232960"}}, {"kind": "Variable", "name": "f_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233184"}}, {"kind": "Variable", "name": "f_globals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233408"}}, {"kind": "Variable", "name": "f_lasti", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233632"}}, {"kind": "Variable", "name": "f_lineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544233856"}}, {"kind": "Variable", "name": "f_locals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544234080"}}, {"kind": "Variable", "name": "f_trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834416"}}, {"kind": "Variable", "name": "f_trace_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "f_trace_opcodes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716207520"}, "name": "clear"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544232288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042565115168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565115168": {"type": "Union", "items": [{"nodeId": "140042578058864"}, {"nodeId": "N"}]}, "140042544232960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578053488": {"type": "Concrete", "module": "types", "simpleName": "CodeType", "members": [{"kind": "Variable", "name": "co_argcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543913600"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543914944"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543914496"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915168"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915392"}}, {"kind": "Variable", "name": "co_flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915616"}}, {"kind": "Variable", "name": "co_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543915840"}}, {"kind": "Variable", "name": "co_consts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916064"}}, {"kind": "Variable", "name": "co_names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916288"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916512"}}, {"kind": "Variable", "name": "co_filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916736"}}, {"kind": "Variable", "name": "co_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543916960"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917184"}}, {"kind": "Variable", "name": "co_lnotab", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917408"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917632"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543917856"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543918528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715867040"}, "name": "co_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__codestring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__constants", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715869280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_argcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_posonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_kwonlyargcount", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_nlocals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_stacksize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_firstlineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_consts", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_varnames", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_freevars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_cellvars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "co_linetable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715871072"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042543913600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543914944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543914496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543915840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543916960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543917856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543918528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715867040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042564828208"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564828208": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042564827984"}]}, "140042564827984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042715869280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]}, "140042715871072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "co_argcount", "co_posonlyargcount", "co_kwonlyargcount", "co_nlocals", "co_stacksize", "co_flags", "co_firstlineno", "co_code", "co_consts", "co_names", "co_varnames", "co_freevars", "co_cellvars", "co_filename", "co_name", "co_linetable"]}, "140042544233408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544233856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042565115616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565115616": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042544234080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577834416": {"type": "Union", "items": [{"nodeId": "140042586011936"}, {"nodeId": "N"}]}, "140042586011936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042716207520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577833968": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042544230496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544230944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544231168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058528"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042703646368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042703646816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577373088"}, {"nodeId": "140042552901104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552901104": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042703647264": {"type": "Function", "typeVars": [".-1.140042703647264"], "argTypes": [{"nodeId": ".-1.140042703647264"}, {"nodeId": "140042552901216"}], "returnType": {"nodeId": ".-1.140042703647264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042703647264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703647264", "variance": "INVARIANT"}, "140042552901216": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042552390400": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042707515680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552390512"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format", "shape"]}, "140042552390512": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042552388160": {"type": "Overloaded", "items": [{"nodeId": "140042707516128"}, {"nodeId": "140042707516576"}]}, "140042707516128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707516576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707517024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707632416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707632864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552388272": {"type": "Overloaded", "items": [{"nodeId": "140042707633312"}, {"nodeId": "140042707633760"}]}, "140042707633312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042577368048"}, {"nodeId": "140042552390848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042552390848": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042707633760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707634208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552391408"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042552391408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140042707635104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707636000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707636448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367712"}, {"nodeId": "140042552391296"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "bytes_per_sep"]}, "140042552391296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042568801232": {"type": "Concrete", "module": "array", "simpleName": "array", "members": [{"kind": "Variable", "name": "typecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519202048"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519203840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556820160"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657196608"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197056"}, "name": "buffer_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197504"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657197952"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__bb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657198400"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657198848"}, "name": "frombytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657199296"}, "name": "fromfile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657199744"}, "name": "fromlist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ustr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657200192"}, "name": "fromunicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657200640"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657201536"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661593152"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661593600"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594048"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594496"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661594944"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661595392"}, "name": "tounicode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661596736"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556829232"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556830576"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661598976"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661599424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661599872"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661600320"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661600768"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661601216"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661601664"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661602112"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661602560"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603008"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603456"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__unused", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661603904"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042568801232"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042568801232"}]}], "isAbstract": false}, "140042519202048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042556829008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568801232": {"type": "TypeVar", "varName": "_T", "values": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577367376"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568801232", "variance": "INVARIANT"}, "140042577366032": {"type": "Concrete", "module": "builtins", "simpleName": "float", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042552084288"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711807840"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711808288"}, "name": "hex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711808736"}, "name": "is_integer"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042505909216"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042505909440"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042505909664"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711892704"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711893152"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711893600"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894048"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894496"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711894944"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711895392"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711895840"}, "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552101120"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711897184"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711897632"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898080"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898528"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711898976"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711899424"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711899872"}, "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552106048"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711901664"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711902112"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711902560"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711903008"}, "name": "__floor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552105040"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711904352"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711904800"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711905248"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711905696"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711906144"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711906592"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907040"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907488"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711907936"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712006944"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712007392"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712007840"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552084288": {"type": "Function", "typeVars": [".-1.140042552084288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552104480"}], "returnType": {"nodeId": ".-1.140042552084288"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", null]}, "140042552104480": {"type": "Union", "items": [{"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552104368"}]}, "140042577726144": {"type": "Protocol", "module": "typing", "simpleName": "SupportsFloat", "members": [{"kind": "Variable", "name": "__float__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548190720"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__float__"]}, "140042548190720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726144"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552104368": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084288", "variance": "INVARIANT"}, "140042711807840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552104704"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552104704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042711808288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711808736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042505909216": {"type": "Function", "typeVars": [".-1.140042505909216"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042505909216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042505909216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042505909216", "variance": "INVARIANT"}, "140042505909440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042505909664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711892704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711893152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711893600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711894944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711895392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711895840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552104928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552104928": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042552101120": {"type": "Overloaded", "items": [{"nodeId": "140042711896288"}, {"nodeId": "140042711896736"}]}, "140042711896288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711896736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711897184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711897632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711898976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711899424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711899872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552105376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552105376": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042552106048": {"type": "Overloaded", "items": [{"nodeId": "140042711900320"}, {"nodeId": "140042711900768"}, {"nodeId": "140042711901216"}]}, "140042711900320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042552105600"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552105600": {"type": "TypeAlias", "target": {"nodeId": "140042569021168"}}, "140042569021168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042711900768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042552108848"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552108848": {"type": "TypeAlias", "target": {"nodeId": "140042569417552"}}, "140042569417552": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042577366368": {"type": "Concrete", "module": "builtins", "simpleName": "complex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552108064"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506013600"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506014496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712010976"}, "name": "conjugate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712011424"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712011872"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712012320"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712012768"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712013216"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712013664"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712014112"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712014560"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015008"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015456"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712015904"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712016352"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712016800"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712017248"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712017696"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712018144"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552108064": {"type": "Overloaded", "items": [{"nodeId": "140042712008288"}, {"nodeId": "140042712008736"}]}, "140042712008288": {"type": "Function", "typeVars": [".-1.140042712008288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552105936"}, {"nodeId": "140042552106272"}], "returnType": {"nodeId": ".-1.140042712008288"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "real", "imag"]}, "140042552105936": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}]}, "140042577726480": {"type": "Protocol", "module": "typing", "simpleName": "SupportsComplex", "members": [{"kind": "Variable", "name": "__complex__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548192064"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__complex__"]}, "140042548192064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577726480"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552106272": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}]}, ".-1.140042712008288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712008288", "variance": "INVARIANT"}, "140042712008736": {"type": "Function", "typeVars": [".-1.140042712008736"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552106384"}], "returnType": {"nodeId": ".-1.140042712008736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "real"]}, "140042552106384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577726144"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577366368"}]}, ".-1.140042712008736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712008736", "variance": "INVARIANT"}, "140042506013600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506014496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712010976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712011424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712011872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712012320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712012768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042712013216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712013664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712014112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712014560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712015008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042712015456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712015904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712016352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712016800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712017248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712017696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712018144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711901216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042711901664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042552105488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552105488": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}]}, "140042711902112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711902560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711903008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552105040": {"type": "Overloaded", "items": [{"nodeId": "140042711903456"}, {"nodeId": "140042711903904"}]}, "140042711903456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042711903904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042711904352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711904800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711905248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711905696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711906144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711906592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711907040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711907488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711907936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712006944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712007392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712007840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556829008": {"type": "TypeAlias", "target": {"nodeId": "140042568893936"}}, "140042568893936": {"type": "Union", "items": [{"nodeId": "140042586372272"}, {"nodeId": "140042573823472"}, {"nodeId": "140042568892480"}]}, "140042586372272": {"type": "TypeAlias", "target": {"nodeId": "140042568893824"}}, "140042568893824": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042573823472": {"type": "TypeAlias", "target": {"nodeId": "140042573823584"}}, "140042573823584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042568892480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519203840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556820160": {"type": "Overloaded", "items": [{"nodeId": "140042556317632"}, {"nodeId": "140042657194816"}, {"nodeId": "140042657195264"}, {"nodeId": "140042657195712"}, {"nodeId": "140042657196160"}]}, "140042556317632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042556829120"}, {"nodeId": "140042556829344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556829120": {"type": "TypeAlias", "target": {"nodeId": "140042568893824"}}, "140042556829344": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577365696"}]}]}, "140042657194816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042556830240"}, {"nodeId": "140042556820272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556830240": {"type": "TypeAlias", "target": {"nodeId": "140042573823584"}}, "140042556820272": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577366032"}]}]}, "140042657195264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042556830464"}, {"nodeId": "140042556830128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556830464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042556830128": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042657195712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042657196160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042556829568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042556829568": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042657196608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657197056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042556829680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556829680": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042657197504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657197952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657198400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657198848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042556829792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556829792": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042657199296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568809296", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042568809296": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749713248"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140042568809296"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042749713248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809296", "args": [{"nodeId": ".1.140042568809296"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568809296"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042568809296": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809296", "variance": "COVARIANT"}, "140042657199744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657200192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042657200640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042657201536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042661593152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568801232"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042661593600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042661594048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661594496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042569039936", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042569039936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749714592"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042569039936"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042749714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569039936", "args": [{"nodeId": ".1.140042569039936"}]}, {"nodeId": ".1.140042569039936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042569039936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569039936", "variance": "CONTRAVARIANT"}, "140042661594944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661595392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661596736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556829232": {"type": "Overloaded", "items": [{"nodeId": "140042661597184"}, {"nodeId": "140042661597632"}]}, "140042661597184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042568801232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661597632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556830576": {"type": "Overloaded", "items": [{"nodeId": "140042661598080"}, {"nodeId": "140042661598528"}]}, "140042661598080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042568801232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661598528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661598976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042556830352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556830352": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042661599424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661599872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661600320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661600768": {"type": "Function", "typeVars": [".-1.140042661600768"], "argTypes": [{"nodeId": ".-1.140042661600768"}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": ".-1.140042661600768"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042661600768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661600768", "variance": "INVARIANT"}, "140042661601216": {"type": "Function", "typeVars": [".-1.140042661601216"], "argTypes": [{"nodeId": ".-1.140042661601216"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042661601216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042661601216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661601216", "variance": "INVARIANT"}, "140042661601664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661602112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661602560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661603008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661603456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042661603904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042568801232", "args": [{"nodeId": ".1.140042568801232"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042573219872": {"type": "Concrete", "module": "mmap", "simpleName": "mmap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "access", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653525920"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653526368"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653526816"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "src", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653527712"}, "name": "move"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653528160"}, "name": "read_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653528608"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529056"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529504"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653529952"}, "name": "size"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653530400"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byte", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653530848"}, "name": "write_byte"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653531296"}, "name": "__len__"}, {"kind": "Variable", "name": "closed", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "option", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653531744"}, "name": "madvise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661626144"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661626592"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661627040"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661627488"}, "name": "write"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560781808"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661628832"}, "name": "__delitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560929264"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661630176"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661630624"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661631072"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661631520"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577727488"}], "isAbstract": false}, "140042653525920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileno", "length", "flags", "prot", "access", "offset"]}, "140042653526368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653526816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "size"]}, "140042653527712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dest", "src", "count"]}, "140042653528160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653528608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653529056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "newsize"]}, "140042653529504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "pos", "whence"]}, "140042653529952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653530400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042653530848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "byte"]}, "140042653531296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042653531744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "option", "start", "length"]}, "140042661626144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029616"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140042561029616": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661626592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "stop"]}, "140042561029728": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661627040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029840"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042561029840": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042661627488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561029952"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bytes"]}, "140042561029952": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560781808": {"type": "Overloaded", "items": [{"nodeId": "140042661627936"}, {"nodeId": "140042661628384"}]}, "140042661627936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661628384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661628832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042561030176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561030176": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042560929264": {"type": "Overloaded", "items": [{"nodeId": "140042661629280"}, {"nodeId": "140042661629728"}]}, "140042661629280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042661629728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042577368048"}, {"nodeId": "140042561030400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042561030400": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042661630176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661630624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042661631072": {"type": "Function", "typeVars": [".-1.140042661631072"], "argTypes": [{"nodeId": ".-1.140042661631072"}], "returnType": {"nodeId": ".-1.140042661631072"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042661631072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661631072", "variance": "INVARIANT"}, "140042661631520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042573739200": {"type": "Concrete", "module": "ctypes", "simpleName": "_CData", "members": [{"kind": "Variable", "name": "_b_base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_b_needsfree_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "_objects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572994192"}}, {"kind": "Variable", "name": "from_buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523180640"}}, {"kind": "Variable", "name": "from_buffer_copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523179968"}}, {"kind": "Variable", "name": "from_address", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523230944"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523232064"}}, {"kind": "Variable", "name": "in_dll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523232512"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042572994192": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, {"nodeId": "N"}]}, "140042523180640": {"type": "Function", "typeVars": [".-1.140042523180640"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042556252208"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523180640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140042556252208": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, ".-1.140042523180640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523180640", "variance": "INVARIANT"}, "140042523179968": {"type": "Function", "typeVars": [".-1.140042523179968"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042556252320"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523179968"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "source", "offset"]}, "140042556252320": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042523179968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523179968", "variance": "INVARIANT"}, "140042523230944": {"type": "Function", "typeVars": [".-1.140042523230944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042523230944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "address"]}, ".-1.140042523230944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523230944", "variance": "INVARIANT"}, "140042523232064": {"type": "Function", "typeVars": [".-1.140042523232064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042556252544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140042556252544": {"type": "Union", "items": [{"nodeId": ".-1.140042523232064"}, {"nodeId": "140042573741216"}]}, ".-1.140042523232064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523232064", "variance": "INVARIANT"}, "140042573741216": {"type": "Concrete", "module": "ctypes", "simpleName": "_CArgObject", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042523232512": {"type": "Function", "typeVars": [".-1.140042523232512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042523232512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "library", "name"]}, "140042573738192": {"type": "Concrete", "module": "ctypes", "simpleName": "CDLL", "members": [{"kind": "Variable", "name": "_func_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_func_restype_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573739200"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_FuncPtr", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "use_last_error", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "winmode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661632416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661633312"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name_or_ordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661633760"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661632416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042556251760"}, {"nodeId": "140042577365696"}, {"nodeId": "140042556251872"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556251984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "mode", "handle", "use_errno", "use_last_error", "winmode"]}, "140042556251760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556251872": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556251984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042661633312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573740544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573740544": {"type": "Concrete", "module": "ctypes", "simpleName": "_NamedFuncPointer", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042573740208"}], "isAbstract": false}, "140042573740208": {"type": "Concrete", "module": "ctypes", "simpleName": "_FuncPointer", "members": [{"kind": "Variable", "name": "restype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764976"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "errcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573811152"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556249744"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661641376"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573739200"}], "isAbstract": false}, "140042569764976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577256608"}, {"nodeId": "N"}]}, "140042577256608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573811152": {"type": "TypeAlias", "target": {"nodeId": "140042577225408"}}, "140042577225408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573249920"}, {"nodeId": "140042573740208"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042573739200"}]}], "returnType": {"nodeId": "140042573739200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573249920": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556249744": {"type": "Overloaded", "items": [{"nodeId": "140042661639584"}, {"nodeId": "140042661640032"}, {"nodeId": "140042661640480"}, {"nodeId": "140042661640928"}]}, "140042661639584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "address"]}, "140042661640032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042556310016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, "140042556310016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042661640480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042556253216"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042556253328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "func_spec", "paramflags"]}, "140042556253216": {"type": "Tuple", "items": [{"nodeId": "140042556252880"}, {"nodeId": "140042573738192"}]}, "140042556252880": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042556253328": {"type": "TypeAlias", "target": {"nodeId": "140042573812272"}}, "140042573812272": {"type": "Union", "items": [{"nodeId": "140042573810144"}, {"nodeId": "140042573811936"}, {"nodeId": "140042573812160"}]}, "140042573810144": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042573811936": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042573812160": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042661640928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042556253664"}]}, {"nodeId": "140042569632784", "args": [{"nodeId": "140042573908000"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "vtlb_index", "name", "paramflags", "iid"]}, "140042556253664": {"type": "TypeAlias", "target": {"nodeId": "140042573812272"}}, "140042569632784": {"type": "Concrete", "module": "ctypes", "simpleName": "_Pointer", "members": [{"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042569632784"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556249856"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556253440"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656933344"}, "name": "__setitem__"}], "typeVars": [{"nodeId": ".1.140042569632784"}], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573739200"}], "isAbstract": false}, ".1.140042569632784": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042569632784", "variance": "INVARIANT"}, "140042556249856": {"type": "Overloaded", "items": [{"nodeId": "140042656931552"}, {"nodeId": "140042656932000"}]}, "140042656931552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042656932000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": ".1.140042569632784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140042556253440": {"type": "Overloaded", "items": [{"nodeId": "140042656932448"}, {"nodeId": "140042656932896"}]}, "140042656932448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042656932896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042656933344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632784", "args": [{"nodeId": ".1.140042569632784"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573739872": {"type": "Concrete", "module": "ctypes", "simpleName": "_PointerLike", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739536"}], "isAbstract": false}, "140042573739536": {"type": "Concrete", "module": "ctypes", "simpleName": "_CanCastTo", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, "140042573908000": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573741552": {"type": "Concrete", "module": "ctypes", "simpleName": "_SimpleCData", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042573741552"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656937376"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042573741552"}], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, ".1.140042573741552": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573741552", "variance": "INVARIANT"}, "140042656937376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573741552", "args": [{"nodeId": ".1.140042573741552"}]}, {"nodeId": ".1.140042573741552"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042661641376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573740208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042661633760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573738192"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573740544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042523232512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042523232512", "variance": "INVARIANT"}, "140042578066592": {"type": "Concrete", "module": "pickle", "simpleName": "PickleBuffer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640325120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640325568"}, "name": "raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640326016"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640325120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}, {"nodeId": "140042560523840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "buffer"]}, "140042560523840": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042640325568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640326016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577725808": {"type": "Protocol", "module": "typing", "simpleName": "SupportsInt", "members": [{"kind": "Variable", "name": "__int__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548189376"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__int__"]}, "140042548189376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725808"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568807280": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749709216"}, "name": "__trunc__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__trunc__"]}, "140042749709216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042556323904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556323904", "variance": "INVARIANT"}, "140042556325024": {"type": "Function", "typeVars": [".-1.140042556325024"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552101456"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042556325024"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, "base"]}, "140042552101456": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, ".-1.140042556325024": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556325024", "variance": "INVARIANT"}, "140042720053280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552101792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552101792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042510994112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510993888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042510993664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720055520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720055968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720056416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720057760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042578051136"}, {"nodeId": "140042552102352"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "length", "byteorder", "signed"]}, "140042552102352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042510992768": {"type": "Function", "typeVars": [".-1.140042510992768"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552102576"}, {"nodeId": "140042552102912"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042510992768"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", "bytes", "byteorder", "signed"]}, "140042552102576": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042578051136"}]}, {"nodeId": "140042577726816"}, {"nodeId": "140042552102464"}]}, "140042552102464": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042552102912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, ".-1.140042510992768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042510992768", "variance": "INVARIANT"}, "140042720058656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720059104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720059552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720060896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720061344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552103136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552103136": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042720061792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720062240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720062688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720063136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720063584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720064032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720064480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552103360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552103360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042552100672": {"type": "Overloaded", "items": [{"nodeId": "140042720064928"}, {"nodeId": "140042720065376"}, {"nodeId": "140042720065824"}, {"nodeId": "140042720066272"}, {"nodeId": "140042720066720"}, {"nodeId": "140042720067168"}]}, "140042720064928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720065376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042720065824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042552104032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552104032": {"type": "TypeAlias", "target": {"nodeId": "140042569021168"}}, "140042720066272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042552106832"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552106832": {"type": "TypeAlias", "target": {"nodeId": "140042569417552"}}, "140042720066720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042720067168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042711793952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042552106720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552106720": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042711794400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711794848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711795296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711795744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711796192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711796640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711797984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711798432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711798880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711799328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711799776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711800224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711800672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711801120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711801568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042711802016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552104256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552104256": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042711802464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711802912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711803360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711803808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711804256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711804704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042711805152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711805600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711806048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042711806496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042711806944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707756960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042707757408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707757856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042707758304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552557632": {"type": "Overloaded", "items": [{"nodeId": "140042707758752"}, {"nodeId": "140042707759200"}]}, "140042707758752": {"type": "Function", "typeVars": [".-1.140042707758752"], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042707758752"}]}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140042707758752": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140042569531088"}, "def": "140042707758752", "variance": "INVARIANT"}, "140042569531088": {"type": "Union", "items": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}]}, "140042568802576": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749964832"}, "name": "__lt__"}], "typeVars": [{"nodeId": ".1.140042568802576"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__lt__"]}, "140042749964832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802576", "args": [{"nodeId": ".1.140042568802576"}]}, {"nodeId": ".1.140042568802576"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568802576": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802576", "variance": "CONTRAVARIANT"}, "140042568802912": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749965280"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140042568802912"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__gt__"]}, "140042749965280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802912", "args": [{"nodeId": ".1.140042568802912"}]}, {"nodeId": ".1.140042568802912"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568802912": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802912", "variance": "CONTRAVARIANT"}, "140042707759200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042552096832"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140042552096832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "140042552559312"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552559312": {"type": "TypeAlias", "target": {"nodeId": "140042568896736"}}, "140042568896736": {"type": "Union", "items": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}]}, "140042707759648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707760096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552558864": {"type": "Overloaded", "items": [{"nodeId": "140042707760544"}, {"nodeId": "140042707760992"}]}, "140042707760544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577368720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707760992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552558976": {"type": "Overloaded", "items": [{"nodeId": "140042707761440"}, {"nodeId": "140042707761888"}]}, "140042707761440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577368720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707761888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707762336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042552559536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552559536": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042552559200": {"type": "Overloaded", "items": [{"nodeId": "140042707762784"}, {"nodeId": "140042707878176"}]}, "140042707762784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707878176": {"type": "Function", "typeVars": [".-1.140042707878176"], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042707878176"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042552559760"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707878176": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707878176", "variance": "INVARIANT"}, "140042552559760": {"type": "Union", "items": [{"nodeId": ".-1.140042707878176"}, {"nodeId": ".1.140042577368720"}]}, "140042707878624": {"type": "Function", "typeVars": [".-1.140042707878624"], "argTypes": [{"nodeId": ".-1.140042707878624"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": ".-1.140042707878624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707878624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707878624", "variance": "INVARIANT"}, "140042707879072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707879520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707879968": {"type": "Function", "typeVars": [".-1.140042707879968"], "argTypes": [{"nodeId": ".-1.140042707879968"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".-1.140042707879968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042707879968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707879968", "variance": "INVARIANT"}, "140042707880416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707880864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577368720"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707881312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707881760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707882208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707882656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577368720"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707883104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042707886688": {"type": "Function", "typeVars": [".-1.140042707886688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042707886688"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, ".-1.140042707886688": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707886688", "variance": "INVARIANT"}, "140042707887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707887584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577731856": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_keys", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514614080"}}], "typeVars": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}], "bases": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042577731856"}]}], "isAbstract": false}, "140042514614080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577731856"}, {"nodeId": ".2.140042577731856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577731856": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577731856", "variance": "COVARIANT"}, ".2.140042577731856": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577731856", "variance": "COVARIANT"}, "140042707888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577732192": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_values", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514626176"}}], "typeVars": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}], "bases": [{"nodeId": "140042577729504", "args": [{"nodeId": ".2.140042577732192"}]}], "isAbstract": false}, "140042514626176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577732192"}, {"nodeId": ".2.140042577732192"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577732192": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732192", "variance": "COVARIANT"}, ".2.140042577732192": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732192", "variance": "COVARIANT"}, "140042707888480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577732528": {"type": "Concrete", "module": "_collections_abc", "simpleName": "dict_items", "members": [{"kind": "Variable", "name": "mapping", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042514529664"}}], "typeVars": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}], "bases": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}], "isAbstract": false}, "140042514529664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": ".1.140042577732528"}, {"nodeId": ".2.140042577732528"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577732528": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732528", "variance": "COVARIANT"}, ".2.140042577732528": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577732528", "variance": "COVARIANT"}, "140042552559648": {"type": "Overloaded", "items": [{"nodeId": "140042707888928"}, {"nodeId": "140042707889376"}]}, "140042707888928": {"type": "Function", "typeVars": [".-1.140042707888928"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042707888928"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042707888928"}, {"nodeId": "140042552560992"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, null]}, ".-1.140042707888928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707888928", "variance": "INVARIANT"}, "140042552560992": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042707889376": {"type": "Function", "typeVars": [".-1.140042707889376", ".-2.140042707889376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042707889376"}]}, {"nodeId": ".-2.140042707889376"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042707889376"}, {"nodeId": ".-2.140042707889376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140042707889376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707889376", "variance": "INVARIANT"}, ".-2.140042707889376": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707889376", "variance": "INVARIANT"}, "140042552559984": {"type": "Overloaded", "items": [{"nodeId": "140042707889824"}, {"nodeId": "140042707890272"}]}, "140042707889824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": "140042552561216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552561216": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": "N"}]}, "140042707890272": {"type": "Function", "typeVars": [".-1.140042707890272"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": "140042552561328"}], "returnType": {"nodeId": "140042552561440"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552561328": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707890272"}]}, ".-1.140042707890272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707890272", "variance": "INVARIANT"}, "140042552561440": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707890272"}]}, "140042552560768": {"type": "Overloaded", "items": [{"nodeId": "140042707890720"}, {"nodeId": "140042707891168"}]}, "140042707890720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": ".2.140042577369056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042707891168": {"type": "Function", "typeVars": [".-1.140042707891168"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": "140042552561664"}], "returnType": {"nodeId": "140042552561776"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552561664": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707891168"}]}, ".-1.140042707891168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042707891168", "variance": "INVARIANT"}, "140042552561776": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-1.140042707891168"}]}, "140042707891616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707892064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": ".2.140042577369056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707892512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042707892960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": ".1.140042577369056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042707893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042707893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577369056"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708009248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042708009696": {"type": "Function", "typeVars": [".-1.140042708009696", ".-2.140042708009696"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042708009696"}, {"nodeId": ".-2.140042708009696"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042552562000"}, {"nodeId": "140042552562112"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708009696": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708009696", "variance": "INVARIANT"}, ".-2.140042708009696": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708009696", "variance": "INVARIANT"}, "140042552562000": {"type": "Union", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".-1.140042708009696"}]}, "140042552562112": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-2.140042708009696"}]}, "140042708010144": {"type": "Function", "typeVars": [".-1.140042708010144", ".-2.140042708010144"], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042708010144"}, {"nodeId": ".-2.140042708010144"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042552562224"}, {"nodeId": "140042552562336"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708010144": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010144", "variance": "INVARIANT"}, ".-2.140042708010144": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010144", "variance": "INVARIANT"}, "140042552562224": {"type": "Union", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".-1.140042708010144"}]}, "140042552562336": {"type": "Union", "items": [{"nodeId": ".2.140042577369056"}, {"nodeId": ".-2.140042708010144"}]}, "140042552561104": {"type": "Overloaded", "items": [{"nodeId": "140042708010592"}, {"nodeId": "140042708011040"}]}, "140042708010592": {"type": "Function", "typeVars": [".-1.140042708010592"], "argTypes": [{"nodeId": ".-1.140042708010592"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}], "returnType": {"nodeId": ".-1.140042708010592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708010592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708010592", "variance": "INVARIANT"}, "140042708011040": {"type": "Function", "typeVars": [".-1.140042708011040"], "argTypes": [{"nodeId": ".-1.140042708011040"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552562672"}]}], "returnType": {"nodeId": ".-1.140042708011040"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708011040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708011040", "variance": "INVARIANT"}, "140042552562672": {"type": "Tuple", "items": [{"nodeId": ".1.140042577369056"}, {"nodeId": ".2.140042577369056"}]}, "140042577363680": {"type": "Concrete", "module": "typing", "simpleName": "MutableMapping", "members": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548589088"}}, {"kind": "Variable", "name": "__delitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548589536"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754267552"}, "name": "clear"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564815552"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042754268896"}, "name": "popitem"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564820480"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564820928"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}], "typeVars": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "isAbstract": true}, "140042548589088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042577363680": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363680", "variance": "INVARIANT"}, ".2.140042577363680": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577363680", "variance": "INVARIANT"}, "140042548589536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042754267552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564815552": {"type": "Overloaded", "items": [{"nodeId": "140042754268000"}, {"nodeId": "140042754268448"}]}, "140042754268000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": ".2.140042577363680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042754268448": {"type": "Function", "typeVars": [".-1.140042754268448"], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": "140042564821040"}], "returnType": {"nodeId": "140042564821152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, "default"]}, "140042564821040": {"type": "Union", "items": [{"nodeId": ".2.140042577363680"}, {"nodeId": ".-1.140042754268448"}]}, ".-1.140042754268448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754268448", "variance": "INVARIANT"}, "140042564821152": {"type": "Union", "items": [{"nodeId": ".2.140042577363680"}, {"nodeId": ".-1.140042754268448"}]}, "140042754268896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}], "returnType": {"nodeId": "140042564821376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564821376": {"type": "Tuple", "items": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, "140042564820480": {"type": "Overloaded", "items": [{"nodeId": "140042754269344"}, {"nodeId": "140042754269792"}]}, "140042754269344": {"type": "Function", "typeVars": [".-1.140042754269344"], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": "140042564821600"}]}, {"nodeId": ".1.140042577363680"}], "returnType": {"nodeId": "140042564821712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564821600": {"type": "Union", "items": [{"nodeId": ".-1.140042754269344"}, {"nodeId": "N"}]}, ".-1.140042754269344": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042754269344", "variance": "INVARIANT"}, "140042564821712": {"type": "Union", "items": [{"nodeId": ".-1.140042754269344"}, {"nodeId": "N"}]}, "140042754269792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": ".2.140042577363680"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042564820928": {"type": "Overloaded", "items": [{"nodeId": "140042754270240"}, {"nodeId": "140042754270688"}, {"nodeId": "140042754271136"}]}, "140042754270240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042754270688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564822048"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042564822048": {"type": "Tuple", "items": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, "140042754271136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577363680"}, {"nodeId": ".2.140042577363680"}]}, {"nodeId": ".2.140042577363680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042556832816": {"type": "Overloaded", "items": [{"nodeId": "140042719781920"}]}, "140042719781920": {"type": "Function", "typeVars": [".-1.140042719781920"], "argTypes": [{"nodeId": ".-1.140042719781920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042719781920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719781920", "variance": "INVARIANT"}, "140042511004416": {"type": "Function", "typeVars": [".-1.140042511004416"], "argTypes": [{"nodeId": ".-1.140042511004416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042511004416": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042511004416", "variance": "INVARIANT"}, "140042719782816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719783264": {"type": "Function", "typeVars": [".-1.140042719783264"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042719783264"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042719783264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719783264", "variance": "INVARIANT"}, "140042719783712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042719784160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719784608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719785056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719785504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042719785952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042719786400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719786848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042719787296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719787744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719788192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042551966096"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042551966096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042719788640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042551966320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042551966320": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042749674208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749674656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042712019936": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712019936", "variance": "INVARIANT"}, "140042552084512": {"type": "Function", "typeVars": [".-1.140042552084512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042552107056"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042552084512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "object", "encoding", "errors"]}, "140042552107056": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, ".-1.140042552084512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552084512", "variance": "INVARIANT"}, "140042712020832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712021280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712021728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712022176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107168"}, {"nodeId": "140042552107280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "x", null, null]}, "140042552107168": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107280": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712022624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042712138016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552107392"}, {"nodeId": "140042552107504"}, {"nodeId": "140042552107616"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042552107504": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107616": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712138464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042712139360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107728"}, {"nodeId": "140042552107840"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107728": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552107840": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712139808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042712140256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577366704"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "map"]}, "140042577366704": {"type": "Protocol", "module": "builtins", "simpleName": "_FormatMapMapping", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712019040"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042712019040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577366704"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712140704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552107952"}, {"nodeId": "140042552108288"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552107952": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552108288": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712141152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712141600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712142944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712143392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712143840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712144288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712144736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712145184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712145632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712146080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712146528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712146976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712147424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712147872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552108400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552108400": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712148320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552108624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552108624": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042712148768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042712149216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712149664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042712150112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552108960"}, {"nodeId": "140042552109072"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552108960": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552109072": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712150560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552109184"}, {"nodeId": "140042552109296"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552109184": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552109296": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712151008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042712151456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552109520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552109520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042712151904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109632"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552109632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712152352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109744"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552109744": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712152800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109856"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042552109856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712153248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042712153696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552109968"}, {"nodeId": "140042552110080"}, {"nodeId": "140042552110192"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042552109968": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042552110080": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042552110192": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "N"}]}, "140042712252704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552110304"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042552110304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042712253152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712253600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712254048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367040"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577367040": {"type": "Protocol", "module": "builtins", "simpleName": "_TranslateTable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042712019488"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042712019488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367040"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042552106608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552106608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042712254496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042712254944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552105824": {"type": "Overloaded", "items": [{"nodeId": "140042712255392"}, {"nodeId": "140042712255840"}]}, "140042712255392": {"type": "Function", "typeVars": [".-1.140042712255392"], "argTypes": [{"nodeId": "140042552110640"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042712255392"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552110640": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042712255392"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042712255392"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042552110528"}, {"nodeId": ".-1.140042712255392"}]}]}, ".-1.140042712255392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042712255392", "variance": "INVARIANT"}, "140042552110528": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042712255840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042552110752"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042552110864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042552110752": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042552110864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042712256288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712256736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712257184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712257632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712258080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042552110976"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552110976": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042712258528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712258976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712259424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712259872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042712260320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712260768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712261216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712261664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712262112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042712262560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042552111312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552111312": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042464396672": {"type": "Protocol", "module": "subtypes", "simpleName": "P", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774503360"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["f"]}, "140042774503360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464396672"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042464397008": {"type": "Concrete", "module": "subtypes", "simpleName": "S", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774507616"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042774507616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397008"}, {"nodeId": "140042399367904"}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042399367904": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042577724800": {"type": "Concrete", "module": "collections", "simpleName": "Counter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556450272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766490464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766490912"}, "name": "elements"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766491360"}, "name": "most_common"}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518509408"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556452960"}, "items": [{"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtract", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subtract"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556453856"}, "items": [{"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "update", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766494944"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "elem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766495392"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766495840"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766496288"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766496736"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766497184"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766497632"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498080"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498528"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766498976"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766499424"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766647584"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648032"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648480"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766648928"}, "name": "total"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766649376"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766649824"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766650272"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766650720"}, "name": "__gt__"}], "typeVars": [{"nodeId": ".1.140042577724800"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042556450272": {"type": "Overloaded", "items": [{"nodeId": "140042766488672"}, {"nodeId": "140042766489120"}, {"nodeId": "140042766489568"}, {"nodeId": "140042766490016"}]}, "140042766488672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042577724800": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577724800", "variance": "INVARIANT"}, "140042766489120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766489568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766490016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766490464": {"type": "Function", "typeVars": [".-1.140042766490464"], "argTypes": [{"nodeId": ".-1.140042766490464"}], "returnType": {"nodeId": ".-1.140042766490464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766490464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766490464", "variance": "INVARIANT"}, "140042766490912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766491360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042556453968"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042556454192"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042556453968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556454192": {"type": "Tuple", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}, "140042518509408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "140042556454416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "v"]}, "140042556454416": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556452960": {"type": "Overloaded", "items": [{"nodeId": "140042766492256"}, {"nodeId": "140042766492704"}, {"nodeId": "140042766493152"}]}, "140042766492256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042766492704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766493152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556453856": {"type": "Overloaded", "items": [{"nodeId": "140042766493600"}, {"nodeId": "140042766494048"}, {"nodeId": "140042766494496"}]}, "140042766493600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042577724800"}, {"nodeId": "140042577365696"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "N"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042766494944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": ".1.140042577724800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766495392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766495840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766496288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766496736": {"type": "Function", "typeVars": [".-1.140042766496736"], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".-1.140042766496736"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "140042556454752"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766496736": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766496736", "variance": "INVARIANT"}, "140042556454752": {"type": "Union", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": ".-1.140042766496736"}]}, "140042766497184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766497632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766498080": {"type": "Function", "typeVars": [".-1.140042766498080"], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": ".-1.140042766498080"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": "140042556454864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766498080": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766498080", "variance": "INVARIANT"}, "140042556454864": {"type": "Union", "items": [{"nodeId": ".1.140042577724800"}, {"nodeId": ".-1.140042766498080"}]}, "140042766498528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766498976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766499424": {"type": "Function", "typeVars": [".-1.140042766499424"], "argTypes": [{"nodeId": ".-1.140042766499424"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766499424"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766499424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766499424", "variance": "INVARIANT"}, "140042766647584": {"type": "Function", "typeVars": [".-1.140042766647584"], "argTypes": [{"nodeId": ".-1.140042766647584"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766647584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766647584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766647584", "variance": "INVARIANT"}, "140042766648032": {"type": "Function", "typeVars": [".-1.140042766648032"], "argTypes": [{"nodeId": ".-1.140042766648032"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766648032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766648032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766648032", "variance": "INVARIANT"}, "140042766648480": {"type": "Function", "typeVars": [".-1.140042766648480"], "argTypes": [{"nodeId": ".-1.140042766648480"}, {"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": ".-1.140042766648480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766648480": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766648480", "variance": "INVARIANT"}, "140042766648928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766649376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766649824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766650272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766650720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577724800", "args": [{"nodeId": ".1.140042577724800"}]}, {"nodeId": "140042577724800", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042464397344": {"type": "Concrete", "module": "subtypes", "simpleName": "S1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774508064"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042774508064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397344"}, {"nodeId": "140042399371264"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042399371264": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042399573248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464396672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042464397680": {"type": "Protocol", "module": "subtypes", "simpleName": "R", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042774508960"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["f"]}, "140042774508960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397680"}], "returnType": {"nodeId": "140042464397680"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464398016": {"type": "Concrete", "module": "subtypes", "simpleName": "RImpl", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489928544"}, "name": "f"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489928544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464398016"}], "returnType": {"nodeId": "140042464398016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399825056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464397680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042489750112": {"type": "Function", "typeVars": [".-1.140042489750112"], "argTypes": [{"nodeId": "140042782779968", "args": [{"nodeId": ".-1.140042489750112"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042782779968": {"type": "Protocol", "module": "typing", "simpleName": "SupportsAbs", "members": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548196320"}}], "typeVars": [{"nodeId": ".1.140042782779968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__abs__"]}, "140042548196320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779968", "args": [{"nodeId": ".1.140042782779968"}]}], "returnType": {"nodeId": ".1.140042782779968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042782779968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782779968", "variance": "COVARIANT"}, ".-1.140042489750112": {"type": "TypeVar", "varName": "T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489750112", "variance": "INVARIANT"}, "140042577735888": {"type": "Concrete", "module": "collections", "simpleName": "UserDict", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444000"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770878240"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770878688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770879136"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770879584"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880480"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770877792"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770880928"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444112"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770882720"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770883168"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556444784"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "isAbstract": false}, ".1.140042577735888": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735888", "variance": "INVARIANT"}, ".2.140042577735888": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735888", "variance": "INVARIANT"}, "140042556444000": {"type": "Overloaded", "items": [{"nodeId": "140042770875104"}, {"nodeId": "140042649315904"}, {"nodeId": "140042770876000"}, {"nodeId": "140042770875552"}, {"nodeId": "140042770876896"}, {"nodeId": "140042770876448"}, {"nodeId": "140042770877344"}]}, "140042770875104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042649315904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "N"}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042770876000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042770875552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042770876896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556445008"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556445008": {"type": "Tuple", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, "140042770876448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556445232"}]}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042556445232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577735888"}]}, "140042770877344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042770878240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042770878688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}], "returnType": {"nodeId": ".2.140042577735888"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770879136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770879584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": ".1.140042577735888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770880032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735888"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042770880480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770877792": {"type": "Function", "typeVars": [".-1.140042770877792"], "argTypes": [{"nodeId": ".-1.140042770877792"}], "returnType": {"nodeId": ".-1.140042770877792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042770877792": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770877792", "variance": "INVARIANT"}, "140042770880928": {"type": "Function", "typeVars": [".-1.140042770880928"], "argTypes": [{"nodeId": ".-1.140042770880928"}], "returnType": {"nodeId": ".-1.140042770880928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042770880928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770880928", "variance": "INVARIANT"}, "140042556444112": {"type": "Overloaded", "items": [{"nodeId": "140042770881824"}, {"nodeId": "140042770882272"}]}, "140042770881824": {"type": "Function", "typeVars": [".-1.140042770881824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042770881824"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770881824"}, {"nodeId": "140042556445568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042770881824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770881824", "variance": "INVARIANT"}, "140042556445568": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042770882272": {"type": "Function", "typeVars": [".-1.140042770882272", ".-2.140042770882272"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042770882272"}]}, {"nodeId": ".-2.140042770882272"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770882272"}, {"nodeId": ".-2.140042770882272"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042770882272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882272", "variance": "INVARIANT"}, ".-2.140042770882272": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882272", "variance": "INVARIANT"}, "140042770882720": {"type": "Function", "typeVars": [".-1.140042770882720", ".-2.140042770882720"], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042556445680"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": "140042556445792"}, {"nodeId": "140042556445904"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556445680": {"type": "Union", "items": [{"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770882720"}, {"nodeId": ".-2.140042770882720"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042770882720"}, {"nodeId": ".-2.140042770882720"}]}]}, ".-1.140042770882720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882720", "variance": "INVARIANT"}, ".-2.140042770882720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770882720", "variance": "INVARIANT"}, "140042556445792": {"type": "Union", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".-1.140042770882720"}]}, "140042556445904": {"type": "Union", "items": [{"nodeId": ".2.140042577735888"}, {"nodeId": ".-2.140042770882720"}]}, "140042770883168": {"type": "Function", "typeVars": [".-1.140042770883168", ".-2.140042770883168"], "argTypes": [{"nodeId": "140042577735888", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, {"nodeId": "140042556446016"}], "returnType": {"nodeId": "140042577735888", "args": [{"nodeId": "140042556446128"}, {"nodeId": "140042556446240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446016": {"type": "Union", "items": [{"nodeId": "140042577735888", "args": [{"nodeId": ".-1.140042770883168"}, {"nodeId": ".-2.140042770883168"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": ".-1.140042770883168"}, {"nodeId": ".-2.140042770883168"}]}]}, ".-1.140042770883168": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883168", "variance": "INVARIANT"}, ".-2.140042770883168": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883168", "variance": "INVARIANT"}, "140042556446128": {"type": "Union", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".-1.140042770883168"}]}, "140042556446240": {"type": "Union", "items": [{"nodeId": ".2.140042577735888"}, {"nodeId": ".-2.140042770883168"}]}, "140042556444784": {"type": "Overloaded", "items": [{"nodeId": "140042770881376"}, {"nodeId": "140042770883616"}]}, "140042770881376": {"type": "Function", "typeVars": [".-1.140042770881376"], "argTypes": [{"nodeId": ".-1.140042770881376"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}], "returnType": {"nodeId": ".-1.140042770881376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770881376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770881376", "variance": "INVARIANT"}, "140042770883616": {"type": "Function", "typeVars": [".-1.140042770883616"], "argTypes": [{"nodeId": ".-1.140042770883616"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556446576"}]}], "returnType": {"nodeId": ".-1.140042770883616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770883616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770883616", "variance": "INVARIANT"}, "140042556446576": {"type": "Tuple", "items": [{"nodeId": ".1.140042577735888"}, {"nodeId": ".2.140042577735888"}]}, "140042577736224": {"type": "Concrete", "module": "collections", "simpleName": "UserList", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556445344"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770885408"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770885856"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770886304"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770886752"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770887200"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770887648"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770888096"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556446352"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556446688"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770890336"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042770888992"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766106912"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766107360"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766107808"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766108256"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766108704"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766109600"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110048"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110496"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766110944"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766109152"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766111392"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766112288"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766112736"}, "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447248"}, "items": [{"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114080"}, "name": "extend"}], "typeVars": [{"nodeId": ".1.140042577736224"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577736224"}]}], "isAbstract": false}, ".1.140042577736224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577736224", "variance": "INVARIANT"}, "140042556445344": {"type": "Overloaded", "items": [{"nodeId": "140042770884512"}, {"nodeId": "140042770884960"}]}, "140042770884512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initlist"]}, "140042770884960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "initlist"]}, "140042770885408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556446800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446800": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770885856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556446912"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556446912": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770886304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447024": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770886752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447136"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447136": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}]}, "140042770887200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770887648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770888096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556446352": {"type": "Overloaded", "items": [{"nodeId": "140042770888544"}, {"nodeId": "140042770884064"}]}, "140042770888544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577736224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042770884064": {"type": "Function", "typeVars": [".-1.140042770884064"], "argTypes": [{"nodeId": ".-1.140042770884064"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": ".-1.140042770884064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770884064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770884064", "variance": "INVARIANT"}, "140042556446688": {"type": "Overloaded", "items": [{"nodeId": "140042770889440"}, {"nodeId": "140042770889888"}]}, "140042770889440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770889888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042770890336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556447472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556447472": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042770888992": {"type": "Function", "typeVars": [".-1.140042770888992"], "argTypes": [{"nodeId": ".-1.140042770888992"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042770888992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042770888992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042770888992", "variance": "INVARIANT"}, "140042766106912": {"type": "Function", "typeVars": [".-1.140042766106912"], "argTypes": [{"nodeId": ".-1.140042766106912"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042766106912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766106912": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766106912", "variance": "INVARIANT"}, "140042766107360": {"type": "Function", "typeVars": [".-1.140042766107360"], "argTypes": [{"nodeId": ".-1.140042766107360"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": ".-1.140042766107360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766107360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766107360", "variance": "INVARIANT"}, "140042766107808": {"type": "Function", "typeVars": [".-1.140042766107808"], "argTypes": [{"nodeId": ".-1.140042766107808"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766107808"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766107808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766107808", "variance": "INVARIANT"}, "140042766108256": {"type": "Function", "typeVars": [".-1.140042766108256"], "argTypes": [{"nodeId": ".-1.140042766108256"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766108256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766108256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766108256", "variance": "INVARIANT"}, "140042766108704": {"type": "Function", "typeVars": [".-1.140042766108704"], "argTypes": [{"nodeId": ".-1.140042766108704"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766108704"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766108704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766108704", "variance": "INVARIANT"}, "140042766109600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766110048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "i", "item"]}, "140042766110496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577736224"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "i"]}, "140042766110944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766109152": {"type": "Function", "typeVars": [".-1.140042766109152"], "argTypes": [{"nodeId": ".-1.140042766109152"}], "returnType": {"nodeId": ".-1.140042766109152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766109152": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766109152", "variance": "INVARIANT"}, "140042766111392": {"type": "Function", "typeVars": [".-1.140042766111392"], "argTypes": [{"nodeId": ".-1.140042766111392"}], "returnType": {"nodeId": ".-1.140042766111392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766111392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766111392", "variance": "INVARIANT"}, "140042766112288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042766112736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": ".1.140042577736224"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "item", null, null]}, "140042556447248": {"type": "Overloaded", "items": [{"nodeId": "140042766111840"}, {"nodeId": "140042766113632"}]}, "140042766111840": {"type": "Function", "typeVars": [".-1.140042766111840"], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".-1.140042766111840"}]}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, ".-1.140042766111840": {"type": "TypeVar", "varName": "SupportsRichComparisonT", "values": [], "upperBound": {"nodeId": "140042569531088"}, "def": "140042766111840", "variance": "INVARIANT"}, "140042766113632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042556314720"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "key", "reverse"]}, "140042556314720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577736224"}], "returnType": {"nodeId": "140042556447920"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042556447920": {"type": "TypeAlias", "target": {"nodeId": "140042568896736"}}, "140042766114080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736224", "args": [{"nodeId": ".1.140042577736224"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736224"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042577736560": {"type": "Concrete", "module": "collections", "simpleName": "UserString", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114528"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766114976"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766115424"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766115872"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766116320"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766116768"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766117216"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766117664"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766118112"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766118560"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119008"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119456"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766119904"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766120352"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766120800"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766121248"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766121696"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766122144"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766122592"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766237984"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766238432"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766239328"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766239776"}, "name": "casefold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766240224"}, "name": "center"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766240672"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766241120"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242016"}, "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242464"}, "name": "expandtabs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766242912"}, "name": "find"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766243360"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766243808"}, "name": "format_map"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766244256"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766244704"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766245152"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766245600"}, "name": "isdecimal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246048"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246496"}, "name": "isidentifier"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766246944"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766247392"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766247840"}, "name": "isprintable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766248288"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766248736"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766249184"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766249632"}, "name": "isascii"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250080"}, "name": "join"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250528"}, "name": "ljust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766250976"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766251424"}, "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447360"}, "items": [{"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketrans", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "maketrans"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766252768"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766253216"}, "name": "removeprefix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766253664"}, "name": "removesuffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369056"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369504"}, "name": "rfind"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766369952"}, "name": "rindex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766370400"}, "name": "rjust"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766370848"}, "name": "rpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766371296"}, "name": "rstrip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766371744"}, "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766372192"}, "name": "rsplit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766372640"}, "name": "splitlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373088"}, "name": "startswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373536"}, "name": "strip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766373984"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766374432"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766374880"}, "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766375328"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766375776"}, "name": "zfill"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577736560"}]}], "isAbstract": false}, "140042766114528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042766114976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766115424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766115872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766116320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042556448032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556448032": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042766116768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448144"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448144": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766117216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448256"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766117664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448368": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766118112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448480"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556448480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766118560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766119008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766119456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766119904": {"type": "Function", "typeVars": [".-1.140042766119904"], "argTypes": [{"nodeId": ".-1.140042766119904"}, {"nodeId": "140042556448592"}], "returnType": {"nodeId": ".-1.140042766119904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766119904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766119904", "variance": "INVARIANT"}, "140042556448592": {"type": "Union", "items": [{"nodeId": "140042578051136"}, {"nodeId": "140042577368048"}]}, "140042766120352": {"type": "Function", "typeVars": [".-1.140042766120352"], "argTypes": [{"nodeId": ".-1.140042766120352"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042766120352"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042766120352": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766120352", "variance": "INVARIANT"}, "140042766120800": {"type": "Function", "typeVars": [".-1.140042766120800"], "argTypes": [{"nodeId": ".-1.140042766120800"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042766120800"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042766120800": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766120800", "variance": "INVARIANT"}, "140042766121248": {"type": "Function", "typeVars": [".-1.140042766121248"], "argTypes": [{"nodeId": ".-1.140042766121248"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766121248"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766121248": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766121248", "variance": "INVARIANT"}, "140042766121696": {"type": "Function", "typeVars": [".-1.140042766121696"], "argTypes": [{"nodeId": ".-1.140042766121696"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766121696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766121696": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766121696", "variance": "INVARIANT"}, "140042766122144": {"type": "Function", "typeVars": [".-1.140042766122144"], "argTypes": [{"nodeId": ".-1.140042766122144"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766122144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766122144": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766122144", "variance": "INVARIANT"}, "140042766122592": {"type": "Function", "typeVars": [".-1.140042766122592"], "argTypes": [{"nodeId": ".-1.140042766122592"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766122592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766122592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766122592", "variance": "INVARIANT"}, "140042766237984": {"type": "Function", "typeVars": [".-1.140042766237984"], "argTypes": [{"nodeId": ".-1.140042766237984"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766237984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766237984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766237984", "variance": "INVARIANT"}, "140042766238432": {"type": "Function", "typeVars": [".-1.140042766238432"], "argTypes": [{"nodeId": ".-1.140042766238432"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042766238432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766238432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766238432", "variance": "INVARIANT"}, "140042766239328": {"type": "Function", "typeVars": [".-1.140042766239328"], "argTypes": [{"nodeId": ".-1.140042766239328"}], "returnType": {"nodeId": ".-1.140042766239328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766239328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766239328", "variance": "INVARIANT"}, "140042766239776": {"type": "Function", "typeVars": [".-1.140042766239776"], "argTypes": [{"nodeId": ".-1.140042766239776"}], "returnType": {"nodeId": ".-1.140042766239776"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766239776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766239776", "variance": "INVARIANT"}, "140042766240224": {"type": "Function", "typeVars": [".-1.140042766240224"], "argTypes": [{"nodeId": ".-1.140042766240224"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766240224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766240224": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766240224", "variance": "INVARIANT"}, "140042766240672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556448928"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556448928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766241120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449040"}, {"nodeId": "140042556449152"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042556449040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556449152": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766242016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449264"}, {"nodeId": "140042556449376"}, {"nodeId": "140042556449488"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042556449264": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042556449376": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556449488": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766242464": {"type": "Function", "typeVars": [".-1.140042766242464"], "argTypes": [{"nodeId": ".-1.140042766242464"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766242464"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, ".-1.140042766242464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766242464", "variance": "INVARIANT"}, "140042766242912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556449600"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556449600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766243360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwds"]}, "140042766243808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mapping"]}, "140042766244256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042766244704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766245152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766245600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766246944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766247392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766247840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766248288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766248736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766249184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766249632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766250080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042766250528": {"type": "Function", "typeVars": [".-1.140042766250528"], "argTypes": [{"nodeId": ".-1.140042766250528"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766250528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766250528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766250528", "variance": "INVARIANT"}, "140042766250976": {"type": "Function", "typeVars": [".-1.140042766250976"], "argTypes": [{"nodeId": ".-1.140042766250976"}], "returnType": {"nodeId": ".-1.140042766250976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766250976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766250976", "variance": "INVARIANT"}, "140042766251424": {"type": "Function", "typeVars": [".-1.140042766251424"], "argTypes": [{"nodeId": ".-1.140042766251424"}, {"nodeId": "140042556450160"}], "returnType": {"nodeId": ".-1.140042766251424"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766251424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766251424", "variance": "INVARIANT"}, "140042556450160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556447360": {"type": "Overloaded", "items": [{"nodeId": "140042766251872"}, {"nodeId": "140042766252320"}]}, "140042766251872": {"type": "Function", "typeVars": [".-1.140042766251872"], "argTypes": [{"nodeId": "140042556450496"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042766251872"}]}, "argKinds": ["ARG_POS"], "argNames": ["x"]}, "140042556450496": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": ".-1.140042766251872"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042766251872"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042556450384"}, {"nodeId": ".-1.140042766251872"}]}]}, ".-1.140042766251872": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766251872", "variance": "INVARIANT"}, "140042556450384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042766252320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042556450608"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["x", "y", "z"]}, "140042556450608": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766252768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556450832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042556450832": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042766253216": {"type": "Function", "typeVars": [".-1.140042766253216"], "argTypes": [{"nodeId": ".-1.140042766253216"}, {"nodeId": "140042556450944"}], "returnType": {"nodeId": ".-1.140042766253216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042766253216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766253216", "variance": "INVARIANT"}, "140042556450944": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766253664": {"type": "Function", "typeVars": [".-1.140042766253664"], "argTypes": [{"nodeId": ".-1.140042766253664"}, {"nodeId": "140042556451056"}], "returnType": {"nodeId": ".-1.140042766253664"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042766253664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766253664", "variance": "INVARIANT"}, "140042556451056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369056": {"type": "Function", "typeVars": [".-1.140042766369056"], "argTypes": [{"nodeId": ".-1.140042766369056"}, {"nodeId": "140042556451168"}, {"nodeId": "140042556451280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766369056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "maxsplit"]}, ".-1.140042766369056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766369056", "variance": "INVARIANT"}, "140042556451168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042556451280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556451392"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556451392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766369952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556451504"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042556451504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577736560"}]}, "140042766370400": {"type": "Function", "typeVars": [".-1.140042766370400"], "argTypes": [{"nodeId": ".-1.140042766370400"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766370400"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "width", "args"]}, ".-1.140042766370400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766370400", "variance": "INVARIANT"}, "140042766370848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556451840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042556451840": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042766371296": {"type": "Function", "typeVars": [".-1.140042766371296"], "argTypes": [{"nodeId": ".-1.140042766371296"}, {"nodeId": "140042556451952"}], "returnType": {"nodeId": ".-1.140042766371296"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766371296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766371296", "variance": "INVARIANT"}, "140042556451952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766371744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452064"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042556452064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766372192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452176"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042556452176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766372640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042766373088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736560"}, {"nodeId": "140042556452288"}, {"nodeId": "140042556452400"}, {"nodeId": "140042556452512"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042556452288": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042556452400": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556452512": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766373536": {"type": "Function", "typeVars": [".-1.140042766373536"], "argTypes": [{"nodeId": ".-1.140042766373536"}, {"nodeId": "140042556452624"}], "returnType": {"nodeId": ".-1.140042766373536"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, ".-1.140042766373536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766373536", "variance": "INVARIANT"}, "140042556452624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042766373984": {"type": "Function", "typeVars": [".-1.140042766373984"], "argTypes": [{"nodeId": ".-1.140042766373984"}], "returnType": {"nodeId": ".-1.140042766373984"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766373984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766373984", "variance": "INVARIANT"}, "140042766374432": {"type": "Function", "typeVars": [".-1.140042766374432"], "argTypes": [{"nodeId": ".-1.140042766374432"}], "returnType": {"nodeId": ".-1.140042766374432"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766374432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766374432", "variance": "INVARIANT"}, "140042766374880": {"type": "Function", "typeVars": [".-1.140042766374880"], "argTypes": [{"nodeId": ".-1.140042766374880"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042766374880"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, ".-1.140042766374880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766374880", "variance": "INVARIANT"}, "140042766375328": {"type": "Function", "typeVars": [".-1.140042766375328"], "argTypes": [{"nodeId": ".-1.140042766375328"}], "returnType": {"nodeId": ".-1.140042766375328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766375328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766375328", "variance": "INVARIANT"}, "140042766375776": {"type": "Function", "typeVars": [".-1.140042766375776"], "argTypes": [{"nodeId": ".-1.140042766375776"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766375776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, ".-1.140042766375776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766375776", "variance": "INVARIANT"}, "140042577736896": {"type": "Concrete", "module": "collections", "simpleName": "deque", "members": [{"kind": "Variable", "name": "maxlen", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518444096"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556447584"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766377568"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378016"}, "name": "appendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378464"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766378912"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766379360"}, "name": "extend"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766379808"}, "name": "extendleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766380256"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766380704"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766381152"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766381600"}, "name": "popleft"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382048"}, "name": "remove"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382496"}, "name": "rotate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766382944"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766383392"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766383840"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766384288"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766384736"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766483744"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766484192"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766484640"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485088"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485536"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766485984"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766486432"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766486880"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766487328"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766487776"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766488224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577736896"}], "bases": [{"nodeId": "140042782784672", "args": [{"nodeId": ".1.140042577736896"}]}], "isAbstract": false}, "140042518444096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042556452848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577736896": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577736896", "variance": "INVARIANT"}, "140042556452848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556447584": {"type": "Overloaded", "items": [{"nodeId": "140042766376672"}, {"nodeId": "140042766377120"}]}, "140042766376672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042556453072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "maxlen"]}, "140042556453072": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766377120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042556453184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "maxlen"]}, "140042556453184": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042766377568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766378016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766378464": {"type": "Function", "typeVars": [".-1.140042766378464"], "argTypes": [{"nodeId": ".-1.140042766378464"}], "returnType": {"nodeId": ".-1.140042766378464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766378464": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766378464", "variance": "INVARIANT"}, "140042766378912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766379360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766379808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766380256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577365696"}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042766380704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042766381152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766381600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766382048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766382496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042766382944": {"type": "Function", "typeVars": [".-1.140042766382944"], "argTypes": [{"nodeId": ".-1.140042766382944"}], "returnType": {"nodeId": ".-1.140042766382944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766382944": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766382944", "variance": "INVARIANT"}, "140042766383392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766383840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": ".1.140042577736896"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766384288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}, {"nodeId": ".1.140042577736896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766384736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766483744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766484192": {"type": "Function", "typeVars": [".-1.140042766484192"], "argTypes": [{"nodeId": ".-1.140042766484192"}], "returnType": {"nodeId": "140042556453632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766484192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766484192", "variance": "INVARIANT"}, "140042556453632": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042556453408"}, {"nodeId": "N"}, {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577736896"}]}]}, "140042556453408": {"type": "Tuple", "items": []}, "140042766484640": {"type": "Function", "typeVars": [".-1.140042766484640"], "argTypes": [{"nodeId": ".-1.140042766484640"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": ".-1.140042766484640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766484640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766484640", "variance": "INVARIANT"}, "140042766485088": {"type": "Function", "typeVars": [".-1.140042766485088"], "argTypes": [{"nodeId": ".-1.140042766485088"}, {"nodeId": ".-1.140042766485088"}], "returnType": {"nodeId": ".-1.140042766485088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485088": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485088", "variance": "INVARIANT"}, "140042766485536": {"type": "Function", "typeVars": [".-1.140042766485536"], "argTypes": [{"nodeId": ".-1.140042766485536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766485536"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485536": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485536", "variance": "INVARIANT"}, "140042766485984": {"type": "Function", "typeVars": [".-1.140042766485984"], "argTypes": [{"nodeId": ".-1.140042766485984"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042766485984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766485984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766485984", "variance": "INVARIANT"}, "140042766486432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766486880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766487328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766487776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}, {"nodeId": "140042577736896", "args": [{"nodeId": ".1.140042577736896"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766488224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042568796192": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictKeysView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766651168"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796192"}], "bases": [{"nodeId": "140042577729168", "args": [{"nodeId": ".1.140042568796192"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042568796192"}]}], "isAbstract": false}, "140042766651168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796192", "args": [{"nodeId": ".1.140042568796192"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042568796192"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796192": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796192", "variance": "COVARIANT"}, "140042568796528": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictItemsView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766651616"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}], "bases": [{"nodeId": "140042577728832", "args": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": "140042573821904"}]}], "isAbstract": false}, "140042766651616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796528", "args": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556455536"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796528": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796528", "variance": "COVARIANT"}, ".2.140042568796528": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796528", "variance": "COVARIANT"}, "140042556455536": {"type": "Tuple", "items": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, "140042573821904": {"type": "Tuple", "items": [{"nodeId": ".1.140042568796528"}, {"nodeId": ".2.140042568796528"}]}, "140042568796864": {"type": "Concrete", "module": "collections", "simpleName": "_OrderedDictValuesView", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652064"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042568796864"}], "bases": [{"nodeId": "140042577729504", "args": [{"nodeId": ".1.140042568796864"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042568796864"}]}], "isAbstract": false}, "140042766652064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568796864", "args": [{"nodeId": ".1.140042568796864"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042568796864"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568796864": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568796864", "variance": "COVARIANT"}, "140042577737232": {"type": "Concrete", "module": "collections", "simpleName": "_odict_keys", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652512"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}], "bases": [{"nodeId": "140042577731856", "args": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577737232"}]}], "isAbstract": false}, "140042766652512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737232", "args": [{"nodeId": ".1.140042577737232"}, {"nodeId": ".2.140042577737232"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577737232"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737232": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737232", "variance": "COVARIANT"}, ".2.140042577737232": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737232", "variance": "COVARIANT"}, "140042577737568": {"type": "Concrete", "module": "collections", "simpleName": "_odict_items", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766652960"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}], "bases": [{"nodeId": "140042577732528", "args": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": "140042573822128"}]}], "isAbstract": false}, "140042766652960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737568", "args": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556455760"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737568": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737568", "variance": "COVARIANT"}, ".2.140042577737568": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737568", "variance": "COVARIANT"}, "140042556455760": {"type": "Tuple", "items": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, "140042573822128": {"type": "Tuple", "items": [{"nodeId": ".1.140042577737568"}, {"nodeId": ".2.140042577737568"}]}, "140042577737904": {"type": "Concrete", "module": "collections", "simpleName": "_odict_values", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766653408"}, "name": "__reversed__"}], "typeVars": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}], "bases": [{"nodeId": "140042577732192", "args": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".2.140042577737904"}]}], "isAbstract": false}, "140042766653408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577737904", "args": [{"nodeId": ".1.140042577737904"}, {"nodeId": ".2.140042577737904"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".2.140042577737904"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042577737904": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737904", "variance": "COVARIANT"}, ".2.140042577737904": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577737904", "variance": "COVARIANT"}, "140042577738240": {"type": "Concrete", "module": "collections", "simpleName": "OrderedDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766653856"}, "name": "popitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "last", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766654304"}, "name": "move_to_end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766654752"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766655200"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766655648"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766656096"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766656544"}, "name": "values"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556454528"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556454640"}, "items": [{"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setdefault", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "setdefault"}], "typeVars": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577738240"}]}], "isAbstract": false}, "140042766653856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042556455984"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "last"]}, ".1.140042577738240": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738240", "variance": "INVARIANT"}, ".2.140042577738240": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738240", "variance": "INVARIANT"}, "140042556455984": {"type": "Tuple", "items": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "140042766654304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": ".1.140042577738240"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "last"]}, "140042766654752": {"type": "Function", "typeVars": [".-1.140042766654752"], "argTypes": [{"nodeId": ".-1.140042766654752"}], "returnType": {"nodeId": ".-1.140042766654752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766654752": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766654752", "variance": "INVARIANT"}, "140042766655200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766655648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737232", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766656096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737568", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766656544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}], "returnType": {"nodeId": "140042577737904", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556454528": {"type": "Overloaded", "items": [{"nodeId": "140042766656992"}, {"nodeId": "140042766657440"}]}, "140042766656992": {"type": "Function", "typeVars": [".-1.140042766656992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766656992"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577738240", "args": [{"nodeId": ".-1.140042766656992"}, {"nodeId": "140042556456320"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042766656992": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766656992", "variance": "INVARIANT"}, "140042556456320": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042766657440": {"type": "Function", "typeVars": [".-1.140042766657440", ".-2.140042766657440"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766657440"}]}, {"nodeId": ".-2.140042766657440"}], "returnType": {"nodeId": "140042577738240", "args": [{"nodeId": ".-1.140042766657440"}, {"nodeId": ".-2.140042766657440"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable", "value"]}, ".-1.140042766657440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657440", "variance": "INVARIANT"}, ".-2.140042766657440": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657440", "variance": "INVARIANT"}, "140042556454640": {"type": "Overloaded", "items": [{"nodeId": "140042766657888"}, {"nodeId": "140042766658336"}]}, "140042766657888": {"type": "Function", "typeVars": [".-1.140042766657888"], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": "140042556456544"}]}, {"nodeId": ".1.140042577738240"}], "returnType": {"nodeId": "140042556456656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042556456544": {"type": "Union", "items": [{"nodeId": ".-1.140042766657888"}, {"nodeId": "N"}]}, ".-1.140042766657888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766657888", "variance": "INVARIANT"}, "140042556456656": {"type": "Union", "items": [{"nodeId": ".-1.140042766657888"}, {"nodeId": "N"}]}, "140042766658336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738240", "args": [{"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}]}, {"nodeId": ".1.140042577738240"}, {"nodeId": ".2.140042577738240"}], "returnType": {"nodeId": ".2.140042577738240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "default"]}, "140042577725136": {"type": "Concrete", "module": "collections", "simpleName": "defaultdict", "members": [{"kind": "Variable", "name": "default_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367792"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456096"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766662368"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766662816"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766663264"}, "name": "copy"}], "typeVars": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "isAbstract": false}, "140042586367792": {"type": "Union", "items": [{"nodeId": "140042577259744"}, {"nodeId": "N"}]}, "140042577259744": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, ".2.140042577725136": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577725136", "variance": "INVARIANT"}, "140042556456096": {"type": "Overloaded", "items": [{"nodeId": "140042766658784"}, {"nodeId": "140042766659232"}, {"nodeId": "140042766659680"}, {"nodeId": "140042766660128"}, {"nodeId": "140042766660576"}, {"nodeId": "140042766661024"}, {"nodeId": "140042766661472"}, {"nodeId": "140042766661920"}]}, "140042766658784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577725136": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577725136", "variance": "INVARIANT"}, "140042766659232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042766659680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556817472": {"type": "Union", "items": [{"nodeId": "140042556315168"}, {"nodeId": "N"}]}, "140042556315168": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766660128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817584"}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, "kwargs"]}, "140042556817584": {"type": "Union", "items": [{"nodeId": "140042556315392"}, {"nodeId": "N"}]}, "140042556315392": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817696"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042556817696": {"type": "Union", "items": [{"nodeId": "140042556315616"}, {"nodeId": "N"}]}, "140042556315616": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766661024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817808"}, {"nodeId": "140042568807952", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140042556817808": {"type": "Union", "items": [{"nodeId": "140042556315840"}, {"nodeId": "N"}]}, "140042556315840": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042766661472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556817920"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556818144"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042556817920": {"type": "Union", "items": [{"nodeId": "140042556316064"}, {"nodeId": "N"}]}, "140042556316064": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042556818144": {"type": "Tuple", "items": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, "140042766661920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": "140042556818256"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556818480"}]}, {"nodeId": ".2.140042577725136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", null, null, "kwargs"]}, "140042556818256": {"type": "Union", "items": [{"nodeId": "140042556316288"}, {"nodeId": "N"}]}, "140042556316288": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": [], "argNames": []}, "140042556818480": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".2.140042577725136"}]}, "140042766662368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577725136", "args": [{"nodeId": ".1.140042577725136"}, {"nodeId": ".2.140042577725136"}]}, {"nodeId": ".1.140042577725136"}], "returnType": {"nodeId": ".2.140042577725136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042766662816": {"type": "Function", "typeVars": [".-1.140042766662816"], "argTypes": [{"nodeId": ".-1.140042766662816"}], "returnType": {"nodeId": ".-1.140042766662816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766662816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766662816", "variance": "INVARIANT"}, "140042766663264": {"type": "Function", "typeVars": [".-1.140042766663264"], "argTypes": [{"nodeId": ".-1.140042766663264"}], "returnType": {"nodeId": ".-1.140042766663264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766663264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766663264", "variance": "INVARIANT"}, "140042577738576": {"type": "Concrete", "module": "collections", "simpleName": "ChainMap", "members": [{"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766778656"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766779104"}, "name": "new_child"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518617376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780000"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780448"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766780896"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766781344"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766781792"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766782240"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766782688"}, "name": "__missing__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766783136"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766783584"}, "name": "setdefault"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456432"}, "items": [{"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pop", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766784928"}, "name": "copy"}, {"kind": "Variable", "name": "__copy__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518619840"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556456768"}, "items": [{"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fromkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fromkeys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766786272"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766786720"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556818704"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "isAbstract": false}, ".1.140042577738576": {"type": "TypeVar", "varName": "_KT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738576", "variance": "INVARIANT"}, ".2.140042577738576": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577738576", "variance": "INVARIANT"}, "140042766778656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "maps"]}, "140042766779104": {"type": "Function", "typeVars": [".-1.140042766779104"], "argTypes": [{"nodeId": ".-1.140042766779104"}, {"nodeId": "140042556818592"}], "returnType": {"nodeId": ".-1.140042766779104"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, ".-1.140042766779104": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766779104", "variance": "INVARIANT"}, "140042556818592": {"type": "Union", "items": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "N"}]}, "140042518617376": {"type": "Function", "typeVars": [".-1.140042518617376"], "argTypes": [{"nodeId": ".-1.140042518617376"}], "returnType": {"nodeId": ".-1.140042518617376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042518617376": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042518617376", "variance": "INVARIANT"}, "140042766780000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766780448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766780896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766781344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577738576"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766781792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042766782240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042766782688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766783136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766783584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140042556456432": {"type": "Overloaded", "items": [{"nodeId": "140042766784032"}, {"nodeId": "140042766784480"}]}, "140042766784032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}], "returnType": {"nodeId": ".2.140042577738576"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "key"]}, "140042766784480": {"type": "Function", "typeVars": [".-1.140042766784480"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": ".1.140042577738576"}, {"nodeId": "140042556818816"}], "returnType": {"nodeId": "140042556818928"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "key", "default"]}, "140042556818816": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-1.140042766784480"}]}, ".-1.140042766784480": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766784480", "variance": "INVARIANT"}, "140042556818928": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-1.140042766784480"}]}, "140042766784928": {"type": "Function", "typeVars": [".-1.140042766784928"], "argTypes": [{"nodeId": ".-1.140042766784928"}], "returnType": {"nodeId": ".-1.140042766784928"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042766784928": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766784928", "variance": "INVARIANT"}, "140042518619840": {"type": "Function", "typeVars": [".-1.140042518619840"], "argTypes": [{"nodeId": ".-1.140042518619840"}], "returnType": {"nodeId": ".-1.140042518619840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042518619840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042518619840", "variance": "INVARIANT"}, "140042556456768": {"type": "Overloaded", "items": [{"nodeId": "140042766785376"}, {"nodeId": "140042766785824"}]}, "140042766785376": {"type": "Function", "typeVars": [".-1.140042766785376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766785376"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": ".-1.140042766785376"}, {"nodeId": "140042556819264"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "iterable", null]}, ".-1.140042766785376": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785376", "variance": "INVARIANT"}, "140042556819264": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042766785824": {"type": "Function", "typeVars": [".-1.140042766785824", ".-2.140042766785824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042766785824"}]}, {"nodeId": ".-2.140042766785824"}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": ".-1.140042766785824"}, {"nodeId": ".-2.140042766785824"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, ".-1.140042766785824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785824", "variance": "INVARIANT"}, ".-2.140042766785824": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766785824", "variance": "INVARIANT"}, "140042766786272": {"type": "Function", "typeVars": [".-1.140042766786272", ".-2.140042766786272"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042766786272"}, {"nodeId": ".-2.140042766786272"}]}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": "140042556819376"}, {"nodeId": "140042556819488"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766786272": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786272", "variance": "INVARIANT"}, ".-2.140042766786272": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786272", "variance": "INVARIANT"}, "140042556819376": {"type": "Union", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".-1.140042766786272"}]}, "140042556819488": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-2.140042766786272"}]}, "140042766786720": {"type": "Function", "typeVars": [".-1.140042766786720", ".-2.140042766786720"], "argTypes": [{"nodeId": "140042577738576", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042766786720"}, {"nodeId": ".-2.140042766786720"}]}], "returnType": {"nodeId": "140042577738576", "args": [{"nodeId": "140042556819600"}, {"nodeId": "140042556819712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766786720": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786720", "variance": "INVARIANT"}, ".-2.140042766786720": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766786720", "variance": "INVARIANT"}, "140042556819600": {"type": "Union", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".-1.140042766786720"}]}, "140042556819712": {"type": "Union", "items": [{"nodeId": ".2.140042577738576"}, {"nodeId": ".-2.140042766786720"}]}, "140042556818704": {"type": "Overloaded", "items": [{"nodeId": "140042766787168"}, {"nodeId": "140042766787616"}]}, "140042766787168": {"type": "Function", "typeVars": [".-1.140042766787168"], "argTypes": [{"nodeId": ".-1.140042766787168"}, {"nodeId": "140042568807952", "args": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}], "returnType": {"nodeId": ".-1.140042766787168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766787168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766787168", "variance": "INVARIANT"}, "140042766787616": {"type": "Function", "typeVars": [".-1.140042766787616"], "argTypes": [{"nodeId": ".-1.140042766787616"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042556820048"}]}], "returnType": {"nodeId": ".-1.140042766787616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042766787616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042766787616", "variance": "INVARIANT"}, "140042556820048": {"type": "Tuple", "items": [{"nodeId": ".1.140042577738576"}, {"nodeId": ".2.140042577738576"}]}, "140042498341040": {"type": "Concrete", "module": "numpy._pytesttester", "simpleName": "PytestTester", "members": [{"kind": "Variable", "name": "module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674193344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "label", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra_argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doctests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "coverage", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "durations", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674193792"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042674193344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341040"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module_name"]}, "140042674193792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341040"}, {"nodeId": "140042485588128"}, {"nodeId": "140042577365696"}, {"nodeId": "140042485588240"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042485588464"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "label", "verbose", "extra_argv", "doctests", "coverage", "durations", "tests"]}, "140042485588128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042485588240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042485588464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}]}, "140042472911056": {"type": "Concrete", "module": "numpy.core._internal", "simpleName": "_ctypes", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456007504"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "Variable", "name": "data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430403008"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430410176"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430407264"}}, {"kind": "Variable", "name": "_as_parameter_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430404128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716339264"}, "name": "data_as"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716339712"}, "name": "shape_as"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716340160"}, "name": "strides_as"}], "typeVars": [{"nodeId": ".1.140042472911056"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042456007504": {"type": "Overloaded", "items": [{"nodeId": "140042716336576"}, {"nodeId": "140042716337024"}]}, "140042716336576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "array", "ptr"]}, "140042472913744": {"type": "Concrete", "module": "numpy", "simpleName": "ndarray", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431126592"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431126368"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127040"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456409568"}, "items": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127264"}}, {"kind": "Variable", "name": "real", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "real"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456410576"}, "items": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127488"}}, {"kind": "Variable", "name": "imag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "imag"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456386688"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740841856"}, "name": "__class_getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456411136"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inputs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741089216"}, "name": "__array_ufunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "types", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741089664"}, "name": "__array_function__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741090112"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741090560"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741091008"}, "name": "__array_prepare__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456412256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "Variable", "name": "ctypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128384"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456409792"}, "items": [{"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431127712"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "shape"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456284208"}, "items": [{"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128608"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "strides"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741095936"}, "name": "byteswap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741096384"}, "name": "fill"}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431128832"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456482752"}, "items": [{"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "item"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483088"}, "items": [{"kind": "Variable", "name": "itemset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "itemset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "itemset"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483536"}, "items": [{"kind": "Variable", "name": "resize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "align", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741099968"}, "name": "setflags"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741100416"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741100864"}, "name": "swapaxes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456483872"}, "items": [{"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "transpose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741102208"}, "name": "argpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741102656"}, "name": "diagonal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456484320"}, "items": [{"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "dot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741268544"}, "name": "nonzero"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741268992"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741269440"}, "name": "put"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456486000"}, "items": [{"kind": "Variable", "name": "searchsorted", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "searchsorted", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "searchsorted"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741270784"}, "name": "setfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741271232"}, "name": "sort"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456487792"}, "items": [{"kind": "Variable", "name": "trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "trace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "trace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456489808"}, "items": [{"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "take"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741273920"}, "name": "repeat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741274368"}, "name": "flatten"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741274816"}, "name": "ravel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456489584"}, "items": [{"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "reshape"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456492272"}, "items": [{"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "astype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456492832"}, "items": [{"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "view"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456494288"}, "items": [{"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "getfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456391168"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393184"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393408"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456393632"}, "name": "__index__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741281984"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741353456"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741282432"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042741282880"}, "name": "__contains__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456495184"}, "items": [{"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456496864"}, "items": [{"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__le__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456496976"}, "items": [{"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456414720"}, "items": [{"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451372736"}, "items": [{"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__abs__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__abs__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451374640"}, "items": [{"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__invert__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__invert__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451375648"}, "items": [{"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pos__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pos__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451376880"}, "items": [{"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__neg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__neg__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451377664"}, "items": [{"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__matmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__matmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451378448"}, "items": [{"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmatmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmatmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451382256"}, "items": [{"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456497984"}, "items": [{"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451421552"}, "items": [{"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__divmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451424576"}, "items": [{"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rdivmod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451428048"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451431184"}, "items": [{"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451385952"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451489888"}, "items": [{"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rsub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451494592"}, "items": [{"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451499296"}, "items": [{"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451435216"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451541616"}, "items": [{"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rfloordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451545312"}, "items": [{"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__pow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451549008"}, "items": [{"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rpow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451500640"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451605920"}, "items": [{"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rtruediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451609840"}, "items": [{"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451613760"}, "items": [{"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rlshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451549680"}, "items": [{"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451667536"}, "items": [{"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rrshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451669776"}, "items": [{"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__and__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451672016"}, "items": [{"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451674144"}, "items": [{"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__xor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451676272"}, "items": [{"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rxor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451678400"}, "items": [{"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__or__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451615440"}, "items": [{"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451715568"}, "items": [{"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__iadd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451717696"}, "items": [{"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__isub__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451721168"}, "items": [{"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__imul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451723856"}, "items": [{"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__itruediv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451726544"}, "items": [{"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ifloordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451728224"}, "items": [{"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ipow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451680528"}, "items": [{"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__imod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451831376"}, "items": [{"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ilshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ilshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451833056"}, "items": [{"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__irshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__irshift__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451834736"}, "items": [{"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__iand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__iand__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451836080"}, "items": [{"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ixor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ixor__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451837760"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451702656"}, "name": "__dlpack__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737408192"}, "name": "__dlpack_device__"}, {"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426513696"}}], "typeVars": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}], "bases": [{"nodeId": "140042472912400"}], "isAbstract": false}, "140042431126592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456410464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913744": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042472913744", "variance": "INVARIANT"}, ".2.140042472913744": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472913744", "variance": "COVARIANT"}, "140042468653568": {"type": "Concrete", "module": "numpy", "simpleName": "dtype", "members": [{"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464134416"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456009296"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762017408"}, "name": "__class_getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456009856"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022400"}, "items": [{"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__mul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456019600"}, "items": [{"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762020992"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762021440"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762021888"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762022336"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762022784"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042762023232"}, "name": "__ne__"}, {"kind": "Variable", "name": "alignment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430771744"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430773984"}}, {"kind": "Variable", "name": "byteorder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774208"}}, {"kind": "Variable", "name": "char", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774432"}}, {"kind": "Variable", "name": "descr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774656"}}, {"kind": "Variable", "name": "fields", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430774880"}}, {"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857280"}}, {"kind": "Variable", "name": "hasobject", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857504"}}, {"kind": "Variable", "name": "isbuiltin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857728"}}, {"kind": "Variable", "name": "isnative", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430857952"}}, {"kind": "Variable", "name": "isalignedstruct", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858176"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858400"}}, {"kind": "Variable", "name": "kind", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858624"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430858848"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859072"}}, {"kind": "Variable", "name": "num", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859296"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859520"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859744"}}, {"kind": "Variable", "name": "subdtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430859968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new_order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042455610336"}, "name": "newbyteorder"}, {"kind": "Variable", "name": "str", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430860192"}}, {"kind": "Variable", "name": "type", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430860416"}}], "typeVars": [{"nodeId": ".1.140042468653568"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042464134416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}]}, "140042456009296": {"type": "Overloaded", "items": [{"nodeId": "140042745921600"}, {"nodeId": "140042745922048"}, {"nodeId": "140042745922496"}, {"nodeId": "140042745922944"}, {"nodeId": "140042745923392"}, {"nodeId": "140042745923840"}, {"nodeId": "140042745924288"}, {"nodeId": "140042745924736"}, {"nodeId": "140042745925184"}, {"nodeId": "140042745925632"}, {"nodeId": "140042745926080"}, {"nodeId": "140042745926528"}, {"nodeId": "140042745926976"}, {"nodeId": "140042745927424"}, {"nodeId": "140042745927872"}, {"nodeId": "140042745928320"}, {"nodeId": "140042745928768"}, {"nodeId": "140042745929216"}, {"nodeId": "140042745929664"}, {"nodeId": "140042745930112"}, {"nodeId": "140042745930560"}, {"nodeId": "140042745931008"}, {"nodeId": "140042745931456"}, {"nodeId": "140042745931904"}, {"nodeId": "140042745932352"}, {"nodeId": "140042745932800"}, {"nodeId": "140042745933248"}, {"nodeId": "140042745933696"}, {"nodeId": "140042745934144"}, {"nodeId": "140042745934592"}, {"nodeId": "140042745935040"}, {"nodeId": "140042745935488"}, {"nodeId": "140042745935936"}, {"nodeId": "140042745936384"}, {"nodeId": "140042745936832"}, {"nodeId": "140042745937280"}, {"nodeId": "140042762010688"}, {"nodeId": "140042762011136"}, {"nodeId": "140042762011584"}, {"nodeId": "140042762012032"}, {"nodeId": "140042762012480"}, {"nodeId": "140042762012928"}, {"nodeId": "140042762013376"}, {"nodeId": "140042762013824"}, {"nodeId": "140042762014272"}, {"nodeId": "140042762014720"}, {"nodeId": "140042762015168"}, {"nodeId": "140042762015616"}, {"nodeId": "140042762016064"}, {"nodeId": "140042762016512"}, {"nodeId": "140042762016960"}]}, "140042745921600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, ".1.140042468653568": {"type": "TypeVar", "varName": "_DTypeScalar_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042468653568", "variance": "COVARIANT"}, "140042472914080": {"type": "Concrete", "module": "numpy", "simpleName": "generic", "members": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042426513920"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451839440"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426514592"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598112"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598336"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598560"}}, {"kind": "Variable", "name": "strides", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426598784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737412672"}, "name": "byteswap"}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599008"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451841120"}, "items": [{"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "astype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "astype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451842128"}, "items": [{"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "view", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "view"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451844368"}, "items": [{"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getfield", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "getfield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042737416704"}, "name": "item"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451844480"}, "items": [{"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "take", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "take"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704000"}, "name": "repeat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704448"}, "name": "flatten"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451704672"}, "name": "ravel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451913072"}, "items": [{"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "reshape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732309184"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732309632"}, "name": "transpose"}, {"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599232"}}], "typeVars": [], "bases": [{"nodeId": "140042472912400"}], "isAbstract": true}, "140042426513920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042451839440": {"type": "Overloaded", "items": [{"nodeId": "140042451702880"}, {"nodeId": "140042737409984"}]}, "140042451702880": {"type": "Function", "typeVars": [".-1.140042451702880"], "argTypes": [{"nodeId": ".-1.140042451702880"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451702880"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042451702880": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451702880", "variance": "INVARIANT"}, "140042737409984": {"type": "Function", "typeVars": [".-1.140042737409984"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": ".-1.140042737409984"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042737409984"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042737409984": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042737409984", "variance": "INVARIANT"}, "140042426514592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426598560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "140042451842800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451842800": {"type": "Tuple", "items": []}, "140042426598784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}], "returnType": {"nodeId": "140042451843024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451843024": {"type": "Tuple", "items": []}, "140042737412672": {"type": "Function", "typeVars": [".-1.140042737412672"], "argTypes": [{"nodeId": ".-1.140042737412672"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737412672"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "inplace"]}, ".-1.140042737412672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737412672", "variance": "INVARIANT"}, "140042426599008": {"type": "Function", "typeVars": [".-1.140042426599008"], "argTypes": [{"nodeId": ".-1.140042426599008"}], "returnType": {"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042426599008"}]}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599008": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426599008", "variance": "INVARIANT"}, "140042468653904": {"type": "Concrete", "module": "numpy", "simpleName": "flatiter", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "base", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430872512"}}, {"kind": "Variable", "name": "coords", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430872288"}}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430873184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808064"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808512"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757808960"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757809408"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022624"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757810752"}, "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456022848"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}], "typeVars": [{"nodeId": ".1.140042468653904"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042430872512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468653904": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042468653904", "variance": "INVARIANT"}, "140042430872288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042456273344"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456273344": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430873184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757808064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757808512": {"type": "Function", "typeVars": [".-1.140042757808512"], "argTypes": [{"nodeId": ".-1.140042757808512"}], "returnType": {"nodeId": ".-1.140042757808512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042757808512": {"type": "TypeVar", "varName": "_FlatIterSelf", "values": [], "upperBound": {"nodeId": "140042468653904", "args": [{"nodeId": "A"}]}, "def": "140042757808512", "variance": "INVARIANT"}, "140042757808960": {"type": "Function", "typeVars": [".-1.140042757808960"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042757808960"}]}]}]}], "returnType": {"nodeId": ".-1.140042757808960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042757808960": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042757808960", "variance": "INVARIANT"}, "140042757809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456022624": {"type": "Overloaded", "items": [{"nodeId": "140042757809856"}, {"nodeId": "140042757810304"}]}, "140042757809856": {"type": "Function", "typeVars": [".-1.140042757809856"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042757809856"}]}]}]}, {"nodeId": "140042456273456"}], "returnType": {"nodeId": ".-1.140042757809856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042757809856": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042757809856", "variance": "INVARIANT"}, "140042456273456": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, {"nodeId": "140042456273232"}]}, "140042468230528": {"type": "Concrete", "module": "numpy", "simpleName": "integer", "members": [{"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426605280"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426612896"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451916992"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732508480"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732508928"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732509376"}, "name": "is_integer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732509824"}, "name": "bit_count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732510272"}, "name": "__index__"}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042468230528"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042468230528"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732510720"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732511168"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732511616"}, "name": "__invert__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512064"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512512"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732512960"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732513408"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732513856"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732514304"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732514752"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732515200"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732515648"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516096"}, "name": "__rxor__"}], "typeVars": [{"nodeId": ".1.140042468230528"}], "bases": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042468230528"}]}], "isAbstract": true}, "140042426605280": {"type": "Function", "typeVars": [".-1.140042426605280"], "argTypes": [{"nodeId": ".-1.140042426605280"}], "returnType": {"nodeId": ".-1.140042426605280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426605280": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426605280", "variance": "INVARIANT"}, "140042426612896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468230528": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468230528", "variance": "INVARIANT"}, "140042472659584": {"type": "Concrete", "module": "numpy._typing", "simpleName": "NBitBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674194912"}, "name": "__init_subclass__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042674194912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042451916992": {"type": "Overloaded", "items": [{"nodeId": "140042732507584"}, {"nodeId": "140042732508032"}]}, "140042732507584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "ndigits"]}, "140042732508032": {"type": "Function", "typeVars": [".-1.140042732508032"], "argTypes": [{"nodeId": ".-1.140042732508032"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042732508032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ndigits"]}, ".-1.140042732508032": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732508032", "variance": "INVARIANT"}, "140042577727152": {"type": "Protocol", "module": "typing", "simpleName": "SupportsIndex", "members": [{"kind": "Variable", "name": "__index__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548194976"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__index__"]}, "140042548194976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732508480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451920016": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451919568"}, {"nodeId": "140042451919904"}]}, "140042451919568": {"type": "Tuple", "items": []}, "140042451919904": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732508928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732509376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732509824": {"type": "Function", "typeVars": [".-1.140042732509824"], "argTypes": [{"nodeId": ".-1.140042732509824"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042732509824": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732509824", "variance": "INVARIANT"}, "140042732510272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472905344": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_IntTrueDiv", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455841840"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905344"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455841840": {"type": "Overloaded", "items": [{"nodeId": "140042716059616"}, {"nodeId": "140042716060064"}, {"nodeId": "140042716060512"}, {"nodeId": "140042716060960"}, {"nodeId": "140042716061408"}]}, "140042716059616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472905344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905344": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472905344", "variance": "INVARIANT"}, "140042468232208": {"type": "Concrete", "module": "numpy", "simpleName": "floating", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675456"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732675904"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732676352"}, "name": "is_integer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712064"}, "name": "hex"}, {"kind": "Variable", "name": "fromhex", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042427077728"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732677696"}, "name": "as_integer_ratio"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451711840"}, "name": "__ceil__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712736"}, "name": "__floor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451712960"}, "name": "__trunc__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713184"}, "name": "__getnewargs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typestr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713408"}, "name": "__getformat__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451918896"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042468232208"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042468232208"}]}}], "typeVars": [{"nodeId": ".1.140042468232208"}], "bases": [{"nodeId": "140042468231872", "args": [{"nodeId": ".1.140042468232208"}]}], "isAbstract": false}, "140042732675008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "140042451925728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468232208": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232208", "variance": "INVARIANT"}, "140042451925728": {"type": "TypeAlias", "target": {"nodeId": "140042468147712"}}, "140042468147712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042473110688"}, {"nodeId": "140042577726144"}, {"nodeId": "140042577727152"}]}, "140042473110688": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042472737472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}]}, "140042732675456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "140042451926512"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451926512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451926064"}, {"nodeId": "140042451926400"}]}, "140042451926064": {"type": "Tuple", "items": []}, "140042451926400": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732675904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732676352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451712064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451926624"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451926624": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042472661264": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_64Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660928"}], "isAbstract": false}, "140042472660928": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_80Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660592"}], "isAbstract": false}, "140042472660592": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_96Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472660256"}], "isAbstract": false}, "140042472660256": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_128Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472659920"}], "isAbstract": false}, "140042472659920": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_256Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472659584"}], "isAbstract": false}, "140042427077728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042451926736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451926736": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042732677696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}], "returnType": {"nodeId": "140042452041792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452041792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042451711840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452041904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452041904": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451712736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042016": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451712960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042128"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042128": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042451713184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042240"}], "returnType": {"nodeId": "140042452042464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452042240": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042452042464": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}]}, "140042451713408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452042576"}, {"nodeId": "140042452042912"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452042576": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042452042912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451918896": {"type": "Overloaded", "items": [{"nodeId": "140042732680384"}, {"nodeId": "140042732680832"}]}, "140042732680384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232208"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "ndigits"]}, "140042732680832": {"type": "Function", "typeVars": [".-1.140042732680832"], "argTypes": [{"nodeId": ".-1.140042732680832"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042732680832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ndigits"]}, ".-1.140042732680832": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732680832", "variance": "INVARIANT"}, "140042472908368": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455921744"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908368"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455921744": {"type": "Overloaded", "items": [{"nodeId": "140042716470112"}, {"nodeId": "140042716470560"}, {"nodeId": "140042716471008"}, {"nodeId": "140042716471456"}, {"nodeId": "140042716471904"}]}, "140042716470112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472908368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908368": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908368", "variance": "INVARIANT"}, "140042716470560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455922416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455922416": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922304"}]}, "140042455922304": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455922640"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455922640": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922528"}]}, "140042455922528": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455922864"}, {"nodeId": "140042455923088"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468232544": {"type": "Concrete", "module": "numpy", "simpleName": "complexfloating", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732681280"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732681728"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732682176"}, "name": "tolist"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042427084224"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042427085120"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732831232"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042451713632"}, "name": "__getnewargs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042468232544"}]}}], "typeVars": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}], "bases": [{"nodeId": "140042468231872", "args": [{"nodeId": ".1.140042468232544"}]}], "isAbstract": false}, "140042732681280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}, {"nodeId": "140042452043136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468232544": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232544", "variance": "INVARIANT"}, ".2.140042468232544": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468232544", "variance": "INVARIANT"}, "140042452043136": {"type": "TypeAlias", "target": {"nodeId": "140042468147936"}}, "140042468147936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042473110800"}, {"nodeId": "140042577726144"}, {"nodeId": "140042577726480"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577366368"}]}, "140042473110800": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042732681728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}, {"nodeId": "140042452043920"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452043920": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452043472"}, {"nodeId": "140042452043808"}]}, "140042452043472": {"type": "Tuple", "items": []}, "140042452043808": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732682176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042427084224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042427085120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".2.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732831232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042468232544"}, {"nodeId": ".2.140042468232544"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042468232544"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451713632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042452044032"}], "returnType": {"nodeId": "140042452044256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452044032": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042452044256": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042472909376": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_ComplexOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455923424"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472909376"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455923424": {"type": "Overloaded", "items": [{"nodeId": "140042716475936"}, {"nodeId": "140042716476384"}, {"nodeId": "140042716476832"}, {"nodeId": "140042716477280"}]}, "140042716475936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".1.140042472909376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472909376": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472909376", "variance": "INVARIANT"}, "140042716476384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456007728"}, {"nodeId": "140042456007952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456007728": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456007616"}]}, "140042456007616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042456007952": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456007840"}]}, "140042456007840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716476832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456008176"}, {"nodeId": "140042456008400"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008176": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456008064"}]}, "140042456008064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042456008400": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": "140042456008288"}]}, "140042456008288": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716477280": {"type": "Function", "typeVars": [".-1.140042716477280"], "argTypes": [{"nodeId": "140042472909376", "args": [{"nodeId": ".1.140042472909376"}]}, {"nodeId": "140042456008512"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042456008624"}, {"nodeId": "140042456008736"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008512": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716477280"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716477280"}]}, {"nodeId": "140042468232544", "args": [{"nodeId": ".-1.140042716477280"}, {"nodeId": ".-1.140042716477280"}]}]}, ".-1.140042716477280": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716477280", "variance": "INVARIANT"}, "140042456008624": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".-1.140042716477280"}]}, "140042456008736": {"type": "Union", "items": [{"nodeId": ".1.140042472909376"}, {"nodeId": ".-1.140042716477280"}]}, "140042468231872": {"type": "Concrete", "module": "numpy", "simpleName": "inexact", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732674560"}, "name": "__getnewargs__"}], "typeVars": [{"nodeId": ".1.140042468231872"}], "bases": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042468231872"}]}], "isAbstract": true}, "140042732674560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231872", "args": [{"nodeId": "140042472661264"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577366032"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468231872": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468231872", "variance": "INVARIANT"}, "140042472914416": {"type": "Concrete", "module": "numpy", "simpleName": "number", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426599904"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426600128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732311424"}, "name": "__class_getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732311872"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732312320"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732312768"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732313216"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732313664"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732314112"}, "name": "__abs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472909712"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464144720"}, {"nodeId": "140042464143824"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464140688"}, {"nodeId": "140042464144272"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042463983680"}, {"nodeId": "140042463979872"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042463976512"}, {"nodeId": "140042463983568"}]}}], "typeVars": [{"nodeId": ".1.140042472914416"}], "bases": [{"nodeId": "140042472914080"}], "isAbstract": true}, "140042426599904": {"type": "Function", "typeVars": [".-1.140042426599904"], "argTypes": [{"nodeId": ".-1.140042426599904"}], "returnType": {"nodeId": ".-1.140042426599904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599904": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426599904", "variance": "INVARIANT"}, "140042472912400": {"type": "Concrete", "module": "numpy", "simpleName": "_ArrayOrScalarCommon", "members": [{"kind": "Variable", "name": "T", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430923488"}}, {"kind": "Variable", "name": "data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430923936"}}, {"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924160"}}, {"kind": "Variable", "name": "itemsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924384"}}, {"kind": "Variable", "name": "nbytes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924608"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757814336"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757814784"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757815232"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042757815680"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758029376"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758029824"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758030272"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758030720"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042455611232"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758031616"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032064"}, "name": "dumps"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032512"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758032960"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758033408"}, "name": "tolist"}, {"kind": "Variable", "name": "__array_interface__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430924832"}}, {"kind": "Variable", "name": "__array_priority__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430926400"}}, {"kind": "Variable", "name": "__array_struct__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430926624"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758035200"}, "name": "__setstate__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456272560"}, "items": [{"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "all"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456276704"}, "items": [{"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "any"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456278608"}, "items": [{"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmax"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456279728"}, "items": [{"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmin"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758041024"}, "name": "argsort"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456277488"}, "items": [{"kind": "Variable", "name": "choose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choose"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456281632"}, "items": [{"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "clip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "clip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456282304"}, "items": [{"kind": "Variable", "name": "compress", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "compress"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042758045056"}, "name": "conj"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740826176"}, "name": "conjugate"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456283872"}, "items": [{"kind": "Variable", "name": "cumprod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cumprod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "cumprod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456284544"}, "items": [{"kind": "Variable", "name": "cumsum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cumsum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "cumsum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042473101952"}, "items": [{"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "max"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456399936"}, "items": [{"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mean"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456401840"}, "items": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "min"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new_order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042456384896"}, "name": "newbyteorder"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456403632"}, "items": [{"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "prod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456404976"}, "items": [{"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ptp"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456406320"}, "items": [{"kind": "Variable", "name": "round", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "round", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "round"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456405424"}, "items": [{"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "std"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456405312"}, "items": [{"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042456408112"}, "items": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "var"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042430923488": {"type": "Function", "typeVars": [".-1.140042430923488"], "argTypes": [{"nodeId": ".-1.140042430923488"}], "returnType": {"nodeId": ".-1.140042430923488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042430923488": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042430923488", "variance": "INVARIANT"}, "140042430923936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042472901648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472901648": {"type": "Concrete", "module": "numpy.core.multiarray", "simpleName": "flagsobj", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "writeable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "writebackifcopy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "behaved", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434736672"}}, {"kind": "Variable", "name": "c_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434736224"}}, {"kind": "Variable", "name": "carray", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434734656"}}, {"kind": "Variable", "name": "contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434735104"}}, {"kind": "Variable", "name": "f_contiguous", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434674048"}}, {"kind": "Variable", "name": "farray", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434673152"}}, {"kind": "Variable", "name": "fnc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434673376"}}, {"kind": "Variable", "name": "forc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434672928"}}, {"kind": "Variable", "name": "fortran", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434752384"}}, {"kind": "Variable", "name": "num", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434753280"}}, {"kind": "Variable", "name": "owndata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042434752832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042687096960"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042687097408"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042434736672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434736224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434734656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434735104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434674048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434673152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434673376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434672928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042434752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042687096960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}, {"nodeId": "140042460680640"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042460680640": {"type": "TypeAlias", "target": {"nodeId": "140042473095344"}}, "140042473095344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042687097408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901648"}, {"nodeId": "140042460683216"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042460683216": {"type": "TypeAlias", "target": {"nodeId": "140042472976816"}}, "140042472976816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042430924384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757814336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757814784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042757815232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042757815680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042758029376": {"type": "Function", "typeVars": [".-1.140042758029376"], "argTypes": [{"nodeId": ".-1.140042758029376"}], "returnType": {"nodeId": ".-1.140042758029376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042758029376": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758029376", "variance": "INVARIANT"}, "140042758029824": {"type": "Function", "typeVars": [".-1.140042758029824"], "argTypes": [{"nodeId": ".-1.140042758029824"}, {"nodeId": "140042456275584"}], "returnType": {"nodeId": ".-1.140042758029824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042758029824": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758029824", "variance": "INVARIANT"}, "140042456275584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}]}, "140042758030272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042758030720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455611232": {"type": "Function", "typeVars": [".-1.140042455611232"], "argTypes": [{"nodeId": ".-1.140042455611232"}, {"nodeId": "140042456276144"}], "returnType": {"nodeId": ".-1.140042455611232"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042455611232": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042455611232", "variance": "INVARIANT"}, "140042456276144": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042473107104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042758031616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456275024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "file"]}, "140042456275024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472912064", "args": [{"nodeId": "140042577732864"}]}]}, "140042569346944": {"type": "Protocol", "module": "os", "simpleName": "PathLike", "members": [{"kind": "Variable", "name": "__fspath__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531385664"}}], "typeVars": [{"nodeId": ".1.140042569346944"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__fspath__"]}, "140042531385664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569346944", "args": [{"nodeId": ".1.140042569346944"}]}], "returnType": {"nodeId": ".1.140042569346944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569346944": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569346944", "variance": "COVARIANT"}, "140042472912064": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766793664"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472912064"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042766793664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912064", "args": [{"nodeId": ".1.140042472912064"}]}, {"nodeId": ".1.140042472912064"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472912064": {"type": "TypeVar", "varName": "_AnyStr_contra", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472912064", "variance": "CONTRAVARIANT"}, "140042758032064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042758032512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456276256"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456276256": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042758032960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456276816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "sep", "format"]}, "140042456276816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911392"}]}, "140042472911392": {"type": "Protocol", "module": "numpy", "simpleName": "_IOProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766789184"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766789632"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790080"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790528"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno", "flush", "seek", "tell"]}, "140042766789184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766789632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766790080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}], "returnType": {"nodeId": "140042577727152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766790528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911392"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042758033408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430924832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430926400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430926624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042758035200": {"type": "Function", "typeVars": [".-1.140042758035200"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456277376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456277376": {"type": "Tuple", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042456276928"}, {"nodeId": ".-1.140042758035200"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456277152"}]}, "140042456276928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494215216": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577727152"}]}]}, ".-1.140042758035200": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042758035200", "variance": "COVARIANT"}, "140042456277152": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}]}, "140042456272560": {"type": "Overloaded", "items": [{"nodeId": "140042758035648"}, {"nodeId": "140042758036096"}, {"nodeId": "140042758036544"}]}, "140042758035648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042456277712"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456277712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468229184": {"type": "Concrete", "module": "numpy", "simpleName": "bool_", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732314560"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732315008"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732315456"}, "name": "tolist"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426601248"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426602144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732316800"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732317248"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732317696"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732318144"}, "name": "__abs__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903664"}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903664"}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464145616"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464145504"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464146064"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472902992", "args": [{"nodeId": "140042464144608"}]}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904000"}}, {"kind": "Variable", "name": "__rtruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732318592"}, "name": "__invert__"}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464145952"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146176"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146288"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042464146400"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472903328", "args": [{"nodeId": "140042468229184"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904336"}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904336"}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904672"}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472904672"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344464"}, {"nodeId": "140042464344240"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344688"}, {"nodeId": "140042464344128"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464344912"}, {"nodeId": "140042464344352"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345136"}, {"nodeId": "140042464344576"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732314560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732315008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}, {"nodeId": "140042451916880"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451916880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451916432"}, {"nodeId": "140042451916768"}]}, "140042451916432": {"type": "Tuple", "items": []}, "140042451916768": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426601248": {"type": "Function", "typeVars": [".-1.140042426601248"], "argTypes": [{"nodeId": ".-1.140042426601248"}], "returnType": {"nodeId": ".-1.140042426601248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426601248": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426601248", "variance": "INVARIANT"}, "140042426602144": {"type": "Function", "typeVars": [".-1.140042426602144"], "argTypes": [{"nodeId": ".-1.140042426602144"}], "returnType": {"nodeId": ".-1.140042426602144"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426602144": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426602144", "variance": "INVARIANT"}, "140042732316800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732317248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732317696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732318144": {"type": "Function", "typeVars": [".-1.140042732318144"], "argTypes": [{"nodeId": ".-1.140042732318144"}], "returnType": {"nodeId": ".-1.140042732318144"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732318144": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732318144", "variance": "INVARIANT"}, "140042472902992": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455838928"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472902992"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455838928": {"type": "Overloaded", "items": [{"nodeId": "140042716341280"}, {"nodeId": "140042716341728"}, {"nodeId": "140042716342176"}, {"nodeId": "140042716342624"}, {"nodeId": "140042716343072"}]}, "140042716341280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042455839376"}], "returnType": {"nodeId": ".1.140042472902992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472902992": {"type": "TypeVar", "varName": "_GenericType_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042472902992", "variance": "COVARIANT"}, "140042455839376": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042469020544": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468229184"}]}, "140042716341728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840048": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468230864": {"type": "Concrete", "module": "numpy", "simpleName": "signedinteger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516544"}, "name": "__init__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042468230864"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042468230864"}]}}], "typeVars": [{"nodeId": ".1.140042468230864"}], "bases": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230864"}]}], "isAbstract": false}, "140042732516544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042468230864"}]}, {"nodeId": "140042451922928"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468230864": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468230864", "variance": "INVARIANT"}, "140042451922928": {"type": "TypeAlias", "target": {"nodeId": "140042473110912"}}, "140042473110912": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042473111136"}, {"nodeId": "140042577727152"}]}, "140042473111136": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042472907024": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455916816"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907024"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455916816": {"type": "Overloaded", "items": [{"nodeId": "140042716069472"}, {"nodeId": "140042716463392"}, {"nodeId": "140042716463840"}, {"nodeId": "140042716464288"}, {"nodeId": "140042716464736"}]}, "140042716069472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907024"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907024": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907024", "variance": "INVARIANT"}, "140042716463392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455917488"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917488": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917376"}]}, "140042455917376": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716463840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455917712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917712": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917600"}]}, "140042455917600": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716464288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455917936"}, {"nodeId": "140042455918160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455917936": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455917824"}]}, "140042455917824": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455918160": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": "140042455918048"}]}, "140042455918048": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716464736": {"type": "Function", "typeVars": [".-1.140042716464736"], "argTypes": [{"nodeId": "140042472907024", "args": [{"nodeId": ".1.140042472907024"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716464736"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455918272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716464736": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716464736", "variance": "INVARIANT"}, "140042455918272": {"type": "Union", "items": [{"nodeId": ".1.140042472907024"}, {"nodeId": ".-1.140042716464736"}]}, "140042472907360": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464032496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907360"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464032496": {"type": "Overloaded", "items": [{"nodeId": "140042716465184"}, {"nodeId": "140042716465632"}, {"nodeId": "140042716466080"}]}, "140042716465184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907360"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907360": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907360", "variance": "INVARIANT"}, "140042716465632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919056"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919056": {"type": "Union", "items": [{"nodeId": ".1.140042472907360"}, {"nodeId": "140042455918944"}]}, "140042455918944": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716466080": {"type": "Function", "typeVars": [".-1.140042716466080"], "argTypes": [{"nodeId": "140042472907360", "args": [{"nodeId": ".1.140042472907360"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716466080"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919392"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716466080": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716466080", "variance": "INVARIANT"}, "140042455919392": {"type": "Union", "items": [{"nodeId": ".1.140042472907360"}, {"nodeId": ".-1.140042716466080"}]}, "140042472907696": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455919168"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472907696"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455919168": {"type": "Overloaded", "items": [{"nodeId": "140042716466528"}, {"nodeId": "140042716466976"}, {"nodeId": "140042716467424"}, {"nodeId": "140042716467872"}]}, "140042716466528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": ".1.140042472907696"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472907696": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472907696", "variance": "INVARIANT"}, "140042716466976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455919728"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919728": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": "140042455919616"}]}, "140042455919616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716467424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455919952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455919952": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": "140042455919840"}]}, "140042455919840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716467872": {"type": "Function", "typeVars": [".-1.140042716467872"], "argTypes": [{"nodeId": "140042472907696", "args": [{"nodeId": ".1.140042472907696"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716467872"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "140042455920064"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716467872": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716467872", "variance": "INVARIANT"}, "140042455920064": {"type": "Union", "items": [{"nodeId": ".1.140042472907696"}, {"nodeId": ".-1.140042716467872"}]}, "140042472908032": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SignedIntDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042473101840"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908032"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042473101840": {"type": "Overloaded", "items": [{"nodeId": "140042716468320"}, {"nodeId": "140042716468768"}, {"nodeId": "140042716469216"}, {"nodeId": "140042716469664"}]}, "140042716468320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908032": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908032", "variance": "INVARIANT"}, "140042716468768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716469216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716469664": {"type": "Function", "typeVars": [".-1.140042716469664"], "argTypes": [{"nodeId": "140042472908032", "args": [{"nodeId": ".1.140042472908032"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": ".-1.140042716469664"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716469664": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716469664", "variance": "INVARIANT"}, "140042468148608": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716342176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455840272"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840272": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716342624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455840384"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840384": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716343072": {"type": "Function", "typeVars": [".-1.140042716343072"], "argTypes": [{"nodeId": "140042472902992", "args": [{"nodeId": ".1.140042472902992"}]}, {"nodeId": ".-1.140042716343072"}], "returnType": {"nodeId": ".-1.140042716343072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716343072": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716343072", "variance": "INVARIANT"}, "140042472903664": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolSub", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455838480"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455838480": {"type": "Overloaded", "items": [{"nodeId": "140042716344864"}, {"nodeId": "140042716345312"}, {"nodeId": "140042716345760"}, {"nodeId": "140042716346208"}, {"nodeId": "140042716346656"}]}, "140042716344864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716345312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716345760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455841056"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841056": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716346208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455841168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841168": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716346656": {"type": "Function", "typeVars": [".-1.140042716346656"], "argTypes": [{"nodeId": "140042472903664"}, {"nodeId": ".-1.140042716346656"}], "returnType": {"nodeId": ".-1.140042716346656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716346656": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716346656", "variance": "INVARIANT"}, "140042464145616": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472662272": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_8Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661936"}], "isAbstract": false}, "140042472661936": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_16Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661600"}], "isAbstract": false}, "140042472661600": {"type": "Concrete", "module": "numpy._typing", "simpleName": "_32Bit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472661264"}], "isAbstract": false}, "140042464145504": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146064": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464144608": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472904000": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolTrueDiv", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455839824"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455839824": {"type": "Overloaded", "items": [{"nodeId": "140042716347104"}, {"nodeId": "140042716347552"}, {"nodeId": "140042716348000"}]}, "140042716347104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": "140042455841504"}], "returnType": {"nodeId": "140042455841616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841504": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042455841392"}]}, "140042455841392": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042469021328": {"type": "Union", "items": [{"nodeId": "140042469021104"}, {"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042469021104": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042455841616": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716347552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042455841728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841728": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042716348000": {"type": "Function", "typeVars": [".-1.140042716348000"], "argTypes": [{"nodeId": "140042472904000"}, {"nodeId": ".-1.140042716348000"}], "returnType": {"nodeId": ".-1.140042716348000"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716348000": {"type": "TypeVar", "varName": "_NumberType", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042716348000", "variance": "INVARIANT"}, "140042732318592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229184"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472903328": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455839264"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472903328"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455839264": {"type": "Overloaded", "items": [{"nodeId": "140042716343520"}, {"nodeId": "140042716343968"}, {"nodeId": "140042716344416"}]}, "140042716343520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": "140042455840608"}], "returnType": {"nodeId": ".1.140042472903328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472903328": {"type": "TypeVar", "varName": "_GenericType_co", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042472903328", "variance": "COVARIANT"}, "140042455840608": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716343968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455840720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455840720": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716344416": {"type": "Function", "typeVars": [".-1.140042716344416"], "argTypes": [{"nodeId": "140042472903328", "args": [{"nodeId": ".1.140042472903328"}]}, {"nodeId": ".-1.140042716344416"}], "returnType": {"nodeId": ".-1.140042716344416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716344416": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716344416", "variance": "INVARIANT"}, "140042464145952": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146176": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146288": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042464146400": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042472904336": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455840496"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455840496": {"type": "Overloaded", "items": [{"nodeId": "140042716053792"}, {"nodeId": "140042716054240"}, {"nodeId": "140042716054688"}, {"nodeId": "140042716055136"}, {"nodeId": "140042716055584"}]}, "140042716053792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042455841952"}], "returnType": {"nodeId": "140042455842064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455841952": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042455842064": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042716054240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042455842176"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842176": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042716054688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042455842288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842288": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042716055136": {"type": "Function", "typeVars": [".-1.140042716055136"], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": ".-1.140042716055136"}], "returnType": {"nodeId": ".-1.140042716055136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716055136": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716055136", "variance": "INVARIANT"}, "140042716055584": {"type": "Function", "typeVars": [".-1.140042716055584"], "argTypes": [{"nodeId": "140042472904336"}, {"nodeId": ".-1.140042716055584"}], "returnType": {"nodeId": ".-1.140042716055584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716055584": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042716055584", "variance": "INVARIANT"}, "140042472904672": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_BoolDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455840832"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455840832": {"type": "Overloaded", "items": [{"nodeId": "140042716056032"}, {"nodeId": "140042716056480"}, {"nodeId": "140042716056928"}, {"nodeId": "140042716057376"}, {"nodeId": "140042716057824"}]}, "140042716056032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042455842512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455842512": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716056480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716056928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716057376": {"type": "Function", "typeVars": [".-1.140042716057376"], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": ".-1.140042716057376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716057376": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042716057376", "variance": "INVARIANT"}, "140042716057824": {"type": "Function", "typeVars": [".-1.140042716057824"], "argTypes": [{"nodeId": "140042472904672"}, {"nodeId": ".-1.140042716057824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716057824": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042716057824", "variance": "INVARIANT"}, "140042472910720": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_ComparisonOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455924208"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455924208": {"type": "Overloaded", "items": [{"nodeId": "140042716479072"}, {"nodeId": "140042698850592"}, {"nodeId": "140042698851040"}]}, "140042716479072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": ".1.140042472910720"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472910720": {"type": "TypeVar", "varName": "_T1_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472910720", "variance": "CONTRAVARIANT"}, ".2.140042472910720": {"type": "TypeVar", "varName": "_T2_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472910720", "variance": "CONTRAVARIANT"}, "140042698850592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": ".2.140042472910720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042698851040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910720", "args": [{"nodeId": ".1.140042472910720"}, {"nodeId": ".2.140042472910720"}]}, {"nodeId": "140042456009632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456009632": {"type": "Union", "items": [{"nodeId": "140042472910048"}, {"nodeId": "140042472910384"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042456009520"}]}]}, "140042472910048": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SupportsLT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716478176"}, "name": "__lt__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__lt__"]}, "140042716478176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910048"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472910384": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_SupportsGT", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716478624"}, "name": "__gt__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__gt__"]}, "140042716478624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472910384"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042480719504": {"type": "Protocol", "module": "numpy._typing._nested_sequence", "simpleName": "_NestedSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640889152"}, "name": "__len__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489292256"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640890496"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640890944"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640891392"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640891840"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640892288"}, "name": "index"}], "typeVars": [{"nodeId": ".1.140042480719504"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "__reversed__", "count", "index"]}, "140042640889152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042480719504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042480719504", "variance": "COVARIANT"}, "140042489292256": {"type": "Overloaded", "items": [{"nodeId": "140042640889600"}, {"nodeId": "140042640890048"}]}, "140042640889600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042489292144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489292144": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640890048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640890496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640890944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042489292592"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489292592": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640891392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042489292704"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489292704": {"type": "Union", "items": [{"nodeId": ".1.140042480719504"}, {"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}]}, "140042640891840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640892288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719504", "args": [{"nodeId": ".1.140042480719504"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456009520": {"type": "Union", "items": [{"nodeId": "140042472910048"}, {"nodeId": "140042472910384"}]}, "140042464344464": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042469022448": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}, {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, {"nodeId": "140042468229184"}]}, "140042464344240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464344688": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464344912": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345136": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464344576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758036096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456277936"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456278048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456277936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456277824"}]}, "140042456277824": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456278048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758036544": {"type": "Function", "typeVars": [".-1.140042758036544"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456278384"}, {"nodeId": ".-1.140042758036544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456278496"}], "returnType": {"nodeId": ".-1.140042758036544"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456278384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456278272"}]}, "140042456278272": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042758036544": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758036544", "variance": "INVARIANT"}, "140042456278496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456276704": {"type": "Overloaded", "items": [{"nodeId": "140042758036992"}, {"nodeId": "140042758037440"}, {"nodeId": "140042758037888"}]}, "140042758036992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042456278832"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456278832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758037440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456279056"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456279168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456279056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456278944"}]}, "140042456278944": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456279168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758037888": {"type": "Function", "typeVars": [".-1.140042758037888"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456279504"}, {"nodeId": ".-1.140042758037888"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456279616"}], "returnType": {"nodeId": ".-1.140042758037888"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims", "where"]}, "140042456279504": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456279392"}]}, "140042456279392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042758037888": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758037888", "variance": "INVARIANT"}, "140042456279616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456278608": {"type": "Overloaded", "items": [{"nodeId": "140042758038336"}, {"nodeId": "140042758038784"}, {"nodeId": "140042758039232"}]}, "140042758038336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042456279952"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456279952": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042468148496": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042758038784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042758039232": {"type": "Function", "typeVars": [".-1.140042758039232"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280176"}, {"nodeId": ".-1.140042758039232"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042758039232"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280176": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758039232": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758039232", "variance": "INVARIANT"}, "140042456279728": {"type": "Overloaded", "items": [{"nodeId": "140042758039680"}, {"nodeId": "140042758040128"}, {"nodeId": "140042758040576"}]}, "140042758039680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042456280512"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280512": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042758040128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042758040576": {"type": "Function", "typeVars": [".-1.140042758040576"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280736"}, {"nodeId": ".-1.140042758040576"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042758040576"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456280736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758040576": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758040576", "variance": "INVARIANT"}, "140042758041024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280848"}, {"nodeId": "140042456281072"}, {"nodeId": "140042456281184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order"]}, "140042456280848": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456281072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456280960"}]}, "140042456280960": {"type": "TypeAlias", "target": {"nodeId": "140042473109792"}}, "140042473109792": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456281184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456277488": {"type": "Overloaded", "items": [{"nodeId": "140042758041472"}, {"nodeId": "140042758041920"}]}, "140042758041472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456280288"}, {"nodeId": "N"}, {"nodeId": "140042456281408"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "choices", "out", "mode"]}, "140042456280288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456281408": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042473109008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042758041920": {"type": "Function", "typeVars": [".-1.140042758041920"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456281744"}, {"nodeId": ".-1.140042758041920"}, {"nodeId": "140042456282080"}], "returnType": {"nodeId": ".-1.140042758041920"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "choices", "out", "mode"]}, "140042456281744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758041920": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758041920", "variance": "INVARIANT"}, "140042456282080": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042456281632": {"type": "Overloaded", "items": [{"nodeId": "140042758042368"}, {"nodeId": "140042758042816"}, {"nodeId": "140042758043264"}, {"nodeId": "140042758043712"}]}, "140042758042368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456281856"}, {"nodeId": "140042456282416"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456281856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456282416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456281968"}]}, "140042456281968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758042816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "140042456282864"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456282864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042758043264": {"type": "Function", "typeVars": [".-1.140042758043264"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456283200"}, {"nodeId": "140042456283312"}, {"nodeId": ".-1.140042758043264"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042758043264"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456283200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456282752"}]}, "140042456282752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758043264": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758043264", "variance": "INVARIANT"}, "140042758043712": {"type": "Function", "typeVars": [".-1.140042758043712"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "N"}, {"nodeId": "140042456283088"}, {"nodeId": ".-1.140042758043712"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042758043712"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "min", "max", "out", "kwargs"]}, "140042456283088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042758043712": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758043712", "variance": "INVARIANT"}, "140042456282304": {"type": "Overloaded", "items": [{"nodeId": "140042758044160"}, {"nodeId": "140042758044608"}]}, "140042758044160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456283760"}, {"nodeId": "140042456283984"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "axis", "out"]}, "140042456283760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042758044608": {"type": "Function", "typeVars": [".-1.140042758044608"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284320"}, {"nodeId": "140042456283648"}, {"nodeId": ".-1.140042758044608"}], "returnType": {"nodeId": ".-1.140042758044608"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "axis", "out"]}, "140042456284320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456283648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042758044608": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042758044608", "variance": "INVARIANT"}, "140042758045056": {"type": "Function", "typeVars": [".-1.140042758045056"], "argTypes": [{"nodeId": ".-1.140042758045056"}], "returnType": {"nodeId": ".-1.140042758045056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042758045056": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042758045056", "variance": "INVARIANT"}, "140042740826176": {"type": "Function", "typeVars": [".-1.140042740826176"], "argTypes": [{"nodeId": ".-1.140042740826176"}], "returnType": {"nodeId": ".-1.140042740826176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042740826176": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042740826176", "variance": "INVARIANT"}, "140042456283872": {"type": "Overloaded", "items": [{"nodeId": "140042740826624"}, {"nodeId": "140042740827072"}]}, "140042740826624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284432"}, {"nodeId": "140042456284656"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456284432": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456284656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042464336736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042472740496"}]}, "140042480729248": {"type": "Protocol", "module": "numpy._typing._dtype_like", "simpleName": "_SupportsDType", "members": [{"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489386080"}}], "typeVars": [{"nodeId": ".1.140042480729248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["dtype"]}, "140042489386080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480729248", "args": [{"nodeId": ".1.140042480729248"}]}], "returnType": {"nodeId": ".1.140042480729248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042480729248": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042480729248", "variance": "COVARIANT"}, "140042472740496": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042472744528": {"type": "Union", "items": [{"nodeId": "140042472743520"}, {"nodeId": "140042472743856"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042472744080"}, {"nodeId": "140042472744416"}]}, "140042472743520": {"type": "Tuple", "items": [{"nodeId": "140042472742064"}, {"nodeId": "140042577365696"}]}, "140042472742064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472743856": {"type": "Tuple", "items": [{"nodeId": "140042472743632"}, {"nodeId": "140042472743744"}]}, "140042472743632": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472743744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042472744080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042472744416": {"type": "Tuple", "items": [{"nodeId": "140042472744192"}, {"nodeId": "140042472744304"}]}, "140042472744192": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042472744304": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042740827072": {"type": "Function", "typeVars": [".-1.140042740827072"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456284880"}, {"nodeId": "140042456284992"}, {"nodeId": ".-1.140042740827072"}], "returnType": {"nodeId": ".-1.140042740827072"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456284880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456284992": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740827072": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740827072", "variance": "INVARIANT"}, "140042456284544": {"type": "Overloaded", "items": [{"nodeId": "140042740827520"}, {"nodeId": "140042740827968"}]}, "140042740827520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400720"}, {"nodeId": "140042456400384"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456400720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456400384": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042740827968": {"type": "Function", "typeVars": [".-1.140042740827968"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400272"}, {"nodeId": "140042456401168"}, {"nodeId": ".-1.140042740827968"}], "returnType": {"nodeId": ".-1.140042740827968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042456400272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456401168": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740827968": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740827968", "variance": "INVARIANT"}, "140042473101952": {"type": "Overloaded", "items": [{"nodeId": "140042740828416"}, {"nodeId": "140042740828864"}]}, "140042740828416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456400944"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456400160"}, {"nodeId": "140042456400832"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456400944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456401728"}]}, "140042456401728": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456400160": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456400832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740828864": {"type": "Function", "typeVars": [".-1.140042740828864"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456401392"}, {"nodeId": ".-1.140042740828864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456400608"}, {"nodeId": "140042456401280"}], "returnType": {"nodeId": ".-1.140042740828864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456401392": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456401952"}]}, "140042456401952": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740828864": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740828864", "variance": "INVARIANT"}, "140042456400608": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456401280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399936": {"type": "Overloaded", "items": [{"nodeId": "140042740829312"}, {"nodeId": "140042740829760"}]}, "140042740829312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456401616"}, {"nodeId": "140042456402176"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "where"]}, "140042456401616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456400048"}]}, "140042456400048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402176": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456402064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740829760": {"type": "Function", "typeVars": [".-1.140042740829760"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456402400"}, {"nodeId": "140042456402736"}, {"nodeId": ".-1.140042740829760"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456401504"}], "returnType": {"nodeId": ".-1.140042740829760"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "where"]}, "140042456402400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403296"}]}, "140042456403296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402736": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740829760": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740829760", "variance": "INVARIANT"}, "140042456401504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456401840": {"type": "Overloaded", "items": [{"nodeId": "140042740830208"}, {"nodeId": "140042740830656"}]}, "140042740830208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403520"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402512"}, {"nodeId": "140042456402624"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456403520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403184"}]}, "140042456403184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456402512": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456402624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740830656": {"type": "Function", "typeVars": [".-1.140042740830656"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403072"}, {"nodeId": ".-1.140042740830656"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456402848"}, {"nodeId": "140042456403408"}], "returnType": {"nodeId": ".-1.140042740830656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims", "initial", "where"]}, "140042456403072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403744"}]}, "140042456403744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740830656": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740830656", "variance": "INVARIANT"}, "140042456402848": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456403408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456384896": {"type": "Function", "typeVars": [".-1.140042456384896"], "argTypes": [{"nodeId": ".-1.140042456384896"}, {"nodeId": "140042456402960"}], "returnType": {"nodeId": ".-1.140042456384896"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".-1.140042456384896": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456384896", "variance": "INVARIANT"}, "140042456402960": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042473107888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456403632": {"type": "Overloaded", "items": [{"nodeId": "140042740831552"}, {"nodeId": "140042740832000"}]}, "140042740831552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456403968"}, {"nodeId": "140042456404416"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456404304"}, {"nodeId": "140042456404528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456403968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456403856"}]}, "140042456403856": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456404416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456404304": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456404528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740832000": {"type": "Function", "typeVars": [".-1.140042740832000"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456404752"}, {"nodeId": "140042456405200"}, {"nodeId": ".-1.140042740832000"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456404080"}, {"nodeId": "140042456404864"}], "returnType": {"nodeId": ".-1.140042740832000"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456404752": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405760"}]}, "140042456405760": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456405200": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740832000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740832000", "variance": "INVARIANT"}, "140042456404080": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456404864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456404976": {"type": "Overloaded", "items": [{"nodeId": "140042740832448"}, {"nodeId": "140042740832896"}]}, "140042740832448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456405088"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456405088": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456406208"}]}, "140042456406208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042740832896": {"type": "Function", "typeVars": [".-1.140042740832896"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456406768"}, {"nodeId": ".-1.140042740832896"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042740832896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042456406768": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405648"}]}, "140042456405648": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042740832896": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740832896", "variance": "INVARIANT"}, "140042456406320": {"type": "Overloaded", "items": [{"nodeId": "140042740833344"}, {"nodeId": "140042740833792"}]}, "140042740833344": {"type": "Function", "typeVars": [".-1.140042740833344"], "argTypes": [{"nodeId": ".-1.140042740833344"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042740833344"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, ".-1.140042740833344": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042740833344", "variance": "INVARIANT"}, "140042740833792": {"type": "Function", "typeVars": [".-1.140042740833792"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042577727152"}, {"nodeId": ".-1.140042740833792"}], "returnType": {"nodeId": ".-1.140042740833792"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, ".-1.140042740833792": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740833792", "variance": "INVARIANT"}, "140042456405424": {"type": "Overloaded", "items": [{"nodeId": "140042740834240"}, {"nodeId": "140042740834688"}]}, "140042740834240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456405536"}, {"nodeId": "140042456406656"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456406432"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456405536": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456405872"}]}, "140042456405872": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456406656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456406432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740834688": {"type": "Function", "typeVars": [".-1.140042740834688"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456406992"}, {"nodeId": "140042456407216"}, {"nodeId": ".-1.140042740834688"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456406096"}], "returnType": {"nodeId": ".-1.140042740834688"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456406992": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456407776"}]}, "140042456407776": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456407216": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740834688": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740834688", "variance": "INVARIANT"}, "140042456406096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456405312": {"type": "Overloaded", "items": [{"nodeId": "140042740835136"}, {"nodeId": "140042740835584"}]}, "140042740835136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456408000"}, {"nodeId": "140042456406880"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456407104"}, {"nodeId": "140042456408672"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456408000": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456407664"}]}, "140042456407664": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456406880": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456407104": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456408672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740835584": {"type": "Function", "typeVars": [".-1.140042740835584"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456407552"}, {"nodeId": "140042456408560"}, {"nodeId": ".-1.140042740835584"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456407440"}, {"nodeId": "140042456407328"}], "returnType": {"nodeId": ".-1.140042740835584"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042456407552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456409008"}]}, "140042456409008": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456408560": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740835584": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740835584", "variance": "INVARIANT"}, "140042456407440": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042456407328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456408112": {"type": "Overloaded", "items": [{"nodeId": "140042740836032"}, {"nodeId": "140042740836480"}]}, "140042740836032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456407888"}, {"nodeId": "140042456409232"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456408784"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456407888": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456409456"}]}, "140042456409456": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456409232": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456408784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042740836480": {"type": "Function", "typeVars": [".-1.140042740836480"], "argTypes": [{"nodeId": "140042472912400"}, {"nodeId": "140042456408336"}, {"nodeId": "140042456408896"}, {"nodeId": ".-1.140042740836480"}, {"nodeId": "140042577366032"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456408448"}], "returnType": {"nodeId": ".-1.140042740836480"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims", "where"]}, "140042456408336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410128"}]}, "140042456410128": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456408896": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042740836480": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042740836480", "variance": "INVARIANT"}, "140042456408448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042426600128": {"type": "Function", "typeVars": [".-1.140042426600128"], "argTypes": [{"nodeId": ".-1.140042426600128"}], "returnType": {"nodeId": ".-1.140042426600128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426600128": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426600128", "variance": "INVARIANT"}, "140042732311424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042732311872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472914416": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472914416", "variance": "INVARIANT"}, "140042732312320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732312768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914416", "args": [{"nodeId": ".1.140042472914416"}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732313216": {"type": "Function", "typeVars": [".-1.140042732313216"], "argTypes": [{"nodeId": ".-1.140042732313216"}], "returnType": {"nodeId": ".-1.140042732313216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732313216": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732313216", "variance": "INVARIANT"}, "140042732313664": {"type": "Function", "typeVars": [".-1.140042732313664"], "argTypes": [{"nodeId": ".-1.140042732313664"}], "returnType": {"nodeId": ".-1.140042732313664"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732313664": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732313664", "variance": "INVARIANT"}, "140042732314112": {"type": "Function", "typeVars": [".-1.140042732314112"], "argTypes": [{"nodeId": ".-1.140042732314112"}], "returnType": {"nodeId": ".-1.140042732314112"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732314112": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732314112", "variance": "INVARIANT"}, "140042472909712": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_NumberOp", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716477728"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042716477728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909712"}, {"nodeId": "140042456008848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456008848": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464144720": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464143824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464140688": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042464144272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042463983680": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042463979872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042463976512": {"type": "TypeAlias", "target": {"nodeId": "140042469022448"}}, "140042463983568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042455922864": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922752"}]}, "140042455922752": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455923088": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": "140042455922976"}]}, "140042455922976": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716471904": {"type": "Function", "typeVars": [".-1.140042716471904"], "argTypes": [{"nodeId": "140042472908368", "args": [{"nodeId": ".1.140042472908368"}]}, {"nodeId": "140042455923200"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923312"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923200": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716471904"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716471904"}]}]}, ".-1.140042716471904": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716471904", "variance": "INVARIANT"}, "140042455923312": {"type": "Union", "items": [{"nodeId": ".1.140042472908368"}, {"nodeId": ".-1.140042716471904"}]}, "140042472908704": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455921856"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472908704"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455921856": {"type": "Overloaded", "items": [{"nodeId": "140042716472352"}, {"nodeId": "140042716472800"}, {"nodeId": "140042716473248"}, {"nodeId": "140042716473696"}]}, "140042716472352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": ".1.140042472908704"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472908704": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472908704", "variance": "INVARIANT"}, "140042716472800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923648": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": "140042455923536"}]}, "140042455923536": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716473248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455923872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923872": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": "140042455923760"}]}, "140042455923760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716473696": {"type": "Function", "typeVars": [".-1.140042716473696"], "argTypes": [{"nodeId": "140042472908704", "args": [{"nodeId": ".1.140042472908704"}]}, {"nodeId": "140042455923984"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455924096"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455923984": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716473696"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716473696"}]}]}, ".-1.140042716473696": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716473696", "variance": "INVARIANT"}, "140042455924096": {"type": "Union", "items": [{"nodeId": ".1.140042472908704"}, {"nodeId": ".-1.140042716473696"}]}, "140042472909040": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_FloatDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455922192"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472909040"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455922192": {"type": "Overloaded", "items": [{"nodeId": "140042716474144"}, {"nodeId": "140042716474592"}, {"nodeId": "140042716475040"}, {"nodeId": "140042716475488"}]}, "140042716474144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472909040": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472909040", "variance": "INVARIANT"}, "140042716474592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716475040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716475488": {"type": "Function", "typeVars": [".-1.140042716475488"], "argTypes": [{"nodeId": "140042472909040", "args": [{"nodeId": ".1.140042472909040"}]}, {"nodeId": "140042456007168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456007168": {"type": "Union", "items": [{"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716475488"}]}, {"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042716475488"}]}]}, ".-1.140042716475488": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716475488", "variance": "INVARIANT"}, "140042716060064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455909872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909872": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455909760"}]}, "140042455909760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716060512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455910096"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910096": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455909984"}]}, "140042455909984": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716060960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455910320"}, {"nodeId": "140042455910544"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910320": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455910208"}]}, "140042455910208": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455910544": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": "140042455910432"}]}, "140042455910432": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716061408": {"type": "Function", "typeVars": [".-1.140042716061408"], "argTypes": [{"nodeId": "140042472905344", "args": [{"nodeId": ".1.140042472905344"}]}, {"nodeId": "140042468230528", "args": [{"nodeId": ".-1.140042716061408"}]}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455910656"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716061408": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716061408", "variance": "INVARIANT"}, "140042455910656": {"type": "Union", "items": [{"nodeId": ".1.140042472905344"}, {"nodeId": ".-1.140042716061408"}]}, "140042732510720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920240"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920240": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732511168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920464"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920464": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732511616": {"type": "Function", "typeVars": [".-1.140042732511616"], "argTypes": [{"nodeId": ".-1.140042732511616"}], "returnType": {"nodeId": ".-1.140042732511616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732511616": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042732511616", "variance": "INVARIANT"}, "140042732512064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920688"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920688": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732512512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451920912"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451920912": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732512960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921136"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921136": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732513408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921360"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921360": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732513856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921584"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921584": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732514304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451921808"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451921808": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732514752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922032"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922032": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732515200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922256"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922256": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732515648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922480"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922480": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732516096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468230528"}]}, {"nodeId": "140042451922704"}], "returnType": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451922704": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042456273232": {"type": "Tuple", "items": [{"nodeId": "140042456273008"}]}, "140042456273008": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042757810304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": "140042456274128"}], "returnType": {"nodeId": ".1.140042468653904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456274128": {"type": "Union", "items": [{"nodeId": "140042456273568"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456274016"}]}, "140042456273568": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042464134864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042464034400"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}]}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042464034400": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}]}, "140042577372752": {"type": "Concrete", "module": "builtins", "simpleName": "ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042456274016": {"type": "Tuple", "items": [{"nodeId": "140042456273792"}]}, "140042456273792": {"type": "Union", "items": [{"nodeId": "140042456273680"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}]}, "140042456273680": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042757810752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": "140042456274800"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042456274800": {"type": "Union", "items": [{"nodeId": "140042456274240"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456274688"}]}, "140042456274240": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042456274688": {"type": "Tuple", "items": [{"nodeId": "140042456274464"}]}, "140042456274464": {"type": "Union", "items": [{"nodeId": "140042456274352"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}]}, "140042456274352": {"type": "TypeAlias", "target": {"nodeId": "140042464134864"}}, "140042456022848": {"type": "Overloaded", "items": [{"nodeId": "140042757811200"}, {"nodeId": "140042757811648"}]}, "140042757811200": {"type": "Function", "typeVars": [".-1.140042757811200"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811200"}]}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811200"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042757811200": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042757811200", "variance": "INVARIANT"}, "140042757811648": {"type": "Function", "typeVars": [".-1.140042757811648"], "argTypes": [{"nodeId": "140042468653904", "args": [{"nodeId": ".1.140042468653904"}]}, {"nodeId": ".-1.140042757811648"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042757811648"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042757811648": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042757811648", "variance": "INVARIANT"}, "140042451841120": {"type": "Overloaded", "items": [{"nodeId": "140042737413568"}, {"nodeId": "140042737414016"}]}, "140042737413568": {"type": "Function", "typeVars": [".-1.140042737413568"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "140042451843584"}, {"nodeId": "140042451843696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042451843808"}], "returnType": {"nodeId": ".-1.140042737413568"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042451843584": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451843696": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042468147600": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042451843808": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042468234896": {"type": "Concrete", "module": "numpy", "simpleName": "_CopyMode", "members": [{"kind": "Variable", "name": "ALWAYS", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "IF_NEEDED", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "NEVER", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042573233312"}], "isAbstract": false}, "140042573233312": {"type": "Concrete", "module": "enum", "simpleName": "Enum", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544084384"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527659328"}}, {"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_ignore_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573248800"}}, {"kind": "Variable", "name": "_order_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__order__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_missing_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527776256"}}, {"kind": "Variable", "name": "_generate_next_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527349376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648928992"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648929440"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648929888"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648930336"}, "name": "__reduce_ex__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544084384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527659328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573248800": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042527776256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, "140042527349376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["name", "start", "count", "last_values"]}, "140042648928992": {"type": "Function", "typeVars": [".-1.140042648928992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": ".-1.140042648928992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648928992": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648928992", "variance": "INVARIANT"}, "140042648929440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648929888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140042648930336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233312"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "proto"]}, ".-1.140042737413568": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737413568", "variance": "INVARIANT"}, "140042737414016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451844256"}, {"nodeId": "140042451843360"}, {"nodeId": "140042451843920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042451844032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042451844256": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042451843360": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451843920": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042451844032": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042451842128": {"type": "Overloaded", "items": [{"nodeId": "140042737414464"}, {"nodeId": "140042737414912"}, {"nodeId": "140042737415360"}]}, "140042737414464": {"type": "Function", "typeVars": [".-1.140042737414464"], "argTypes": [{"nodeId": ".-1.140042737414464"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737414464"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "type"]}, ".-1.140042737414464": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737414464", "variance": "INVARIANT"}, "140042737414912": {"type": "Function", "typeVars": [".-1.140042737414912"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042737414912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, ".-1.140042737414912": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737414912", "variance": "INVARIANT"}, "140042737415360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451910944"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, "140042451910944": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042451844368": {"type": "Overloaded", "items": [{"nodeId": "140042737415808"}, {"nodeId": "140042737416256"}]}, "140042737415808": {"type": "Function", "typeVars": [".-1.140042737415808"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "0"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042737415808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, ".-1.140042737415808": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737415808", "variance": "INVARIANT"}, "140042737416256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451911504"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042451911504": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042737416704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451912848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042451912848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042451911952"}, {"nodeId": "140042451912512"}]}, "140042451911952": {"type": "Tuple", "items": []}, "140042451912512": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042451844480": {"type": "Overloaded", "items": [{"nodeId": "140042451703552"}, {"nodeId": "140042737417600"}, {"nodeId": "140042732306496"}]}, "140042451703552": {"type": "Function", "typeVars": [".-1.140042451703552"], "argTypes": [{"nodeId": ".-1.140042451703552"}, {"nodeId": "140042451911616"}, {"nodeId": "140042451912736"}, {"nodeId": "N"}, {"nodeId": "140042451911168"}], "returnType": {"nodeId": ".-1.140042451703552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042451703552": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451703552", "variance": "INVARIANT"}, "140042451911616": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042451912736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451911168": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042737417600": {"type": "Function", "typeVars": [".-1.140042737417600"], "argTypes": [{"nodeId": ".-1.140042737417600"}, {"nodeId": "140042451913408"}, {"nodeId": "140042451912960"}, {"nodeId": "N"}, {"nodeId": "140042451913184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042737417600"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042737417600": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042737417600", "variance": "INVARIANT"}, "140042451913408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451912960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451913184": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042732306496": {"type": "Function", "typeVars": [".-1.140042732306496"], "argTypes": [{"nodeId": "140042472914080"}, {"nodeId": "140042451913744"}, {"nodeId": "140042451911728"}, {"nodeId": ".-1.140042732306496"}, {"nodeId": "140042451913520"}], "returnType": {"nodeId": ".-1.140042732306496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042451913744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451911728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042732306496": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042732306496", "variance": "INVARIANT"}, "140042451913520": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042451704000": {"type": "Function", "typeVars": [".-1.140042451704000"], "argTypes": [{"nodeId": ".-1.140042451704000"}, {"nodeId": "140042451914080"}, {"nodeId": "140042451913632"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704000"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repeats", "axis"]}, ".-1.140042451704000": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704000", "variance": "INVARIANT"}, "140042451914080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451913632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042451704448": {"type": "Function", "typeVars": [".-1.140042451704448"], "argTypes": [{"nodeId": ".-1.140042451704448"}, {"nodeId": "140042451913968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704448"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042451704448": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704448", "variance": "INVARIANT"}, "140042451913968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451704672": {"type": "Function", "typeVars": [".-1.140042451704672"], "argTypes": [{"nodeId": ".-1.140042451704672"}, {"nodeId": "140042451914416"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704672"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, ".-1.140042451704672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704672", "variance": "INVARIANT"}, "140042451914416": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042451913072": {"type": "Overloaded", "items": [{"nodeId": "140042451704896"}, {"nodeId": "140042732308736"}]}, "140042451704896": {"type": "Function", "typeVars": [".-1.140042451704896"], "argTypes": [{"nodeId": ".-1.140042451704896"}, {"nodeId": "140042451914528"}, {"nodeId": "140042451914640"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042451704896"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "order"]}, ".-1.140042451704896": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042451704896", "variance": "INVARIANT"}, "140042451914528": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042451914640": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042473108224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042732308736": {"type": "Function", "typeVars": [".-1.140042732308736"], "argTypes": [{"nodeId": ".-1.140042732308736"}, {"nodeId": "140042577727152"}, {"nodeId": "140042451914752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042732308736"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "order"]}, ".-1.140042732308736": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732308736", "variance": "INVARIANT"}, "140042451914752": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042732309184": {"type": "Function", "typeVars": [".-1.140042732309184"], "argTypes": [{"nodeId": ".-1.140042732309184"}, {"nodeId": "140042451915648"}], "returnType": {"nodeId": ".-1.140042732309184"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, ".-1.140042732309184": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732309184", "variance": "INVARIANT"}, "140042451915648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042451915424"}]}, "140042451915424": {"type": "Tuple", "items": []}, "140042732309632": {"type": "Function", "typeVars": [".-1.140042732309632"], "argTypes": [{"nodeId": ".-1.140042732309632"}, {"nodeId": "140042451915984"}], "returnType": {"nodeId": ".-1.140042732309632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".-1.140042732309632": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042732309632", "variance": "INVARIANT"}, "140042451915984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042451915872"}]}, "140042451915872": {"type": "Tuple", "items": []}, "140042426599232": {"type": "Function", "typeVars": [".-1.140042426599232"], "argTypes": [{"nodeId": ".-1.140042426599232"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042426599232"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426599232": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426599232", "variance": "INVARIANT"}, "140042745922048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042745922496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010528"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010528": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042745922944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456010640"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010752"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042456010752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042468150400": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745923392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456010864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010864": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151296"}, {"nodeId": "140042468152080"}]}}, "140042468151296": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468152080": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745923840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042468234224": {"type": "Concrete", "module": "numpy", "simpleName": "str_", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452045152"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732839296"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732839744"}, "name": "tolist"}], "typeVars": [], "bases": [{"nodeId": "140042468233552"}, {"nodeId": "140042577367376"}], "isAbstract": false}, "140042452045152": {"type": "Overloaded", "items": [{"nodeId": "140042732838400"}, {"nodeId": "140042732838848"}]}, "140042732838400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732838848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, "encoding", "errors"]}, "140042732839296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}, {"nodeId": "140042452047392"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452047392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452046944"}, {"nodeId": "140042452047280"}]}, "140042452046944": {"type": "Tuple", "items": []}, "140042452047280": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732839744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234224"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468233552": {"type": "Concrete", "module": "numpy", "simpleName": "character", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732835712"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732836160"}, "name": "__float__"}], "typeVars": [], "bases": [{"nodeId": "140042468232880"}], "isAbstract": true}, "140042732835712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233552"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732836160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233552"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042468232880": {"type": "Concrete", "module": "numpy", "simpleName": "flexible", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": true}, "140042745924288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042468233888": {"type": "Concrete", "module": "numpy", "simpleName": "bytes_", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452046496"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732837504"}, "name": "item"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732837952"}, "name": "tolist"}], "typeVars": [], "bases": [{"nodeId": "140042468233552"}, {"nodeId": "140042577732864"}], "isAbstract": false}, "140042452046496": {"type": "Overloaded", "items": [{"nodeId": "140042732836608"}, {"nodeId": "140042732837056"}]}, "140042732836608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042732837056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, "encoding", "errors"]}, "140042732837504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}, {"nodeId": "140042452046272"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042452046272": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042452045824"}, {"nodeId": "140042452046160"}]}, "140042452045824": {"type": "Tuple", "items": []}, "140042452046160": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042732837952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042745924736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011088"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011088": {"type": "Union", "items": [{"nodeId": "140042456010976"}, {"nodeId": "0"}]}, "140042456010976": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042494220032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011200": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042468231536": {"type": "Concrete", "module": "numpy", "simpleName": "unsignedinteger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732674112"}, "name": "__init__"}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rsub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__mul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rmul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rfloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__pow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rpow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__lshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rlshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rrshift__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__and__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__xor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__or__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__mod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__divmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042468231536"}]}}, {"kind": "Variable", "name": "__rdivmod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042468231536"}]}}], "typeVars": [{"nodeId": ".1.140042468231536"}], "bases": [{"nodeId": "140042468230528", "args": [{"nodeId": ".1.140042468231536"}]}], "isAbstract": false}, "140042732674112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042468231536"}]}, {"nodeId": "140042451925616"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, ".1.140042468231536": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042468231536", "variance": "INVARIANT"}, "140042451925616": {"type": "TypeAlias", "target": {"nodeId": "140042473110912"}}, "140042472905680": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455909312"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905680"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455909312": {"type": "Overloaded", "items": [{"nodeId": "140042716061856"}, {"nodeId": "140042716062304"}, {"nodeId": "140042716062752"}, {"nodeId": "140042716063200"}, {"nodeId": "140042716063648"}]}, "140042716061856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472905680"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905680": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472905680", "variance": "INVARIANT"}, "140042716062304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042455910992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455910992": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716062752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455911328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455911328": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911216"}]}, "140042455911216": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716063200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042577366368"}], "returnType": {"nodeId": "140042468232544", "args": [{"nodeId": "140042455911552"}, {"nodeId": "140042455911776"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455911552": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911440"}]}, "140042455911440": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042455911776": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": "140042455911664"}]}, "140042455911664": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716063648": {"type": "Function", "typeVars": [".-1.140042716063648"], "argTypes": [{"nodeId": "140042472905680", "args": [{"nodeId": ".1.140042472905680"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716063648"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455911888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716063648": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716063648", "variance": "INVARIANT"}, "140042455911888": {"type": "Union", "items": [{"nodeId": ".1.140042472905680"}, {"nodeId": ".-1.140042716063648"}]}, "140042472906016": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntBitOp", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455842400"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906016"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455842400": {"type": "Overloaded", "items": [{"nodeId": "140042716064096"}, {"nodeId": "140042716064544"}, {"nodeId": "140042716064992"}, {"nodeId": "140042716065440"}]}, "140042716064096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472906016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906016": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906016", "variance": "INVARIANT"}, "140042716064544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716064992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716065440": {"type": "Function", "typeVars": [".-1.140042716065440"], "argTypes": [{"nodeId": "140042472906016", "args": [{"nodeId": ".1.140042472906016"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716065440"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455913344"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716065440": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716065440", "variance": "INVARIANT"}, "140042455913344": {"type": "Union", "items": [{"nodeId": ".1.140042472906016"}, {"nodeId": ".-1.140042716065440"}]}, "140042472906352": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464023984"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906352"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464023984": {"type": "Overloaded", "items": [{"nodeId": "140042716065888"}, {"nodeId": "140042716066336"}, {"nodeId": "140042716066784"}, {"nodeId": "140042716067232"}]}, "140042716065888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": ".1.140042472906352"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906352": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906352", "variance": "INVARIANT"}, "140042716066336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042455914128"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455914128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716066784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468232208", "args": [{"nodeId": "140042455914688"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455914688": {"type": "Union", "items": [{"nodeId": ".1.140042472906352"}, {"nodeId": "140042455914576"}]}, "140042455914576": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042716067232": {"type": "Function", "typeVars": [".-1.140042716067232"], "argTypes": [{"nodeId": "140042472906352", "args": [{"nodeId": ".1.140042472906352"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716067232"}]}], "returnType": {"nodeId": "140042468231536", "args": [{"nodeId": "140042455915024"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716067232": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716067232", "variance": "INVARIANT"}, "140042455915024": {"type": "Union", "items": [{"nodeId": ".1.140042472906352"}, {"nodeId": ".-1.140042716067232"}]}, "140042472906688": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_UnsignedIntDivMod", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464031936"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472906688"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042464031936": {"type": "Overloaded", "items": [{"nodeId": "140042716067680"}, {"nodeId": "140042716068128"}, {"nodeId": "140042716068576"}, {"nodeId": "140042716069024"}]}, "140042716067680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472906688": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042472906688", "variance": "INVARIANT"}, "140042716068128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042455915920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455915920": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042468230864", "args": [{"nodeId": "A"}]}]}, "140042716068576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716069024": {"type": "Function", "typeVars": [".-1.140042716069024"], "argTypes": [{"nodeId": "140042472906688", "args": [{"nodeId": ".1.140042472906688"}]}, {"nodeId": "140042468231536", "args": [{"nodeId": ".-1.140042716069024"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042716069024": {"type": "TypeVar", "varName": "_NBit2", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042716069024", "variance": "INVARIANT"}, "140042745925184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456010416"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011312"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456010416": {"type": "Union", "items": [{"nodeId": "140042456011760"}, {"nodeId": "0"}]}, "140042456011760": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042494220704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011312": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042745925632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011648"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011648": {"type": "Union", "items": [{"nodeId": "140042456012096"}, {"nodeId": "0"}]}, "140042456012096": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042494221376": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011424": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042745926080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456011984"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011536"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456011984": {"type": "Union", "items": [{"nodeId": "140042456012432"}, {"nodeId": "0"}]}, "140042456012432": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042494222048": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011536": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042745926528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456011872"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012320": {"type": "Union", "items": [{"nodeId": "140042456012768"}, {"nodeId": "0"}]}, "140042456012768": {"type": "TypeAlias", "target": {"nodeId": "140042484861632"}}, "140042484861632": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456011872": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468148832"}]}}, "140042468148832": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745926976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012656"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012208"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012656": {"type": "Union", "items": [{"nodeId": "140042456013104"}, {"nodeId": "0"}]}, "140042456013104": {"type": "TypeAlias", "target": {"nodeId": "140042484862304"}}, "140042484862304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012208": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149056"}]}}, "140042468149056": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745927424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456012992"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012544"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456012992": {"type": "Union", "items": [{"nodeId": "140042456013440"}, {"nodeId": "0"}]}, "140042456013440": {"type": "TypeAlias", "target": {"nodeId": "140042484862976"}}, "140042484862976": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012544": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149280"}]}}, "140042468149280": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745927872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456013328"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456012880"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456013328": {"type": "Union", "items": [{"nodeId": "140042456013776"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013776": {"type": "TypeAlias", "target": {"nodeId": "140042484863872"}}, "140042484863872": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456012880": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149392"}]}}, "140042468149392": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745928320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456013664"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456013664": {"type": "Union", "items": [{"nodeId": "140042456014224"}, {"nodeId": "0"}]}, "140042456014224": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042484864656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013216": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042468149504": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745928768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014112"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013552"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014112": {"type": "Union", "items": [{"nodeId": "140042456014560"}, {"nodeId": "0"}]}, "140042456014560": {"type": "TypeAlias", "target": {"nodeId": "140042484865216"}}, "140042484865216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013552": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149616"}]}}, "140042468149616": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745929216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014448"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456013888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014448": {"type": "Union", "items": [{"nodeId": "140042456014784"}, {"nodeId": "0"}]}, "140042456014784": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042494222720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456013888": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042745929664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456014672"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014000"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456014672": {"type": "Union", "items": [{"nodeId": "140042456015120"}, {"nodeId": "0"}]}, "140042456015120": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042494223392": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014000": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042745930112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015008"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014336"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015008": {"type": "Union", "items": [{"nodeId": "140042456015456"}, {"nodeId": "0"}]}, "140042456015456": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042494224064": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014336": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042745930560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015344"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456014896"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015344": {"type": "Union", "items": [{"nodeId": "140042456015792"}, {"nodeId": "0"}]}, "140042456015792": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042494224736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456014896": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042745931008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456015680"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015232"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456015680": {"type": "Union", "items": [{"nodeId": "140042456016128"}, {"nodeId": "0"}]}, "140042456016128": {"type": "TypeAlias", "target": {"nodeId": "140042494228768"}}, "140042494228768": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015232": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042473111024"}]}}, "140042473111024": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745931456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016016"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016016": {"type": "Union", "items": [{"nodeId": "140042456016464"}, {"nodeId": "0"}]}, "140042456016464": {"type": "TypeAlias", "target": {"nodeId": "140042494229440"}}, "140042494229440": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015568": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148048"}]}}, "140042468148048": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745931904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016352"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456015904"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016352": {"type": "Union", "items": [{"nodeId": "140042456016800"}, {"nodeId": "0"}]}, "140042456016800": {"type": "TypeAlias", "target": {"nodeId": "140042494230112"}}, "140042494230112": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456015904": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148384"}]}}, "140042468148384": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745932352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456016688"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016240"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456016688": {"type": "Union", "items": [{"nodeId": "140042456017136"}, {"nodeId": "0"}]}, "140042456017136": {"type": "TypeAlias", "target": {"nodeId": "140042484859504"}}, "140042484859504": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016240": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042745932800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456017024"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016576"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456017024": {"type": "Union", "items": [{"nodeId": "140042456017584"}, {"nodeId": "0"}]}, "140042456017584": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042484860512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016576": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042745933248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456017472"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456016912"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456017472": {"type": "Union", "items": [{"nodeId": "140042456018032"}, {"nodeId": "0"}]}, "140042456018032": {"type": "TypeAlias", "target": {"nodeId": "140042484860960"}}, "140042484860960": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456016912": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148720"}]}}, "140042468148720": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745933696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018144"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017920"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018144": {"type": "TypeAlias", "target": {"nodeId": "140042494225408"}}, "140042494225408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661936"}]}}, "140042745934144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018368"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017808"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018368": {"type": "TypeAlias", "target": {"nodeId": "140042494226080"}}, "140042494226080": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017808": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042745934592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018592"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456018256"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018592": {"type": "TypeAlias", "target": {"nodeId": "140042494226752"}}, "140042494226752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456018256": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042745935040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018816"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456018480"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018816": {"type": "TypeAlias", "target": {"nodeId": "140042484865888"}}, "140042484865888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456018480": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468149840"}]}}, "140042468149840": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745935488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018704"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017248"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018704": {"type": "Union", "items": [{"nodeId": "140042456019040"}, {"nodeId": "0"}]}, "140042456019040": {"type": "TypeAlias", "target": {"nodeId": "140042484866560"}}, "140042484866560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017248": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150064"}]}}, "140042468150064": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745935936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456018928"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017360"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456018928": {"type": "Union", "items": [{"nodeId": "140042456019376"}, {"nodeId": "0"}]}, "140042456019376": {"type": "TypeAlias", "target": {"nodeId": "140042484867680"}}, "140042484867680": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017360": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150288"}]}}, "140042468150288": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745936384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456019264"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456017696"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456019264": {"type": "Union", "items": [{"nodeId": "140042456019936"}, {"nodeId": "0"}]}, "140042456019936": {"type": "TypeAlias", "target": {"nodeId": "140042484868352"}}, "140042484868352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456017696": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150512"}]}}, "140042468150512": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042745936832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020160"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456019824"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020160": {"type": "TypeAlias", "target": {"nodeId": "140042494227424"}}, "140042494227424": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456019824": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661600"}, {"nodeId": "140042472661600"}]}}, "140042745937280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020272"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020048"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020272": {"type": "TypeAlias", "target": {"nodeId": "140042494228096"}}, "140042494228096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020048": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042472661264"}, {"nodeId": "140042472661264"}]}}, "140042762010688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020496"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456019712"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020496": {"type": "TypeAlias", "target": {"nodeId": "140042484869136"}}, "140042484869136": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456019712": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468150736"}, {"nodeId": "140042468151408"}]}}, "140042468150736": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468151408": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762011136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020832": {"type": "TypeAlias", "target": {"nodeId": "140042484870368"}}, "140042484870368": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020384": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151184"}, {"nodeId": "140042468151856"}]}}, "140042468151184": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468151856": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762011584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021280"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042456020720"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021280": {"type": "TypeAlias", "target": {"nodeId": "140042484871152"}}, "140042484871152": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042456020720": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151744"}, {"nodeId": "140042468152528"}]}}, "140042468151744": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042468152528": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042762012032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021168"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021168": {"type": "Union", "items": [{"nodeId": "140042456021392"}, {"nodeId": "0"}]}, "140042456021392": {"type": "TypeAlias", "target": {"nodeId": "140042494219584"}}, "140042494219584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762012480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021616"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021616": {"type": "TypeAlias", "target": {"nodeId": "140042484962736"}}, "140042484962736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468231200": {"type": "Concrete", "module": "numpy", "simpleName": "timedelta64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732516992"}, "name": "__init__"}, {"kind": "Variable", "name": "numerator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426852384"}}, {"kind": "Variable", "name": "denominator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426852832"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732518336"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732518784"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732666944"}, "name": "__complex__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732667392"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732667840"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732668288"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732668736"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732669184"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732669632"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670080"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670528"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732670976"}, "name": "__rmul__"}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905008", "args": [{"nodeId": "140042464147856"}]}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472905008", "args": [{"nodeId": "140042468148944"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732671424"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732671872"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732672320"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732672768"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732673216"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732673664"}, "name": "__rdivmod__"}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464147632"}, {"nodeId": "140042464147184"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345696"}, {"nodeId": "140042464345920"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464345808"}, {"nodeId": "140042464477248"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042464477696"}, {"nodeId": "140042464477360"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732516992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451923152"}, {"nodeId": "140042451923824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042451923152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042451923040"}, {"nodeId": "140042480721520"}, {"nodeId": "140042468231200"}]}, "140042451923040": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042480721520": {"type": "Concrete", "module": "datetime", "simpleName": "timedelta", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "days", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "milliseconds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minutes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hours", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weeks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648625312"}, "name": "__new__"}, {"kind": "Variable", "name": "days", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489670880"}}, {"kind": "Variable", "name": "seconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489671776"}}, {"kind": "Variable", "name": "microseconds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489672000"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648627104"}, "name": "total_seconds"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648627552"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628000"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628448"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648628896"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648629344"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648629792"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648630240"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648630688"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648631136"}, "name": "__rmul__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489398880"}, "items": [{"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__floordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__floordiv__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489400560"}, "items": [{"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648731936"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648732384"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648732832"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648733280"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648733728"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648734176"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648734624"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042648625312": {"type": "Function", "typeVars": [".-1.140042648625312"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042648625312"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "days", "seconds", "microseconds", "milliseconds", "minutes", "hours", "weeks"]}, ".-1.140042648625312": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648625312", "variance": "INVARIANT"}, "140042489670880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489671776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489672000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648627104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648627552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648628896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648629344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648629792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648630240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648630688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648631136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489398880": {"type": "Overloaded", "items": [{"nodeId": "140042648631584"}, {"nodeId": "140042648632032"}]}, "140042648631584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648632032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489400560": {"type": "Overloaded", "items": [{"nodeId": "140042648632480"}, {"nodeId": "140042648632928"}]}, "140042648632480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648632928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648731936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648732384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042489401792"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489401792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042480721520"}]}, "140042648732832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648733280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648733728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648734176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648734624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721520"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451923824": {"type": "Union", "items": [{"nodeId": "140042451923264"}, {"nodeId": "140042451923712"}]}, "140042451923264": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451923712": {"type": "Tuple", "items": [{"nodeId": "140042451923376"}, {"nodeId": "140042451923488"}]}, "140042451923376": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451923488": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042426852384": {"type": "Function", "typeVars": [".-1.140042426852384"], "argTypes": [{"nodeId": ".-1.140042426852384"}], "returnType": {"nodeId": ".-1.140042426852384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426852384": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042426852384", "variance": "INVARIANT"}, "140042426852832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042732518336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732518784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732666944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732667392": {"type": "Function", "typeVars": [".-1.140042732667392"], "argTypes": [{"nodeId": ".-1.140042732667392"}], "returnType": {"nodeId": ".-1.140042732667392"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732667392": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732667392", "variance": "INVARIANT"}, "140042732667840": {"type": "Function", "typeVars": [".-1.140042732667840"], "argTypes": [{"nodeId": ".-1.140042732667840"}], "returnType": {"nodeId": ".-1.140042732667840"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732667840": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732667840", "variance": "INVARIANT"}, "140042732668288": {"type": "Function", "typeVars": [".-1.140042732668288"], "argTypes": [{"nodeId": ".-1.140042732668288"}], "returnType": {"nodeId": ".-1.140042732668288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042732668288": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042732668288", "variance": "INVARIANT"}, "140042732668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924048"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924048": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042469022336": {"type": "Union", "items": [{"nodeId": "140042469022560"}, {"nodeId": "140042468231200"}]}, "140042469022560": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732669184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924160"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924160": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732669632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924272"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924272": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732670080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924384"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924384": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732670528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924496"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924496": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042469021664": {"type": "Union", "items": [{"nodeId": "140042469021440"}, {"nodeId": "140042577366032"}, {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}]}, "140042469021440": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732670976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042451924608"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924608": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042472905008": {"type": "Protocol", "module": "numpy._typing._callable", "simpleName": "_TD64Div", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042455841280"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042472905008"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042455841280": {"type": "Overloaded", "items": [{"nodeId": "140042716058272"}, {"nodeId": "140042716058720"}, {"nodeId": "140042716059168"}]}, "140042716058272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": ".1.140042472905008"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472905008": {"type": "TypeVar", "varName": "_NumberType_co", "values": [], "upperBound": {"nodeId": "140042472914416", "args": [{"nodeId": "A"}]}, "def": "140042472905008", "variance": "COVARIANT"}, "140042716058720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042455909424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909424": {"type": "TypeAlias", "target": {"nodeId": "140042469020544"}}, "140042716059168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472905008", "args": [{"nodeId": ".1.140042472905008"}]}, {"nodeId": "140042455909536"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042455909536": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042464147856": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468148944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732671424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451924720"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924720": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042732671872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451924832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451924832": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732672320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732672768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732673216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451925168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451925168": {"type": "Tuple", "items": [{"nodeId": "140042451924944"}, {"nodeId": "140042468231200"}]}, "140042451924944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042732673664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468231200"}, {"nodeId": "140042468231200"}], "returnType": {"nodeId": "140042451925504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451925504": {"type": "Tuple", "items": [{"nodeId": "140042451925280"}, {"nodeId": "140042468231200"}]}, "140042451925280": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042464147632": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464147184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345696": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464345920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464345808": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464477248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042464477696": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042464477360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042762012928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021056": {"type": "TypeAlias", "target": {"nodeId": "140042484916720"}}, "140042484916720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468230192": {"type": "Concrete", "module": "numpy", "simpleName": "datetime64", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451914976"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732504448"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732504896"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451915536"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732506240"}, "name": "__rsub__"}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345360"}]}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464344800"}]}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345024"}]}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472910720", "args": [{"nodeId": "140042468230192"}, {"nodeId": "140042464345248"}]}}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042451914976": {"type": "Overloaded", "items": [{"nodeId": "140042732503552"}, {"nodeId": "140042732504000"}]}, "140042732503552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451917216"}, {"nodeId": "140042451917888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042451917216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468230192"}, {"nodeId": "140042451917104"}, {"nodeId": "140042468229856"}]}, "140042451917104": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042468229856": {"type": "Protocol", "module": "numpy", "simpleName": "_DatetimeScalar", "members": [{"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426603936"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426604384"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426604608"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["day", "month", "year"]}, "140042426603936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426604384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042426604608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451917888": {"type": "Union", "items": [{"nodeId": "140042451917328"}, {"nodeId": "140042451917776"}]}, "140042451917328": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451917776": {"type": "Tuple", "items": [{"nodeId": "140042451917440"}, {"nodeId": "140042451917552"}]}, "140042451917440": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451917552": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732504000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042451918560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042451918560": {"type": "Union", "items": [{"nodeId": "140042451918000"}, {"nodeId": "140042451918448"}]}, "140042451918000": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451918448": {"type": "Tuple", "items": [{"nodeId": "140042451918112"}, {"nodeId": "140042451918224"}]}, "140042451918112": {"type": "TypeAlias", "target": {"nodeId": "140042472737472"}}, "140042451918224": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732504448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451918672"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451918672": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732504896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451918784"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451918784": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042451915536": {"type": "Overloaded", "items": [{"nodeId": "140042732505344"}, {"nodeId": "140042732505792"}]}, "140042732505344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042468230192"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732505792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042451919008"}], "returnType": {"nodeId": "140042468230192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451919008": {"type": "TypeAlias", "target": {"nodeId": "140042469022336"}}, "140042732506240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468230192"}, {"nodeId": "140042468230192"}], "returnType": {"nodeId": "140042468231200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042464345360": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042463969792": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468230192"}]}]}]}]}, "140042472657904": {"type": "Protocol", "module": "numpy._typing._array_like", "simpleName": "_SupportsArray", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631722176"}, "name": "__array__"}], "typeVars": [{"nodeId": ".1.140042472657904"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array__"]}, "140042631722176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657904", "args": [{"nodeId": ".1.140042472657904"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042472657904"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472657904": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472657904", "variance": "COVARIANT"}, "140042464344800": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042464345024": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042464345248": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042762013376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456019152"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456019152": {"type": "TypeAlias", "target": {"nodeId": "140042484872496"}}, "140042484872496": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762013824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021504"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021504": {"type": "Union", "items": [{"nodeId": "140042456022176"}, {"nodeId": "0"}]}, "140042456022176": {"type": "TypeAlias", "target": {"nodeId": "140042484873168"}}, "140042484873168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042762014272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456021952"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456021952": {"type": "TypeAlias", "target": {"nodeId": "140042484873840"}}, "140042484873840": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468233216": {"type": "Concrete", "module": "numpy", "simpleName": "void", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451919232"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422062656"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422063104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732833920"}, "name": "setfield"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452043024"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732835264"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042468232880"}], "isAbstract": false}, "140042451919232": {"type": "Overloaded", "items": [{"nodeId": "140042732832128"}, {"nodeId": "140042732832576"}]}, "140042732832128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452044592"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, "dtype"]}, "140042452044592": {"type": "Union", "items": [{"nodeId": "140042452044480"}, {"nodeId": "140042577732864"}]}, "140042452044480": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042732832576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "A"}, {"nodeId": "140042452044816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, "dtype"]}, "140042452044816": {"type": "TypeAlias", "target": {"nodeId": "140042464339648"}}, "140042464339648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469102352"}, {"nodeId": "140042464339312"}]}, "140042469102352": {"type": "TypeAlias", "target": {"nodeId": "140042484873840"}}, "140042464339312": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042422062656": {"type": "Function", "typeVars": [".-1.140042422062656"], "argTypes": [{"nodeId": ".-1.140042422062656"}], "returnType": {"nodeId": ".-1.140042422062656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042422062656": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042422062656", "variance": "INVARIANT"}, "140042422063104": {"type": "Function", "typeVars": [".-1.140042422063104"], "argTypes": [{"nodeId": ".-1.140042422063104"}], "returnType": {"nodeId": ".-1.140042422063104"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042422063104": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042422063104", "variance": "INVARIANT"}, "140042732833920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045376"}, {"nodeId": "140042452045040"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "val", "dtype", "offset"]}, "140042452045376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452045040": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452043024": {"type": "Overloaded", "items": [{"nodeId": "140042732834368"}, {"nodeId": "140042732834816"}]}, "140042732834368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045600"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452045600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042732834816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468233216"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042732835264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468233216"}, {"nodeId": "140042452045264"}, {"nodeId": "140042452044368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042452045264": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577727152"}]}, "140042452044368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042762014720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456022064"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456022064": {"type": "Union", "items": [{"nodeId": "140042456021728"}, {"nodeId": "0"}]}, "140042456021728": {"type": "TypeAlias", "target": {"nodeId": "140042484874624"}}, "140042484874624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042468229520": {"type": "Concrete", "module": "numpy", "simpleName": "object_", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732319040"}, "name": "__init__"}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426602816"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042426603264"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732320384"}, "name": "__int__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732320832"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732321280"}, "name": "__complex__"}], "typeVars": [], "bases": [{"nodeId": "140042472914080"}], "isAbstract": false}, "140042732319040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042426602816": {"type": "Function", "typeVars": [".-1.140042426602816"], "argTypes": [{"nodeId": ".-1.140042426602816"}], "returnType": {"nodeId": ".-1.140042426602816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426602816": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426602816", "variance": "INVARIANT"}, "140042426603264": {"type": "Function", "typeVars": [".-1.140042426603264"], "argTypes": [{"nodeId": ".-1.140042426603264"}], "returnType": {"nodeId": ".-1.140042426603264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042426603264": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042426603264", "variance": "INVARIANT"}, "140042732320384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732320832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732321280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468229520"}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042762015168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762015616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762016064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762016512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456020944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042456020944": {"type": "TypeAlias", "target": {"nodeId": "140042472744528"}}, "140042762016960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "dtype", "align", "copy"]}, "140042762017408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042456009856": {"type": "Overloaded", "items": [{"nodeId": "140042762017856"}, {"nodeId": "140042762018304"}]}, "140042762017856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762018304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, {"nodeId": "140042456020608"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456020608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042456022400": {"type": "Overloaded", "items": [{"nodeId": "140042762018752"}, {"nodeId": "140042762019200"}, {"nodeId": "140042762019648"}]}, "140042762018752": {"type": "Function", "typeVars": [".-1.140042762018752"], "argTypes": [{"nodeId": ".-1.140042762018752"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042762018752"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762018752": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042762018752", "variance": "INVARIANT"}, "140042762019200": {"type": "Function", "typeVars": [".-1.140042762019200"], "argTypes": [{"nodeId": ".-1.140042762019200"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042762019200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762019200": {"type": "TypeVar", "varName": "_FlexDType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468232880"}]}, "def": "140042762019200", "variance": "INVARIANT"}, "140042762019648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456019600": {"type": "Overloaded", "items": [{"nodeId": "140042762020096"}, {"nodeId": "140042762020544"}]}, "140042762020096": {"type": "Function", "typeVars": [".-1.140042762020096"], "argTypes": [{"nodeId": ".-1.140042762020096"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042762020096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042762020096": {"type": "TypeVar", "varName": "_FlexDType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468232880"}]}, "def": "140042762020096", "variance": "INVARIANT"}, "140042762020544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762020992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456268976"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456268976": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762021440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270432"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270432": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762021888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270544": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762022336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "140042456270656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456270656": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042762022784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042762023232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042430771744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430773984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430774656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042456269984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456269984": {"type": "Union", "items": [{"nodeId": "140042456269424"}, {"nodeId": "140042456269872"}]}, "140042456269424": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042456269872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042456269088"}]}, "140042456269088": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430774880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042456271216"}]}]}, "140042456271216": {"type": "Union", "items": [{"nodeId": "140042456270208"}, {"nodeId": "140042456271104"}]}, "140042456270208": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042456271104": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042430857280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430857952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430858848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042430859072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456271664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456271664": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042430859744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430859968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042456272224"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456272224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456272112"}]}, "140042456272112": {"type": "Tuple", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, {"nodeId": "140042456271888"}]}, "140042456271888": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042455610336": {"type": "Function", "typeVars": [".-1.140042455610336"], "argTypes": [{"nodeId": ".-1.140042455610336"}, {"nodeId": "140042456272336"}], "returnType": {"nodeId": ".-1.140042455610336"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".-1.140042455610336": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042455610336", "variance": "INVARIANT"}, "140042456272336": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042430860192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430860416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468653568"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456410464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042431126368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042431127040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456409568": {"type": "Overloaded", "items": [{"nodeId": "140042456386240"}]}, "140042456386240": {"type": "Function", "typeVars": [".-1.140042456386240"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913072", "args": [{"nodeId": ".-1.140042456386240"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456386240"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472913072": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsReal", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431123680"}}], "typeVars": [{"nodeId": ".1.140042472913072"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["real"]}, "140042431123680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913072", "args": [{"nodeId": ".1.140042472913072"}]}], "returnType": {"nodeId": ".1.140042472913072"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472913072", "variance": "COVARIANT"}, ".-1.140042456386240": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456386240", "variance": "INVARIANT"}, "140042431127264": {"type": "Function", "typeVars": [".-1.140042431127264"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913072", "args": [{"nodeId": ".-1.140042431127264"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042431127264"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431127264": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042431127264", "variance": "INVARIANT"}, "140042456410576": {"type": "Overloaded", "items": [{"nodeId": "140042456386464"}]}, "140042456386464": {"type": "Function", "typeVars": [".-1.140042456386464"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913408", "args": [{"nodeId": ".-1.140042456386464"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456386464"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472913408": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsImag", "members": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042431125024"}}], "typeVars": [{"nodeId": ".1.140042472913408"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["imag"]}, "140042431125024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913408", "args": [{"nodeId": ".1.140042472913408"}]}], "returnType": {"nodeId": ".1.140042472913408"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472913408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472913408", "variance": "COVARIANT"}, ".-1.140042456386464": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456386464", "variance": "INVARIANT"}, "140042431127488": {"type": "Function", "typeVars": [".-1.140042431127488"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472913408", "args": [{"nodeId": ".-1.140042431127488"}]}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042431127488"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431127488": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042431127488", "variance": "INVARIANT"}, "140042456386688": {"type": "Function", "typeVars": [".-1.140042456386688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456409904"}, {"nodeId": "140042456410688"}, {"nodeId": "140042456411024"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456410912"}, {"nodeId": "140042456411360"}], "returnType": {"nodeId": ".-1.140042456386688"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "shape", "dtype", "buffer", "offset", "strides", "order"]}, "140042456409904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456410688": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456411024": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410352"}]}, "140042456410352": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042464140128": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367712"}, {"nodeId": "140042568801232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042573219872"}, {"nodeId": "0"}, {"nodeId": "140042472914080"}]}, "140042456410912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456410800"}]}, "140042456410800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456411360": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, ".-1.140042456386688": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456386688", "variance": "INVARIANT"}, "140042740841856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "item"]}, "140042456411136": {"type": "Overloaded", "items": [{"nodeId": "140042741088320"}, {"nodeId": "140042741088768"}]}, "140042741088320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": [null, null]}, "140042741088768": {"type": "Function", "typeVars": [".-1.140042741088768"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": ".-1.140042741088768"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042741088768"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042741088768": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741088768", "variance": "INVARIANT"}, "140042741089216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042468234560"}, {"nodeId": "140042456412592"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042468234560": {"type": "Concrete", "module": "numpy", "simpleName": "ufunc", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422068256"}}, {"kind": "Variable", "name": "__doc__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069152"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472561728"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069376"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069600"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422069824"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070048"}}, {"kind": "Variable", "name": "types", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070272"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070496"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422070720"}}, {"kind": "Variable", "name": "reduce", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "accumulate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042422068256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042422069376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422069824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422070720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468234560"}], "returnType": {"nodeId": "140042452047616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452047616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042456412592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042741089664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456385568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "types", "args", "kwargs"]}, "140042456385568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042741090112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456413712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456413712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042741090560": {"type": "Function", "typeVars": [".-1.140042741090560", ".-2.140042741090560"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741090560"}, {"nodeId": ".-2.140042741090560"}]}, {"nodeId": "140042456414160"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741090560"}, {"nodeId": ".-2.140042741090560"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".-1.140042741090560": {"type": "TypeVar", "varName": "_ShapeType2", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042741090560", "variance": "INVARIANT"}, ".-2.140042741090560": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741090560", "variance": "INVARIANT"}, "140042456414160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456414048"}]}, "140042456414048": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042741091008": {"type": "Function", "typeVars": [".-1.140042741091008", ".-2.140042741091008"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741091008"}, {"nodeId": ".-2.140042741091008"}]}, {"nodeId": "140042456414608"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".-1.140042741091008"}, {"nodeId": ".-2.140042741091008"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".-1.140042741091008": {"type": "TypeVar", "varName": "_ShapeType2", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042741091008", "variance": "INVARIANT"}, ".-2.140042741091008": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042741091008", "variance": "INVARIANT"}, "140042456414608": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456414496"}]}, "140042456414496": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042456412256": {"type": "Overloaded", "items": [{"nodeId": "140042741091456"}, {"nodeId": "140042741091904"}, {"nodeId": "140042741092352"}, {"nodeId": "140042741092800"}, {"nodeId": "140042741093248"}]}, "140042741091456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456415616"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456415616": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042456415504"}]}]}, "140042456415504": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042741091904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456415840"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456415840": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}]}, "140042741092352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456482080"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456482080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456416064"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042456481968"}]}]}, "140042456416064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456481968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042456481856"}, {"nodeId": "140042577727152"}]}, "140042456481856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741092800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741093248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042431128384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456409792": {"type": "Overloaded", "items": [{"nodeId": "140042741094144"}]}, "140042741094144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456482864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456482864": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042431127712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456482864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456284208": {"type": "Overloaded", "items": [{"nodeId": "140042741095040"}]}, "140042741095040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456483200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456483200": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042431128608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042456483200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042741095936": {"type": "Function", "typeVars": [".-1.140042741095936"], "argTypes": [{"nodeId": ".-1.140042741095936"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042741095936"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "inplace"]}, ".-1.140042741095936": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741095936", "variance": "INVARIANT"}, "140042741096384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "value"]}, "140042431128832": {"type": "Function", "typeVars": [".-1.140042431128832"], "argTypes": [{"nodeId": ".-1.140042431128832"}], "returnType": {"nodeId": "140042468653904", "args": [{"nodeId": ".-1.140042431128832"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042431128832": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042431128832", "variance": "INVARIANT"}, "140042456482752": {"type": "Overloaded", "items": [{"nodeId": "140042456388032"}, {"nodeId": "140042741097728"}]}, "140042456388032": {"type": "Function", "typeVars": [".-1.140042456388032"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042456388032"}]}]}]}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042456388032"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042472912736": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042740836928"}, "name": "item"}], "typeVars": [{"nodeId": ".1.140042472912736"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["item"]}, "140042740836928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472912736", "args": [{"nodeId": ".1.140042472912736"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042472912736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472912736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472912736", "variance": "COVARIANT"}, ".-1.140042456388032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042456388032", "variance": "INVARIANT"}, "140042741097728": {"type": "Function", "typeVars": [".-1.140042741097728"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042741097728"}]}]}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}], "returnType": {"nodeId": ".-1.140042741097728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042741097728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042741097728", "variance": "INVARIANT"}, "140042456483088": {"type": "Overloaded", "items": [{"nodeId": "140042741098176"}, {"nodeId": "140042741098624"}]}, "140042741098176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741098624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484096"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042456484096": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456483536": {"type": "Overloaded", "items": [{"nodeId": "140042741099072"}, {"nodeId": "140042741099520"}]}, "140042741099072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484432"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "refcheck"]}, "140042456484432": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042741099520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "new_shape", "refcheck"]}, "140042741099968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "write", "align", "uic"]}, "140042741100416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456484544"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, "140042456484544": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}]}, "140042741100864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "axis1", "axis2"]}, "140042456483872": {"type": "Overloaded", "items": [{"nodeId": "140042456388480"}, {"nodeId": "140042741101760"}]}, "140042456388480": {"type": "Function", "typeVars": [".-1.140042456388480"], "argTypes": [{"nodeId": ".-1.140042456388480"}, {"nodeId": "140042456485104"}], "returnType": {"nodeId": ".-1.140042456388480"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042456388480": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042456388480", "variance": "INVARIANT"}, "140042456485104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456484992"}]}, "140042456484992": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042741101760": {"type": "Function", "typeVars": [".-1.140042741101760"], "argTypes": [{"nodeId": ".-1.140042741101760"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": ".-1.140042741101760"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "axes"]}, ".-1.140042741101760": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741101760", "variance": "INVARIANT"}, "140042741102208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456485216"}, {"nodeId": "140042456485328"}, {"nodeId": "140042456485440"}, {"nodeId": "140042456485552"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456485776"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "kth", "axis", "kind", "order"]}, "140042456485216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456485328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456485440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456485552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456485776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741102656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2"]}, "140042456484320": {"type": "Overloaded", "items": [{"nodeId": "140042741103104"}, {"nodeId": "140042741103552"}, {"nodeId": "140042741104000"}]}, "140042741103104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456485888"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "b", "out"]}, "140042456485888": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042469021776": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042472914080"}]}, "140042741103552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486336"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "b", "out"]}, "140042456486336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741104000": {"type": "Function", "typeVars": [".-1.140042741104000"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486672"}, {"nodeId": ".-1.140042741104000"}], "returnType": {"nodeId": ".-1.140042741104000"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "b", "out"]}, "140042456486672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042741104000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741104000", "variance": "INVARIANT"}, "140042741268544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456484880"}]}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042456484880": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741268992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456486896"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456487008"}, {"nodeId": "140042456487120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "kth", "axis", "kind", "order"]}, "140042456486896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042741269440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487456"}, {"nodeId": "140042456486784"}, {"nodeId": "140042456487232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ind", "v", "mode"]}, "140042456487456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456486784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456487232": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042456486000": {"type": "Overloaded", "items": [{"nodeId": "140042741269888"}, {"nodeId": "140042741270336"}]}, "140042741269888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487344"}, {"nodeId": "140042456487680"}, {"nodeId": "140042456488016"}], "returnType": {"nodeId": "140042456488128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "v", "side", "sorter"]}, "140042456487344": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042456487680": {"type": "TypeAlias", "target": {"nodeId": "140042473109904"}}, "140042473109904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042456488016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456487904"}]}, "140042456487904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488128": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741270336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456487568"}, {"nodeId": "140042456488464"}, {"nodeId": "140042456488576"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042456488800"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "v", "side", "sorter"]}, "140042456487568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488464": {"type": "TypeAlias", "target": {"nodeId": "140042473109904"}}, "140042456488576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456488352"}]}, "140042456488352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456488800": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042741270784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456488912"}, {"nodeId": "140042456489024"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "val", "dtype", "offset"]}, "140042456488912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456489024": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741271232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042456489248"}, {"nodeId": "140042456489136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order"]}, "140042456489248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042456489920"}]}, "140042456489920": {"type": "TypeAlias", "target": {"nodeId": "140042473109792"}}, "140042456489136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042456487792": {"type": "Overloaded", "items": [{"nodeId": "140042741271680"}, {"nodeId": "140042741272128"}]}, "140042741271680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456490480"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042456490480": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741272128": {"type": "Function", "typeVars": [".-1.140042741272128"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042577727152"}, {"nodeId": "140042456490592"}, {"nodeId": ".-1.140042741272128"}], "returnType": {"nodeId": ".-1.140042741272128"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042456490592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042741272128": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741272128", "variance": "INVARIANT"}, "140042456489808": {"type": "Overloaded", "items": [{"nodeId": "140042456390496"}, {"nodeId": "140042741273024"}, {"nodeId": "140042741273472"}]}, "140042456390496": {"type": "Function", "typeVars": [".-1.140042456390496"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042456390496"}]}]}, {"nodeId": "140042456488240"}, {"nodeId": "140042456489360"}, {"nodeId": "N"}, {"nodeId": "140042456490256"}], "returnType": {"nodeId": ".-1.140042456390496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, ".-1.140042456390496": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042456390496", "variance": "INVARIANT"}, "140042456488240": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042456489360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456490256": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456490144"}, {"nodeId": "140042456490368"}, {"nodeId": "N"}, {"nodeId": "140042456491264"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042456490144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456490368": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042456491264": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273472": {"type": "Function", "typeVars": [".-1.140042741273472"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456490928"}, {"nodeId": "140042456491040"}, {"nodeId": ".-1.140042741273472"}, {"nodeId": "140042456490816"}], "returnType": {"nodeId": ".-1.140042741273472"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042456490928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456491040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, ".-1.140042741273472": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741273472", "variance": "INVARIANT"}, "140042456490816": {"type": "TypeAlias", "target": {"nodeId": "140042473109008"}}, "140042741273920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456491376"}, {"nodeId": "140042456489472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repeats", "axis"]}, "140042456491376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456489472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577727152"}]}, "140042741274368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456491824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456491824": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042741274816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456492160"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042456492160": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456489584": {"type": "Overloaded", "items": [{"nodeId": "140042741275264"}, {"nodeId": "140042741275712"}]}, "140042741275264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456492048"}, {"nodeId": "140042456491600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": [null, null, "order"]}, "140042456492048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042456491600": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042741275712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042577727152"}, {"nodeId": "140042456492720"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042472913744"}]}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "order"]}, "140042456492720": {"type": "TypeAlias", "target": {"nodeId": "140042473108224"}}, "140042456492272": {"type": "Overloaded", "items": [{"nodeId": "140042741276160"}, {"nodeId": "140042741276608"}]}, "140042741276160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}, {"nodeId": "140042456492496"}, {"nodeId": "140042456493056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456493168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042456492496": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456493056": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042456493168": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042741276608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456493728"}, {"nodeId": "140042456492944"}, {"nodeId": "140042456493392"}, {"nodeId": "140042782776944"}, {"nodeId": "140042456493504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "order", "casting", "subok", "copy"]}, "140042456493728": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456492944": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042456493392": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042456493504": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042468234896"}]}, "140042456492832": {"type": "Overloaded", "items": [{"nodeId": "140042741277056"}, {"nodeId": "140042741277504"}, {"nodeId": "140042741277952"}, {"nodeId": "140042741278400"}, {"nodeId": "140042741278848"}]}, "140042741277056": {"type": "Function", "typeVars": [".-1.140042741277056"], "argTypes": [{"nodeId": ".-1.140042741277056"}], "returnType": {"nodeId": ".-1.140042741277056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042741277056": {"type": "TypeVar", "varName": "_ArraySelf", "values": [], "upperBound": {"nodeId": "140042472912400"}, "def": "140042741277056", "variance": "INVARIANT"}, "140042741277504": {"type": "Function", "typeVars": [".-1.140042741277504"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042741277504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "type"]}, ".-1.140042741277504": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741277504", "variance": "INVARIANT"}, "140042741277952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042741278400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456493840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042456493840": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042741278848": {"type": "Function", "typeVars": [".-1.140042741278848"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456495520"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042741278848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "dtype", "type"]}, "140042456495520": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042741278848": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042741278848", "variance": "INVARIANT"}, "140042456494288": {"type": "Overloaded", "items": [{"nodeId": "140042741279296"}, {"nodeId": "140042741279744"}]}, "140042741279296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "0"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042741279744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "140042456494960"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype", "offset"]}, "140042456494960": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042456391168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577725808"}]}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577726144"}]}]}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577726480"}]}]}], "returnType": {"nodeId": "140042577366368"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042456393632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042577727152"}]}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042741281984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741353456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042741282432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741282880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456495184": {"type": "Overloaded", "items": [{"nodeId": "140042456393856"}, {"nodeId": "140042741283776"}, {"nodeId": "140042741284224"}, {"nodeId": "140042741416000"}, {"nodeId": "140042741416448"}]}, "140042456393856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042456496640"}, {"nodeId": "140042456495072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456496640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456495072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741283776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042456495744"}, {"nodeId": "140042456496304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456495744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456496304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741284224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456496528"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456496528": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741416000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741416448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042456497760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042456497760": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042463970240": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468229520"}]}]}]}]}, "140042456496864": {"type": "Overloaded", "items": [{"nodeId": "140042456392736"}, {"nodeId": "140042741417344"}, {"nodeId": "140042741417792"}, {"nodeId": "140042741418240"}, {"nodeId": "140042741418688"}]}, "140042456392736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451370048"}, {"nodeId": "140042451370160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451370160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741417344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451370496"}, {"nodeId": "140042451370608"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451370608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741417792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451370944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451370944": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741418240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741418688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451371616"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451371616": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456496976": {"type": "Overloaded", "items": [{"nodeId": "140042456394080"}, {"nodeId": "140042741419584"}, {"nodeId": "140042741420032"}, {"nodeId": "140042741420480"}, {"nodeId": "140042741420928"}]}, "140042456394080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451371952"}, {"nodeId": "140042451372064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451371952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451372064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741419584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451372512"}, {"nodeId": "140042451371840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451372512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451371840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741420032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451372400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451372400": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741420480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741420928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451373520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451373520": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456414720": {"type": "Overloaded", "items": [{"nodeId": "140042456394304"}, {"nodeId": "140042741421824"}, {"nodeId": "140042741422272"}, {"nodeId": "140042741422720"}, {"nodeId": "140042741423168"}]}, "140042456394304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451373856"}, {"nodeId": "140042451373968"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451373856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451373968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741421824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451374416"}, {"nodeId": "140042451373744"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451374416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451373744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741422272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451374304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451374304": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741422720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741423168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451375424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451375424": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451372736": {"type": "Overloaded", "items": [{"nodeId": "140042456394528"}, {"nodeId": "140042741424064"}, {"nodeId": "140042741424512"}, {"nodeId": "140042741424960"}, {"nodeId": "140042741425408"}]}, "140042456394528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741424960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741425408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451374640": {"type": "Overloaded", "items": [{"nodeId": "140042456394752"}, {"nodeId": "140042741426304"}, {"nodeId": "140042741426752"}]}, "140042456394752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741426304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741426752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451375648": {"type": "Overloaded", "items": [{"nodeId": "140042456392960"}, {"nodeId": "140042741427648"}, {"nodeId": "140042741428096"}]}, "140042456392960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741427648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741428096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451376880": {"type": "Overloaded", "items": [{"nodeId": "140042456395200"}, {"nodeId": "140042741428992"}, {"nodeId": "140042741429440"}]}, "140042456395200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741428992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042741429440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042451377664": {"type": "Overloaded", "items": [{"nodeId": "140042456395424"}, {"nodeId": "140042741430336"}, {"nodeId": "140042741430784"}, {"nodeId": "140042741431232"}, {"nodeId": "140042741431680"}, {"nodeId": "140042741563456"}, {"nodeId": "140042741563904"}, {"nodeId": "140042741564352"}]}, "140042456395424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451379456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451379456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741430336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451379680"}, {"nodeId": "140042451379792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451379680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451379792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741430784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451380240"}, {"nodeId": "140042451379232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451380240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451379232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741431232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451380800"}, {"nodeId": "140042451380128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451380800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451380128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741431680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451381248"}, {"nodeId": "140042451380688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451381248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451380688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741563456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451381584"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451381584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741563904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741564352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451382704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451382704": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451378448": {"type": "Overloaded", "items": [{"nodeId": "140042456394976"}, {"nodeId": "140042741565248"}, {"nodeId": "140042741565696"}, {"nodeId": "140042741566144"}, {"nodeId": "140042741566592"}, {"nodeId": "140042741567040"}, {"nodeId": "140042741567488"}, {"nodeId": "140042741567936"}]}, "140042456394976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451383152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741565248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451383376"}, {"nodeId": "140042451383488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451383488": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741565696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451383936"}, {"nodeId": "140042451382928"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451383936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451382928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741566144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451384496"}, {"nodeId": "140042451383824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451384496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451383824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741566592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451384944"}, {"nodeId": "140042451384384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451384944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451384384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741567040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451385280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451385280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741567488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741567936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451419312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451419312": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451382256": {"type": "Overloaded", "items": [{"nodeId": "140042456395872"}, {"nodeId": "140042741568832"}, {"nodeId": "140042741569280"}, {"nodeId": "140042741569728"}, {"nodeId": "140042741570176"}, {"nodeId": "140042741570624"}, {"nodeId": "140042741571072"}]}, "140042456395872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451419760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451419760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741568832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451420096"}, {"nodeId": "140042451420208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451420096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451420208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741569280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451420656"}, {"nodeId": "140042451419536"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451420656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451419536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741569728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451421216"}, {"nodeId": "140042451420544"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451421216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451420544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741570176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451421664"}, {"nodeId": "140042451421104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451421664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451421104": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042741570624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741571072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451422336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451422336": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042456497984": {"type": "Overloaded", "items": [{"nodeId": "140042456396320"}, {"nodeId": "140042741571968"}, {"nodeId": "140042741572416"}, {"nodeId": "140042741572864"}, {"nodeId": "140042741573312"}, {"nodeId": "140042741573760"}, {"nodeId": "140042741574208"}]}, "140042456396320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451422784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451422784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741571968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451423120"}, {"nodeId": "140042451423232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451423120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451423232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741572416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451423680"}, {"nodeId": "140042451422560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451423680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451422560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741572864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451424240"}, {"nodeId": "140042451423568"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451424240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451423568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741573312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451424688"}, {"nodeId": "140042451424128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451424688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451424128": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042741573760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741574208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451425360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451425360": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451421552": {"type": "Overloaded", "items": [{"nodeId": "140042456396544"}, {"nodeId": "140042741575104"}, {"nodeId": "140042741575552"}, {"nodeId": "140042741576000"}, {"nodeId": "140042741576448"}]}, "140042456396544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451425808"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451425808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741575104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451426256"}, {"nodeId": "140042451426368"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451426256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451426368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741575552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451426928"}, {"nodeId": "140042451425584"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451426928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451425584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741576000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451427600"}, {"nodeId": "140042451426816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451427600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451426816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741576448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451428160"}, {"nodeId": "140042451427488"}], "returnType": {"nodeId": "140042451428608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451428160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451427488": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042451428608": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451424576": {"type": "Overloaded", "items": [{"nodeId": "140042456396096"}, {"nodeId": "140042741577344"}, {"nodeId": "140042741577792"}, {"nodeId": "140042741578240"}, {"nodeId": "140042741578688"}]}, "140042456396096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451428944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451428944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741577344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451429392"}, {"nodeId": "140042451429504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451429392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451429504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741577792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451430064"}, {"nodeId": "140042451428720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451430064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451428720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741578240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451430736"}, {"nodeId": "140042451429952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451430736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451429952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741578688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451431296"}, {"nodeId": "140042451430624"}], "returnType": {"nodeId": "140042451431744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042451431296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451430624": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042451431744": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042451428048": {"type": "Overloaded", "items": [{"nodeId": "140042456396768"}, {"nodeId": "140042741710912"}, {"nodeId": "140042741711360"}, {"nodeId": "140042741711808"}, {"nodeId": "140042741712256"}, {"nodeId": "140042741712704"}, {"nodeId": "140042741713152"}, {"nodeId": "140042741713600"}, {"nodeId": "140042741714048"}, {"nodeId": "140042741714496"}, {"nodeId": "140042741714944"}]}, "140042456396768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451432080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741710912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451432304"}, {"nodeId": "140042451432416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451432416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741711360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451432864"}, {"nodeId": "140042451431856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451432864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451431856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741711808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451433424"}, {"nodeId": "140042451432752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451433424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451432752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741712256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451433872"}, {"nodeId": "140042451433312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451433872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451433312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741712704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451434208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451434208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741713152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451434992"}, {"nodeId": "140042451434320"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451434992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451434320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741713600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451435328"}, {"nodeId": "140042451434880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451435328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451434880": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741714048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451484848"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451484848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741714496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741714944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451485632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451485632": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451431184": {"type": "Overloaded", "items": [{"nodeId": "140042456396992"}, {"nodeId": "140042741715840"}, {"nodeId": "140042741716288"}, {"nodeId": "140042741716736"}, {"nodeId": "140042741717184"}, {"nodeId": "140042741717632"}, {"nodeId": "140042741718080"}, {"nodeId": "140042741718528"}, {"nodeId": "140042741718976"}, {"nodeId": "140042741719424"}, {"nodeId": "140042741719872"}]}, "140042456396992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451486080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741715840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451486304"}, {"nodeId": "140042451486416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451486416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741716288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451486864"}, {"nodeId": "140042451485856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451486864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451485856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741716736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451487424"}, {"nodeId": "140042451486752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451487424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451486752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741717184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451487872"}, {"nodeId": "140042451487312"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451487872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451487312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741717632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451488208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451488208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741718080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451488992"}, {"nodeId": "140042451488320"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451488992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451488320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741718528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451489328"}, {"nodeId": "140042451488880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451489328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451488880": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741718976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451489552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451489552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741719424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741719872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451490336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451490336": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451385952": {"type": "Overloaded", "items": [{"nodeId": "140042456397216"}, {"nodeId": "140042741720768"}, {"nodeId": "140042741721216"}, {"nodeId": "140042741721664"}, {"nodeId": "140042741722112"}, {"nodeId": "140042741722560"}, {"nodeId": "140042741723008"}, {"nodeId": "140042741723456"}, {"nodeId": "140042741723904"}, {"nodeId": "140042741724352"}, {"nodeId": "140042741724800"}, {"nodeId": "140042741725248"}]}, "140042456397216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451490784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451490784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741720768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451491232"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741721216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451491344"}, {"nodeId": "140042451491456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451491456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741721664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451491904"}, {"nodeId": "140042451490560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451491904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451490560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741722112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451492464"}, {"nodeId": "140042451491792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451492464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451491792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741722560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451492912"}, {"nodeId": "140042451492352"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451492912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451492352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451493248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451493248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451494032"}, {"nodeId": "140042451493360"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451494032": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451493360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741723904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451493920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451493920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741724352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451494256"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451494256": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042741724800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042741725248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451495376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451495376": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451489888": {"type": "Overloaded", "items": [{"nodeId": "140042456395648"}, {"nodeId": "140042741726144"}, {"nodeId": "140042741726592"}, {"nodeId": "140042736631872"}, {"nodeId": "140042736632320"}, {"nodeId": "140042736632768"}, {"nodeId": "140042736633216"}, {"nodeId": "140042736633664"}, {"nodeId": "140042736634112"}, {"nodeId": "140042736634560"}, {"nodeId": "140042736635008"}, {"nodeId": "140042736635456"}]}, "140042456395648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451495824"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451495824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741726144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451496272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042741726592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451496384"}, {"nodeId": "140042451496496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451496496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736631872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451496944"}, {"nodeId": "140042451495600"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451496944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451495600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736632320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451497504"}, {"nodeId": "140042451496832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451497504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451496832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736632768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451497952"}, {"nodeId": "140042451497392"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451497952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451497392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736633216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451498288"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451498288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736633664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451499072"}, {"nodeId": "140042451498400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451498400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736634112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451499408"}, {"nodeId": "140042451498960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451498960": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042736634560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451499632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451499632": {"type": "TypeAlias", "target": {"nodeId": "140042463969792"}}, "140042736635008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736635456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451500416"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451500416": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451494592": {"type": "Overloaded", "items": [{"nodeId": "140042456397664"}, {"nodeId": "140042736636352"}, {"nodeId": "140042736636800"}, {"nodeId": "140042736637248"}, {"nodeId": "140042736637696"}, {"nodeId": "140042736638144"}, {"nodeId": "140042736638592"}, {"nodeId": "140042736639040"}, {"nodeId": "140042736639488"}, {"nodeId": "140042736639936"}]}, "140042456397664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451500864"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451500864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736636352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451534000"}, {"nodeId": "140042451534112"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451534000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451534112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736636800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451534448"}, {"nodeId": "140042451534560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451534448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451534560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736637248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451535008"}, {"nodeId": "140042451535120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451535120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736637696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451535456"}, {"nodeId": "140042451535568"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451535568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736638144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451535904"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451535904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736638592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451536576"}, {"nodeId": "140042451536688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451536576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451536688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736639040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451536912"}, {"nodeId": "140042451537024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451536912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451537024": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736639488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736639936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451537696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451537696": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451499296": {"type": "Overloaded", "items": [{"nodeId": "140042456398112"}, {"nodeId": "140042736640832"}, {"nodeId": "140042736641280"}, {"nodeId": "140042736641728"}, {"nodeId": "140042736642176"}, {"nodeId": "140042736642624"}, {"nodeId": "140042736643072"}, {"nodeId": "140042736643520"}, {"nodeId": "140042736643968"}, {"nodeId": "140042736644416"}]}, "140042456398112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451538144"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736640832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451538368"}, {"nodeId": "140042451538480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451538480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736641280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451538928"}, {"nodeId": "140042451537920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451538928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451537920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736641728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451539488"}, {"nodeId": "140042451538816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451539488": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451538816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736642176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451539936"}, {"nodeId": "140042451539376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451539936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451539376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736642624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451540272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451540272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451541056"}, {"nodeId": "140042451540384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451541056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451540384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451541392"}, {"nodeId": "140042451540944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451541392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451540944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736643968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736644416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451542064"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542064": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451435216": {"type": "Overloaded", "items": [{"nodeId": "140042456398336"}, {"nodeId": "140042736645312"}, {"nodeId": "140042736645760"}, {"nodeId": "140042736646208"}, {"nodeId": "140042736646656"}, {"nodeId": "140042736647104"}, {"nodeId": "140042736647552"}, {"nodeId": "140042736746560"}, {"nodeId": "140042736747008"}]}, "140042456398336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451542512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736645312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451542848"}, {"nodeId": "140042451542960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451542848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451542960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736645760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451543408"}, {"nodeId": "140042451542288"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451542288": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736646208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451543968"}, {"nodeId": "140042451543296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451543296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451543856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451543856": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736647104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451544752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451544752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736647552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451544976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451544976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736746560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736747008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451545760"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451545760": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451541616": {"type": "Overloaded", "items": [{"nodeId": "140042456397888"}, {"nodeId": "140042736747904"}, {"nodeId": "140042736748352"}, {"nodeId": "140042736748800"}, {"nodeId": "140042736749248"}, {"nodeId": "140042736749696"}, {"nodeId": "140042736750144"}, {"nodeId": "140042736750592"}, {"nodeId": "140042736751040"}]}, "140042456397888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451546208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451546208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736747904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451546544"}, {"nodeId": "140042451546656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451546544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451546656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736748352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451547104"}, {"nodeId": "140042451545984"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451545984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736748800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451547664"}, {"nodeId": "140042451546992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451546992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736749248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451547552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451547552": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736749696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451548448"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451548448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736750144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451548784"}, {"nodeId": "140042451548000"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451548784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451548000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736750592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736751040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451549456"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451549456": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451545312": {"type": "Overloaded", "items": [{"nodeId": "140042456398560"}, {"nodeId": "140042736751936"}, {"nodeId": "140042736752384"}, {"nodeId": "140042736752832"}, {"nodeId": "140042736753280"}, {"nodeId": "140042736753728"}, {"nodeId": "140042736754176"}, {"nodeId": "140042736754624"}]}, "140042456398560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451549904"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451549904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736751936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451599536"}, {"nodeId": "140042451599648"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451599536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451599648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736752384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451599984"}, {"nodeId": "140042451600096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451599984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451600096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736752832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451600544"}, {"nodeId": "140042451600656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451600544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451600656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736753280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451600992"}, {"nodeId": "140042451601104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451600992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451601104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736753728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451601440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451601440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736754176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736754624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451602560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451602560": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451549008": {"type": "Overloaded", "items": [{"nodeId": "140042456397440"}, {"nodeId": "140042736755520"}, {"nodeId": "140042736755968"}, {"nodeId": "140042736756416"}, {"nodeId": "140042736756864"}, {"nodeId": "140042736757312"}, {"nodeId": "140042736757760"}, {"nodeId": "140042736758208"}]}, "140042456397440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451603008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736755520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451603344"}, {"nodeId": "140042451603456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451603456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736755968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451603904"}, {"nodeId": "140042451602784"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451603904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451602784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736756416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451604464"}, {"nodeId": "140042451603792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451604464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451603792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736756864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451604912"}, {"nodeId": "140042451604352"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451604912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451604352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736757312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451605248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451605248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736757760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736758208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451606368"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451606368": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451500640": {"type": "Overloaded", "items": [{"nodeId": "140042456399008"}, {"nodeId": "140042736759104"}, {"nodeId": "140042736759552"}, {"nodeId": "140042736760000"}, {"nodeId": "140042736760448"}, {"nodeId": "140042736760896"}, {"nodeId": "140042736761344"}, {"nodeId": "140042736761792"}, {"nodeId": "140042736762240"}]}, "140042456399008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451606704"}, {"nodeId": "140042451606816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451606704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451606816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736759104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451607152"}, {"nodeId": "140042451607264"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451607152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451607264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736759552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451607824"}, {"nodeId": "140042451606592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451607824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451606592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736760000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451608160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451608160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736760448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451608272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451608272": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736760896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451609280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451609280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736761344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451609504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451609504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736761792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736762240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451610288"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451610288": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451605920": {"type": "Overloaded", "items": [{"nodeId": "140042456398784"}, {"nodeId": "140042456399456"}, {"nodeId": "140042736910848"}, {"nodeId": "140042736911296"}, {"nodeId": "140042736911744"}, {"nodeId": "140042736912192"}, {"nodeId": "140042736912640"}, {"nodeId": "140042736913088"}, {"nodeId": "140042736913536"}]}, "140042456398784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451610624"}, {"nodeId": "140042451610736"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451610624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451610736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451611072"}, {"nodeId": "140042451611184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451611072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451611184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736910848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451611744"}, {"nodeId": "140042451610512"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451611744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451610512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736911296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451612080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451612080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736911744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451612192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451612192": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042736912192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451613200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451613200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736912640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451613536"}, {"nodeId": "140042451612752"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451613536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451612752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736913088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736913536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451614208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614208": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451609840": {"type": "Overloaded", "items": [{"nodeId": "140042736913984"}, {"nodeId": "140042456399232"}, {"nodeId": "140042736914880"}, {"nodeId": "140042736915328"}, {"nodeId": "140042736915776"}]}, "140042736913984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451614656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042456399232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451614992"}, {"nodeId": "140042451615104"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451614992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451615104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736914880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451615552"}, {"nodeId": "140042451614432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451615552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451614432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736915328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736915776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451665744"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451665744": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451613760": {"type": "Overloaded", "items": [{"nodeId": "140042736916224"}, {"nodeId": "140042736917120"}, {"nodeId": "140042736917568"}, {"nodeId": "140042736918016"}, {"nodeId": "140042736918464"}]}, "140042736916224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451666192"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451666192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736917120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451666528"}, {"nodeId": "140042451666640"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451666528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451666640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736917568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451667088"}, {"nodeId": "140042451665968"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451667088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451665968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736918016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736918464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451667984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451667984": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451549680": {"type": "Overloaded", "items": [{"nodeId": "140042451697952"}, {"nodeId": "140042736919360"}, {"nodeId": "140042736919808"}, {"nodeId": "140042736920256"}, {"nodeId": "140042736920704"}]}, "140042451697952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451668432"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451668432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736919360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451668768"}, {"nodeId": "140042451668880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451668768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451668880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736919808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451669328"}, {"nodeId": "140042451668208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451669328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451668208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736920256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736920704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451670224"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451670224": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451667536": {"type": "Overloaded", "items": [{"nodeId": "140042451698176"}, {"nodeId": "140042736921600"}, {"nodeId": "140042736922048"}, {"nodeId": "140042736922496"}, {"nodeId": "140042736922944"}]}, "140042451698176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451670672"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451670672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736921600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451671008"}, {"nodeId": "140042451671120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451671008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451671120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736922048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451671568"}, {"nodeId": "140042451670448"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451671568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451670448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736922496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736922944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451672464"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451672464": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451669776": {"type": "Overloaded", "items": [{"nodeId": "140042451698400"}, {"nodeId": "140042736923840"}, {"nodeId": "140042736924288"}, {"nodeId": "140042736924736"}, {"nodeId": "140042736925184"}]}, "140042451698400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451672912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451672912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736923840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451673136"}, {"nodeId": "140042451673248"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451673136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451673248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736924288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451673696"}, {"nodeId": "140042451672688"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451673696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451672688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736924736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042736925184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451674592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451674592": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451672016": {"type": "Overloaded", "items": [{"nodeId": "140042451698624"}, {"nodeId": "140042736926080"}, {"nodeId": "140042737057856"}, {"nodeId": "140042737058304"}, {"nodeId": "140042737058752"}]}, "140042451698624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451675040"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042736926080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451675264"}, {"nodeId": "140042451675376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451675376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737057856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451675824"}, {"nodeId": "140042451674816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451675824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451674816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737058304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737058752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451676720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451676720": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451674144": {"type": "Overloaded", "items": [{"nodeId": "140042451698848"}, {"nodeId": "140042737059648"}, {"nodeId": "140042737060096"}, {"nodeId": "140042737060544"}, {"nodeId": "140042737060992"}]}, "140042451698848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451677168"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737059648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451677392"}, {"nodeId": "140042451677504"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451677504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737060096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451677952"}, {"nodeId": "140042451676944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451677952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451676944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737060544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737060992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451678848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451678848": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451676272": {"type": "Overloaded", "items": [{"nodeId": "140042451699072"}, {"nodeId": "140042737061888"}, {"nodeId": "140042737062336"}, {"nodeId": "140042737062784"}, {"nodeId": "140042737063232"}]}, "140042451699072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451679296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451679296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737061888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451679520"}, {"nodeId": "140042451679632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451679520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451679632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737062336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451680080"}, {"nodeId": "140042451679072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451679072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737062784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737063232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451680976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680976": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451678400": {"type": "Overloaded", "items": [{"nodeId": "140042451699296"}, {"nodeId": "140042737064128"}, {"nodeId": "140042737064576"}, {"nodeId": "140042737065024"}, {"nodeId": "140042737065472"}]}, "140042451699296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451714336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451714336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737064128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451714560"}, {"nodeId": "140042451714672"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451714560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451714672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737064576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451715120"}, {"nodeId": "140042451714112"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451715120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451714112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737065024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737065472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451716016"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716016": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451615440": {"type": "Overloaded", "items": [{"nodeId": "140042451699520"}, {"nodeId": "140042737066368"}, {"nodeId": "140042737066816"}, {"nodeId": "140042737067264"}, {"nodeId": "140042737067712"}]}, "140042451699520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451716464"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737066368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451716688"}, {"nodeId": "140042451716800"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451716688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451716800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737066816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042451717248"}, {"nodeId": "140042451716240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451717248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451716240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737067264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042737067712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451718144"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451718144": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042451715568": {"type": "Overloaded", "items": [{"nodeId": "140042451699744"}, {"nodeId": "140042737068608"}, {"nodeId": "140042737069056"}, {"nodeId": "140042737069504"}, {"nodeId": "140042737069952"}, {"nodeId": "140042737070400"}, {"nodeId": "140042737070848"}, {"nodeId": "140042737071296"}]}, "140042451699744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451718592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451718592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737068608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719152": {"type": "Union", "items": [{"nodeId": "140042451718928"}, {"nodeId": "140042451719040"}]}, "140042451718928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451719040": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737069056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737069504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451719712"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451719712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737069952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720048"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737070400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720384"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737070848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451720608"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451720608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737071296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451717696": {"type": "Overloaded", "items": [{"nodeId": "140042451699968"}, {"nodeId": "140042737072192"}, {"nodeId": "140042737072640"}, {"nodeId": "140042737073088"}, {"nodeId": "140042737073536"}, {"nodeId": "140042737221696"}, {"nodeId": "140042737222144"}]}, "140042451699968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451721840"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451721840": {"type": "Union", "items": [{"nodeId": "140042451721616"}, {"nodeId": "140042451721728"}]}, "140042451721616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451721728": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737072192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737072640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737073088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451722736"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451722736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737073536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451723072"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737221696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451723296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737222144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451721168": {"type": "Overloaded", "items": [{"nodeId": "140042451700416"}, {"nodeId": "140042737223040"}, {"nodeId": "140042737223488"}, {"nodeId": "140042737223936"}, {"nodeId": "140042737224384"}, {"nodeId": "140042737224832"}, {"nodeId": "140042737225280"}]}, "140042451700416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451724304"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451724304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737223040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451724864"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451724864": {"type": "Union", "items": [{"nodeId": "140042451724640"}, {"nodeId": "140042451724752"}]}, "140042451724640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451724752": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737223488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725088"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737223936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737224384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451725760"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451725760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737224832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451726096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737225280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451723856": {"type": "Overloaded", "items": [{"nodeId": "140042451700640"}, {"nodeId": "140042737226176"}, {"nodeId": "140042737226624"}, {"nodeId": "140042737227072"}, {"nodeId": "140042737227520"}]}, "140042451700640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451726992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737226176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727216"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737226624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727552"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737227072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451727888"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451727888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737227520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451726544": {"type": "Overloaded", "items": [{"nodeId": "140042451700192"}, {"nodeId": "140042737228416"}, {"nodeId": "140042737228864"}, {"nodeId": "140042737229312"}, {"nodeId": "140042737229760"}, {"nodeId": "140042737230208"}, {"nodeId": "140042737230656"}]}, "140042451700192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451728896"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451728896": {"type": "Union", "items": [{"nodeId": "140042451728672"}, {"nodeId": "140042451728784"}]}, "140042451728672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451728784": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737228416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737228864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729456"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737229312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451729792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451729792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737229760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451730240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451730240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737230208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451828912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451828912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737230656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451728224": {"type": "Overloaded", "items": [{"nodeId": "140042451701088"}, {"nodeId": "140042737231552"}, {"nodeId": "140042737232000"}, {"nodeId": "140042737232448"}, {"nodeId": "140042737232896"}]}, "140042451701088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451829920"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451829920": {"type": "Union", "items": [{"nodeId": "140042451829696"}, {"nodeId": "140042451829808"}]}, "140042451829696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451829808": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737231552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830144"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451830816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451830816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737232896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451680528": {"type": "Overloaded", "items": [{"nodeId": "140042451697728"}, {"nodeId": "140042737233792"}, {"nodeId": "140042737234240"}, {"nodeId": "140042737234688"}, {"nodeId": "140042737235136"}]}, "140042451697728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451831936"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451831936": {"type": "Union", "items": [{"nodeId": "140042451831712"}, {"nodeId": "140042451831824"}]}, "140042451831712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451831824": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737233792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832160"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737234240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737234688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451832832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451832832": {"type": "Union", "items": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042472657904", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468231200"}]}]}]}]}, "140042737235136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451831376": {"type": "Overloaded", "items": [{"nodeId": "140042451701312"}, {"nodeId": "140042737236032"}, {"nodeId": "140042737236480"}]}, "140042451701312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451833952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451833952": {"type": "Union", "items": [{"nodeId": "140042451833728"}, {"nodeId": "140042451833840"}]}, "140042451833728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451833840": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737236032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451834176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451834176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737236480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451833056": {"type": "Overloaded", "items": [{"nodeId": "140042451700864"}, {"nodeId": "140042737237376"}, {"nodeId": "140042737401920"}]}, "140042451700864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451835296"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451835296": {"type": "Union", "items": [{"nodeId": "140042451835072"}, {"nodeId": "140042451835184"}]}, "140042451835072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451835184": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737237376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451835520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451835520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737401920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451834736": {"type": "Overloaded", "items": [{"nodeId": "140042451701760"}, {"nodeId": "140042737402816"}, {"nodeId": "140042737403264"}, {"nodeId": "140042737403712"}]}, "140042451701760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451836416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737402816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451836976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836976": {"type": "Union", "items": [{"nodeId": "140042451836752"}, {"nodeId": "140042451836864"}]}, "140042451836752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451836864": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737403264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451837200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451837200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737403712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451836080": {"type": "Overloaded", "items": [{"nodeId": "140042451702208"}, {"nodeId": "140042737404608"}, {"nodeId": "140042737405056"}, {"nodeId": "140042737405504"}]}, "140042451702208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737404608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838656": {"type": "Union", "items": [{"nodeId": "140042451838432"}, {"nodeId": "140042451838544"}]}, "140042451838432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451838544": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737405056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451838880"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451838880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737405504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451837760": {"type": "Overloaded", "items": [{"nodeId": "140042451702432"}, {"nodeId": "140042737406400"}, {"nodeId": "140042737406848"}, {"nodeId": "140042737407296"}]}, "140042451702432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451839776"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451839776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737406400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451840336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451840336": {"type": "Union", "items": [{"nodeId": "140042451840112"}, {"nodeId": "140042451840224"}]}, "140042451840112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042451840224": {"type": "TypeAlias", "target": {"nodeId": "140042469021328"}}, "140042737406848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042451840560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451840560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042737407296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451702656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042451841456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "stream"]}, "140042451841456": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042737408192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": "140042451841792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042451841792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042426513696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042472913744"}, {"nodeId": ".2.140042472913744"}]}], "returnType": {"nodeId": ".2.140042472913744"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716337024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": ".1.140042472911056"}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "array", "ptr"]}, ".1.140042472911056": {"type": "TypeVar", "varName": "_PT", "values": [], "upperBound": {"nodeId": "140042473101280"}, "def": "140042472911056", "variance": "INVARIANT"}, "140042473101280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042430403008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": ".1.140042472911056"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430410176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": "140042573909344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569633120": {"type": "Concrete", "module": "ctypes", "simpleName": "Array", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556255120"}, "items": [{"kind": "Variable", "name": "_length_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523239680"}}, {"kind": "Variable", "name": "_length_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_length_"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556255232"}, "items": [{"kind": "Variable", "name": "_type_", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523240128"}}, {"kind": "Variable", "name": "_type_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "_type_"}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657189216"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556256800"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556256912"}, "items": [{"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__setitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657191456"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657191904"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657192352"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042569633120"}], "bases": [{"nodeId": "140042573739200"}], "isAbstract": true}, "140042556255120": {"type": "Overloaded", "items": [{"nodeId": "140042657187424"}]}, "140042657187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569633120": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042569633120", "variance": "INVARIANT"}, "140042523239680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556255232": {"type": "Overloaded", "items": [{"nodeId": "140042657188320"}]}, "140042657188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042523240128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657189216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042556256800": {"type": "Overloaded", "items": [{"nodeId": "140042657189664"}, {"nodeId": "140042657190112"}]}, "140042657189664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042657190112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042556256912": {"type": "Overloaded", "items": [{"nodeId": "140042657190560"}, {"nodeId": "140042657191008"}]}, "140042657190560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042657191008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}, {"nodeId": "140042577368048"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042657191456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042657191904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569633120", "args": [{"nodeId": ".1.140042569633120"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042657192352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042573909344": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int64", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042430407264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": "140042573909344"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042430404128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}], "returnType": {"nodeId": "140042573914384"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573914384": {"type": "Concrete", "module": "ctypes", "simpleName": "c_void_p", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569662528"}]}], "isAbstract": false}, "140042569662528": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042716339264": {"type": "Function", "typeVars": [".-1.140042716339264"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042716339264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716339264": {"type": "TypeVar", "varName": "_CastT", "values": [], "upperBound": {"nodeId": "140042573739536"}, "def": "140042716339264", "variance": "INVARIANT"}, "140042716339712": {"type": "Function", "typeVars": [".-1.140042716339712"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": ".-1.140042716339712"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716339712": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042716339712", "variance": "INVARIANT"}, "140042716340160": {"type": "Function", "typeVars": [".-1.140042716340160"], "argTypes": [{"nodeId": "140042472911056", "args": [{"nodeId": ".1.140042472911056"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "140042569633120", "args": [{"nodeId": ".-1.140042716340160"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".-1.140042716340160": {"type": "TypeVar", "varName": "_CT", "values": [], "upperBound": {"nodeId": "140042573739200"}, "def": "140042716340160", "variance": "INVARIANT"}, "140042472658576": {"type": "Concrete", "module": "numpy._typing._array_like", "simpleName": "_UnknownType", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042468648864": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin1_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399236384"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399243776"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399244448"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399246016"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399245120"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399245344"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240192"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240640"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399241088"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399240864"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399241312"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514331152"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632074784"}, "name": "at"}], "typeVars": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399236384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".1.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468648864": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468648864", "variance": "INVARIANT"}, ".2.140042468648864": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468648864", "variance": "INVARIANT"}, ".3.140042468648864": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468648864", "variance": "INVARIANT"}, "140042399243776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".2.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399244448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": ".3.140042468648864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399246016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399245120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399245344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399241088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399240864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399241312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042514331152": {"type": "Overloaded", "items": [{"nodeId": "140042632073440"}, {"nodeId": "140042632073888"}, {"nodeId": "140042632074336"}]}, "140042632073440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042514324768"}, {"nodeId": "N"}, {"nodeId": "140042514323872"}, {"nodeId": "140042514323760"}, {"nodeId": "140042514323424"}, {"nodeId": "140042514323648"}, {"nodeId": "140042782776944"}, {"nodeId": "140042514322864"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042514324768": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042514323872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514324880"}]}, "140042514324880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514323760": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042514323424": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042514323648": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042514322864": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632073888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042514321296"}, {"nodeId": "140042514322640"}, {"nodeId": "140042514321744"}, {"nodeId": "140042514320848"}, {"nodeId": "140042514321408"}, {"nodeId": "140042514320736"}, {"nodeId": "140042782776944"}, {"nodeId": "140042514319168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042514321296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514322640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042514321072"}]}, "140042514321072": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042514321744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514321856"}]}, "140042514321856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514320848": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042514321408": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042514320736": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042514319168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632074336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042514317712"}, {"nodeId": "140042519396048"}, {"nodeId": "140042519396160"}, {"nodeId": "140042519395936"}, {"nodeId": "140042519392128"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519394928"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042468648528": {"type": "Protocol", "module": "numpy._typing._ufunc", "simpleName": "_SupportsArrayUFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "inputs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489935488"}, "name": "__array_ufunc__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_ufunc__"]}, "140042489935488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648528"}, {"nodeId": "140042468234560"}, {"nodeId": "140042514325776"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042514325776": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514317712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042514318160"}]}, "140042514318160": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042519396048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519395152"}]}, "140042519395152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519396160": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519395936": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519392128": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519394928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632074784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648864", "args": [{"nodeId": ".1.140042468648864"}, {"nodeId": ".2.140042468648864"}, {"nodeId": ".3.140042468648864"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042519390560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042519390560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468649200": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin2_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399239968"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398935392"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398933152"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398935616"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398933376"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399169696"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399166560"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514329584"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632079264"}, "name": "at"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "where", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632079712"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632080160"}, "name": "accumulate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632080608"}, "name": "reduceat"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469017632"}, "items": [{"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "outer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "outer"}], "typeVars": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399239968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".1.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649200": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649200", "variance": "INVARIANT"}, ".2.140042468649200": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649200", "variance": "INVARIANT"}, ".3.140042468649200": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649200", "variance": "INVARIANT"}, "140042398935392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".2.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398933152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": ".3.140042468649200"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398935616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042398933376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399169696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399166560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042514329584": {"type": "Overloaded", "items": [{"nodeId": "140042632078368"}, {"nodeId": "140042632078816"}]}, "140042632078368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519394032"}, {"nodeId": "140042519390784"}, {"nodeId": "N"}, {"nodeId": "140042519393584"}, {"nodeId": "140042519393696"}, {"nodeId": "140042519390896"}, {"nodeId": "140042519393472"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519390448"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042519394032": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042519390784": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042519393584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519393360"}]}, "140042519393360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519393696": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519390896": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519393472": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519390448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632078816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519389104"}, {"nodeId": "140042519389888"}, {"nodeId": "140042519389552"}, {"nodeId": "140042519387872"}, {"nodeId": "140042519388880"}, {"nodeId": "140042519388432"}, {"nodeId": "140042519388096"}, {"nodeId": "140042782776944"}, {"nodeId": "140042519386416"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042519389104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519389888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519389552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042519390000"}]}, "140042519390000": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042519387872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519389328"}]}, "140042519389328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519388880": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042519388432": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042519388096": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519386416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632079264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "0"}, {"nodeId": "140042519069408"}, {"nodeId": "140042519071424"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042519069408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519071424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042632079712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519080608"}, {"nodeId": "140042519069744"}, {"nodeId": "140042519070192"}, {"nodeId": "140042519069968"}, {"nodeId": "140042782776944"}, {"nodeId": "A"}, {"nodeId": "140042519069632"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "axis", "dtype", "out", "keepdims", "initial", "where"]}, "140042519080608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519069744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042519070416"}]}, "140042519070416": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042519070192": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042519069968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042519069632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042632080160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042519068960"}, {"nodeId": "140042577727152"}, {"nodeId": "140042519068848"}, {"nodeId": "140042523130816"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "axis", "dtype", "out"]}, "140042519068960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042519068848": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523130816": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042632080608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523128800"}, {"nodeId": "140042523129920"}, {"nodeId": "140042577727152"}, {"nodeId": "140042523130592"}, {"nodeId": "140042523129696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "array", "indices", "axis", "dtype", "out"]}, "140042523128800": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523129920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523130592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523129696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042469017632": {"type": "Overloaded", "items": [{"nodeId": "140042632081056"}, {"nodeId": "140042632081504"}]}, "140042632081056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523128128"}, {"nodeId": "140042523130256"}, {"nodeId": "N"}, {"nodeId": "140042523128352"}, {"nodeId": "140042523129808"}, {"nodeId": "140042523127344"}, {"nodeId": "140042523131152"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523127568"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": [null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523128128": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523130256": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523128352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523127904"}]}, "140042523127904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523129808": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523127344": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523131152": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523127568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632081504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649200", "args": [{"nodeId": ".1.140042468649200"}, {"nodeId": ".2.140042468649200"}, {"nodeId": ".3.140042468649200"}]}, {"nodeId": "140042523124880"}, {"nodeId": "140042523126560"}, {"nodeId": "140042523126112"}, {"nodeId": "140042523125216"}, {"nodeId": "140042523125664"}, {"nodeId": "140042523124768"}, {"nodeId": "140042523124432"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523123984"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": [null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523124880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523126560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523126112": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042523126672"}]}, "140042523126672": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042523125216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523125888"}]}, "140042523125888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523125664": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523124768": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523124432": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523123984": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468649536": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin1_Nout2", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167232"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167680"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399167904"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168128"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168352"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168800"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399169024"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399168576"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269376"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269600"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399269824"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399270048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469018528"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399167232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".1.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649536": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649536", "variance": "INVARIANT"}, ".2.140042468649536": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649536", "variance": "INVARIANT"}, ".3.140042468649536": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649536", "variance": "INVARIANT"}, "140042399167680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".2.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399167904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": ".3.140042468649536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399169024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399168576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399269824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399270048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469018528": {"type": "Overloaded", "items": [{"nodeId": "140042632382496"}, {"nodeId": "140042632382944"}, {"nodeId": "140042632383392"}]}, "140042632382496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042523122864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042523121296"}, {"nodeId": "140042523124208"}, {"nodeId": "140042523122640"}, {"nodeId": "140042523122416"}, {"nodeId": "140042782776944"}, {"nodeId": "140042523121072"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042523122864": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042523121296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042523123088"}]}, "140042523123088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523124208": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042523122640": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042523122416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042523121072": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632382944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042586311808"}, {"nodeId": "140042523120176"}, {"nodeId": "140042523119728"}, {"nodeId": "0"}, {"nodeId": "140042611572096"}, {"nodeId": "140042611565488"}, {"nodeId": "140042611565040"}, {"nodeId": "140042611566048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611567616"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042586311808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042523120176": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042523119728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611572096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611565152"}]}, "140042611565152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611565488": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611565040": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611566048": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611567616": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632383392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649536", "args": [{"nodeId": ".1.140042468649536"}, {"nodeId": ".2.140042468649536"}, {"nodeId": ".3.140042468649536"}]}, {"nodeId": "140042468648528"}, {"nodeId": "140042611568736"}, {"nodeId": "140042611566272"}, {"nodeId": "0"}, {"nodeId": "140042611569296"}, {"nodeId": "140042611568960"}, {"nodeId": "140042611568400"}, {"nodeId": "140042611570080"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611567728"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042611568736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611566272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042611569296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611569184"}]}, "140042611569184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611568960": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611568400": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611570080": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611567728": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468649872": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_UFunc_Nin2_Nout2", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399270720"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271168"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271392"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271616"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399271840"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272064"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272288"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272512"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272736"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399272960"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399273184"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399273408"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469018976"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399270720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".1.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468649872": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468649872", "variance": "INVARIANT"}, ".2.140042468649872": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468649872", "variance": "INVARIANT"}, ".3.140042468649872": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468649872", "variance": "INVARIANT"}, "140042399271168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".2.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": ".3.140042468649872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399271840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399272960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399273184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399273408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469018976": {"type": "Overloaded", "items": [{"nodeId": "140042632389216"}, {"nodeId": "140042632389664"}]}, "140042632389216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}, {"nodeId": "140042611569408"}, {"nodeId": "140042611570192"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042611569632"}, {"nodeId": "140042611569744"}, {"nodeId": "140042611569968"}, {"nodeId": "140042611572320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042611571760"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, null, "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042611569408": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042611570192": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042611569632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042611571536"}]}, "140042611571536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611569744": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042611569968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042611572320": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042611571760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632389664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468649872", "args": [{"nodeId": ".1.140042468649872"}, {"nodeId": ".2.140042468649872"}, {"nodeId": ".3.140042468649872"}]}, {"nodeId": "140042569667904"}, {"nodeId": "140042611570864"}, {"nodeId": "140042603004304"}, {"nodeId": "140042603004528"}, {"nodeId": "0"}, {"nodeId": "140042603004416"}, {"nodeId": "140042603005872"}, {"nodeId": "140042603005760"}, {"nodeId": "140042603003968"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603005648"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, null, null, "out", "where", "casting", "order", "dtype", "subok", "signature", "extobj"]}, "140042569667904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042611570864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603004304": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042603004528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042603004416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042603004640"}]}, "140042603004640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603005872": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603005760": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603003968": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603005648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468650208": {"type": "Concrete", "module": "numpy._typing._ufunc", "simpleName": "_GUFunc_Nin2_Nout1", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274080"}}, {"kind": "Variable", "name": "ntypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274528"}}, {"kind": "Variable", "name": "identity", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274752"}}, {"kind": "Variable", "name": "nin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399274976"}}, {"kind": "Variable", "name": "nout", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275200"}}, {"kind": "Variable", "name": "nargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275424"}}, {"kind": "Variable", "name": "signature", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275648"}}, {"kind": "Variable", "name": "reduce", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399275872"}}, {"kind": "Variable", "name": "accumulate", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276096"}}, {"kind": "Variable", "name": "reduceat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276320"}}, {"kind": "Variable", "name": "outer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276544"}}, {"kind": "Variable", "name": "at", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042399276768"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469020096"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}], "bases": [{"nodeId": "140042468234560"}], "isAbstract": false}, "140042399274080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".1.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650208": {"type": "TypeVar", "varName": "_NameType", "values": [], "upperBound": {"nodeId": "140042577367376"}, "def": "140042468650208", "variance": "INVARIANT"}, ".2.140042468650208": {"type": "TypeVar", "varName": "_NTypes", "values": [], "upperBound": {"nodeId": "140042577365696"}, "def": "140042468650208", "variance": "INVARIANT"}, ".3.140042468650208": {"type": "TypeVar", "varName": "_IDType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650208", "variance": "INVARIANT"}, "140042399274528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".2.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399274752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": ".3.140042468650208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399274976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399275872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042399276768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042469020096": {"type": "Overloaded", "items": [{"nodeId": "140042632395488"}, {"nodeId": "140042632395936"}]}, "140042632395488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}, {"nodeId": "140042603008112"}, {"nodeId": "140042603006880"}, {"nodeId": "N"}, {"nodeId": "140042603006432"}, {"nodeId": "140042603006656"}, {"nodeId": "140042603006768"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603007776"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "casting", "order", "dtype", "subok", "signature", "extobj", "axes"]}, "140042603008112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603006880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603006432": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603006656": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603006768": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603007776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042632395936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650208", "args": [{"nodeId": ".1.140042468650208"}, {"nodeId": ".2.140042468650208"}, {"nodeId": ".3.140042468650208"}]}, {"nodeId": "140042603010688"}, {"nodeId": "140042603009008"}, {"nodeId": "140042603010464"}, {"nodeId": "140042603008672"}, {"nodeId": "140042603010240"}, {"nodeId": "140042603010016"}, {"nodeId": "140042782776944"}, {"nodeId": "140042603009792"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", null, null, "out", "casting", "order", "dtype", "subok", "signature", "extobj", "axes"]}, "140042603010688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603009008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042603010464": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042603008784"}]}, "140042603008784": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042603008672": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042603010240": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042603010016": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042603009792": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042468652224": {"type": "Concrete", "module": "numpy.lib.arrayterator", "simpleName": "Arrayterator", "members": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}}, {"kind": "Variable", "name": "buf_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472448272"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "stop", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042439110976"}}, {"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042439110752"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buf_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682557472"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042460026624"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682558816"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682559264"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "isAbstract": false}, ".1.140042468652224": {"type": "TypeVar", "varName": "_Shape", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468652224", "variance": "INVARIANT"}, ".2.140042468652224": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468652224", "variance": "INVARIANT"}, "140042472448272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042439110976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042439110752": {"type": "Function", "typeVars": [".-1.140042439110752"], "argTypes": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042439110752"}]}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042439110752"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042439110752": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042439110752", "variance": "INVARIANT"}, "140042782781648": {"type": "Concrete", "module": "typing", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753675488"}, "name": "__next__"}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548309888"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564614992"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753677280"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753677728"}, "name": "__iter__"}, {"kind": "Variable", "name": "gi_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548310112"}}, {"kind": "Variable", "name": "gi_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548310560"}}, {"kind": "Variable", "name": "gi_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548311232"}}, {"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548311456"}}], "typeVars": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042782781648"}]}], "isAbstract": true}, "140042753675488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782781648": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "COVARIANT"}, ".2.140042782781648": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "CONTRAVARIANT"}, ".3.140042782781648": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781648", "variance": "COVARIANT"}, "140042548309888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": ".2.140042782781648"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564614992": {"type": "Overloaded", "items": [{"nodeId": "140042753676384"}, {"nodeId": "140042753676832"}]}, "140042753676384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": "0"}, {"nodeId": "140042564812864"}, {"nodeId": "140042564812976"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564812864": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564812976": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753676832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564813088"}], "returnType": {"nodeId": ".1.140042782781648"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564813088": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753677280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042753677728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548310112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548310560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548311232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548311456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042782781648"}, {"nodeId": ".2.140042782781648"}, {"nodeId": ".3.140042782781648"}]}], "returnType": {"nodeId": "140042564813536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564813536": {"type": "Union", "items": [{"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042682557472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460026736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "var", "buf_size"]}, "140042460026736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042460026624": {"type": "Overloaded", "items": [{"nodeId": "140042682557920"}, {"nodeId": "140042682558368"}]}, "140042682557920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "dtype"]}, "140042682558368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460027968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dtype"]}, "140042460027968": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042682558816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "140042460029088"}], "returnType": {"nodeId": "140042468652224", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042460029088": {"type": "TypeAlias", "target": {"nodeId": "140042472452864"}}, "140042472452864": {"type": "Union", "items": [{"nodeId": "140042577372752"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042472452528"}]}]}, "140042472452528": {"type": "Union", "items": [{"nodeId": "140042577372752"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042682559264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652224", "args": [{"nodeId": ".1.140042468652224"}, {"nodeId": ".2.140042468652224"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468652224"}]}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472911728": {"type": "Protocol", "module": "numpy", "simpleName": "_MemMapIOProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766790976"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766791424"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766791872"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766792320"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042766792768"}, "name": "write"}, {"kind": "Variable", "name": "read", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042430674560"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno", "flush", "read", "seek", "tell", "write"]}, "140042766790976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766791424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042577727152"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766791872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042766792320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042766792768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042430674560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472911728"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468235232": {"type": "Concrete", "module": "numpy", "simpleName": "ModuleDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653968"}], "isAbstract": false}, "140042577653968": {"type": "Concrete", "module": "builtins", "simpleName": "DeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577653296": {"type": "Concrete", "module": "builtins", "simpleName": "Warning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577374432": {"type": "Concrete", "module": "builtins", "simpleName": "Exception", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042468235568": {"type": "Concrete", "module": "numpy", "simpleName": "VisibleDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042577653632": {"type": "Concrete", "module": "builtins", "simpleName": "UserWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042468235904": {"type": "Concrete", "module": "numpy", "simpleName": "ComplexWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577654640"}], "isAbstract": false}, "140042577654640": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042468236240": {"type": "Concrete", "module": "numpy", "simpleName": "RankWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042468236576": {"type": "Concrete", "module": "numpy", "simpleName": "TooHardError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577378800": {"type": "Concrete", "module": "builtins", "simpleName": "RuntimeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468236912": {"type": "Concrete", "module": "numpy", "simpleName": "AxisError", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464231712"}}, {"kind": "Variable", "name": "ndim", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271200"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452045712"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}, {"nodeId": "140042577644560"}], "isAbstract": false}, "140042464231712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042464271200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042452045712": {"type": "Overloaded", "items": [{"nodeId": "140042732844224"}, {"nodeId": "140042732844672"}]}, "140042732844224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468236912"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "ndim", "msg_prefix"]}, "140042732844672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468236912"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452047840"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "ndim", "msg_prefix"]}, "140042452047840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042577642880": {"type": "Concrete", "module": "builtins", "simpleName": "ValueError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577644560": {"type": "Concrete", "module": "builtins", "simpleName": "IndexError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377456"}], "isAbstract": false}, "140042577377456": {"type": "Concrete", "module": "builtins", "simpleName": "LookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468237248": {"type": "Concrete", "module": "numpy", "simpleName": "errstate", "members": [{"kind": "Variable", "name": "call", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468237248"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468156784"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "call", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "divide", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "over", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "under", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "invalid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732845120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732845568"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042732846016"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042468237248"}], "bases": [{"nodeId": "140042573919088"}], "isAbstract": false}, ".1.140042468237248": {"type": "TypeVar", "varName": "_CallType", "values": [], "upperBound": {"nodeId": "140042468156560"}, "def": "140042468237248", "variance": "INVARIANT"}, "140042468156560": {"type": "Union", "items": [{"nodeId": "140042468156448"}, {"nodeId": "140042472912064", "args": [{"nodeId": "140042577367376"}]}]}, "140042468156448": {"type": "TypeAlias", "target": {"nodeId": "140042489934368"}}, "140042489934368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468156784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042732845120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}, {"nodeId": ".1.140042468237248"}, {"nodeId": "140042452048064"}, {"nodeId": "140042452048288"}, {"nodeId": "140042452048512"}, {"nodeId": "140042452048736"}, {"nodeId": "140042452048960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "call", "all", "divide", "over", "under", "invalid"]}, "140042452048064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452047952"}]}, "140042452047952": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042473098928": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452048288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048176"}]}, "140042452048176": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048512": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048400"}]}, "140042452048400": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048736": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048624"}]}, "140042452048624": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042452048960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452048848"}]}, "140042452048848": {"type": "TypeAlias", "target": {"nodeId": "140042473098928"}}, "140042732845568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042732846016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237248", "args": [{"nodeId": ".1.140042468237248"}]}, {"nodeId": "140042452049632"}, {"nodeId": "140042452047728"}, {"nodeId": "140042452049072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042452049632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042452047728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042452049072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042573919088": {"type": "Concrete", "module": "contextlib", "simpleName": "ContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649116608"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649116608": {"type": "Function", "typeVars": [".-1.140042649116608"], "argTypes": [{"nodeId": "140042573919088"}, {"nodeId": ".-1.140042649116608"}], "returnType": {"nodeId": ".-1.140042649116608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042649116608": {"type": "TypeVar", "varName": "_F", "values": [], "upperBound": {"nodeId": "140042577261088"}, "def": "140042649116608", "variance": "INVARIANT"}, "140042577261088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042468654240": {"type": "Concrete", "module": "numpy", "simpleName": "ndenumerate", "members": [{"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653904", "args": [{"nodeId": "0"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452046608"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042452075904"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733195712"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042468654240"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042452046608": {"type": "Overloaded", "items": [{"nodeId": "140042733192128"}, {"nodeId": "140042733192576"}, {"nodeId": "140042733193024"}, {"nodeId": "140042733193472"}, {"nodeId": "140042733193920"}, {"nodeId": "140042733194368"}, {"nodeId": "140042733194816"}]}, "140042733192128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": ".1.140042468654240"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, ".1.140042468654240": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042468654240", "variance": "INVARIANT"}, "140042733192576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049408"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468234224"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049408": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577367376"}]}]}, "140042733193024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049744"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468233888"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049744": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577732864"}]}]}, "140042733193472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049856"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042468229184"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049856": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042782776944"}]}]}, "140042733193920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452049968"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050080"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452049968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577365696"}]}]}, "140042452050080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042733194368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452050192"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050304"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452050192": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577366032"}]}]}, "140042452050304": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042733194816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452050416"}], "returnType": {"nodeId": "140042468654240", "args": [{"nodeId": "140042452050528"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042452050416": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042577366368"}]}]}, "140042452050528": {"type": "TypeAlias", "target": {"nodeId": "140042468232544", "args": [{"nodeId": "140042468151296"}, {"nodeId": "140042468152080"}]}}, "140042452075904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654240", "args": [{"nodeId": ".1.140042468654240"}]}], "returnType": {"nodeId": "140042452050864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452050864": {"type": "Tuple", "items": [{"nodeId": "140042452050640"}, {"nodeId": ".1.140042468654240"}]}, "140042452050640": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042733195712": {"type": "Function", "typeVars": [".-1.140042733195712"], "argTypes": [{"nodeId": ".-1.140042733195712"}], "returnType": {"nodeId": ".-1.140042733195712"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733195712": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733195712", "variance": "INVARIANT"}, "140042468237584": {"type": "Concrete", "module": "numpy", "simpleName": "ndindex", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452049520"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197056"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197504"}, "name": "__next__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042452049520": {"type": "Overloaded", "items": [{"nodeId": "140042733196160"}, {"nodeId": "140042733196608"}]}, "140042733196160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577727152"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733196608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "shape"]}, "140042733197056": {"type": "Function", "typeVars": [".-1.140042733197056"], "argTypes": [{"nodeId": ".-1.140042733197056"}], "returnType": {"nodeId": ".-1.140042733197056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733197056": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733197056", "variance": "INVARIANT"}, "140042733197504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237584"}], "returnType": {"nodeId": "140042452051088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452051088": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042468237920": {"type": "Concrete", "module": "numpy", "simpleName": "DataSource", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "destpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733197952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733198400"}, "name": "__del__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733198848"}, "name": "abspath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733199296"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733199744"}, "name": "open"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733197952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042452051200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "destpath"]}, "140042452051200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}]}, "140042733198400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733198848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042733199296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042733199744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468237920"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042452051312"}, {"nodeId": "140042452051424"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "path", "mode", "encoding", "newline"]}, "140042452051312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042452051424": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042577729840": {"type": "Concrete", "module": "typing", "simpleName": "IO", "members": [{"kind": "Variable", "name": "mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548590656"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548591776"}}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548740384"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548741056"}}, {"kind": "Variable", "name": "fileno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548741728"}}, {"kind": "Variable", "name": "flush", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548742400"}}, {"kind": "Variable", "name": "isatty", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548743072"}}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548743744"}}, {"kind": "Variable", "name": "readable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548744416"}}, {"kind": "Variable", "name": "readline", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548745088"}}, {"kind": "Variable", "name": "readlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548745760"}}, {"kind": "Variable", "name": "seek", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548746432"}}, {"kind": "Variable", "name": "seekable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548747104"}}, {"kind": "Variable", "name": "tell", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548747776"}}, {"kind": "Variable", "name": "truncate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548748448"}}, {"kind": "Variable", "name": "writable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548749120"}}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548749792"}}, {"kind": "Variable", "name": "writelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548750464"}}, {"kind": "Variable", "name": "__next__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548751136"}}, {"kind": "Variable", "name": "__iter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548751808"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548752704"}}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548753824"}}], "typeVars": [{"nodeId": ".1.140042577729840"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729840"}]}], "isAbstract": true}, "140042548590656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577729840": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577729840", "variance": "INVARIANT"}, "140042548591776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548740384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548741056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548741728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548742400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548743072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548743744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548744416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548745088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548745760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042548746432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042548747104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548747776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548748448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042564822160"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042564822160": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042548749120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548749792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": ".1.140042577729840"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042548750464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042548751136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": ".1.140042577729840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548751808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548752704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042548753824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042577729840"}]}, {"nodeId": "140042564822272"}, {"nodeId": "140042564822384"}, {"nodeId": "140042564822496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042564822272": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042564822384": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042564822496": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042468238256": {"type": "Concrete", "module": "numpy", "simpleName": "broadcast", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733200192"}, "name": "__new__"}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226048"}}, {"kind": "Variable", "name": "iters", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226720"}}, {"kind": "Variable", "name": "nd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422226944"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227168"}}, {"kind": "Variable", "name": "numiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227392"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227616"}}, {"kind": "Variable", "name": "size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422227840"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733203776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733204224"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733204672"}, "name": "reset"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733200192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452051648"}], "returnType": {"nodeId": "140042468238256"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042452051648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042422226048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422226720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042468653904", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422226944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422227616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042452050976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452050976": {"type": "TypeAlias", "target": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, "140042422227840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733203776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733204224": {"type": "Function", "typeVars": [".-1.140042733204224"], "argTypes": [{"nodeId": ".-1.140042733204224"}], "returnType": {"nodeId": ".-1.140042733204224"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042733204224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042733204224", "variance": "INVARIANT"}, "140042733204672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468238592": {"type": "Concrete", "module": "numpy", "simpleName": "busdaycalendar", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weekmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "holidays", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733205120"}, "name": "__new__"}, {"kind": "Variable", "name": "weekmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422228512"}}, {"kind": "Variable", "name": "holidays", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422229184"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733205120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052096"}, {"nodeId": "140042452052320"}], "returnType": {"nodeId": "140042468238592"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "weekmask", "holidays"]}, "140042452052096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452052320": {"type": "Union", "items": [{"nodeId": "140042452052208"}, {"nodeId": "140042480720848"}, {"nodeId": "140042480719504", "args": [{"nodeId": "140042480720848"}]}]}, "140042452052208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042480720848": {"type": "Concrete", "module": "datetime", "simpleName": "date", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720848"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720848"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661609056"}, "name": "__new__"}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489395488"}}, {"kind": "Variable", "name": "today", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489396608"}}, {"kind": "Variable", "name": "fromordinal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489396832"}}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489659456"}}, {"kind": "Variable", "name": "fromisocalendar", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489660128"}}, {"kind": "Variable", "name": "year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489659680"}}, {"kind": "Variable", "name": "month", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489660576"}}, {"kind": "Variable", "name": "day", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489660800"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648489760"}, "name": "ctime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648490656"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648491104"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648491552"}, "name": "isoformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492000"}, "name": "timetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492448"}, "name": "toordinal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648492896"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648493344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648493792"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648494240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648494688"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648495136"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648495584"}, "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489397872"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648499616"}, "name": "weekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648500064"}, "name": "isoweekday"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648500512"}, "name": "isocalendar"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661609056": {"type": "Function", "typeVars": [".-1.140042661609056"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042661609056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "month", "day"]}, ".-1.140042661609056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042661609056", "variance": "INVARIANT"}, "140042489395488": {"type": "Function", "typeVars": [".-1.140042489395488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042489395488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489395488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489395488", "variance": "INVARIANT"}, "140042489396608": {"type": "Function", "typeVars": [".-1.140042489396608"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042489396608"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042489396608": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489396608", "variance": "INVARIANT"}, "140042489396832": {"type": "Function", "typeVars": [".-1.140042489396832"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489396832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489396832": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489396832", "variance": "INVARIANT"}, "140042489659456": {"type": "Function", "typeVars": [".-1.140042489659456"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042489659456"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489659456": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489659456", "variance": "INVARIANT"}, "140042489660128": {"type": "Function", "typeVars": [".-1.140042489660128"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489660128"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "year", "week", "day"]}, ".-1.140042489660128": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489660128", "variance": "INVARIANT"}, "140042489659680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489660576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489660800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648489760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648490656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648491104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648491552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648492000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042489400448"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400448": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042493358736": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042648492448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648492896": {"type": "Function", "typeVars": [".-1.140042648492896"], "argTypes": [{"nodeId": ".-1.140042648492896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648492896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "year", "month", "day"]}, ".-1.140042648492896": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648492896", "variance": "INVARIANT"}, "140042648493344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648493792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648494240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648494688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648495136": {"type": "Function", "typeVars": [".-1.140042648495136"], "argTypes": [{"nodeId": ".-1.140042648495136"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648495136"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648495136": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648495136", "variance": "INVARIANT"}, "140042648495584": {"type": "Function", "typeVars": [".-1.140042648495584"], "argTypes": [{"nodeId": ".-1.140042648495584"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648495584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648495584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648495584", "variance": "INVARIANT"}, "140042489397872": {"type": "Overloaded", "items": [{"nodeId": "140042648496032"}, {"nodeId": "140042648496480"}, {"nodeId": "140042648496928"}]}, "140042648496032": {"type": "Function", "typeVars": [".-1.140042648496032"], "argTypes": [{"nodeId": ".-1.140042648496032"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648496032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648496032": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648496032", "variance": "INVARIANT"}, "140042648496480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042480721856": {"type": "Concrete", "module": "datetime", "simpleName": "datetime", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721856"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489386976"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742048"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742720"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489742944"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743168"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743392"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489743616"}}, {"kind": "Variable", "name": "fromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489744288"}}, {"kind": "Variable", "name": "utcfromtimestamp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489744512"}}, {"kind": "Variable", "name": "now", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489746080"}}, {"kind": "Variable", "name": "utcnow", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489745632"}}, {"kind": "Variable", "name": "combine", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489746304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648741792"}, "name": "timestamp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648742240"}, "name": "utctimetuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648742688"}, "name": "date"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648743136"}, "name": "time"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648743584"}, "name": "timetz"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "year", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "month", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "day", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489389440"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tz", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489389664"}, "name": "astimezone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648745376"}, "name": "isoformat"}, {"kind": "Variable", "name": "strptime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489747648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648746272"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648746720"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648747168"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648747616"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648846624"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648847072"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648847520"}, "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489401456"}, "items": [{"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__sub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__sub__"}], "typeVars": [], "bases": [{"nodeId": "140042480720848"}], "isAbstract": false}, "140042489386976": {"type": "Function", "typeVars": [".-1.140042489386976"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489401904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489386976"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140042489401904": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042480719840": {"type": "Concrete", "module": "datetime", "simpleName": "tzinfo", "members": [{"kind": "Variable", "name": "tzname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489391456"}}, {"kind": "Variable", "name": "utcoffset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489391904"}}, {"kind": "Variable", "name": "dst", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489392128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661606816"}, "name": "fromutc"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042489391456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489398992"}], "returnType": {"nodeId": "140042489399104"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489398992": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489391904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489399216"}], "returnType": {"nodeId": "140042489399328"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399216": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399328": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042489392128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042489399440"}], "returnType": {"nodeId": "140042489399552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399440": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042489399552": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042661606816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480719840"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042489386976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489386976", "variance": "INVARIANT"}, "140042489742048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489742720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489742944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489743168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489743392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402016"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402016": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489743616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489744288": {"type": "Function", "typeVars": [".-1.140042489744288"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}, {"nodeId": "140042489402128"}], "returnType": {"nodeId": ".-1.140042489744288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", null, "tz"]}, "140042489402128": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489744288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489744288", "variance": "INVARIANT"}, "140042489744512": {"type": "Function", "typeVars": [".-1.140042489744512"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042489744512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489744512": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489744512", "variance": "INVARIANT"}, "140042489746080": {"type": "Function", "typeVars": [".-1.140042489746080"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042489402240"}], "returnType": {"nodeId": ".-1.140042489746080"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "tz"]}, "140042489402240": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489746080": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489746080", "variance": "INVARIANT"}, "140042489745632": {"type": "Function", "typeVars": [".-1.140042489745632"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042489745632"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042489745632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489745632", "variance": "INVARIANT"}, "140042489746304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042480720848"}, {"nodeId": "140042480721184"}, {"nodeId": "140042489402352"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "date", "time", "tzinfo"]}, "140042480721184": {"type": "Concrete", "module": "datetime", "simpleName": "time", "members": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721184"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721184"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480721520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489385856"}, "name": "__new__"}, {"kind": "Variable", "name": "hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489663712"}}, {"kind": "Variable", "name": "minute", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489666624"}}, {"kind": "Variable", "name": "second", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667072"}}, {"kind": "Variable", "name": "microsecond", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667296"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667520"}}, {"kind": "Variable", "name": "fold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042489667744"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648619488"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648619936"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648620384"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648620832"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timespec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648621280"}, "name": "isoformat"}, {"kind": "Variable", "name": "fromisoformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489667968"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648622624"}, "name": "strftime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623072"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623520"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648623968"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648624416"}, "name": "dst"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "minute", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "microsecond", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tzinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489387424"}, "name": "replace"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489385856": {"type": "Function", "typeVars": [".-1.140042489385856"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489400784"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489385856"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, "140042489400784": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, ".-1.140042489385856": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489385856", "variance": "INVARIANT"}, "140042489663712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489666624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489667520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489400896"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400896": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489667744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648619488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648619936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648620384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648620832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648621280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timespec"]}, "140042489667968": {"type": "Function", "typeVars": [".-1.140042489667968"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042489667968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".-1.140042489667968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489667968", "variance": "INVARIANT"}, "140042648622624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648623072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042648623520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401008": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648623968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042648624416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721184"}], "returnType": {"nodeId": "140042489401232"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489401232": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042489387424": {"type": "Function", "typeVars": [".-1.140042489387424"], "argTypes": [{"nodeId": ".-1.140042489387424"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489401344"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489387424"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140042489387424": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489387424", "variance": "INVARIANT"}, "140042489401344": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489402352": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042648741792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648742240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402464"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402464": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042648742688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480720848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648743136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648743584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042480721184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489389440": {"type": "Function", "typeVars": [".-1.140042489389440"], "argTypes": [{"nodeId": ".-1.140042489389440"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489402576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042489389440"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "year", "month", "day", "hour", "minute", "second", "microsecond", "tzinfo", "fold"]}, ".-1.140042489389440": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489389440", "variance": "INVARIANT"}, "140042489402576": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042489389664": {"type": "Function", "typeVars": [".-1.140042489389664"], "argTypes": [{"nodeId": ".-1.140042489389664"}, {"nodeId": "140042489402688"}], "returnType": {"nodeId": ".-1.140042489389664"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tz"]}, ".-1.140042489389664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489389664", "variance": "INVARIANT"}, "140042489402688": {"type": "Union", "items": [{"nodeId": "140042480719840"}, {"nodeId": "N"}]}, "140042648745376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "timespec"]}, "140042489747648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042480721856"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", null, null]}, "140042648746272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402800": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648746720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489402912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489402912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042648747168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042489403024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489403024": {"type": "Union", "items": [{"nodeId": "140042480721520"}, {"nodeId": "N"}]}, "140042648747616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648846624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648847072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648847520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480721856"}, {"nodeId": "140042480721856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489401456": {"type": "Overloaded", "items": [{"nodeId": "140042648847968"}, {"nodeId": "140042648848416"}]}, "140042648847968": {"type": "Function", "typeVars": [".-1.140042648847968"], "argTypes": [{"nodeId": ".-1.140042648847968"}, {"nodeId": "140042480721520"}], "returnType": {"nodeId": ".-1.140042648847968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648847968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648847968", "variance": "INVARIANT"}, "140042648848416": {"type": "Function", "typeVars": [".-1.140042648848416"], "argTypes": [{"nodeId": ".-1.140042648848416"}, {"nodeId": ".-1.140042648848416"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648848416": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140042480720848"}, "def": "140042648848416", "variance": "INVARIANT"}, "140042648496928": {"type": "Function", "typeVars": [".-1.140042648496928"], "argTypes": [{"nodeId": ".-1.140042648496928"}, {"nodeId": ".-1.140042648496928"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648496928": {"type": "TypeVar", "varName": "_D", "values": [], "upperBound": {"nodeId": "140042480720848"}, "def": "140042648496928", "variance": "INVARIANT"}, "140042648499616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648500064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648500512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720848"}], "returnType": {"nodeId": "140042489400672"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489400672": {"type": "TypeAlias", "target": {"nodeId": "140042489398096"}}, "140042489398096": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042422228512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422229184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238592"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468654576": {"type": "Concrete", "module": "numpy", "simpleName": "finfo", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468654576"}]}}, {"kind": "Variable", "name": "bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "eps", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "epsneg", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "iexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "machep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "maxexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "minexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "negep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "nexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "nmant", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "precision", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "smallest_subnormal", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042468654576"}}, {"kind": "Variable", "name": "smallest_normal", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422230080"}}, {"kind": "Variable", "name": "tiny", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422230976"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452049184"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042468654576"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042468654576": {"type": "TypeVar", "varName": "_FloatType", "values": [], "upperBound": {"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}, "def": "140042468654576", "variance": "INVARIANT"}, "140042422230080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654576", "args": [{"nodeId": ".1.140042468654576"}]}], "returnType": {"nodeId": ".1.140042468654576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422230976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468654576", "args": [{"nodeId": ".1.140042468654576"}]}], "returnType": {"nodeId": ".1.140042468654576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452049184": {"type": "Overloaded", "items": [{"nodeId": "140042733322304"}, {"nodeId": "140042733322752"}, {"nodeId": "140042733323200"}]}, "140042733322304": {"type": "Function", "typeVars": [".-1.140042733322304"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052880"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042468232208", "args": [{"nodeId": ".-1.140042733322304"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452052880": {"type": "Union", "items": [{"nodeId": "140042468231872", "args": [{"nodeId": ".-1.140042733322304"}]}, {"nodeId": "0"}]}, ".-1.140042733322304": {"type": "TypeVar", "varName": "_NBit1", "values": [], "upperBound": {"nodeId": "140042472659584"}, "def": "140042733322304", "variance": "INVARIANT"}, "140042733322752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452052992"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042452053104"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452052992": {"type": "Union", "items": [{"nodeId": "140042577366368"}, {"nodeId": "140042577366032"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452053104": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042468150400"}]}}, "140042733323200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468654576", "args": [{"nodeId": "140042468232208", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042468238928": {"type": "Concrete", "module": "numpy", "simpleName": "iinfo", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": ".1.140042468238928"}]}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422231648"}}, {"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422232096"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452052432"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042468238928"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042468238928": {"type": "TypeVar", "varName": "_IntType", "values": [], "upperBound": {"nodeId": "140042468230528", "args": [{"nodeId": "A"}]}, "def": "140042468238928", "variance": "INVARIANT"}, "140042422231648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422232096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452052432": {"type": "Overloaded", "items": [{"nodeId": "140042733324544"}, {"nodeId": "140042733324992"}, {"nodeId": "140042733325440"}]}, "140042733324544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452053552"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": ".1.140042468238928"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452053552": {"type": "Union", "items": [{"nodeId": ".1.140042468238928"}, {"nodeId": "0"}]}, "140042733324992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452053664"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": "140042452053776"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042452053664": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "0"}]}, "140042452053776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042733325440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468238928", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "dtype"]}, "140042468239264": {"type": "Concrete", "module": "numpy", "simpleName": "format_parser", "members": [{"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "formats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "titles", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733325888"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733325888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239264"}, {"nodeId": "140042452054000"}, {"nodeId": "140042452054112"}, {"nodeId": "140042452054224"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452054448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "formats", "names", "titles", "aligned", "byteorder"]}, "140042452054000": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452054112": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054448": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452054336"}]}, "140042452054336": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042468239600": {"type": "Concrete", "module": "numpy", "simpleName": "recarray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452052656"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733327232"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733327680"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733328128"}, "name": "__setattr__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452054560"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452056688"}, "items": [{"kind": "Variable", "name": "field", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "field", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "field"}], "typeVars": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}], "isAbstract": false}, "140042452052656": {"type": "Overloaded", "items": [{"nodeId": "140042733326336"}, {"nodeId": "140042733326784"}]}, "140042733326336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452055232"}, {"nodeId": "N"}, {"nodeId": "140042452053328"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452054896"}, {"nodeId": "140042452055456"}, {"nodeId": "140042452055568"}, {"nodeId": "140042452056128"}, {"nodeId": "140042452054784"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452055792"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468239936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["subtype", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "order"]}, "140042452055232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452053328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452054672"}]}, "140042452054672": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042452054896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452056016"}]}, "140042452056016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055456": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452055568": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452056128": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042452054784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452055904"}]}, "140042452055904": {"type": "TypeAlias", "target": {"nodeId": "140042473107888"}}, "140042452055792": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042468239936": {"type": "Concrete", "module": "numpy", "simpleName": "record", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733331712"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733332160"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733332608"}, "name": "pprint"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452057920"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042468233216"}], "isAbstract": false}, "140042733331712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733332160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577367376"}, {"nodeId": "140042452206864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452206864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733332608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452057920": {"type": "Overloaded", "items": [{"nodeId": "140042733333056"}, {"nodeId": "140042733333504"}]}, "140042733333056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042452207648"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452207648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577727152"}]}, "140042733333504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239936"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468239936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733326784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452057024"}, {"nodeId": "140042452055008"}, {"nodeId": "140042452056464"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452056800"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042452055120"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "order"]}, "140042452057024": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055008": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452056464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452056576"}]}, "140042452056576": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042452056800": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452057248"}]}, "140042452057248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452055120": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042733327232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468239600": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468239600", "variance": "INVARIANT"}, ".2.140042468239600": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468239600", "variance": "COVARIANT"}, "140042733327680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733328128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042452057808"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452057808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452054560": {"type": "Overloaded", "items": [{"nodeId": "140042733328576"}, {"nodeId": "140042733329024"}, {"nodeId": "140042733329472"}, {"nodeId": "140042733329920"}, {"nodeId": "140042733330368"}]}, "140042733328576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452057696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452057696": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452055680"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452056352"}]}]}, "140042452055680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452056352": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452056912"}]}, "140042452056912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, {"nodeId": "140042452205968"}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468239600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452205968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452205744"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452206080"}]}]}, "140042452205744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452206080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452205632"}, {"nodeId": "140042577727152"}]}, "140042452205632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452206640"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468239600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452206640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452206416"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452206304"}]}]}, "140042452206416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452206304": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452206528"}, {"nodeId": "140042577727152"}]}, "140042452206528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042733329920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733330368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468239936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452056688": {"type": "Overloaded", "items": [{"nodeId": "140042733330816"}, {"nodeId": "140042733331264"}]}, "140042733330816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452207200"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "attr", "val"]}, "140042452207200": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042733331264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468239600", "args": [{"nodeId": ".1.140042468239600"}, {"nodeId": ".2.140042468239600"}]}, {"nodeId": "140042452207424"}, {"nodeId": "140042452207536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042452207424": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042452207536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468240272": {"type": "Concrete", "module": "numpy", "simpleName": "nditer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_dtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "casting", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "op_axes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "itershape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffersize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733333952"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733334400"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733334848"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733335296"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733335744"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733336192"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733336640"}, "name": "__copy__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452207872"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042733337984"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728292416"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728292864"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728293312"}, "name": "debug_print"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728293760"}, "name": "enable_external_loop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728294208"}, "name": "iternext"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728294656"}, "name": "remove_axis"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728295104"}, "name": "remove_multi_index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728295552"}, "name": "reset"}, {"kind": "Variable", "name": "dtypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422318944"}}, {"kind": "Variable", "name": "finished", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319392"}}, {"kind": "Variable", "name": "has_delayed_bufalloc", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319616"}}, {"kind": "Variable", "name": "has_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422319840"}}, {"kind": "Variable", "name": "has_multi_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320064"}}, {"kind": "Variable", "name": "index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320288"}}, {"kind": "Variable", "name": "iterationneedsapi", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320512"}}, {"kind": "Variable", "name": "iterindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422320736"}}, {"kind": "Variable", "name": "iterrange", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452288"}}, {"kind": "Variable", "name": "itersize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452512"}}, {"kind": "Variable", "name": "itviews", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452736"}}, {"kind": "Variable", "name": "multi_index", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422452960"}}, {"kind": "Variable", "name": "ndim", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453184"}}, {"kind": "Variable", "name": "nop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453408"}}, {"kind": "Variable", "name": "operands", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453632"}}, {"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422453856"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422454080"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042733333952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452208432"}, {"nodeId": "140042452208656"}, {"nodeId": "140042452208880"}, {"nodeId": "140042452209216"}, {"nodeId": "140042452209328"}, {"nodeId": "140042452209440"}, {"nodeId": "140042452209552"}, {"nodeId": "140042452209776"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "op", "flags", "op_flags", "op_dtypes", "order", "casting", "op_axes", "itershape", "buffersize"]}, "140042452208432": {"type": "Union", "items": [{"nodeId": "140042452208208"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452208320"}]}]}, "140042452208208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452208320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452208656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452208544"}]}]}, "140042452208544": {"type": "TypeAlias", "target": {"nodeId": "140042468160032"}}, "140042468160032": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452208880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042452208768"}]}]}]}, "140042452208768": {"type": "TypeAlias", "target": {"nodeId": "140042468161936"}}, "140042468161936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452209216": {"type": "Union", "items": [{"nodeId": "140042452208992"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042452209104"}]}]}, "140042452208992": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452209104": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452209328": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042452209440": {"type": "TypeAlias", "target": {"nodeId": "140042468147600"}}, "140042452209552": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577727152"}]}]}]}, "140042452209776": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452209664"}]}, "140042452209664": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042733334400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733334848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042452207984"}, {"nodeId": "140042452211120"}, {"nodeId": "140042452210560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042452207984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042452211120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042452210560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042733335296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733335744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042733336192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042733336640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452207872": {"type": "Overloaded", "items": [{"nodeId": "140042733337088"}, {"nodeId": "140042733337536"}]}, "140042733337088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733337536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042733337984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042452210112"}, {"nodeId": "140042452211344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042452210112": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042577727152"}]}, "140042452211344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728292416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728292864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042468240272"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728293312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728293760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728294208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728294656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}, {"nodeId": "140042577727152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728295104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728295552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422318944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422319840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422320736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422452960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422453856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422454080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240272"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468240608": {"type": "Concrete", "module": "numpy", "simpleName": "memmap", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464276464"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452210224"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728304960"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728305408"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728305856"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}], "isAbstract": false}, "140042464276464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042452210224": {"type": "Overloaded", "items": [{"nodeId": "140042728303616"}, {"nodeId": "140042728304064"}, {"nodeId": "140042728304512"}]}, "140042728303616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452212128"}, {"nodeId": "0"}, {"nodeId": "140042452212240"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452212352"}, {"nodeId": "140042452212464"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452212688"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452212128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452212240": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042468162160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042452212352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452212464": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042452212688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042728304064": {"type": "Function", "typeVars": [".-1.140042728304064"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452213472"}, {"nodeId": "0"}, {"nodeId": "140042452213584"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452212016"}, {"nodeId": "140042452212912"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": ".-1.140042728304064"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452213472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452213584": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042452212016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452212912": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, ".-1.140042728304064": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042728304064", "variance": "INVARIANT"}, "140042728304512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452214256"}, {"nodeId": "140042452212800"}, {"nodeId": "140042452213248"}, {"nodeId": "140042577365696"}, {"nodeId": "140042452213360"}, {"nodeId": "140042452213808"}], "returnType": {"nodeId": "140042468240608", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "filename", "dtype", "mode", "offset", "shape", "order"]}, "140042452214256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042472911728"}]}, "140042452212800": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452213248": {"type": "TypeAlias", "target": {"nodeId": "140042468162160"}}, "140042452213360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}]}, "140042452213808": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728304960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468240608": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468240608", "variance": "INVARIANT"}, ".2.140042468240608": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468240608", "variance": "COVARIANT"}, "140042728305408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}, {"nodeId": "140042452213696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "array", "context"]}, "140042452213696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452214368"}]}, "140042452214368": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042728305856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240608", "args": [{"nodeId": ".1.140042468240608"}, {"nodeId": ".2.140042468240608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468240944": {"type": "Concrete", "module": "numpy", "simpleName": "vectorize", "members": [{"kind": "Variable", "name": "pyfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472563744"}}, {"kind": "Variable", "name": "cache", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "signature", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271872"}}, {"kind": "Variable", "name": "otypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042464271984"}}, {"kind": "Variable", "name": "excluded", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733536", "args": [{"nodeId": "140042468157680"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468157344"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pyfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "otypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excluded", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cache", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "signature", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728306304"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728306752"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042472563744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042464271872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464271984": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042468157680": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042468157344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728306304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240944"}, {"nodeId": "140042452081056"}, {"nodeId": "140042452215264"}, {"nodeId": "140042452214144"}, {"nodeId": "140042452215488"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452215040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "pyfunc", "otypes", "doc", "excluded", "cache", "signature"]}, "140042452081056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042452215264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042452214592"}]}]}, "140042452214592": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042452214144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042452215488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042452215376"}]}]}, "140042452215376": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042452215040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728306752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468240944"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042468241280": {"type": "Concrete", "module": "numpy", "simpleName": "poly1d", "members": [{"kind": "Variable", "name": "variable", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458112"}}, {"kind": "Variable", "name": "order", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458560"}}, {"kind": "Variable", "name": "o", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422458784"}}, {"kind": "Variable", "name": "roots", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459008"}}, {"kind": "Variable", "name": "r", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459232"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452211008"}, "items": [{"kind": "Variable", "name": "coeffs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459456"}}, {"kind": "Variable", "name": "coeffs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coeffs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452217056"}, "items": [{"kind": "Variable", "name": "c", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459680"}}, {"kind": "Variable", "name": "c", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "c"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452215936"}, "items": [{"kind": "Variable", "name": "coef", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422459904"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coef"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452216944"}, "items": [{"kind": "Variable", "name": "coefficients", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042422460128"}}, {"kind": "Variable", "name": "coefficients", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "coefficients"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452217616"}, "items": [{"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__array__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__array__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452218176"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "c_or_r", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "r", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "variable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728430208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728430656"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728431104"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728431552"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432000"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432448"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728432896"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728433344"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728433792"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728434240"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728434688"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728435136"}, "name": "__div__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728435584"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436032"}, "name": "__rdiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436480"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728436928"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728437376"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728437824"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728438272"}, "name": "deriv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728438720"}, "name": "integ"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042422458112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422458560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422458784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452211008": {"type": "Overloaded", "items": [{"nodeId": "140042728424384"}]}, "140042728424384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452217056": {"type": "Overloaded", "items": [{"nodeId": "140042728425280"}]}, "140042728425280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452215936": {"type": "Overloaded", "items": [{"nodeId": "140042728426176"}]}, "140042728426176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422459904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452216944": {"type": "Overloaded", "items": [{"nodeId": "140042728427072"}]}, "140042728427072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042422460128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042452217616": {"type": "Overloaded", "items": [{"nodeId": "140042728427968"}, {"nodeId": "140042728428416"}]}, "140042728427968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "t"]}, "140042728428416": {"type": "Function", "typeVars": [".-1.140042728428416"], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": ".-1.140042728428416"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042728428416"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "t"]}, ".-1.140042728428416": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042728428416", "variance": "INVARIANT"}, "140042452218176": {"type": "Overloaded", "items": [{"nodeId": "140042728428864"}, {"nodeId": "140042728429312"}, {"nodeId": "140042728429760"}]}, "140042728428864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219296"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042452219296": {"type": "TypeAlias", "target": {"nodeId": "140042469021776"}}, "140042728429312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042728429760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219520"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "val"]}, "140042452219520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728430208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219968"}, {"nodeId": "140042782776944"}, {"nodeId": "140042452219184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "c_or_r", "r", "variable"]}, "140042452219968": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452219184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042728430656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728431104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728431552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728432000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220192"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728432448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220304"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728432896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220416"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728433344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220528"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728433792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220640"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220640": {"type": "TypeAlias", "target": {"nodeId": "140042469021664"}}, "140042728434240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452219856"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452219856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728434688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220864"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452220864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728435136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452220976"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042452220976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728435584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221088"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221200"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221312"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452221312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728436928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728437376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042577365696"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042728437824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042728438272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221648"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, "140042452221648": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042577727152"}]}, "140042728438720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241280"}, {"nodeId": "140042452221760"}, {"nodeId": "140042452304160"}], "returnType": {"nodeId": "140042468241280"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "m", "k"]}, "140042452221760": {"type": "Union", "items": [{"nodeId": "140042577725808"}, {"nodeId": "140042577727152"}]}, "140042452304160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452303936"}, {"nodeId": "140042452304048"}]}, "140042452303936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452304048": {"type": "TypeAlias", "target": {"nodeId": "140042463970240"}}, "140042468241616": {"type": "Concrete", "module": "numpy", "simpleName": "matrix", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "subtype", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728439168"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728554560"}, "name": "__array_finalize__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452218736"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728556800"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728557248"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728557696"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728558144"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728558592"}, "name": "__ipow__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452220080"}, "items": [{"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sum", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sum"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452306736"}, "items": [{"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mean"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452308976"}, "items": [{"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "std", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "std"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452309872"}, "items": [{"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "var", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "var"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452310992"}, "items": [{"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "prod", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "prod"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452312112"}, "items": [{"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "any", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "any"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452313232"}, "items": [{"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "all", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "all"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452312896"}, "items": [{"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "max"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452314576"}, "items": [{"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "min"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452314464"}, "items": [{"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmax", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmax"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452315024"}, "items": [{"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "argmin"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452315696"}, "items": [{"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ptp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ptp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728772032"}, "name": "squeeze"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042452090464"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728772928"}, "name": "ravel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728773376"}, "name": "flatten"}, {"kind": "Variable", "name": "T", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418555360"}}, {"kind": "Variable", "name": "I", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418566560"}}, {"kind": "Variable", "name": "A", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567456"}}, {"kind": "Variable", "name": "A1", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567680"}}, {"kind": "Variable", "name": "H", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042418567904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776064"}, "name": "getT"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776512"}, "name": "getI"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728776960"}, "name": "getA"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728777408"}, "name": "getA1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728777856"}, "name": "getH"}], "typeVars": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "isAbstract": false}, "140042728439168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042452304384"}, {"nodeId": "140042452304496"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "data", "dtype", "copy"]}, "140042452304384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452304496": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728554560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468241616": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468241616", "variance": "INVARIANT"}, ".2.140042468241616": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468241616", "variance": "COVARIANT"}, "140042452218736": {"type": "Overloaded", "items": [{"nodeId": "140042728555008"}, {"nodeId": "140042728555456"}, {"nodeId": "140042728555904"}, {"nodeId": "140042728556352"}]}, "140042728555008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452305056"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452305056": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452305504"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452305392"}]}]}, "140042452305504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452305392": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042452304720"}]}, "140042452304720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728555456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452304832"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452304832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042577727152"}, {"nodeId": "140042452305168"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042452305840"}]}]}, "140042452305168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452305840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368048"}, {"nodeId": "140042577372752"}, {"nodeId": "140042452306064"}, {"nodeId": "140042577727152"}]}, "140042452306064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728555904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728556352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233216"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042728556800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452306400"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452306400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728557248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452306848"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452306848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728557696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307184"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307184": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728558144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307296"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728558592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452307632"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042452307632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452220080": {"type": "Overloaded", "items": [{"nodeId": "140042728559040"}, {"nodeId": "140042728559488"}, {"nodeId": "140042728559936"}]}, "140042728559040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452307520"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452307520": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728559488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452308752"}, {"nodeId": "140042452308640"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452308752": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308640": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728559936": {"type": "Function", "typeVars": [".-1.140042728559936"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452309088"}, {"nodeId": "140042452308192"}, {"nodeId": ".-1.140042728559936"}], "returnType": {"nodeId": ".-1.140042728559936"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452309088": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452309200"}]}, "140042452309200": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308192": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728559936": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728559936", "variance": "INVARIANT"}, "140042452306736": {"type": "Overloaded", "items": [{"nodeId": "140042728560384"}, {"nodeId": "140042728560832"}, {"nodeId": "140042728561280"}]}, "140042728560384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452308304"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452308304": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728560832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452309984"}, {"nodeId": "140042452308416"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452309984": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452308416": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728561280": {"type": "Function", "typeVars": [".-1.140042728561280"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452310320"}, {"nodeId": "140042452310096"}, {"nodeId": ".-1.140042728561280"}], "returnType": {"nodeId": ".-1.140042728561280"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452310320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452310208"}]}, "140042452310208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452310096": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728561280": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728561280", "variance": "INVARIANT"}, "140042452308976": {"type": "Overloaded", "items": [{"nodeId": "140042728561728"}, {"nodeId": "140042728562176"}, {"nodeId": "140042728562624"}]}, "140042728561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452308528"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452308528": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728562176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452311104"}, {"nodeId": "140042452309424"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452311104": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452309424": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728562624": {"type": "Function", "typeVars": [".-1.140042728562624"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452311440"}, {"nodeId": "140042452311216"}, {"nodeId": ".-1.140042728562624"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042728562624"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452311440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452311328"}]}, "140042452311328": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452311216": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728562624": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728562624", "variance": "INVARIANT"}, "140042452309872": {"type": "Overloaded", "items": [{"nodeId": "140042728563072"}, {"nodeId": "140042728563520"}, {"nodeId": "140042728563968"}]}, "140042728563072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452309760"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452309760": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728563520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312224"}, {"nodeId": "140042452310544"}, {"nodeId": "N"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452312224": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452310544": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728563968": {"type": "Function", "typeVars": [".-1.140042728563968"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312560"}, {"nodeId": "140042452312336"}, {"nodeId": ".-1.140042728563968"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": ".-1.140042728563968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof"]}, "140042452312560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452312448"}]}, "140042452312448": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452312336": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728563968": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728563968", "variance": "INVARIANT"}, "140042452310992": {"type": "Overloaded", "items": [{"nodeId": "140042728564416"}, {"nodeId": "140042728564864"}, {"nodeId": "140042728565312"}]}, "140042728564416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "140042452310880"}, {"nodeId": "N"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452310880": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728564864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313344"}, {"nodeId": "140042452311664"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452313344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452311664": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042728565312": {"type": "Function", "typeVars": [".-1.140042728565312"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313680"}, {"nodeId": "140042452313456"}, {"nodeId": ".-1.140042728565312"}], "returnType": {"nodeId": ".-1.140042728565312"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042452313680": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452313568"}]}, "140042452313568": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452313456": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, ".-1.140042728565312": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728565312", "variance": "INVARIANT"}, "140042452312112": {"type": "Overloaded", "items": [{"nodeId": "140042728565760"}, {"nodeId": "140042728566208"}, {"nodeId": "140042728566656"}]}, "140042728565760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042728566208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312000"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452312000": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728566656": {"type": "Function", "typeVars": [".-1.140042728566656"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313008"}, {"nodeId": ".-1.140042728566656"}], "returnType": {"nodeId": ".-1.140042728566656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452313008": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314016"}]}, "140042452314016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728566656": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728566656", "variance": "INVARIANT"}, "140042452313232": {"type": "Overloaded", "items": [{"nodeId": "140042728567104"}, {"nodeId": "140042728567552"}, {"nodeId": "140042728568000"}]}, "140042728567104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468229184"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042728567552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452313120"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452313120": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728568000": {"type": "Function", "typeVars": [".-1.140042728568000"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452312784"}, {"nodeId": ".-1.140042728568000"}], "returnType": {"nodeId": ".-1.140042728568000"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452312784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314240"}]}, "140042452314240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728568000": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728568000", "variance": "INVARIANT"}, "140042452312896": {"type": "Overloaded", "items": [{"nodeId": "140042452088672"}, {"nodeId": "140042728568896"}, {"nodeId": "140042728569344"}]}, "140042452088672": {"type": "Function", "typeVars": [".-1.140042452088672"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452088672"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452088672": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452088672", "variance": "INVARIANT"}, "140042728568896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452314352"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452314352": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728569344": {"type": "Function", "typeVars": [".-1.140042728569344"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452314912"}, {"nodeId": ".-1.140042728569344"}], "returnType": {"nodeId": ".-1.140042728569344"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452314912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452314688"}]}, "140042452314688": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728569344": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728569344", "variance": "INVARIANT"}, "140042452314576": {"type": "Overloaded", "items": [{"nodeId": "140042452089120"}, {"nodeId": "140042728570240"}, {"nodeId": "140042728767552"}]}, "140042452089120": {"type": "Function", "typeVars": [".-1.140042452089120"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452089120"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452089120": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452089120", "variance": "INVARIANT"}, "140042728570240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452315248"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728767552": {"type": "Function", "typeVars": [".-1.140042728767552"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452315584"}, {"nodeId": ".-1.140042728767552"}], "returnType": {"nodeId": ".-1.140042728767552"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452315472"}]}, "140042452315472": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728767552": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728767552", "variance": "INVARIANT"}, "140042452314464": {"type": "Overloaded", "items": [{"nodeId": "140042452089568"}, {"nodeId": "140042728768448"}, {"nodeId": "140042728768896"}]}, "140042452089568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042452315920"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452315920": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728768448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452316256"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316032": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452316256": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728768896": {"type": "Function", "typeVars": [".-1.140042728768896"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316480"}, {"nodeId": ".-1.140042728768896"}], "returnType": {"nodeId": ".-1.140042728768896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452316368"}]}, "140042452316368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728768896": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728768896", "variance": "INVARIANT"}, "140042452315024": {"type": "Overloaded", "items": [{"nodeId": "140042452089792"}, {"nodeId": "140042728769792"}, {"nodeId": "140042728770240"}]}, "140042452089792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042452316816"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316816": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728769792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452316928"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042452317152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452316928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452317152": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148496"}]}}, "140042728770240": {"type": "Function", "typeVars": [".-1.140042728770240"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452317376"}, {"nodeId": ".-1.140042728770240"}], "returnType": {"nodeId": ".-1.140042728770240"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452317376": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452317264"}]}, "140042452317264": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728770240": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728770240", "variance": "INVARIANT"}, "140042452315696": {"type": "Overloaded", "items": [{"nodeId": "140042452090016"}, {"nodeId": "140042728771136"}, {"nodeId": "140042728771584"}]}, "140042452090016": {"type": "Function", "typeVars": [".-1.140042452090016"], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042452090016"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, ".-1.140042452090016": {"type": "TypeVar", "varName": "_ScalarType", "values": [], "upperBound": {"nodeId": "140042472914080"}, "def": "140042452090016", "variance": "INVARIANT"}, "140042728771136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452317712"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452317712": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042728771584": {"type": "Function", "typeVars": [".-1.140042728771584"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318048"}, {"nodeId": ".-1.140042728771584"}], "returnType": {"nodeId": ".-1.140042728771584"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out"]}, "140042452318048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452317936"}]}, "140042452317936": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, ".-1.140042728771584": {"type": "TypeVar", "varName": "_NdArraySubClass", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042728771584", "variance": "INVARIANT"}, "140042728772032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318272"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "axis"]}, "140042452318272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042452318160"}]}, "140042452318160": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042452090464": {"type": "Function", "typeVars": [".-1.140042452090464"], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042472912736", "args": [{"nodeId": ".-1.140042452090464"}]}]}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042452090464"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042452090464": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042452090464", "variance": "INVARIANT"}, "140042728772928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452318608"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042452318608": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728773376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, {"nodeId": "140042452319168"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042452319168": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042418555360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418566560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042418567904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728776960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728777408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042728777856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241616", "args": [{"nodeId": ".1.140042468241616"}, {"nodeId": ".2.140042468241616"}]}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468241952": {"type": "Concrete", "module": "numpy", "simpleName": "chararray", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452316592"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728779200"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728779648"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728780096"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728780544"}, "name": "__mod__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042451730016"}, "items": [{"kind": "Variable", "name": "__eq__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__eq__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__eq__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447210752"}, "items": [{"kind": "Variable", "name": "__ne__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ne__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ne__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447210192"}, "items": [{"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ge__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ge__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447211648"}, "items": [{"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__le__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__le__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447212432"}, "items": [{"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__gt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__gt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447213216"}, "items": [{"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lt__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__lt__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447214000"}, "items": [{"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__add__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__add__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447214784"}, "items": [{"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__radd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__radd__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447215568"}, "items": [{"kind": "Variable", "name": "center", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "center", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "center"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447216352"}, "items": [{"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "count", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042447178880"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042447179328"}, "name": "encode"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447217136"}, "items": [{"kind": "Variable", "name": "endswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "endswith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042728923072"}, "name": "expandtabs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447219936"}, "items": [{"kind": "Variable", "name": "find", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "find", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "find"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447222512"}, "items": [{"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "index"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447224192"}, "items": [{"kind": "Variable", "name": "join", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "join", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "join"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042452319280"}, "items": [{"kind": "Variable", "name": "ljust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ljust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "ljust"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447275168"}, "items": [{"kind": "Variable", "name": "lstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447275840"}, "items": [{"kind": "Variable", "name": "partition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "partition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "partition"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447276960"}, "items": [{"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "replace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447277856"}, "items": [{"kind": "Variable", "name": "rfind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rfind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rfind"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447280208"}, "items": [{"kind": "Variable", "name": "rindex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rindex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rindex"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447281888"}, "items": [{"kind": "Variable", "name": "rjust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rjust", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rjust"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447283568"}, "items": [{"kind": "Variable", "name": "rpartition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rpartition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rpartition"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447283456"}, "items": [{"kind": "Variable", "name": "rsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rsplit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rsplit"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447284576"}, "items": [{"kind": "Variable", "name": "rstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rstrip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rstrip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447286816"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729116544"}, "name": "splitlines"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447286704"}, "items": [{"kind": "Variable", "name": "startswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "startswith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "startswith"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447289280"}, "items": [{"kind": "Variable", "name": "strip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strip", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "strip"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447224080"}, "items": [{"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "translate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729119680"}, "name": "zfill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729120128"}, "name": "capitalize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729120576"}, "name": "title"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121024"}, "name": "swapcase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121472"}, "name": "lower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729121920"}, "name": "upper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729122368"}, "name": "isalnum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729122816"}, "name": "isalpha"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729123264"}, "name": "isdigit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729123712"}, "name": "islower"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729124160"}, "name": "isspace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729124608"}, "name": "istitle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125056"}, "name": "isupper"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125504"}, "name": "isnumeric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729125952"}, "name": "isdecimal"}], "typeVars": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "isAbstract": false}, "140042452316592": {"type": "Overloaded", "items": [{"nodeId": "140042728778304"}, {"nodeId": "140042728778752"}]}, "140042728778304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447208624"}, {"nodeId": "140042447208736"}, {"nodeId": "0"}, {"nodeId": "140042447208960"}, {"nodeId": "140042577727152"}, {"nodeId": "140042447209072"}, {"nodeId": "140042447209184"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "itemsize", "unicode", "buffer", "offset", "strides", "order"]}, "140042447208624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447208736": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577725808"}]}, "140042447208960": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042447209072": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209184": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728778752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447209744"}, {"nodeId": "140042447209856"}, {"nodeId": "0"}, {"nodeId": "140042447209520"}, {"nodeId": "140042577727152"}, {"nodeId": "140042447209632"}, {"nodeId": "140042447209968"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["subtype", "shape", "itemsize", "unicode", "buffer", "offset", "strides", "order"]}, "140042447209744": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209856": {"type": "Union", "items": [{"nodeId": "140042577727152"}, {"nodeId": "140042577725808"}]}, "140042447209520": {"type": "TypeAlias", "target": {"nodeId": "140042464140128"}}, "140042447209632": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447209968": {"type": "TypeAlias", "target": {"nodeId": "140042473107104"}}, "140042728779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042468241952": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468241952", "variance": "INVARIANT"}, ".2.140042468241952": {"type": "TypeVar", "varName": "_CharDType", "values": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468234224"}]}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468233888"}]}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468241952", "variance": "INVARIANT"}, "140042728779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447210528"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447210528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447210416"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447210416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728780544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042451730016": {"type": "Overloaded", "items": [{"nodeId": "140042447176416"}, {"nodeId": "140042728781440"}]}, "140042447176416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211088"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728781440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447210752": {"type": "Overloaded", "items": [{"nodeId": "140042447176864"}, {"nodeId": "140042728782336"}]}, "140042447176864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447211872"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447211872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728782336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447210192": {"type": "Overloaded", "items": [{"nodeId": "140042447177088"}, {"nodeId": "140042728783232"}]}, "140042447177088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728783232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447212992"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447212992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447211648": {"type": "Overloaded", "items": [{"nodeId": "140042447177312"}, {"nodeId": "140042728915456"}]}, "140042447177312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447213440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447213440": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728915456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447213776"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447213776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447212432": {"type": "Overloaded", "items": [{"nodeId": "140042447177536"}, {"nodeId": "140042728916352"}]}, "140042447177536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447214224"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447214224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728916352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447214560"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447214560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447213216": {"type": "Overloaded", "items": [{"nodeId": "140042447177760"}, {"nodeId": "140042728917248"}]}, "140042447177760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215008"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728917248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215344"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215344": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447214000": {"type": "Overloaded", "items": [{"nodeId": "140042447177984"}, {"nodeId": "140042728918144"}]}, "140042447177984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447215792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447215792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728918144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216128"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447214784": {"type": "Overloaded", "items": [{"nodeId": "140042447178208"}, {"nodeId": "140042728919040"}]}, "140042447178208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216576"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728919040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447216912"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042447216912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447215568": {"type": "Overloaded", "items": [{"nodeId": "140042447178432"}, {"nodeId": "140042728919936"}]}, "140042447178432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447217360"}, {"nodeId": "140042447217472"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447217360": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447217472": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728919936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447217920"}, {"nodeId": "140042447217696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447217920": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447217696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447216352": {"type": "Overloaded", "items": [{"nodeId": "140042447178656"}, {"nodeId": "140042728920832"}]}, "140042447178656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447218144"}, {"nodeId": "140042447218480"}, {"nodeId": "140042447218704"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447218144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218704": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447218592"}]}, "140042447218592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728920832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447219264"}, {"nodeId": "140042447218256"}, {"nodeId": "140042447219488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447219264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447218256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447219488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447219376"}]}, "140042447219376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447178880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220048"}, {"nodeId": "140042447219152"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042447220048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447219152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447179328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220384"}, {"nodeId": "140042447220496"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042447220384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447220496": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042447217136": {"type": "Overloaded", "items": [{"nodeId": "140042447179552"}, {"nodeId": "140042728922624"}]}, "140042447179552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447220944"}, {"nodeId": "140042447221056"}, {"nodeId": "140042447221280"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042447220944": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447221168"}]}, "140042447221168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728922624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447221728"}, {"nodeId": "140042447220720"}, {"nodeId": "140042447221952"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "suffix", "start", "end"]}, "140042447221728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447220720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447221952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447221840"}]}, "140042447221840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728923072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447222176"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tabsize"]}, "140042447222176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447219936": {"type": "Overloaded", "items": [{"nodeId": "140042447180000"}, {"nodeId": "140042728923968"}]}, "140042447180000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447221616"}, {"nodeId": "140042447222736"}, {"nodeId": "140042447222960"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447221616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447222848"}]}, "140042447222848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728923968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447223520"}, {"nodeId": "140042447222624"}, {"nodeId": "140042447223744"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447223520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447223744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447223632"}]}, "140042447223632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447222512": {"type": "Overloaded", "items": [{"nodeId": "140042447175968"}, {"nodeId": "140042728924864"}]}, "140042447175968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447223408"}, {"nodeId": "140042447224416"}, {"nodeId": "140042447224640"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447223408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447224528"}]}, "140042447224528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728924864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447274496"}, {"nodeId": "140042447274272"}, {"nodeId": "140042447274720"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447274496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447274272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447274720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447274608"}]}, "140042447274608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224192": {"type": "Overloaded", "items": [{"nodeId": "140042447180224"}, {"nodeId": "140042728925760"}]}, "140042447180224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447275056"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042447275056": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728925760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447275616"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seq"]}, "140042447275616": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042452319280": {"type": "Overloaded", "items": [{"nodeId": "140042447180448"}, {"nodeId": "140042728926656"}]}, "140042447180448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447276064"}, {"nodeId": "140042447276176"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447276064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728926656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447276624"}, {"nodeId": "140042447276400"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447276624": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447275168": {"type": "Overloaded", "items": [{"nodeId": "140042447180672"}, {"nodeId": "140042728927552"}]}, "140042447180672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447277184"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447277184": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447276848"}]}, "140042447276848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728927552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447277632"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447277632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447277520"}]}, "140042447277520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447275840": {"type": "Overloaded", "items": [{"nodeId": "140042447180896"}, {"nodeId": "140042728928448"}]}, "140042447180896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278080"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447278080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728928448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447278416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447276960": {"type": "Overloaded", "items": [{"nodeId": "140042447181120"}, {"nodeId": "140042728929344"}]}, "140042447181120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447278864"}, {"nodeId": "140042447278976"}, {"nodeId": "140042447279200"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "count"]}, "140042447278864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447278976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447279200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447279088"}]}, "140042447279088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728929344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447279648"}, {"nodeId": "140042447278640"}, {"nodeId": "140042447279872"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "old", "new", "count"]}, "140042447279648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447278640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447279872": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447279760"}]}, "140042447279760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447277856": {"type": "Overloaded", "items": [{"nodeId": "140042447181344"}, {"nodeId": "140042728930240"}]}, "140042447181344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447279536"}, {"nodeId": "140042447280432"}, {"nodeId": "140042447280656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447279536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447280544"}]}, "140042447280544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042728930240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447281216"}, {"nodeId": "140042447280096"}, {"nodeId": "140042447281440"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447281216": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447281328"}]}, "140042447281328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447280208": {"type": "Overloaded", "items": [{"nodeId": "140042447181568"}, {"nodeId": "140042729111616"}]}, "140042447181568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447281104"}, {"nodeId": "140042447282112"}, {"nodeId": "140042447282336"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447281104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447282112": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447282336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447282224"}]}, "140042447282224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729111616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447282896"}, {"nodeId": "140042447281776"}, {"nodeId": "140042447283120"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sub", "start", "end"]}, "140042447282896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447283008"}]}, "140042447283008": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447281888": {"type": "Overloaded", "items": [{"nodeId": "140042447181792"}, {"nodeId": "140042729112512"}]}, "140042447181792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447282784"}, {"nodeId": "140042447283792"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447282784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729112512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447284240"}, {"nodeId": "140042447284016"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "width", "fillchar"]}, "140042447284240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447284016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283568": {"type": "Overloaded", "items": [{"nodeId": "140042447182016"}, {"nodeId": "140042729113408"}]}, "140042447182016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447284464"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447284464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729113408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sep"]}, "140042447285024": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447283456": {"type": "Overloaded", "items": [{"nodeId": "140042447182240"}, {"nodeId": "140042729114304"}]}, "140042447182240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285584"}, {"nodeId": "140042447285808"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447285584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447285472"}]}, "140042447285472": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447285808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447285696"}]}, "140042447285696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729114304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447285248"}, {"nodeId": "140042447286480"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447285248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286256"}]}, "140042447286256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286368"}]}, "140042447286368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447284576": {"type": "Overloaded", "items": [{"nodeId": "140042447182464"}, {"nodeId": "140042729115200"}]}, "140042447182464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287040"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447287040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447286144"}]}, "140042447286144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729115200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287488"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447287488": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447287376"}]}, "140042447287376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286816": {"type": "Overloaded", "items": [{"nodeId": "140042447182688"}, {"nodeId": "140042729116096"}]}, "140042447182688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447288048"}, {"nodeId": "140042447288272"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447288048": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447287936"}]}, "140042447287936": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447288272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288160"}]}, "140042447288160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729116096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447287712"}, {"nodeId": "140042447288944"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sep", "maxsplit"]}, "140042447287712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288720"}]}, "140042447288720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447288944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447288832"}]}, "140042447288832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729116544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447289392"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "keepends"]}, "140042447289392": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447289168"}]}, "140042447289168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447286704": {"type": "Overloaded", "items": [{"nodeId": "140042447183360"}, {"nodeId": "140042729117440"}]}, "140042447183360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447289728"}, {"nodeId": "140042447289840"}, {"nodeId": "140042447290064"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042447289728": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447289840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447290064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447289952"}]}, "140042447289952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729117440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447356080"}, {"nodeId": "140042447356192"}, {"nodeId": "140042447356416"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "prefix", "start", "end"]}, "140042447356080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447356192": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447356416": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447356304"}]}, "140042447356304": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447289280": {"type": "Overloaded", "items": [{"nodeId": "140042447179776"}, {"nodeId": "140042729118336"}]}, "140042447179776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447356976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447356976": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447356640"}]}, "140042447356640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729118336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447357424"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "chars"]}, "140042447357424": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447357312"}]}, "140042447357312": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447224080": {"type": "Overloaded", "items": [{"nodeId": "140042447183584"}, {"nodeId": "140042729119232"}]}, "140042447183584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447357872"}, {"nodeId": "140042447358096"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "table", "deletechars"]}, "140042447357872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447358096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447357984"}]}, "140042447357984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729119232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042447358432"}, {"nodeId": "140042447358656"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "table", "deletechars"]}, "140042447358432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042447358656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447358544"}]}, "140042447358544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729119680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, {"nodeId": "140042447358880"}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": "A"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "width"]}, "140042447358880": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042729120128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729120576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729121920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729122368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729122816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729123264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729123712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729124160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729124608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042729125952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468241952", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": ".2.140042468241952"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468241952"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468242288": {"type": "Protocol", "module": "numpy", "simpleName": "_SupportsDLPack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042729126400"}, "name": "__dlpack__"}], "typeVars": [{"nodeId": ".1.140042468242288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__dlpack__"]}, "140042729126400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468242288", "args": [{"nodeId": ".1.140042468242288"}]}, {"nodeId": "140042447359328"}], "returnType": {"nodeId": "140042447357648"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "stream"]}, ".1.140042468242288": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468242288", "variance": "CONTRAVARIANT"}, "140042447359328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": ".1.140042468242288"}]}, "140042447357648": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042578052144": {"type": "Concrete", "module": "typing_extensions", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577831952"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577832176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720423360"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042547898496"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042547899616"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577831952": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042577832176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042720423360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564604464"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564604128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant", "default"]}, "140042564604464": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}]}, "140042564604128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042547898496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}], "returnType": {"nodeId": "140042782778288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782778288": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecArgs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782778960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749499360"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042782778960": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpec", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577827808"}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749500256"}, "name": "__init__"}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548185568"}}, {"kind": "Variable", "name": "kwargs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548186016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749502496"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749502944"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577827808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749500256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564605808"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "bound", "contravariant", "covariant"]}, "140042564605808": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042548185568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}], "returnType": {"nodeId": "140042782778288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548186016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}], "returnType": {"nodeId": "140042782778624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782778624": {"type": "Concrete", "module": "typing", "simpleName": "ParamSpecKwargs", "members": [{"kind": "Variable", "name": "__origin__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782778960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749499808"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749499808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778624"}, {"nodeId": "140042782778960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140042749502496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782777952": {"type": "Concrete", "module": "typing", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749495328"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749495776"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749496224"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749495328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749495776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749496224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777952"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749502944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778960"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749499360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782778288"}, {"nodeId": "140042782778960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "origin"]}, "140042547899616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052144"}], "returnType": {"nodeId": "140042782778624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782777616": {"type": "Concrete", "module": "typing", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586370816"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749493536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749493984"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749494432"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586370816": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749493536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "140042564605920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant"]}, "140042564605920": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042749493984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749494432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777616"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782779296": {"type": "Concrete", "module": "typing", "simpleName": "NewType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749503392"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749503840"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749504288"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749504736"}, "name": "__ror__"}, {"kind": "Variable", "name": "__supertype__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365024"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749503392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "tp"]}, "140042749503840": {"type": "Function", "typeVars": [".-1.140042749503840"], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": ".-1.140042749503840"}], "returnType": {"nodeId": ".-1.140042749503840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, ".-1.140042749503840": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749503840", "variance": "INVARIANT"}, "140042749504288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749504736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779296"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782777952"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782779632": {"type": "Concrete", "module": "typing", "simpleName": "_Alias", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749506528"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749506528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782779632"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577725472": {"type": "Concrete", "module": "typing", "simpleName": "_ProtocolMeta", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577657328"}], "isAbstract": false}, "140042577657328": {"type": "Concrete", "module": "abc", "simpleName": "ABCMeta", "members": [{"kind": "Variable", "name": "__abstractmethods__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "mcls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "namespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649109664"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649110112"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649110560"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649111008"}, "name": "_dump_registry"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649111456"}, "name": "register"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042577733872": {"type": "Concrete", "module": "builtins", "simpleName": "frozenset", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552562448"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708174880"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708175328"}, "name": "difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708175776"}, "name": "intersection"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708176224"}, "name": "isdisjoint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708176672"}, "name": "issubset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708177120"}, "name": "issuperset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708177568"}, "name": "symmetric_difference"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178016"}, "name": "union"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178464"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708178912"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708179360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708179808"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708180256"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708180704"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708181152"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708181600"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182048"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182496"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708182944"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708183392"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577733872"}], "bases": [{"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "isAbstract": false}, "140042552562448": {"type": "Overloaded", "items": [{"nodeId": "140042708173984"}, {"nodeId": "140042708174432"}]}, "140042708173984": {"type": "Function", "typeVars": [".-1.140042708173984"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042708173984"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042708173984": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708173984", "variance": "INVARIANT"}, "140042708174432": {"type": "Function", "typeVars": [".-1.140042708174432"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": ".-1.140042708174432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, ".1.140042577733872": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577733872", "variance": "COVARIANT"}, ".-1.140042708174432": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708174432", "variance": "INVARIANT"}, "140042708174880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042708175328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708175776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, "140042708176224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708176672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708177120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708177568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708178016": {"type": "Function", "typeVars": [".-1.140042708178016"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042708178016"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564352"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "s"]}, ".-1.140042708178016": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708178016", "variance": "INVARIANT"}, "140042552564352": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708178016"}]}, "140042708178464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708178912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708179360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042708179808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708180256": {"type": "Function", "typeVars": [".-1.140042708180256"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708180256"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564464"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708180256": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708180256", "variance": "INVARIANT"}, "140042552564464": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708180256"}]}, "140042708180704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".1.140042577733872"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708181152": {"type": "Function", "typeVars": [".-1.140042708181152"], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": ".-1.140042708181152"}]}], "returnType": {"nodeId": "140042577733872", "args": [{"nodeId": "140042552564576"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042708181152": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708181152", "variance": "INVARIANT"}, "140042552564576": {"type": "Union", "items": [{"nodeId": ".1.140042577733872"}, {"nodeId": ".-1.140042708181152"}]}, "140042708181600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708182944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577733872", "args": [{"nodeId": ".1.140042577733872"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042708183392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042649109664": {"type": "Function", "typeVars": [".-1.140042649109664"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042649109664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["mcls", "name", "bases", "namespace", "kwargs"]}, ".-1.140042649109664": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649109664", "variance": "INVARIANT"}, "140042649110112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "instance"]}, "140042649110560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140042649111008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "140042556831136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "file"]}, "140042556831136": {"type": "Union", "items": [{"nodeId": "140042569039936", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042649111456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577657328"}, {"nodeId": "0"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "subclass"]}, "140042782780304": {"type": "Protocol", "module": "typing", "simpleName": "SupportsRound", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569763744"}, "items": [{"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__round__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042782780304"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042569763744": {"type": "Overloaded", "items": [{"nodeId": "140042753671904"}, {"nodeId": "140042753672352"}]}, "140042753671904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780304", "args": [{"nodeId": ".1.140042782780304"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782780304": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782780304", "variance": "COVARIANT"}, "140042753672352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782780304", "args": [{"nodeId": ".1.140042782780304"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042782780304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577727824": {"type": "Protocol", "module": "typing", "simpleName": "Hashable", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548300480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__hash__"]}, "140042548300480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577727824"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782781984": {"type": "Protocol", "module": "typing", "simpleName": "Awaitable", "members": [{"kind": "Variable", "name": "__await__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548312128"}}], "typeVars": [{"nodeId": ".1.140042782781984"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__await__"]}, "140042548312128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782781984"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".1.140042782781984"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782781984": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782781984", "variance": "COVARIANT"}, "140042782782320": {"type": "Concrete", "module": "typing", "simpleName": "Coroutine", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cr_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364000"}}, {"kind": "Variable", "name": "cr_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364224"}}, {"kind": "Variable", "name": "cr_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364448"}}, {"kind": "Variable", "name": "cr_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548364672"}}, {"kind": "Variable", "name": "send", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548364896"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564615888"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}, {"kind": "Variable", "name": "close", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548365120"}}], "typeVars": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}], "bases": [{"nodeId": "140042782781984", "args": [{"nodeId": ".3.140042782782320"}]}], "isAbstract": true}, "140042548364000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042564813872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782320": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "COVARIANT"}, ".2.140042782782320": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "CONTRAVARIANT"}, ".3.140042782782320": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782320", "variance": "COVARIANT"}, "140042564813872": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042548364224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548364896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": ".2.140042782782320"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564615888": {"type": "Overloaded", "items": [{"nodeId": "140042753682656"}, {"nodeId": "140042753683104"}]}, "140042753682656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": "0"}, {"nodeId": "140042564814096"}, {"nodeId": "140042564814208"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814096": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564814208": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753683104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564814320"}], "returnType": {"nodeId": ".1.140042782782320"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042548365120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042782782320"}, {"nodeId": ".2.140042782782320"}, {"nodeId": ".3.140042782782320"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577728160": {"type": "Concrete", "module": "typing", "simpleName": "AwaitableGenerator", "members": [], "typeVars": [{"nodeId": ".1.140042577728160"}, {"nodeId": ".2.140042577728160"}, {"nodeId": ".3.140042577728160"}, {"nodeId": ".4.140042577728160"}], "bases": [{"nodeId": "140042782781984", "args": [{"nodeId": ".3.140042577728160"}]}, {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042577728160"}, {"nodeId": ".2.140042577728160"}, {"nodeId": ".3.140042577728160"}]}], "isAbstract": true}, ".1.140042577728160": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "COVARIANT"}, ".2.140042577728160": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "CONTRAVARIANT"}, ".3.140042577728160": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "COVARIANT"}, ".4.140042577728160": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577728160", "variance": "INVARIANT"}, "140042782782656": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterable", "members": [{"kind": "Variable", "name": "__aiter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548366240"}}], "typeVars": [{"nodeId": ".1.140042782782656"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aiter__"]}, "140042548366240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782656", "args": [{"nodeId": ".1.140042782782656"}]}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782656"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782656": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782656", "variance": "COVARIANT"}, "140042782782992": {"type": "Protocol", "module": "typing", "simpleName": "AsyncIterator", "members": [{"kind": "Variable", "name": "__anext__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548369376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753684896"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140042782782992"}], "bases": [{"nodeId": "140042782782656", "args": [{"nodeId": ".1.140042782782992"}]}], "protocolMembers": ["__aiter__", "__anext__"]}, "140042548369376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782782992"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782782992": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782782992", "variance": "COVARIANT"}, "140042753684896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782782992"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042782783328": {"type": "Concrete", "module": "typing", "simpleName": "AsyncGenerator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753685344"}, "name": "__anext__"}, {"kind": "Variable", "name": "asend", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548371616"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564616000"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042753687136"}, "name": "aclose"}, {"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548371168"}}, {"kind": "Variable", "name": "ag_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372512"}}, {"kind": "Variable", "name": "ag_frame", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372736"}}, {"kind": "Variable", "name": "ag_running", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548372960"}}], "typeVars": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}], "bases": [{"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042782783328"}]}], "isAbstract": true}, "140042753685344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042782783328": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783328", "variance": "COVARIANT"}, ".2.140042782783328": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042782783328", "variance": "CONTRAVARIANT"}, "140042548371616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": ".2.140042782783328"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564616000": {"type": "Overloaded", "items": [{"nodeId": "140042753686240"}, {"nodeId": "140042753686688"}]}, "140042753686240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": "0"}, {"nodeId": "140042564814544"}, {"nodeId": "140042564814656"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814544": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042564814656": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753686688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042564814768"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042782783328"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042564814768": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042753687136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548371168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042578058864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548372960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042782783328"}, {"nodeId": ".2.140042782783328"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577730176": {"type": "Concrete", "module": "typing", "simpleName": "BinaryIO", "members": [{"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548755168"}}], "typeVars": [], "bases": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}], "isAbstract": true}, "140042548755168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730176"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577730512": {"type": "Concrete", "module": "typing", "simpleName": "TextIO", "members": [{"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543677952"}}, {"kind": "Variable", "name": "encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678400"}}, {"kind": "Variable", "name": "errors", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678624"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543678848"}}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543679072"}}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042543679296"}}], "typeVars": [], "bases": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": true}, "140042543677952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543678400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543678624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042564822608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564822608": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042543678848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543679072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042543679296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}], "returnType": {"nodeId": "140042577730512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577731184": {"type": "Concrete", "module": "typing", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564821824"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042543681984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719639840"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719640736"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042564821824": {"type": "Overloaded", "items": [{"nodeId": "140042719638496"}, {"nodeId": "140042719638944"}]}, "140042719638496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564825072"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140042564825072": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042719638944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140042543681984": {"type": "Function", "typeVars": [".-1.140042543681984"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042543681984"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140042543681984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042543681984", "variance": "INVARIANT"}, "140042719639840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731184"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719640736": {"type": "Function", "typeVars": [".-1.140042719640736"], "argTypes": [{"nodeId": ".-1.140042719640736"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042719640736"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140042719640736": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719640736", "variance": "INVARIANT"}, "140042577731520": {"type": "Concrete", "module": "typing", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719641184"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719772960"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719773408"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719773856"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719774304"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719774752"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719775200"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719775648"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776096"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776544"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}], "isAbstract": true}, "140042719641184": {"type": "Function", "typeVars": [".-1.140042719641184"], "argTypes": [{"nodeId": ".-1.140042719641184"}], "returnType": {"nodeId": ".-1.140042719641184"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042719641184": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719641184", "variance": "INVARIANT"}, "140042719772960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140042719773408": {"type": "Function", "typeVars": [".-1.140042719773408"], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}, {"nodeId": ".-1.140042719773408"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140042719773408": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719773408", "variance": "INVARIANT"}, "140042719773856": {"type": "Function", "typeVars": [".-1.140042719773856"], "argTypes": [{"nodeId": ".-1.140042719773856"}, {"nodeId": ".-1.140042719773856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042719773856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719773856", "variance": "INVARIANT"}, "140042719774304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042719774752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719775200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719775648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577731520"}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042719776096": {"type": "Function", "typeVars": [".-1.140042719776096"], "argTypes": [{"nodeId": ".-1.140042719776096"}, {"nodeId": ".-1.140042719776096"}], "returnType": {"nodeId": ".-1.140042719776096"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042719776096": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719776096", "variance": "INVARIANT"}, "140042719776544": {"type": "Function", "typeVars": [".-1.140042719776544"], "argTypes": [{"nodeId": ".-1.140042719776544"}, {"nodeId": ".-1.140042719776544"}], "returnType": {"nodeId": ".-1.140042719776544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042719776544": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042719776544", "variance": "INVARIANT"}, "140042577364016": {"type": "Concrete", "module": "typing", "simpleName": "ForwardRef", "members": [{"kind": "Variable", "name": "__forward_arg__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__forward_code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__forward_evaluated__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_value__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586365328"}}, {"kind": "Variable", "name": "__forward_is_argument__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_is_class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__forward_module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586364768"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_argument", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_class", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719776992"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globalns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "localns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursive_guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719777888"}, "name": "_evaluate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042719778784"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586365328": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042586364768": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719776992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564825744"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "arg", "is_argument", "module", "is_class"]}, "140042564825744": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719777888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042564825968"}, {"nodeId": "140042564826192"}, {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042564826416"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "globalns", "localns", "recursive_guard"]}, "140042564825968": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042564826192": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042564826416": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042719778784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364016"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042782777280": {"type": "Concrete", "module": "builtins", "simpleName": "function", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506442944"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009632"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506443392"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506444064"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042707753824"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042506442944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042552558192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552558192": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042578052816": {"type": "Concrete", "module": "types", "simpleName": "_Cell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720426720"}, "name": "__init__"}, {"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "cell_contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042720426720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052816"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042569009632": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042506443392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506444064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042707753824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782777280"}, {"nodeId": "140042552558528"}, {"nodeId": "140042552558640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042552558528": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042552558640": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042577364352": {"type": "Concrete", "module": "builtins", "simpleName": "staticmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511002176"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511001952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749676000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749676448"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511001280"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749677344"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042577364352"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042511002176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042556319872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577364352": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577364352", "variance": "COVARIANT"}, "140042556319872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511001952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749676000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": "140042556319424"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042556319424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749676448": {"type": "Function", "typeVars": [".-1.140042749676448"], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": ".-1.140042749676448"}, {"nodeId": "140042551966656"}], "returnType": {"nodeId": "140042556325248"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140042749676448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749676448", "variance": "INVARIANT"}, "140042551966656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556325248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511001280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}], "returnType": {"nodeId": "140042552082496"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552082496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749677344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577364352"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364352"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042577364688": {"type": "Concrete", "module": "builtins", "simpleName": "classmethod", "members": [{"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511000832"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042511000384"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556325472"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749679136"}, "name": "__get__"}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__wrapped__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042510999712"}}], "typeVars": [{"nodeId": ".1.140042577364688"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042511000832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042552082720"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577364688": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577364688", "variance": "COVARIANT"}, "140042552082720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042511000384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556325472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}, {"nodeId": "140042552082944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552082944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042749679136": {"type": "Function", "typeVars": [".-1.140042749679136"], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}, {"nodeId": ".-1.140042749679136"}, {"nodeId": "140042551967440"}], "returnType": {"nodeId": "140042552083168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, ".-1.140042749679136": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749679136", "variance": "INVARIANT"}, "140042551967440": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042552083168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042510999712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577364688"}]}], "returnType": {"nodeId": "140042552083392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552083392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577364688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577365360": {"type": "Concrete", "module": "builtins", "simpleName": "super", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552099216"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042552099216": {"type": "Overloaded", "items": [{"nodeId": "140042749689440"}, {"nodeId": "140042720051488"}, {"nodeId": "140042720051936"}]}, "140042749689440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042720051488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042720051936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577365360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577734208": {"type": "Concrete", "module": "builtins", "simpleName": "enumerate", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iterable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708183840"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708184288"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708184736"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708185184"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042577734208"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": "140042569010640"}]}], "isAbstract": false}, "140042708183840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734208", "args": [{"nodeId": ".1.140042577734208"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577734208"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "iterable", "start"]}, ".1.140042577734208": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734208", "variance": "INVARIANT"}, "140042708184288": {"type": "Function", "typeVars": [".-1.140042708184288"], "argTypes": [{"nodeId": ".-1.140042708184288"}], "returnType": {"nodeId": ".-1.140042708184288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042708184288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042708184288", "variance": "INVARIANT"}, "140042708184736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734208", "args": [{"nodeId": ".1.140042577734208"}]}], "returnType": {"nodeId": "140042552564912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552564912": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": ".1.140042577734208"}]}, "140042708185184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042569010640": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": ".1.140042577734208"}]}, "140042577369392": {"type": "Concrete", "module": "builtins", "simpleName": "range", "members": [{"kind": "Variable", "name": "start", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506820672"}}, {"kind": "Variable", "name": "stop", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506821120"}}, {"kind": "Variable", "name": "step", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506821344"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552562784"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708187872"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708188320"}, "name": "index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042708188768"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703028512"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703028960"}, "name": "__iter__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552564240"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703030304"}, "name": "__reversed__"}], "typeVars": [], "bases": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042506820672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506821120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506821344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042552562784": {"type": "Overloaded", "items": [{"nodeId": "140042708186976"}, {"nodeId": "140042708187424"}]}, "140042708186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708187424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042708187872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708188320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042708188768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703028512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703028960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552564240": {"type": "Overloaded", "items": [{"nodeId": "140042703029408"}, {"nodeId": "140042703029856"}]}, "140042703029408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042578051136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703029856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": "140042577369392"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703030304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369392"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042577369728": {"type": "Concrete", "module": "builtins", "simpleName": "property", "members": [{"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569429536"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569432112"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569431664"}}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703030752"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fget", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703031200"}, "name": "getter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703031648"}, "name": "setter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__fdel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032096"}, "name": "deleter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032544"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703032992"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703033440"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569429536": {"type": "Union", "items": [{"nodeId": "140042586000064"}, {"nodeId": "N"}]}, "140042586000064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569432112": {"type": "Union", "items": [{"nodeId": "140042586009920"}, {"nodeId": "N"}]}, "140042586009920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569431664": {"type": "Union", "items": [{"nodeId": "140042577258400"}, {"nodeId": "N"}]}, "140042577258400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703030752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552565360"}, {"nodeId": "140042552565696"}, {"nodeId": "140042552566032"}, {"nodeId": "140042552566256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fget", "fset", "fdel", "doc"]}, "140042552565360": {"type": "Union", "items": [{"nodeId": "140042552097280"}, {"nodeId": "N"}]}, "140042552097280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552565696": {"type": "Union", "items": [{"nodeId": "140042552097728"}, {"nodeId": "N"}]}, "140042552097728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042552566032": {"type": "Union", "items": [{"nodeId": "140042552097952"}, {"nodeId": "N"}]}, "140042552097952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042552566256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042703031200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552097504"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552097504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703031648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552097056"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552097056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703032096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "140042552770624"}], "returnType": {"nodeId": "140042577369728"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042552770624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703032544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}, {"nodeId": "140042552567040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042552567040": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042703032992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042703033440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369728"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042577370064": {"type": "Concrete", "module": "builtins", "simpleName": "_NotImplementedType", "members": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569343248": {"type": "Protocol", "module": "builtins", "simpleName": "_PathLike", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703037472"}, "name": "__fspath__"}], "typeVars": [{"nodeId": ".1.140042569343248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__fspath__"]}, "140042703037472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569343248", "args": [{"nodeId": ".1.140042569343248"}]}], "returnType": {"nodeId": ".1.140042569343248"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569343248": {"type": "TypeVar", "varName": "AnyStr_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569343248", "variance": "COVARIANT"}, "140042577370400": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSynchronousAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703038368"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140042577370400"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__anext__"]}, "140042703038368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577370400", "args": [{"nodeId": ".1.140042577370400"}]}], "returnType": {"nodeId": ".1.140042577370400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577370400": {"type": "TypeVar", "varName": "_AwaitableT_co", "values": [], "upperBound": {"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, "def": "140042577370400", "variance": "COVARIANT"}, "140042577734544": {"type": "Concrete", "module": "builtins", "simpleName": "filter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552568272"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703177760"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703178208"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577734544"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577734544"}]}], "isAbstract": false}, "140042552568272": {"type": "Overloaded", "items": [{"nodeId": "140042703176416"}, {"nodeId": "140042703176864"}, {"nodeId": "140042703177312"}]}, "140042703176416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "N"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042552570624"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140042577734544": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734544", "variance": "INVARIANT"}, "140042552570624": {"type": "Union", "items": [{"nodeId": ".1.140042577734544"}, {"nodeId": "N"}]}, "140042703176864": {"type": "Function", "typeVars": [".-1.140042703176864"], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "140042552771072"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703176864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552771072": {"type": "Function", "typeVars": [".-1.140042552771072"], "argTypes": [{"nodeId": ".-1.140042552771072"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042552771072": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552771072", "variance": "INVARIANT"}, ".-1.140042703176864": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703176864", "variance": "INVARIANT"}, "140042703177312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}, {"nodeId": "140042552770848"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042577734544"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042552770848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": ".1.140042577734544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042703177760": {"type": "Function", "typeVars": [".-1.140042703177760"], "argTypes": [{"nodeId": ".-1.140042703177760"}], "returnType": {"nodeId": ".-1.140042703177760"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703177760": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703177760", "variance": "INVARIANT"}, "140042703178208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734544", "args": [{"nodeId": ".1.140042577734544"}]}], "returnType": {"nodeId": ".1.140042577734544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577370736": {"type": "Protocol", "module": "builtins", "simpleName": "_GetItemIterable", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703184928"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042577370736"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042703184928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577370736", "args": [{"nodeId": ".1.140042577370736"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577370736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577370736": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577370736", "variance": "COVARIANT"}, "140042577734880": {"type": "Concrete", "module": "builtins", "simpleName": "map", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552570736"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703290656"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703291104"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577734880"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577734880"}]}], "isAbstract": false}, "140042552570736": {"type": "Overloaded", "items": [{"nodeId": "140042703189408"}, {"nodeId": "140042703189856"}, {"nodeId": "140042703190304"}, {"nodeId": "140042703190752"}, {"nodeId": "140042703191200"}, {"nodeId": "140042703191648"}]}, "140042703189408": {"type": "Function", "typeVars": [".-1.140042703189408"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773312"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703189408"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, ".1.140042577734880": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577734880", "variance": "INVARIANT"}, "140042552773312": {"type": "Function", "typeVars": [".-1.140042552773312"], "argTypes": [{"nodeId": ".-1.140042552773312"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042552773312": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773312", "variance": "INVARIANT"}, ".-1.140042703189408": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189408", "variance": "INVARIANT"}, "140042703189856": {"type": "Function", "typeVars": [".-1.140042703189856", ".-2.140042703189856"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552772640"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703189856"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703189856"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042552772640": {"type": "Function", "typeVars": [".-1.140042552772640", ".-2.140042552772640"], "argTypes": [{"nodeId": ".-1.140042552772640"}, {"nodeId": ".-2.140042552772640"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042552772640": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772640", "variance": "INVARIANT"}, ".-2.140042552772640": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772640", "variance": "INVARIANT"}, ".-1.140042703189856": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189856", "variance": "INVARIANT"}, ".-2.140042703189856": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703189856", "variance": "INVARIANT"}, "140042703190304": {"type": "Function", "typeVars": [".-1.140042703190304", ".-2.140042703190304", ".-3.140042703190304"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552772864"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703190304"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703190304"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703190304"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140042552772864": {"type": "Function", "typeVars": [".-1.140042552772864", ".-2.140042552772864", ".-3.140042552772864"], "argTypes": [{"nodeId": ".-1.140042552772864"}, {"nodeId": ".-2.140042552772864"}, {"nodeId": ".-3.140042552772864"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".-1.140042552772864": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-2.140042552772864": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-3.140042552772864": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552772864", "variance": "INVARIANT"}, ".-1.140042703190304": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, ".-2.140042703190304": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, ".-3.140042703190304": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190304", "variance": "INVARIANT"}, "140042703190752": {"type": "Function", "typeVars": [".-1.140042703190752", ".-2.140042703190752", ".-3.140042703190752", ".-4.140042703190752"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773536"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703190752"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703190752"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042552773536": {"type": "Function", "typeVars": [".-1.140042552773536", ".-2.140042552773536", ".-3.140042552773536", ".-4.140042552773536"], "argTypes": [{"nodeId": ".-1.140042552773536"}, {"nodeId": ".-2.140042552773536"}, {"nodeId": ".-3.140042552773536"}, {"nodeId": ".-4.140042552773536"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, ".-1.140042552773536": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-2.140042552773536": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-3.140042552773536": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-4.140042552773536": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773536", "variance": "INVARIANT"}, ".-1.140042703190752": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-2.140042703190752": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-3.140042703190752": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, ".-4.140042703190752": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703190752", "variance": "INVARIANT"}, "140042703191200": {"type": "Function", "typeVars": [".-1.140042703191200", ".-2.140042703191200", ".-3.140042703191200", ".-4.140042703191200", ".-5.140042703191200"], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773760"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703191200"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-5.140042703191200"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null, null]}, "140042552773760": {"type": "Function", "typeVars": [".-1.140042552773760", ".-2.140042552773760", ".-3.140042552773760", ".-4.140042552773760", ".-5.140042552773760"], "argTypes": [{"nodeId": ".-1.140042552773760"}, {"nodeId": ".-2.140042552773760"}, {"nodeId": ".-3.140042552773760"}, {"nodeId": ".-4.140042552773760"}, {"nodeId": ".-5.140042552773760"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, ".-1.140042552773760": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-2.140042552773760": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-3.140042552773760": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-4.140042552773760": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-5.140042552773760": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042552773760", "variance": "INVARIANT"}, ".-1.140042703191200": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-2.140042703191200": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-3.140042703191200": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-4.140042703191200": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, ".-5.140042703191200": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703191200", "variance": "INVARIANT"}, "140042703191648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}, {"nodeId": "140042552773984"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, null, null, null, null, null, "iterables"]}, "140042552773984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042703290656": {"type": "Function", "typeVars": [".-1.140042703290656"], "argTypes": [{"nodeId": ".-1.140042703290656"}], "returnType": {"nodeId": ".-1.140042703290656"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703290656": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703290656", "variance": "INVARIANT"}, "140042703291104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577734880", "args": [{"nodeId": ".1.140042577734880"}]}], "returnType": {"nodeId": ".1.140042577734880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569343584": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsWriteAndFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703301856"}, "name": "flush"}], "typeVars": [{"nodeId": ".1.140042569343584"}], "bases": [{"nodeId": "140042569039936", "args": [{"nodeId": ".1.140042569343584"}]}], "protocolMembers": ["flush", "write"]}, "140042703301856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569343584", "args": [{"nodeId": ".1.140042569343584"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569343584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569343584", "variance": "CONTRAVARIANT"}, "140042577371072": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703303200"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371072"}, {"nodeId": ".2.140042577371072"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703303200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371072", "args": [{"nodeId": ".1.140042577371072"}, {"nodeId": ".2.140042577371072"}]}, {"nodeId": ".1.140042577371072"}], "returnType": {"nodeId": ".2.140042577371072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042577371072": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371072", "variance": "CONTRAVARIANT"}, ".2.140042577371072": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371072", "variance": "COVARIANT"}, "140042577371408": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3NoneOnly", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703303648"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371408"}, {"nodeId": ".2.140042577371408"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703303648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371408", "args": [{"nodeId": ".1.140042577371408"}, {"nodeId": ".2.140042577371408"}]}, {"nodeId": ".1.140042577371408"}, {"nodeId": "N"}], "returnType": {"nodeId": ".2.140042577371408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, ".1.140042577371408": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371408", "variance": "CONTRAVARIANT"}, ".2.140042577371408": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371408", "variance": "COVARIANT"}, "140042577371744": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsPow3", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__modulo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703304096"}, "name": "__pow__"}], "typeVars": [{"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}, {"nodeId": ".3.140042577371744"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__pow__"]}, "140042703304096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577371744", "args": [{"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}, {"nodeId": ".3.140042577371744"}]}, {"nodeId": ".1.140042577371744"}, {"nodeId": ".2.140042577371744"}], "returnType": {"nodeId": ".3.140042577371744"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042577371744": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "CONTRAVARIANT"}, ".2.140042577371744": {"type": "TypeVar", "varName": "_M", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "CONTRAVARIANT"}, ".3.140042577371744": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577371744", "variance": "COVARIANT"}, "140042577735216": {"type": "Concrete", "module": "builtins", "simpleName": "reversed", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552893936"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703516192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703516640"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703517088"}, "name": "__length_hint__"}], "typeVars": [{"nodeId": ".1.140042577735216"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735216"}]}], "isAbstract": false}, "140042552893936": {"type": "Overloaded", "items": [{"nodeId": "140042703515296"}, {"nodeId": "140042703515744"}]}, "140042703515296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}, {"nodeId": "140042782781312", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042577735216": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735216", "variance": "INVARIANT"}, "140042703515744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}, {"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042568806944": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749708320"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749708768"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568806944"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__len__"]}, "140042749708320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042568806944"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568806944": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806944", "variance": "COVARIANT"}, "140042749708768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806944", "args": [{"nodeId": ".1.140042568806944"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568806944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042703516192": {"type": "Function", "typeVars": [".-1.140042703516192"], "argTypes": [{"nodeId": ".-1.140042703516192"}], "returnType": {"nodeId": ".-1.140042703516192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703516192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703516192", "variance": "INVARIANT"}, "140042703516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": ".1.140042577735216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042703517088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735216", "args": [{"nodeId": ".1.140042577735216"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577372080": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound1", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703517984"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042577372080"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042703517984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577372080", "args": [{"nodeId": ".1.140042577372080"}]}], "returnType": {"nodeId": ".1.140042577372080"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577372080": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577372080", "variance": "COVARIANT"}, "140042577372416": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsRound2", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ndigits", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703518432"}, "name": "__round__"}], "typeVars": [{"nodeId": ".1.140042577372416"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__round__"]}, "140042703518432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577372416", "args": [{"nodeId": ".1.140042577372416"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042577372416"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042577372416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577372416", "variance": "COVARIANT"}, "140042569343920": {"type": "Protocol", "module": "builtins", "simpleName": "_SupportsSumWithNoDefaultGiven", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568804256", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042568804592", "args": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}], "protocolMembers": ["__add__", "__radd__"]}, "140042568804256": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749966624"}, "name": "__add__"}], "typeVars": [{"nodeId": ".1.140042568804256"}, {"nodeId": ".2.140042568804256"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__add__"]}, "140042749966624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804256", "args": [{"nodeId": ".1.140042568804256"}, {"nodeId": ".2.140042568804256"}]}, {"nodeId": ".1.140042568804256"}], "returnType": {"nodeId": ".2.140042568804256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804256": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804256", "variance": "CONTRAVARIANT"}, ".2.140042568804256": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804256", "variance": "COVARIANT"}, "140042568804592": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRAdd", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967072"}, "name": "__radd__"}], "typeVars": [{"nodeId": ".1.140042568804592"}, {"nodeId": ".2.140042568804592"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__radd__"]}, "140042749967072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804592", "args": [{"nodeId": ".1.140042568804592"}, {"nodeId": ".2.140042568804592"}]}, {"nodeId": ".1.140042568804592"}], "returnType": {"nodeId": ".2.140042568804592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804592": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804592", "variance": "CONTRAVARIANT"}, ".2.140042568804592": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804592", "variance": "COVARIANT"}, "140042577735552": {"type": "Concrete", "module": "builtins", "simpleName": "zip", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042552896064"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703644576"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703645024"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042577735552"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042577735552"}]}], "isAbstract": false}, "140042552896064": {"type": "Overloaded", "items": [{"nodeId": "140042703639200"}, {"nodeId": "140042703639648"}, {"nodeId": "140042703640096"}, {"nodeId": "140042703640544"}, {"nodeId": "140042703640992"}, {"nodeId": "140042703641440"}]}, "140042703639200": {"type": "Function", "typeVars": [".-1.140042703639200"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703639200"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898192"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, "strict"]}, ".-1.140042703639200": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639200", "variance": "INVARIANT"}, "140042552898192": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703639200"}]}, "140042703639648": {"type": "Function", "typeVars": [".-1.140042703639648", ".-2.140042703639648"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703639648"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703639648"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898416"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, "strict"]}, ".-1.140042703639648": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639648", "variance": "INVARIANT"}, ".-2.140042703639648": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703639648", "variance": "INVARIANT"}, "140042552898416": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703639648"}, {"nodeId": ".-2.140042703639648"}]}, "140042703640096": {"type": "Function", "typeVars": [".-1.140042703640096", ".-2.140042703640096", ".-3.140042703640096"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640096"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640096"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640096"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898640"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, "strict"]}, ".-1.140042703640096": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, ".-2.140042703640096": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, ".-3.140042703640096": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640096", "variance": "INVARIANT"}, "140042552898640": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640096"}, {"nodeId": ".-2.140042703640096"}, {"nodeId": ".-3.140042703640096"}]}, "140042703640544": {"type": "Function", "typeVars": [".-1.140042703640544", ".-2.140042703640544", ".-3.140042703640544", ".-4.140042703640544"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640544"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703640544"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552898864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, "strict"]}, ".-1.140042703640544": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-2.140042703640544": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-3.140042703640544": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, ".-4.140042703640544": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640544", "variance": "INVARIANT"}, "140042552898864": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640544"}, {"nodeId": ".-2.140042703640544"}, {"nodeId": ".-3.140042703640544"}, {"nodeId": ".-4.140042703640544"}]}, "140042703640992": {"type": "Function", "typeVars": [".-1.140042703640992", ".-2.140042703640992", ".-3.140042703640992", ".-4.140042703640992", ".-5.140042703640992"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-1.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-2.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-3.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-4.140042703640992"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": ".-5.140042703640992"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042552899088"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, "strict"]}, ".-1.140042703640992": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-2.140042703640992": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-3.140042703640992": {"type": "TypeVar", "varName": "_T3", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-4.140042703640992": {"type": "TypeVar", "varName": "_T4", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, ".-5.140042703640992": {"type": "TypeVar", "varName": "_T5", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703640992", "variance": "INVARIANT"}, "140042552899088": {"type": "Tuple", "items": [{"nodeId": ".-1.140042703640992"}, {"nodeId": ".-2.140042703640992"}, {"nodeId": ".-3.140042703640992"}, {"nodeId": ".-4.140042703640992"}, {"nodeId": ".-5.140042703640992"}]}, "140042703641440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577735552", "args": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["cls", null, null, null, null, null, null, "iterables", "strict"]}, "140042703644576": {"type": "Function", "typeVars": [".-1.140042703644576"], "argTypes": [{"nodeId": ".-1.140042703644576"}], "returnType": {"nodeId": ".-1.140042703644576"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042703644576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042703644576", "variance": "INVARIANT"}, "140042703645024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577735552", "args": [{"nodeId": ".1.140042577735552"}]}], "returnType": {"nodeId": ".1.140042577735552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042577735552": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577735552", "variance": "COVARIANT"}, "140042577373424": {"type": "Concrete", "module": "builtins", "simpleName": "GeneratorExit", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042577373760": {"type": "Concrete", "module": "builtins", "simpleName": "KeyboardInterrupt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042577374096": {"type": "Concrete", "module": "builtins", "simpleName": "SystemExit", "members": [{"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569418336"}}], "typeVars": [], "bases": [{"nodeId": "140042577373088"}], "isAbstract": false}, "140042569418336": {"type": "TypeAlias", "target": {"nodeId": "140042577835088"}}, "140042577835088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042577374768": {"type": "Concrete", "module": "builtins", "simpleName": "StopIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375104": {"type": "Concrete", "module": "builtins", "simpleName": "OSError", "members": [{"kind": "Variable", "name": "errno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "strerror", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375440": {"type": "Concrete", "module": "builtins", "simpleName": "ArithmeticError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577375776": {"type": "Concrete", "module": "builtins", "simpleName": "AssertionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577376112": {"type": "Concrete", "module": "builtins", "simpleName": "AttributeError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703648160"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782775936"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042703648160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577376112"}, {"nodeId": "140042782775936"}, {"nodeId": "140042552901328"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "obj"]}, "140042552901328": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577376448": {"type": "Concrete", "module": "builtins", "simpleName": "BufferError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577376784": {"type": "Concrete", "module": "builtins", "simpleName": "EOFError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577377120": {"type": "Concrete", "module": "builtins", "simpleName": "ImportError", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703648608"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367904"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586367680"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042703648608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577377120"}, {"nodeId": "140042782775936"}, {"nodeId": "140042552901440"}, {"nodeId": "140042547806272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "name", "path"]}, "140042552901440": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042547806272": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586367904": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586367680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577377792": {"type": "Concrete", "module": "builtins", "simpleName": "MemoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577378128": {"type": "Concrete", "module": "builtins", "simpleName": "NameError", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577378464": {"type": "Concrete", "module": "builtins", "simpleName": "ReferenceError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577641536": {"type": "Concrete", "module": "builtins", "simpleName": "StopAsyncIteration", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577641872": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577826912"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586368128"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586369024"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586366112"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586369136"}}, {"kind": "Variable", "name": "end_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586370368"}}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577826912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586368128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586369024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586366112": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586369136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586370368": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042577642208": {"type": "Concrete", "module": "builtins", "simpleName": "SystemError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577642544": {"type": "Concrete", "module": "builtins", "simpleName": "TypeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042577643216": {"type": "Concrete", "module": "builtins", "simpleName": "FloatingPointError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577643552": {"type": "Concrete", "module": "builtins", "simpleName": "OverflowError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577643888": {"type": "Concrete", "module": "builtins", "simpleName": "ZeroDivisionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375440"}], "isAbstract": false}, "140042577644224": {"type": "Concrete", "module": "builtins", "simpleName": "ModuleNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377120"}], "isAbstract": false}, "140042577644896": {"type": "Concrete", "module": "builtins", "simpleName": "KeyError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577377456"}], "isAbstract": false}, "140042577645232": {"type": "Concrete", "module": "builtins", "simpleName": "UnboundLocalError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378128"}], "isAbstract": false}, "140042577645568": {"type": "Concrete", "module": "builtins", "simpleName": "BlockingIOError", "members": [{"kind": "Variable", "name": "characters_written", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577645904": {"type": "Concrete", "module": "builtins", "simpleName": "ChildProcessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577646240": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577646576": {"type": "Concrete", "module": "builtins", "simpleName": "BrokenPipeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577646912": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionAbortedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647248": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionRefusedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647584": {"type": "Concrete", "module": "builtins", "simpleName": "ConnectionResetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577646240"}], "isAbstract": false}, "140042577647920": {"type": "Concrete", "module": "builtins", "simpleName": "FileExistsError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648256": {"type": "Concrete", "module": "builtins", "simpleName": "FileNotFoundError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648592": {"type": "Concrete", "module": "builtins", "simpleName": "InterruptedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577648928": {"type": "Concrete", "module": "builtins", "simpleName": "IsADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649264": {"type": "Concrete", "module": "builtins", "simpleName": "NotADirectoryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649600": {"type": "Concrete", "module": "builtins", "simpleName": "PermissionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577649936": {"type": "Concrete", "module": "builtins", "simpleName": "ProcessLookupError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577650272": {"type": "Concrete", "module": "builtins", "simpleName": "TimeoutError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}], "isAbstract": false}, "140042577650608": {"type": "Concrete", "module": "builtins", "simpleName": "NotImplementedError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577650944": {"type": "Concrete", "module": "builtins", "simpleName": "RecursionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042577651280": {"type": "Concrete", "module": "builtins", "simpleName": "IndentationError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577641872"}], "isAbstract": false}, "140042577651616": {"type": "Concrete", "module": "builtins", "simpleName": "TabError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577651280"}], "isAbstract": false}, "140042577651952": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042577652288": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeDecodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649056"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652288"}, {"nodeId": "140042577367376"}, {"nodeId": "140042547806384"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042547806384": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042577652624": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeEncodeError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649504"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null, null]}, "140042577652960": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeTranslateError", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "start", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__start", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__end", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703649952"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577651952"}], "isAbstract": false}, "140042703649952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577652960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null, null]}, "140042577654304": {"type": "Concrete", "module": "builtins", "simpleName": "SyntaxWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577654976": {"type": "Concrete", "module": "builtins", "simpleName": "FutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655312": {"type": "Concrete", "module": "builtins", "simpleName": "PendingDeprecationWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655648": {"type": "Concrete", "module": "builtins", "simpleName": "ImportWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577655984": {"type": "Concrete", "module": "builtins", "simpleName": "UnicodeWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656320": {"type": "Concrete", "module": "builtins", "simpleName": "BytesWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656656": {"type": "Concrete", "module": "builtins", "simpleName": "ResourceWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042577656992": {"type": "Concrete", "module": "builtins", "simpleName": "EncodingWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653296"}], "isAbstract": false}, "140042578060880": {"type": "Protocol", "module": "sys", "simpleName": "_MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042703954752"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["find_spec"]}, "140042703954752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060880"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565119536"}, {"nodeId": "140042565119648"}], "returnType": {"nodeId": "140042565119760"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140042565119536": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565119648": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042578054832": {"type": "Concrete", "module": "types", "simpleName": "ModuleType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833296"}}, {"kind": "Variable", "name": "__dict__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544074752"}}, {"kind": "Variable", "name": "__loader__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577833856"}}, {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834080"}}, {"kind": "Variable", "name": "__path__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784672", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__spec__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577834192"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715651360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715651808"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577833296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042544074752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577833856": {"type": "Union", "items": [{"nodeId": "140042578054496"}, {"nodeId": "N"}]}, "140042578054496": {"type": "Protocol", "module": "types", "simpleName": "_LoaderProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715650464"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["load_module"]}, "140042715650464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054496"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042577834080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042577834192": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573227936": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ModuleSpec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640205728"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569527728"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569527952"}}, {"kind": "Variable", "name": "submodule_search_locations", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573245552"}}, {"kind": "Variable", "name": "loader_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cached", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573245664"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042523059680"}}, {"kind": "Variable", "name": "has_location", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640206624"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640205728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561041376"}, {"nodeId": "140042561041488"}, {"nodeId": "A"}, {"nodeId": "140042561041712"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "loader", "origin", "loader_state", "is_package"]}, "140042561041376": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042573228944": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Loader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640115968"}, "name": "load_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640116416"}, "name": "module_repr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640116864"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640117312"}, "name": "exec_module"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640115968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640116416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042640116864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561258432"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042561258432": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042640117312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573228944"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042561041488": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561041712": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042569527728": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042569527952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573245552": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042573245664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042523059680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561041824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561041824": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640206624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715651360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565108000"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "doc"]}, "140042565108000": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042715651808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565119760": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042569344256": {"type": "Concrete", "module": "sys", "simpleName": "_flags", "members": [{"kind": "Variable", "name": "debug", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544494880"}}, {"kind": "Variable", "name": "inspect", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544495776"}}, {"kind": "Variable", "name": "interactive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544496000"}}, {"kind": "Variable", "name": "optimize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544496224"}}, {"kind": "Variable", "name": "dont_write_bytecode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544578624"}}, {"kind": "Variable", "name": "no_user_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544578848"}}, {"kind": "Variable", "name": "no_site", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579072"}}, {"kind": "Variable", "name": "ignore_environment", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579296"}}, {"kind": "Variable", "name": "verbose", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579520"}}, {"kind": "Variable", "name": "bytes_warning", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579744"}}, {"kind": "Variable", "name": "quiet", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544579968"}}, {"kind": "Variable", "name": "hash_randomization", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580192"}}, {"kind": "Variable", "name": "isolated", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580416"}}, {"kind": "Variable", "name": "dev_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580640"}}, {"kind": "Variable", "name": "utf8_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544580864"}}, {"kind": "Variable", "name": "warn_default_encoding", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544581536"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042544494880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565119984"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565119984": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544495776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120096"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120096": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544496000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120208"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120208": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544496224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120320"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120320": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544578624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120432"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120432": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544578848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120544": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120656"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120656": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120768"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120768": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120880": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565120992"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565120992": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544579968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121104"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121104": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121216"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121216": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121328"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121328": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121440"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121440": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544580864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121552"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121552": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544581536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121664"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121664": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569040272": {"type": "Concrete", "module": "_typeshed", "simpleName": "structseq", "members": [{"kind": "Variable", "name": "n_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_unnamed_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_sequence_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sequence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749715488"}, "name": "__new__"}], "typeVars": [{"nodeId": ".1.140042569040272"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749715488": {"type": "Function", "typeVars": [".-1.140042749715488"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": ".1.140042569040272"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042749715488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "sequence", "dict"]}, ".1.140042569040272": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569040272", "variance": "COVARIANT"}, ".-1.140042749715488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749715488", "variance": "INVARIANT"}, "140042569344592": {"type": "Concrete", "module": "sys", "simpleName": "_float_info", "members": [{"kind": "Variable", "name": "max", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544582656"}}, {"kind": "Variable", "name": "max_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583104"}}, {"kind": "Variable", "name": "max_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583328"}}, {"kind": "Variable", "name": "min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583552"}}, {"kind": "Variable", "name": "min_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544583776"}}, {"kind": "Variable", "name": "min_10_exp", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584000"}}, {"kind": "Variable", "name": "dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584224"}}, {"kind": "Variable", "name": "mant_dig", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584448"}}, {"kind": "Variable", "name": "epsilon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584672"}}, {"kind": "Variable", "name": "radix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544584896"}}, {"kind": "Variable", "name": "rounds", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544585120"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544582656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121776"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121776": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565121888"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565121888": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122000"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122000": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122112"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122112": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544583776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122224": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122336": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122448": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122560": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122672"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122672": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544584896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122784"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122784": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544585120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565122896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565122896": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569344928": {"type": "Concrete", "module": "sys", "simpleName": "_hash_info", "members": [{"kind": "Variable", "name": "width", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586464"}}, {"kind": "Variable", "name": "modulus", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586688"}}, {"kind": "Variable", "name": "inf", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544586912"}}, {"kind": "Variable", "name": "nan", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587136"}}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587360"}}, {"kind": "Variable", "name": "algorithm", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587584"}}, {"kind": "Variable", "name": "hash_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544587808"}}, {"kind": "Variable", "name": "seed_bits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544588032"}}, {"kind": "Variable", "name": "cutoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544588256"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042569426064"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544586464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544586688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123120"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123120": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544586912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123232"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123232": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123344"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123344": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123456"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123456": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123568"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123568": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544587808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123680"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123680": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544588032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123792"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123792": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544588256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565123904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565123904": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569426064": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042578061216": {"type": "Concrete", "module": "sys", "simpleName": "_implementation", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569424832"}}, {"kind": "Variable", "name": "hexversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "cache_tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042711606976"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569424832": {"type": "TypeAlias", "target": {"nodeId": "140042569770016"}}, "140042569770016": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042711606976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061216"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569345264": {"type": "Concrete", "module": "sys", "simpleName": "_int_info", "members": [{"kind": "Variable", "name": "bits_per_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590272"}}, {"kind": "Variable", "name": "sizeof_digit", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590496"}}, {"kind": "Variable", "name": "default_max_str_digits", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590720"}}, {"kind": "Variable", "name": "str_digits_check_threshold", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544590944"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042544590272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288112"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288112": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288224"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288224": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288336": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042544590944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288448": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569345600": {"type": "Concrete", "module": "sys", "simpleName": "_version_info", "members": [{"kind": "Variable", "name": "major", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544591168"}}, {"kind": "Variable", "name": "minor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592288"}}, {"kind": "Variable", "name": "micro", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592512"}}, {"kind": "Variable", "name": "releaselevel", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592736"}}, {"kind": "Variable", "name": "serial", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544592960"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042544591168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288560"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288560": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288672"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288672": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288784"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288784": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565288896"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565288896": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042544592960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565289008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565289008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042578061552": {"type": "Concrete", "module": "sys", "simpleName": "UnraisableHookArgs", "members": [{"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569773040"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569430544"}}, {"kind": "Variable", "name": "err_msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569430768"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572988480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569773040": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042569430544": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569430768": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042572988480": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042569345936": {"type": "Concrete", "module": "sys", "simpleName": "_asyncgen_hooks", "members": [{"kind": "Variable", "name": "firstiter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042539435168"}}, {"kind": "Variable", "name": "finalizer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042539435616"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042572988704"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042569524816"}]}], "isAbstract": false}, "140042539435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565291584"}], "returnType": {"nodeId": "140042565291696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565291584": {"type": "Tuple", "items": [{"nodeId": "140042569420128"}, {"nodeId": "140042569427520"}]}, "140042569420128": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042572989712": {"type": "Union", "items": [{"nodeId": "140042577221152"}, {"nodeId": "N"}]}, "140042577221152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569427520": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042565291696": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042539435616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042565291808"}], "returnType": {"nodeId": "140042565291920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565291808": {"type": "Tuple", "items": [{"nodeId": "140042569420128"}, {"nodeId": "140042569427520"}]}, "140042565291920": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042572988704": {"type": "TypeAlias", "target": {"nodeId": "140042572989712"}}, "140042569524816": {"type": "Union", "items": [{"nodeId": "140042552780032"}, {"nodeId": "N"}]}, "140042552780032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042782783328", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568801568": {"type": "Protocol", "module": "_typeshed", "simpleName": "IdentityFunction", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749963488"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042749963488": {"type": "Function", "typeVars": [".-1.140042749963488"], "argTypes": [{"nodeId": "140042568801568"}, {"nodeId": ".-1.140042749963488"}], "returnType": {"nodeId": ".-1.140042749963488"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042749963488": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749963488", "variance": "INVARIANT"}, "140042568801904": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749963936"}, "name": "__next__"}], "typeVars": [{"nodeId": ".1.140042568801904"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__next__"]}, "140042749963936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568801904", "args": [{"nodeId": ".1.140042568801904"}]}], "returnType": {"nodeId": ".1.140042568801904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568801904": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568801904", "variance": "COVARIANT"}, "140042568802240": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAnext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749964384"}, "name": "__anext__"}], "typeVars": [{"nodeId": ".1.140042568802240"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__anext__"]}, "140042749964384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568802240", "args": [{"nodeId": ".1.140042568802240"}]}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".1.140042568802240"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568802240": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568802240", "variance": "COVARIANT"}, "140042568803248": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderLE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749965728"}, "name": "__le__"}], "typeVars": [{"nodeId": ".1.140042568803248"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__le__"]}, "140042749965728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568803248", "args": [{"nodeId": ".1.140042568803248"}]}, {"nodeId": ".1.140042568803248"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568803248": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568803248", "variance": "CONTRAVARIANT"}, "140042568803584": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDunderGE", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749966176"}, "name": "__ge__"}], "typeVars": [{"nodeId": ".1.140042568803584"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__ge__"]}, "140042749966176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568803584", "args": [{"nodeId": ".1.140042568803584"}]}, {"nodeId": ".1.140042568803584"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568803584": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568803584", "variance": "CONTRAVARIANT"}, "140042568803920": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAllComparisons", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568802576", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568802912", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568803248", "args": [{"nodeId": "A"}]}, {"nodeId": "140042568803584", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__ge__", "__gt__", "__le__", "__lt__"]}, "140042568804928": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967520"}, "name": "__sub__"}], "typeVars": [{"nodeId": ".1.140042568804928"}, {"nodeId": ".2.140042568804928"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__sub__"]}, "140042749967520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568804928", "args": [{"nodeId": ".1.140042568804928"}, {"nodeId": ".2.140042568804928"}]}, {"nodeId": ".1.140042568804928"}], "returnType": {"nodeId": ".2.140042568804928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568804928": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804928", "variance": "CONTRAVARIANT"}, ".2.140042568804928": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568804928", "variance": "COVARIANT"}, "140042568805264": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRSub", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749967968"}, "name": "__rsub__"}], "typeVars": [{"nodeId": ".1.140042568805264"}, {"nodeId": ".2.140042568805264"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__rsub__"]}, "140042749967968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805264", "args": [{"nodeId": ".1.140042568805264"}, {"nodeId": ".2.140042568805264"}]}, {"nodeId": ".1.140042568805264"}], "returnType": {"nodeId": ".2.140042568805264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568805264": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805264", "variance": "CONTRAVARIANT"}, ".2.140042568805264": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805264", "variance": "COVARIANT"}, "140042568805600": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749706528"}, "name": "__divmod__"}], "typeVars": [{"nodeId": ".1.140042568805600"}, {"nodeId": ".2.140042568805600"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__divmod__"]}, "140042749706528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805600", "args": [{"nodeId": ".1.140042568805600"}, {"nodeId": ".2.140042568805600"}]}, {"nodeId": ".1.140042568805600"}], "returnType": {"nodeId": ".2.140042568805600"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568805600": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805600", "variance": "CONTRAVARIANT"}, ".2.140042568805600": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805600", "variance": "COVARIANT"}, "140042568805936": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsRDivMod", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749706976"}, "name": "__rdivmod__"}], "typeVars": [{"nodeId": ".1.140042568805936"}, {"nodeId": ".2.140042568805936"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__rdivmod__"]}, "140042749706976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568805936", "args": [{"nodeId": ".1.140042568805936"}, {"nodeId": ".2.140042568805936"}]}, {"nodeId": ".1.140042568805936"}], "returnType": {"nodeId": ".2.140042568805936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".1.140042568805936": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805936", "variance": "CONTRAVARIANT"}, ".2.140042568805936": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568805936", "variance": "COVARIANT"}, "140042568806272": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsIter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749707424"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042568806272"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__iter__"]}, "140042749707424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806272", "args": [{"nodeId": ".1.140042568806272"}]}], "returnType": {"nodeId": ".1.140042568806272"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042568806272": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806272", "variance": "COVARIANT"}, "140042568806608": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsAiter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749707872"}, "name": "__aiter__"}], "typeVars": [{"nodeId": ".1.140042568806608"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aiter__"]}, "140042749707872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568806608", "args": [{"nodeId": ".1.140042568806608"}]}], "returnType": {"nodeId": ".1.140042568806608"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568806608": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568806608", "variance": "COVARIANT"}, "140042568807616": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItems", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749709664"}, "name": "items"}], "typeVars": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["items"]}, "140042749709664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568807616", "args": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}]}], "returnType": {"nodeId": "140042782785008", "args": [{"nodeId": "140042556831584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568807616": {"type": "TypeVar", "varName": "_KT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807616", "variance": "COVARIANT"}, ".2.140042568807616": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568807616", "variance": "COVARIANT"}, "140042556831584": {"type": "Tuple", "items": [{"nodeId": ".1.140042568807616"}, {"nodeId": ".2.140042568807616"}]}, "140042568808288": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711008"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711456"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__"]}, "140042749711008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042568808288": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808288", "variance": "CONTRAVARIANT"}, ".2.140042568808288": {"type": "TypeVar", "varName": "_VT_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808288", "variance": "COVARIANT"}, "140042749711456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808288"}, {"nodeId": ".2.140042568808288"}]}, {"nodeId": ".1.140042568808288"}], "returnType": {"nodeId": ".2.140042568808288"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042568808624": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsItemAccess", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749711904"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749712352"}, "name": "__delitem__"}], "typeVars": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}], "bases": [{"nodeId": "140042568808288", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}], "protocolMembers": ["__contains__", "__delitem__", "__getitem__", "__setitem__"]}, "140042749711904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808624", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}, {"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, ".1.140042568808624": {"type": "TypeVar", "varName": "_KT_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808624", "variance": "CONTRAVARIANT"}, ".2.140042568808624": {"type": "TypeVar", "varName": "_VT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568808624", "variance": "INVARIANT"}, "140042749712352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808624", "args": [{"nodeId": ".1.140042568808624"}, {"nodeId": ".2.140042568808624"}]}, {"nodeId": ".1.140042568808624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042568808960": {"type": "Protocol", "module": "_typeshed", "simpleName": "HasFileno", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749712800"}, "name": "fileno"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["fileno"]}, "140042749712800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568808960"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568809632": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749713696"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140042568809632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readline"]}, "140042749713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809632", "args": [{"nodeId": ".1.140042568809632"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042568809632"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, ".1.140042568809632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809632", "variance": "COVARIANT"}, "140042568809968": {"type": "Protocol", "module": "_typeshed", "simpleName": "SupportsNoArgReadline", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749714144"}, "name": "readline"}], "typeVars": [{"nodeId": ".1.140042568809968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readline"]}, "140042749714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568809968", "args": [{"nodeId": ".1.140042568809968"}]}], "returnType": {"nodeId": ".1.140042568809968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042568809968": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568809968", "variance": "COVARIANT"}, "140042577738912": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_SpecialForm", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749716608"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749717056"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749717504"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042749716608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749717056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042749717504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577738912"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042577739248": {"type": "Concrete", "module": "typing_extensions", "simpleName": "_TypedDict", "members": [{"kind": "Variable", "name": "__required_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__optional_keys__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "__total__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749719296"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749719744"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749720192"}, "name": "pop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749720640"}, "name": "update"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721088"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721536"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042749721984"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720411712"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720412160"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720412608"}, "name": "__ior__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}], "isAbstract": true}, "140042749719296": {"type": "Function", "typeVars": [".-1.140042749719296"], "argTypes": [{"nodeId": ".-1.140042749719296"}], "returnType": {"nodeId": ".-1.140042749719296"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042749719296": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749719296", "variance": "INVARIANT"}, "140042749719744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "k", "default"]}, "140042749720192": {"type": "Function", "typeVars": [".-1.140042749720192"], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}, {"nodeId": ".-1.140042749720192"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "k", "default"]}, ".-1.140042749720192": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749720192", "variance": "INVARIANT"}, "140042749720640": {"type": "Function", "typeVars": [".-1.140042749720640"], "argTypes": [{"nodeId": ".-1.140042749720640"}, {"nodeId": ".-1.140042749720640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, ".-1.140042749720640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042749720640", "variance": "INVARIANT"}, "140042749721088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577732528", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749721536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577731856", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042749721984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}], "returnType": {"nodeId": "140042577732192", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720411712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577739248"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720412160": {"type": "Function", "typeVars": [".-1.140042720412160"], "argTypes": [{"nodeId": ".-1.140042720412160"}, {"nodeId": ".-1.140042720412160"}], "returnType": {"nodeId": ".-1.140042720412160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042720412160": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720412160", "variance": "INVARIANT"}, "140042720412608": {"type": "Function", "typeVars": [".-1.140042720412608"], "argTypes": [{"nodeId": ".-1.140042720412608"}, {"nodeId": ".-1.140042720412608"}], "returnType": {"nodeId": ".-1.140042720412608"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042720412608": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720412608", "variance": "INVARIANT"}, "140042578051472": {"type": "Concrete", "module": "typing_extensions", "simpleName": "NamedTuple", "members": [{"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569767328"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042547896256"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720420224"}, "name": "_asdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720421120"}, "name": "_replace"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042569767328": {"type": "Overloaded", "items": [{"nodeId": "140042720418880"}, {"nodeId": "140042720419328"}]}, "140042720418880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042564615328"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "typename", "fields"]}, "140042564615328": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042720419328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "typename", "fields", "kwargs"]}, "140042547896256": {"type": "Function", "typeVars": [".-1.140042547896256"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}], "returnType": {"nodeId": ".-1.140042547896256"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "iterable"]}, ".-1.140042547896256": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042547896256", "variance": "INVARIANT"}, "140042720420224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051472"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042720421120": {"type": "Function", "typeVars": [".-1.140042720421120"], "argTypes": [{"nodeId": ".-1.140042720421120"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042720421120"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, ".-1.140042720421120": {"type": "TypeVar", "varName": "_typeshed.Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042720421120", "variance": "INVARIANT"}, "140042578051808": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVar", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__bound__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577830832"}}, {"kind": "Variable", "name": "__constraints__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "__covariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__contravariant__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577831616"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "constraints", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bound", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "covariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "contravariant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "infer_variance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720421568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720422016"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720422464"}, "name": "__ror__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577830832": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042577831616": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720421568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "140042564607040"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042564611184"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "constraints", "bound", "covariant", "contravariant", "default", "infer_variance"]}, "140042564607040": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042564611184": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720422016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042720422464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578051808"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577738912"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578052480": {"type": "Concrete", "module": "typing_extensions", "simpleName": "TypeVarTuple", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__default__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577832400"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720424704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042720425152"}, "name": "__iter__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042577832400": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720424704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052480"}, {"nodeId": "140042577367376"}, {"nodeId": "140042564611968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "name", "default"]}, "140042564611968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042720425152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578052480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042578053152": {"type": "Concrete", "module": "types", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548303840"}}, {"kind": "Variable", "name": "__code__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053488"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586373056"}}, {"kind": "Variable", "name": "__dict__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__globals__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042543688480"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__kwdefaults__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__builtins__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042548590208"}}, {"kind": "Variable", "name": "__module__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "globals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argdefs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closure", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715857632"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715858080"}, "name": "__call__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564824064"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042548303840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042564826528"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042564826528": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042586373056": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042543688480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042548590208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715857632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "140042578053488"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042564826976"}, {"nodeId": "140042564827088"}, {"nodeId": "140042564827200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "code", "globals", "name", "argdefs", "closure"]}, "140042564826976": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042564827088": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042564827200": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042715858080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042564824064": {"type": "Overloaded", "items": [{"nodeId": "140042715858528"}, {"nodeId": "140042715858976"}]}, "140042715858528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "N"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "140042578053152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140042715858976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578053152"}, {"nodeId": "140042782775936"}, {"nodeId": "140042564827760"}], "returnType": {"nodeId": "140042578056512"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042564827760": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042578056512": {"type": "Concrete", "module": "types", "simpleName": "MethodType", "members": [{"kind": "Variable", "name": "__closure__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544086400"}}, {"kind": "Variable", "name": "__defaults__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218176"}}, {"kind": "Variable", "name": "__func__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218400"}}, {"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218624"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544218848"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544219072"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716091488"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716091936"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042565111696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565111696": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042578052816"}]}, {"nodeId": "N"}]}, "140042544218176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042565111920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565111920": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042544218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042578056176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578056176": {"type": "Concrete", "module": "types", "simpleName": "_StaticFunctionType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716088352"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716088352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056176"}, {"nodeId": "140042565111472"}, {"nodeId": "140042565111584"}], "returnType": {"nodeId": "140042578053152"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "type"]}, "140042565111472": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "N"}]}, "140042565111584": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042544218624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544218848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544219072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716091488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}, {"nodeId": "140042577251680"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042577251680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042716091936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056512"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042578054160": {"type": "Concrete", "module": "types", "simpleName": "SimpleNamespace", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715648672"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715649120"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715649568"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715650016"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042715648672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kwargs"]}, "140042715649120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042715649568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042715650016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578055168": {"type": "Concrete", "module": "types", "simpleName": "GeneratorType", "members": [{"kind": "Variable", "name": "gi_yieldfrom", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544075872"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715653152"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715653600"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715654048"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564824736"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}], "bases": [{"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "isAbstract": false}, "140042544075872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": "140042565108336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055168": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "COVARIANT"}, ".2.140042578055168": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "CONTRAVARIANT"}, ".3.140042578055168": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055168", "variance": "COVARIANT"}, "140042565108336": {"type": "Union", "items": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042715653152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042715653600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715654048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": ".2.140042578055168"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564824736": {"type": "Overloaded", "items": [{"nodeId": "140042715654496"}, {"nodeId": "140042715654944"}]}, "140042715654496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": "0"}, {"nodeId": "140042565108560"}, {"nodeId": "140042565108672"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565108560": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565108672": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715654944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055168", "args": [{"nodeId": ".1.140042578055168"}, {"nodeId": ".2.140042578055168"}, {"nodeId": ".3.140042578055168"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565108784"}], "returnType": {"nodeId": ".1.140042578055168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565108784": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578055504": {"type": "Concrete", "module": "types", "simpleName": "AsyncGeneratorType", "members": [{"kind": "Variable", "name": "ag_await", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544079680"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715655840"}, "name": "__aiter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715656288"}, "name": "__anext__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715656736"}, "name": "asend"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042564827648"}, "items": [{"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "athrow", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "athrow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715658080"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715658528"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}], "bases": [{"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "isAbstract": false}, "140042544079680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042565109008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055504": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055504", "variance": "COVARIANT"}, ".2.140042578055504": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055504", "variance": "CONTRAVARIANT"}, "140042565109008": {"type": "Union", "items": [{"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042715655840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715656288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715656736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": ".2.140042578055504"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042564827648": {"type": "Overloaded", "items": [{"nodeId": "140042577251232"}, {"nodeId": "140042715657184"}]}, "140042577251232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": "0"}, {"nodeId": "140042565109680"}, {"nodeId": "140042565109792"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565109680": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565109792": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715657184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565110016"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042578055504"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565110016": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042715658080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055504", "args": [{"nodeId": ".1.140042578055504"}, {"nodeId": ".2.140042578055504"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042715658528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", null]}, "140042578055840": {"type": "Concrete", "module": "types", "simpleName": "CoroutineType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cr_origin", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544083040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042715659872"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716086560"}, "name": "__await__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716087008"}, "name": "send"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565109904"}, "items": [{"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "throw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "throw"}], "typeVars": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}], "bases": [{"nodeId": "140042782782320", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "isAbstract": false}, "140042544083040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "140042565110800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578055840": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "COVARIANT"}, ".2.140042578055840": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "CONTRAVARIANT"}, ".3.140042578055840": {"type": "TypeVar", "varName": "_V_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578055840", "variance": "COVARIANT"}, "140042565110800": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042565110688"}]}, {"nodeId": "N"}]}, "140042565110688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042715659872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716086560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": "A"}, {"nodeId": "N"}, {"nodeId": ".3.140042578055840"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716087008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": ".2.140042578055840"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042565109904": {"type": "Overloaded", "items": [{"nodeId": "140042716087456"}, {"nodeId": "140042716087904"}]}, "140042716087456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": "0"}, {"nodeId": "140042565111136"}, {"nodeId": "140042565111248"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565111136": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "140042782775936"}]}, "140042565111248": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042716087904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578055840", "args": [{"nodeId": ".1.140042578055840"}, {"nodeId": ".2.140042578055840"}, {"nodeId": ".3.140042578055840"}]}, {"nodeId": "140042577373088"}, {"nodeId": "N"}, {"nodeId": "140042565111360"}], "returnType": {"nodeId": ".1.140042578055840"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", null, null, null]}, "140042565111360": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042578056848": {"type": "Concrete", "module": "types", "simpleName": "BuiltinFunctionType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220192"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220640"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544220864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716093728"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544220192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042565112592"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565112592": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042578054832"}]}, "140042544220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544220864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716093728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578056848"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042578057184": {"type": "Concrete", "module": "types", "simpleName": "WrapperDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544221984"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544222656"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544222880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716095520"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716095968"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544221984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544222656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544222880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716095520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716095968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057184"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042578057520": {"type": "Concrete", "module": "types", "simpleName": "MethodWrapperType", "members": [{"kind": "Variable", "name": "__self__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224000"}}, {"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224448"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224672"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544224896"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716098208"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716098656"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716099104"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544224000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544224896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716098208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716098656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042716099104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057520"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578057856": {"type": "Concrete", "module": "types", "simpleName": "MethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544226912"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544227360"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544227584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716100896"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716101344"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544226912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544227360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544227584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716100896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716101344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578057856"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042578058192": {"type": "Concrete", "module": "types", "simpleName": "ClassMethodDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544228704"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544229152"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544229376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716201696"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716202144"}, "name": "__get__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544228704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544229152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544229376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716201696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042716202144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578058192"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "type"]}, "140042578059200": {"type": "Concrete", "module": "types", "simpleName": "GetSetDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544300992"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544301216"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544301440"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716209312"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716209760"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716210208"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544300992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544301216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544301440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716209312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042716209760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042716210208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059200"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042578059536": {"type": "Concrete", "module": "types", "simpleName": "MemberDescriptorType", "members": [{"kind": "Variable", "name": "__name__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544302560"}}, {"kind": "Variable", "name": "__qualname__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544303008"}}, {"kind": "Variable", "name": "__objclass__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544303232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212000"}, "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__instance", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212448"}, "name": "__set__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716212896"}, "name": "__delete__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544302560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544303008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042544303232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042716212000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042716212448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042716212896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578059536"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042578060208": {"type": "Concrete", "module": "types", "simpleName": "NoneType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042716334112"}, "name": "__bool__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042716334112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578060208"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468643152": {"type": "Protocol", "module": "numpy.core.records", "simpleName": "_SupportsReadInto", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699305728"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699306176"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042699306624"}, "name": "readinto"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["readinto", "seek", "tell"]}, "140042699305728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042699306176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042699306624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643152"}, {"nodeId": "140042577367712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472901312": {"type": "Protocol", "module": "numpy.core.multiarray", "simpleName": "_SupportsLenAndGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042690367040"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042690367488"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__len__"]}, "140042690367040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901312", "args": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472901312": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472901312", "variance": "CONTRAVARIANT"}, ".2.140042472901312": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472901312", "variance": "COVARIANT"}, "140042690367488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472901312", "args": [{"nodeId": ".1.140042472901312"}, {"nodeId": ".2.140042472901312"}]}, {"nodeId": ".1.140042472901312"}], "returnType": {"nodeId": ".2.140042472901312"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472900640": {"type": "Protocol", "module": "numpy.core.numerictypes", "simpleName": "_CastFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682208480"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042682208480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472900640"}, {"nodeId": "140042460204496"}, {"nodeId": "140042460203600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "k"]}, "140042460204496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042460203600": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042468652560": {"type": "Concrete", "module": "numpy.core.numerictypes", "simpleName": "_typedict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682208928"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042468652560"}], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "0"}, {"nodeId": ".1.140042468652560"}]}], "isAbstract": false}, "140042682208928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468652560", "args": [{"nodeId": ".1.140042468652560"}]}, {"nodeId": "140042460205056"}], "returnType": {"nodeId": ".1.140042468652560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042468652560": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042468652560", "variance": "INVARIANT"}, "140042460205056": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042472900304": {"type": "Protocol", "module": "numpy.lib.arraypad", "simpleName": "_ModeFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vector", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iaxis_pad_width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "iaxis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042686225024"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042686225024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472900304"}, {"nodeId": "0"}, {"nodeId": "140042460158704"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null, null]}, "140042460158704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042472899632": {"type": "Protocol", "module": "numpy.lib.function_base", "simpleName": "_TrimZerosSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682560384"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682560832"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682561280"}, "name": "__iter__"}], "typeVars": [{"nodeId": ".1.140042472899632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__", "__iter__", "__len__"]}, "140042682560384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042472899632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472899632", "variance": "COVARIANT"}, "140042682560832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}, {"nodeId": "140042577368048"}], "returnType": {"nodeId": ".1.140042472899632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682561280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899632", "args": [{"nodeId": ".1.140042472899632"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042472899968": {"type": "Protocol", "module": "numpy.lib.function_base", "simpleName": "_SupportsWriteFlush", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682561728"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682562176"}, "name": "flush"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["flush", "write"]}, "140042682561728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682562176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899968"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472667648": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "nd_grid", "members": [{"kind": "Variable", "name": "sparse", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472667648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sparse", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678103488"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459798480"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472667648"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042472667648": {"type": "TypeVar", "varName": "_BoolType", "values": [{"nodeId": "0"}, {"nodeId": "0"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472667648", "variance": "INVARIANT"}, "140042678103488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": ".1.140042472667648"}]}, {"nodeId": ".1.140042472667648"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sparse"]}, "140042459798480": {"type": "Overloaded", "items": [{"nodeId": "140042464833632"}, {"nodeId": "140042678104384"}]}, "140042464833632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}, {"nodeId": "140042459800832"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042459800832": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577368048"}]}]}, "140042678104384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}, {"nodeId": "140042459801280"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042459801280": {"type": "Union", "items": [{"nodeId": "140042577368048"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577368048"}]}]}, "140042472667984": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "MGridClass", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678104832"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}], "isAbstract": false}, "140042678104832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472668320": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "OGridClass", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678105280"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472667648", "args": [{"nodeId": "0"}]}], "isAbstract": false}, "140042678105280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472668656": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "AxisConcatenator", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678105728"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459798368"}, "items": [{"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "concatenate"}, {"kind": "Variable", "name": "makemat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042438864096"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678107520"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042678105728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668656"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "matrix", "ndmin", "trans1d"]}, "140042459798368": {"type": "Overloaded", "items": [{"nodeId": "140042464832064"}, {"nodeId": "140042678106624"}]}, "140042464832064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042459801952"}, {"nodeId": "140042577727152"}, {"nodeId": "N"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["a", "axis", "out"]}, "140042459801952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042678106624": {"type": "Function", "typeVars": [".-1.140042678106624"], "argTypes": [{"nodeId": "140042459802512"}, {"nodeId": "140042577727152"}, {"nodeId": ".-1.140042678106624"}], "returnType": {"nodeId": ".-1.140042678106624"}, "argKinds": ["ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["a", "axis", "out"]}, "140042459802512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, ".-1.140042678106624": {"type": "TypeVar", "varName": "_ArrayType", "values": [], "upperBound": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042678106624", "variance": "INVARIANT"}, "140042438864096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042459801840"}, {"nodeId": "140042459802624"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042468241616", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["data", "dtype", "copy"]}, "140042459801840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042459802624": {"type": "TypeAlias", "target": {"nodeId": "140042464336736"}}, "140042678107520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472668656"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472898624": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "RClass", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682630208"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042682630208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472898624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472898960": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "CClass", "members": [{"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "matrix", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "trans1d", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682630656"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042682630656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472898960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472899296": {"type": "Concrete", "module": "numpy.lib.index_tricks", "simpleName": "IndexExpression", "members": [{"kind": "Variable", "name": "maketuple", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472899296"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maketuple", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682631104"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042472448720"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472899296"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042472899296": {"type": "TypeVar", "varName": "_BoolType", "values": [{"nodeId": "0"}, {"nodeId": "0"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472899296", "variance": "INVARIANT"}, "140042682631104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": ".1.140042472899296"}]}, {"nodeId": ".1.140042472899296"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "maketuple"]}, "140042472448720": {"type": "Overloaded", "items": [{"nodeId": "140042682631552"}, {"nodeId": "140042682632000"}, {"nodeId": "140042682632448"}]}, "140042682631552": {"type": "Function", "typeVars": [".-1.140042682631552"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": ".1.140042472899296"}]}, {"nodeId": ".-1.140042682631552"}], "returnType": {"nodeId": ".-1.140042682631552"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682631552": {"type": "TypeVar", "varName": "_TupType", "values": [], "upperBound": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "def": "140042682631552", "variance": "INVARIANT"}, "140042682632000": {"type": "Function", "typeVars": [".-1.140042682632000"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": "0"}]}, {"nodeId": ".-1.140042682632000"}], "returnType": {"nodeId": "140042459802736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682632000": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682632000", "variance": "INVARIANT"}, "140042459802736": {"type": "Tuple", "items": [{"nodeId": ".-1.140042682632000"}]}, "140042682632448": {"type": "Function", "typeVars": [".-1.140042682632448"], "argTypes": [{"nodeId": "140042472899296", "args": [{"nodeId": "0"}]}, {"nodeId": ".-1.140042682632448"}], "returnType": {"nodeId": ".-1.140042682632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042682632448": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682632448", "variance": "INVARIANT"}, "140042472665632": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsGetItem", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682635584"}, "name": "__getitem__"}], "typeVars": [{"nodeId": ".1.140042472665632"}, {"nodeId": ".2.140042472665632"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__getitem__"]}, "140042682635584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665632", "args": [{"nodeId": ".1.140042472665632"}, {"nodeId": ".2.140042472665632"}]}, {"nodeId": ".1.140042472665632"}], "returnType": {"nodeId": ".2.140042472665632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472665632": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665632", "variance": "CONTRAVARIANT"}, ".2.140042472665632": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665632", "variance": "COVARIANT"}, "140042472665968": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsRead", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636032"}, "name": "read"}], "typeVars": [{"nodeId": ".1.140042472665968"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042682636032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665968", "args": [{"nodeId": ".1.140042472665968"}]}], "returnType": {"nodeId": ".1.140042472665968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472665968": {"type": "TypeVar", "varName": "_CharType_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472665968", "variance": "COVARIANT"}, "140042472666304": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsReadSeek", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636480"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682636928"}, "name": "seek"}], "typeVars": [{"nodeId": ".1.140042472666304"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "seek"]}, "140042682636480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666304", "args": [{"nodeId": ".1.140042472666304"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".1.140042472666304"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472666304": {"type": "TypeVar", "varName": "_CharType_co", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666304", "variance": "COVARIANT"}, "140042682636928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666304", "args": [{"nodeId": ".1.140042472666304"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042472666640": {"type": "Protocol", "module": "numpy.lib.npyio", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682637376"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472666640"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042682637376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666640", "args": [{"nodeId": ".1.140042472666640"}]}, {"nodeId": ".1.140042472666640"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472666640": {"type": "TypeVar", "varName": "_CharType_contra", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666640", "variance": "CONTRAVARIANT"}, "140042472666976": {"type": "Concrete", "module": "numpy.lib.npyio", "simpleName": "BagObj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682637824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682638272"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682638720"}, "name": "__dir__"}], "typeVars": [{"nodeId": ".1.140042472666976"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042682637824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}, {"nodeId": "140042472665632", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".1.140042472666976"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, ".1.140042472666976": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472666976", "variance": "COVARIANT"}, "140042682638272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042472666976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042682638720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472666976", "args": [{"nodeId": ".1.140042472666976"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472667312": {"type": "Concrete", "module": "numpy.lib.npyio", "simpleName": "NpzFile", "members": [{"kind": "Variable", "name": "zip", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498339024"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472446144"}}, {"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "allow_pickle", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "pickle_kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472445920"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042459708240"}, "items": [{"kind": "Variable", "name": "f", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443838784"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "own_fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allow_pickle", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pickle_kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640512"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682640960"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682641408"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682641856"}, "name": "__del__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682642304"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682642752"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042682643200"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}], "isAbstract": false}, "140042498339024": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipFile", "members": [{"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485115904"}}, {"kind": "Variable", "name": "debug", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "filelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498339696"}]}}, {"kind": "Variable", "name": "fp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117024"}}, {"kind": "Variable", "name": "NameToInfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}}, {"kind": "Variable", "name": "start_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117136"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117248"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allowZip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict_timestamps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636071136"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631715680"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636072480"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636072928"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636073376"}, "name": "getinfo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636073824"}, "name": "infolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636074272"}, "name": "namelist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "force_zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636074720"}, "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636075168"}, "name": "extract"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "members", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636075616"}, "name": "extractall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076064"}, "name": "printdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076512"}, "name": "setpassword"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636076960"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636077408"}, "name": "testzip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636077856"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zinfo_or_arcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compresslevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636078304"}, "name": "writestr"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485115904": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042498339696": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipInfo", "members": [{"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "date_time", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485117808"}}, {"kind": "Variable", "name": "compress_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "create_system", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "create_version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "extract_version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "reserved", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "flag_bits", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "volume", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "internal_attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "external_attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "header_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "CRC", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "compress_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "file_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "orig_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "date_time", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636080096"}, "name": "__init__"}, {"kind": "Variable", "name": "from_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485361888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636081440"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636081888"}, "name": "FileHeader"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485117808": {"type": "TypeAlias", "target": {"nodeId": "140042485108288"}}, "140042485108288": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042636080096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042485616640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "date_time"]}, "140042485616640": {"type": "TypeAlias", "target": {"nodeId": "140042485108288"}}, "140042485361888": {"type": "Function", "typeVars": [".-1.140042485361888"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042485616304"}, {"nodeId": "140042485616752"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042485361888"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "filename", "arcname", "strict_timestamps"]}, "140042485616304": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042568894160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}]}, "140042485616752": {"type": "Union", "items": [{"nodeId": "140042485616416"}, {"nodeId": "N"}]}, "140042485616416": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042485361888": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042485361888", "variance": "INVARIANT"}, "140042636081440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636081888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339696"}, {"nodeId": "140042485616864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "zip64"]}, "140042485616864": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042485117024": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042485117136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485117248": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042485116912": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042485117472": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636071136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485120832"}, {"nodeId": "140042485612608"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042485612720"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "mode", "compression", "allowZip64", "compresslevel", "strict_timestamps"]}, "140042485120832": {"type": "Union", "items": [{"nodeId": "140042485120720"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485120720": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485612608": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042485612720": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042631715680": {"type": "Function", "typeVars": [".-1.140042631715680"], "argTypes": [{"nodeId": ".-1.140042631715680"}], "returnType": {"nodeId": ".-1.140042631715680"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042631715680": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042631715680", "variance": "INVARIANT"}, "140042636072480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485613056"}, {"nodeId": "140042485613168"}, {"nodeId": "140042485612832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042485613056": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042485613168": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042485612832": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042636072928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636073376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042498339696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042636073824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498339696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636074272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636074720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485612944"}, {"nodeId": "140042485613280"}, {"nodeId": "140042485613392"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "mode", "pwd", "force_zip64"]}, "140042485612944": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485613280": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485115568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042485613392": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636075168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485613504"}, {"nodeId": "140042485613728"}, {"nodeId": "140042485613840"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "member", "path", "pwd"]}, "140042485613504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485613728": {"type": "Union", "items": [{"nodeId": "140042485613616"}, {"nodeId": "N"}]}, "140042485613616": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485613840": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636075616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614064"}, {"nodeId": "140042485614288"}, {"nodeId": "140042485614400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "path", "members", "pwd"]}, "140042485614064": {"type": "Union", "items": [{"nodeId": "140042485613952"}, {"nodeId": "N"}]}, "140042485613952": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485614288": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042485614176"}]}, {"nodeId": "N"}]}, "140042485614176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485614400": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636076064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614512"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "file"]}, "140042485614512": {"type": "Union", "items": [{"nodeId": "140042498338688"}, {"nodeId": "N"}]}, "140042498338688": {"type": "Protocol", "module": "zipfile", "simpleName": "_Writer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636069792"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042636069792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338688"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042636076512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pwd"]}, "140042636076960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614624"}, {"nodeId": "140042485614736"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "pwd"]}, "140042485614624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485614736": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636077408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}], "returnType": {"nodeId": "140042485614848"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485614848": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042636077856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485614960"}, {"nodeId": "140042485615184"}, {"nodeId": "140042485615296"}, {"nodeId": "140042485615408"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "arcname", "compress_type", "compresslevel"]}, "140042485614960": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485615184": {"type": "Union", "items": [{"nodeId": "140042485615072"}, {"nodeId": "N"}]}, "140042485615072": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042485615296": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485615408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636078304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339024"}, {"nodeId": "140042485615520"}, {"nodeId": "140042485615744"}, {"nodeId": "140042485615856"}, {"nodeId": "140042485615968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "zinfo_or_arcname", "data", "compress_type", "compresslevel"]}, "140042485615520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498339696"}]}, "140042485615744": {"type": "Union", "items": [{"nodeId": "140042485615632"}, {"nodeId": "140042577367376"}]}, "140042485615632": {"type": "TypeAlias", "target": {"nodeId": "140042569011312"}}, "140042569011312": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042485615856": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485615968": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042472446144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}]}, "140042472445920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042459708240": {"type": "Overloaded", "items": [{"nodeId": "140042682639168"}]}, "140042682639168": {"type": "Function", "typeVars": [".-1.140042682639168"], "argTypes": [{"nodeId": ".-1.140042682639168"}], "returnType": {"nodeId": "140042472666976", "args": [{"nodeId": ".-1.140042682639168"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042682639168": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682639168", "variance": "INVARIANT"}, "140042443838784": {"type": "Function", "typeVars": [".-1.140042443838784"], "argTypes": [{"nodeId": ".-1.140042443838784"}], "returnType": {"nodeId": "140042472666976", "args": [{"nodeId": ".-1.140042443838784"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042443838784": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042443838784", "variance": "INVARIANT"}, "140042682640064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042459728016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "own_fid", "allow_pickle", "pickle_kwargs"]}, "140042459728016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042682640512": {"type": "Function", "typeVars": [".-1.140042682640512"], "argTypes": [{"nodeId": ".-1.140042682640512"}], "returnType": {"nodeId": ".-1.140042682640512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042682640512": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042682640512", "variance": "INVARIANT"}, "140042682640960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042459728128"}, {"nodeId": "140042459728240"}, {"nodeId": "140042459728352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042459728128": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042459728240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042459728352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042682641408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042682641856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682642752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042682643200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472667312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042472664288": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_ArrayWrap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678641920"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042678641920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664288"}, {"nodeId": "0"}, {"nodeId": "140042464814560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042464814560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042464814448"}]}, "140042464814448": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042472664624": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_ArrayPrepare", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "array", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678642368"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042678642368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664624"}, {"nodeId": "0"}, {"nodeId": "140042464815344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042464815344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042464815232"}]}, "140042464815232": {"type": "Tuple", "items": [{"nodeId": "140042468234560"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577365696"}]}, "140042472664960": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_SupportsArrayWrap", "members": [{"kind": "Variable", "name": "__array_wrap__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443617696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_wrap__"]}, "140042443617696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472664960"}], "returnType": {"nodeId": "140042472664288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472665296": {"type": "Protocol", "module": "numpy.lib.shape_base", "simpleName": "_SupportsArrayPrepare", "members": [{"kind": "Variable", "name": "__array_prepare__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443640384"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_prepare__"]}, "140042443640384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472665296"}], "returnType": {"nodeId": "140042472664624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472663952": {"type": "Concrete", "module": "numpy.lib.stride_tricks", "simpleName": "DummyArray", "members": [{"kind": "Variable", "name": "__array_interface__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "base", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463973936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "interface", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "base", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042678774560"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042463973936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042678774560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663952"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042464809968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "interface", "base"]}, "140042464809968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042472663280": {"type": "Protocol", "module": "numpy.lib.type_check", "simpleName": "_SupportsReal", "members": [{"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443461504"}}], "typeVars": [{"nodeId": ".1.140042472663280"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["real"]}, "140042443461504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663280", "args": [{"nodeId": ".1.140042472663280"}]}], "returnType": {"nodeId": ".1.140042472663280"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472663280": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472663280", "variance": "COVARIANT"}, "140042472663616": {"type": "Protocol", "module": "numpy.lib.type_check", "simpleName": "_SupportsImag", "members": [{"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042443459936"}}], "typeVars": [{"nodeId": ".1.140042472663616"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["imag"]}, "140042443459936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472663616", "args": [{"nodeId": ".1.140042472663616"}]}], "returnType": {"nodeId": ".1.140042472663616"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042472663616": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472663616", "variance": "COVARIANT"}, "140042472662608": {"type": "Protocol", "module": "numpy.lib.utils", "simpleName": "_SupportsWrite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674071456"}, "name": "write"}], "typeVars": [{"nodeId": ".1.140042472662608"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["write"]}, "140042674071456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472662608", "args": [{"nodeId": ".1.140042472662608"}]}, {"nodeId": ".1.140042472662608"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".1.140042472662608": {"type": "TypeVar", "varName": "_T_contra", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042472662608", "variance": "CONTRAVARIANT"}, "140042472662944": {"type": "Concrete", "module": "numpy.lib.utils", "simpleName": "_Deprecate", "members": [{"kind": "Variable", "name": "old_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472444016"}}, {"kind": "Variable", "name": "new_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472441104"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472441216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "old_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674071904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042674072352"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042472444016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042472441104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042472441216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042674071904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472662944"}, {"nodeId": "140042464606720"}, {"nodeId": "140042464606832"}, {"nodeId": "140042464606944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "old_name", "new_name", "message"]}, "140042464606720": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464606832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042464606944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}]}, "140042674072352": {"type": "Function", "typeVars": [".-1.140042674072352"], "argTypes": [{"nodeId": "140042472662944"}, {"nodeId": ".-1.140042674072352"}], "returnType": {"nodeId": ".-1.140042674072352"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042674072352": {"type": "TypeVar", "varName": "_FuncType", "values": [], "upperBound": {"nodeId": "140042472582368"}, "def": "140042674072352", "variance": "INVARIANT"}, "140042472582368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042472658240": {"type": "Protocol", "module": "numpy._typing._array_like", "simpleName": "_SupportsArrayFunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "types", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042631722624"}, "name": "__array_function__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__array_function__"]}, "140042631722624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472658240"}, {"nodeId": "140042472554784"}, {"nodeId": "140042782784000", "args": [{"nodeId": "0"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "types", "args", "kwargs"]}, "140042472554784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042480728240": {"type": "Concrete", "module": "numpy._typing._generic_alias", "simpleName": "_GenericAlias", "members": [{"kind": "Variable", "name": "__slots__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042598967872"}}, {"kind": "Variable", "name": "__origin__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481504256"}}, {"kind": "Variable", "name": "__args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481503360"}}, {"kind": "Variable", "name": "__parameters__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481504704"}}, {"kind": "Variable", "name": "__unpacked__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481516128"}}, {"kind": "Variable", "name": "__typing_unpacked_tuple_args__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481515904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "starred", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640636640"}, "name": "__init__"}, {"kind": "Variable", "name": "__call__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042481513216"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640637536"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884000"}, "name": "__mro_entries__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884448"}, "name": "__dir__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640884896"}, "name": "__hash__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640885344"}, "name": "__instancecheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640885792"}, "name": "__subclasscheck__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640886240"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640886688"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640887136"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640887584"}, "name": "__iter__"}, {"kind": "Variable", "name": "_ATTR_EXCEPTIONS", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733872", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640888032"}, "name": "__getattribute__"}, {"kind": "Variable", "name": "_origin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365024"}}, {"kind": "Variable", "name": "_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042598969888"}}, {"kind": "Variable", "name": "_parameters", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782777616"}]}}, {"kind": "Variable", "name": "_starred", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "_hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042598967872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042481504256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577365024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481503360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481504704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042782777616"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481516128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042481515904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042464499792"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464499792": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042640636640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577365024"}, {"nodeId": "140042464499904"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "origin", "args", "starred"]}, "140042464499904": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042481513216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640637536": {"type": "Function", "typeVars": [".-1.140042640637536"], "argTypes": [{"nodeId": ".-1.140042640637536"}], "returnType": {"nodeId": "140042464501024"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042640637536": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640637536", "variance": "INVARIANT"}, "140042464501024": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042464500800"}]}, "140042464500800": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042782776944"}]}, "140042640884000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782775936"}]}], "returnType": {"nodeId": "140042464501360"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bases"]}, "140042464501360": {"type": "Tuple", "items": [{"nodeId": "0"}]}, "140042640884448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640884896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640885344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640885792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577365024"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cls"]}, "140042640886240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640886688": {"type": "Function", "typeVars": [".-1.140042640886688"], "argTypes": [{"nodeId": ".-1.140042640886688"}, {"nodeId": "140042464501584"}], "returnType": {"nodeId": ".-1.140042640886688"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042640886688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640886688", "variance": "INVARIANT"}, "140042464501584": {"type": "Union", "items": [{"nodeId": "140042782775936"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042640887136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640887584": {"type": "Function", "typeVars": [".-1.140042640887584"], "argTypes": [{"nodeId": ".-1.140042640887584"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042640887584"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042640887584": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042480728240"}, "def": "140042640887584", "variance": "INVARIANT"}, "140042640888032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480728240"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042598969888": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}]}, "140042472658912": {"type": "Concrete", "module": "numpy.ctypeslib", "simpleName": "_ndptr", "members": [{"kind": "Variable", "name": "_dtype_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472658912"}}, {"kind": "Variable", "name": "_shape_", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "_ndim_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463974160"}}, {"kind": "Variable", "name": "_flags_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042463977072"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464507408"}, "items": [{"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "from_param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "from_param"}], "typeVars": [{"nodeId": ".1.140042472658912"}], "bases": [{"nodeId": "140042573914384"}], "isAbstract": false}, ".1.140042472658912": {"type": "TypeVar", "varName": "_DTypeOptional", "values": [], "upperBound": {"nodeId": "140042463970576"}, "def": "140042472658912", "variance": "INVARIANT"}, "140042463970576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}]}, "140042463974160": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042463977072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042472440656"}]}]}, "140042472440656": {"type": "TypeAlias", "target": {"nodeId": "140042472443568"}}, "140042472443568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042464507408": {"type": "Overloaded", "items": [{"nodeId": "140042674196032"}, {"nodeId": "140042674196480"}]}, "140042674196032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, "140042674196480": {"type": "Function", "typeVars": [".-1.140042674196480"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".-1.140042674196480"}]}], "returnType": {"nodeId": "140042472911056", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "obj"]}, ".-1.140042674196480": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042674196480", "variance": "INVARIANT"}, "140042472659248": {"type": "Concrete", "module": "numpy.ctypeslib", "simpleName": "_concrete_ndptr", "members": [{"kind": "Variable", "name": "_dtype_", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042472659248"}}, {"kind": "Variable", "name": "_shape_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "contents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506162624"}}], "typeVars": [{"nodeId": ".1.140042472659248"}], "bases": [{"nodeId": "140042472658912", "args": [{"nodeId": ".1.140042472659248"}]}], "isAbstract": false}, ".1.140042472659248": {"type": "TypeVar", "varName": "_DType", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042472659248", "variance": "INVARIANT"}, "140042506162624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472659248", "args": [{"nodeId": ".1.140042472659248"}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": ".1.140042472659248"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498331296": {"type": "Concrete", "module": "numpy.lib._version", "simpleName": "NumpyVersion", "members": [{"kind": "Variable", "name": "vstring", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "version", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "major", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "minor", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "bugfix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "pre_release", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "is_devversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vstring", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627584896"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627585344"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627585792"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627586240"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627586688"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627587136"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627587584"}, "name": "__ge__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042627584896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "vstring"]}, "140042627585344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493989872"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493989872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627585792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995024"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627586240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995136"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627586688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995248"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995248": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627587136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995360"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995360": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042627587584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331296"}, {"nodeId": "140042493995472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042493995472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498331296"}]}, "140042468642816": {"type": "Concrete", "module": "numpy.linalg", "simpleName": "LinAlgError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042472652864": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MAError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042472653200": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042472652864"}], "isAbstract": false}, "140042468650544": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedArray", "members": [{"kind": "Variable", "name": "__array_priority__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ndmin", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keep_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hard_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shrink", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632784"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633056"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633328"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633600"}, "name": "view"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623633872"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623634144"}, "name": "__setitem__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504720"}, "items": [{"kind": "Variable", "name": "dtype", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494108704"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "dtype"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464503488"}, "items": [{"kind": "Variable", "name": "shape", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494109376"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "shape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623635504"}, "name": "__setmask__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504272"}, "items": [{"kind": "Variable", "name": "mask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494109600"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "mask"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504048"}, "items": [{"kind": "Variable", "name": "recordmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494108032"}}, {"kind": "Variable", "name": "recordmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "recordmask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623636864"}, "name": "harden_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623637136"}, "name": "soften_mask"}, {"kind": "Variable", "name": "hardmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493516640"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623637680"}, "name": "unshare_mask"}, {"kind": "Variable", "name": "sharedmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042494106912"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623638224"}, "name": "shrink_mask"}, {"kind": "Variable", "name": "baseclass", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042472562400"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464504832"}, "items": [{"kind": "Variable", "name": "flat", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042640633056"}}, {"kind": "Variable", "name": "flat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "flat"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042464505056"}, "items": [{"kind": "Variable", "name": "fill_value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493519552"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fill_value"}, {"kind": "Variable", "name": "get_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623639856"}, "name": "filled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640128"}, "name": "compressed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "condition", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640400"}, "name": "compress"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640672"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623640944"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641216"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641488"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623641760"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642032"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642304"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642576"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623642848"}, "name": "__div__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643120"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643392"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643664"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623643936"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644208"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644480"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623644752"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645024"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645296"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645568"}, "name": "__idiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623645840"}, "name": "__ifloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646112"}, "name": "__itruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646384"}, "name": "__ipow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646656"}, "name": "__float__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623646928"}, "name": "__int__"}, {"kind": "Variable", "name": "imag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042506823360"}}, {"kind": "Variable", "name": "get_imag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "real", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493513056"}}, {"kind": "Variable", "name": "get_real", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795264"}, "name": "count"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795536"}, "name": "ravel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623795808"}, "name": "reshape"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newshape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refcheck", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796080"}, "name": "resize"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796352"}, "name": "put"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796624"}, "name": "ids"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623796896"}, "name": "iscontiguous"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797168"}, "name": "all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797440"}, "name": "any"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797712"}, "name": "nonzero"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623797984"}, "name": "trace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798256"}, "name": "dot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798528"}, "name": "sum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623798800"}, "name": "cumsum"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799072"}, "name": "prod"}, {"kind": "Variable", "name": "product", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799344"}, "name": "cumprod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799616"}, "name": "mean"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623799888"}, "name": "anom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ddof", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800160"}, "name": "var"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ddof", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800432"}, "name": "std"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decimals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800704"}, "name": "round"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endwith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623800976"}, "name": "argsort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801248"}, "name": "argmin"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801520"}, "name": "argmax"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "endwith", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623801792"}, "name": "sort"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802064"}, "name": "min"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802336"}, "name": "max"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepdims", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802608"}, "name": "ptp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623802880"}, "name": "partition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803152"}, "name": "argpartition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indices", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803424"}, "name": "take"}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "diagonal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flatten", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "repeat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "squeeze", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "swapaxes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "transpose", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803696"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "order", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623803968"}, "name": "tobytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804240"}, "name": "tofile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804512"}, "name": "toflex"}, {"kind": "Variable", "name": "torecords", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623804784"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805056"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}], "bases": [{"nodeId": "140042472913744", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "isAbstract": false}, "140042623632784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "data", "mask", "dtype", "copy", "subok", "ndmin", "fill_value", "keep_mask", "hard_mask", "shrink", "order"]}, "140042623633056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042623633328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623633600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "type", "fill_value"]}, "140042623633872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623634144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042464504720": {"type": "Overloaded", "items": [{"nodeId": "140042472562624"}]}, "140042472562624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650544": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650544", "variance": "INVARIANT"}, ".2.140042468650544": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468650544", "variance": "COVARIANT"}, "140042494108704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464503488": {"type": "Overloaded", "items": [{"nodeId": "140042472561280"}]}, "140042472561280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494109376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623635504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mask", "copy"]}, "140042464504272": {"type": "Overloaded", "items": [{"nodeId": "140042472555904"}]}, "140042472555904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494109600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464504048": {"type": "Overloaded", "items": [{"nodeId": "140042472555456"}]}, "140042472555456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494108032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623636864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623637136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623637680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042494106912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623638224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042472562400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464504832": {"type": "Overloaded", "items": [{"nodeId": "140042472558592"}]}, "140042472558592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640633056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042464505056": {"type": "Overloaded", "items": [{"nodeId": "140042472555232"}]}, "140042472555232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493519552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623639856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623640128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623640400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "condition", "axis", "out"]}, "140042623640672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623640944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623641760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623642848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042623643120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623643936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623644752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623645840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623646656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623646928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042506823360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493513056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650544"}, {"nodeId": ".2.140042468650544"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623795264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "keepdims"]}, "140042623795536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "order"]}, "140042623795808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "s", "kwargs"]}, "140042623796080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "newshape", "refcheck", "order"]}, "140042623796352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "indices", "values", "mode"]}, "140042623796624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623796896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623797168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042623797440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "keepdims"]}, "140042623797712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623797984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "offset", "axis1", "axis2", "dtype", "out"]}, "140042623798256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "b", "out", "strict"]}, "140042623798528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623798800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042623799072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623799344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out"]}, "140042623799616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "keepdims"]}, "140042623799888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype"]}, "140042623800160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims"]}, "140042623800432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "dtype", "out", "ddof", "keepdims"]}, "140042623800704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "decimals", "out"]}, "140042623800976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order", "endwith", "fill_value"]}, "140042623801248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "fill_value", "out", "keepdims"]}, "140042623801520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "axis", "fill_value", "out", "keepdims"]}, "140042623801792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "kind", "order", "endwith", "fill_value"]}, "140042623802064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "axis", "out", "fill_value", "keepdims"]}, "140042623802880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623803152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623803424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "indices", "axis", "out", "mode"]}, "140042623803696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623803968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fill_value", "order"]}, "140042623804240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fid", "sep", "format"]}, "140042623804512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623804784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623805056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650544"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "memo"]}, "140042468650880": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "mvoid", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hardmask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805328"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805600"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623805872"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806144"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806416"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806688"}, "name": "filled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623806960"}, "name": "tolist"}], "typeVars": [{"nodeId": ".1.140042468650880"}, {"nodeId": ".2.140042468650880"}], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042468650880"}, {"nodeId": ".2.140042468650880"}]}], "isAbstract": false}, "140042623805328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "mask", "dtype", "fill_value", "hardmask", "copy", "subok"]}, "140042623805600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623805872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042623806144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623806416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623806688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042623806960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468650880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042468650880": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042468650880", "variance": "INVARIANT"}, ".2.140042468650880": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042468650880", "variance": "COVARIANT"}, "140042468642144": {"type": "Concrete", "module": "numpy.polynomial.chebyshev", "simpleName": "Chebyshev", "members": [{"kind": "Variable", "name": "interpolate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042400962976"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042400962976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "func", "deg", "domain", "args"]}, "140042498326928": {"type": "Concrete", "module": "numpy.polynomial._polybase", "simpleName": "ABCPolyBase", "members": [{"kind": "Variable", "name": "__hash__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "__array_ufunc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "Variable", "name": "maxpower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "symbol", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497477536"}}, {"kind": "Variable", "name": "domain", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497476416"}}, {"kind": "Variable", "name": "window", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497477088"}}, {"kind": "Variable", "name": "basis_name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042606537952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607216832"}, "name": "has_samecoef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217104"}, "name": "has_samedomain"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217376"}, "name": "has_samewindow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607217648"}, "name": "has_sametype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "coef", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "symbol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606531232"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt_str", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218192"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218464"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607218736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219008"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219280"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219552"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607219824"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220096"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220368"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220640"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607220912"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221184"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221456"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607221728"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222000"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222272"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222544"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607222816"}, "name": "__rdiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223088"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223360"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223632"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607223904"}, "name": "__rdivmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224176"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224448"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224720"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607224992"}, "name": "degree"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "deg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225264"}, "name": "cutdeg"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225536"}, "name": "trim"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607225808"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226080"}, "name": "convert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226352"}, "name": "mapparms"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "k", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lbnd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226624"}, "name": "integ"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "m", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607226896"}, "name": "deriv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607227168"}, "name": "roots"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607227440"}, "name": "linspace"}, {"kind": "Variable", "name": "fit", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042585717920"}}, {"kind": "Variable", "name": "fromroots", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548373856"}}, {"kind": "Variable", "name": "identity", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497482016"}}, {"kind": "Variable", "name": "basis", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497480000"}}, {"kind": "Variable", "name": "cast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497479776"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042497477536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497476416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497477088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606537952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607216832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607217648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042606531232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "coef", "domain", "window", "symbol"]}, "140042607218192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fmt_str"]}, "140042607218464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "arg"]}, "140042607218736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607219824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607220912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607221728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607222816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607223904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042607224176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607224448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607224720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607224992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607225264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "deg"]}, "140042607225536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tol"]}, "140042607225808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "size"]}, "140042607226080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "domain", "kind", "window"]}, "140042607226352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607226624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "m", "k", "lbnd"]}, "140042607226896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "m"]}, "140042607227168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607227440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498326928"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "n", "domain"]}, "140042585717920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "x", "y", "deg", "domain", "rcond", "full", "w", "window"]}, "140042548373856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "roots", "domain", "window"]}, "140042497482016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "domain", "window"]}, "140042497480000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "deg", "domain", "window"]}, "140042497479776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "series", "domain", "window"]}, "140042577724464": {"type": "Concrete", "module": "abc", "simpleName": "ABC", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042468641808": {"type": "Concrete", "module": "numpy.polynomial.hermite", "simpleName": "Hermite", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468641472": {"type": "Concrete", "module": "numpy.polynomial.hermite_e", "simpleName": "HermiteE", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468641136": {"type": "Concrete", "module": "numpy.polynomial.laguerre", "simpleName": "Laguerre", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468640800": {"type": "Concrete", "module": "numpy.polynomial.legendre", "simpleName": "Legendre", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468640464": {"type": "Concrete", "module": "numpy.polynomial.polynomial", "simpleName": "Polynomial", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "window", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basis_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042498326928"}], "isAbstract": false}, "140042468648192": {"type": "Concrete", "module": "numpy.random._generator", "simpleName": "Generator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bit_generator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623370176"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623370624"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371072"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371520"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623371968"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623372416"}, "name": "__reduce__"}, {"kind": "Variable", "name": "bit_generator", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398932480"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623373312"}, "name": "bytes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506481760"}, "items": [{"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506482096"}, "items": [{"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "permutation"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506472912"}, "items": [{"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506363488"}, "items": [{"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506363376"}, "items": [{"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "beta"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468767808"}, "items": [{"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506222640"}, "items": [{"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "integers"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506221408"}, "items": [{"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choice"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506355536"}, "items": [{"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "uniform"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506208752"}, "items": [{"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506076560"}, "items": [{"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505952096"}, "items": [{"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505950640"}, "items": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505950416"}, "items": [{"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505948848"}, "items": [{"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468768816"}, "items": [{"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505945712"}, "items": [{"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_t"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505946384"}, "items": [{"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vonmises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468769488"}, "items": [{"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pareto"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510890736"}, "items": [{"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "weibull"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510890064"}, "items": [{"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "power"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042505945376"}, "items": [{"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_cauchy"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510887936"}, "items": [{"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "laplace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510888160"}, "items": [{"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gumbel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510886592"}, "items": [{"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logistic"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878640"}, "items": [{"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lognormal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510879536"}, "items": [{"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rayleigh"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878752"}, "items": [{"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "wald"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468769600"}, "items": [{"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "triangular"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042510878864"}, "items": [{"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042515069664"}, "items": [{"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "negative_binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514676672"}, "items": [{"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "poisson"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514672640"}, "items": [{"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "zipf"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514670960"}, "items": [{"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "geometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042469016736"}, "items": [{"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "hypergeometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042514665920"}, "items": [{"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logseries"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cov", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_valid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620077440"}, "name": "multivariate_normal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pvals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620077888"}, "name": "multinomial"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "colors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "nsample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620078336"}, "name": "multivariate_hypergeometric"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alpha", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620078784"}, "name": "dirichlet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "out", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620079232"}, "name": "permuted"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620079680"}, "name": "shuffle"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623370176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042468640128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "bit_generator"]}, "140042468640128": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "BitGenerator", "members": [{"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569642528"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624161760"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624162208"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624162656"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624163104"}, "name": "__reduce__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468603072"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401019968"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468602960"}, "items": [{"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cnt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "method", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624165792"}, "name": "_benchmark"}, {"kind": "Variable", "name": "ctypes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401020192"}}, {"kind": "Variable", "name": "cffi", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401020864"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042569642528": {"type": "Concrete", "module": "threading", "simpleName": "Lock", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152032"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152480"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607152928"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607153376"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607153824"}, "name": "locked"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607152032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607152480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}, {"nodeId": "140042497588944"}, {"nodeId": "140042497589056"}, {"nodeId": "140042497900608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497588944": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497589056": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497900608": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607152928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607153376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607153824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642528"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624161760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447463120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042447463120": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447461104"}, {"nodeId": "140042468639792"}]}, "140042447461104": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468639792": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "SeedSequence", "members": [{"kind": "Variable", "name": "entropy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468601056"}}, {"kind": "Variable", "name": "spawn_key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "pool_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "n_children_spawned", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "pool", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468601952"}]}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "entropy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spawn_key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pool_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children_spawned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159520"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159968"}, "name": "__repr__"}, {"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042401017952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624160864"}, "name": "generate_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624161312"}, "name": "spawn"}], "typeVars": [], "bases": [{"nodeId": "140042468639120"}], "isAbstract": false}, "140042468601056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}]}, "140042468601952": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042624159520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042447462000"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "entropy", "spawn_key", "pool_size", "n_children_spawned"]}, "140042447462000": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042447460992"}]}, "140042447460992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624159968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042401017952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}], "returnType": {"nodeId": "140042447460768"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447460768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624160864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447462112"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447461664"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447462112": {"type": "Union", "items": [{"nodeId": "140042447461776"}, {"nodeId": "140042447460880"}]}, "140042447461776": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042464276688": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468589856"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468590192"}]}]}, {"nodeId": "0"}, {"nodeId": "140042464277136"}]}, "140042468589856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042468590192": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042464277136": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042447460880": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042464276912": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468590304"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468594112"}]}]}, {"nodeId": "0"}, {"nodeId": "140042468594448"}]}, "140042468590304": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042468594112": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042468594448": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042447461664": {"type": "Union", "items": [{"nodeId": "140042447462224"}, {"nodeId": "140042447461552"}]}, "140042447462224": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447461552": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624161312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639792"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042468639792"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, "140042468639120": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "ISpawnableSeedSequence", "members": [{"kind": "Variable", "name": "spawn", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042401014368"}}], "typeVars": [], "bases": [{"nodeId": "140042468638784"}], "isAbstract": true}, "140042401014368": {"type": "Function", "typeVars": [".-1.140042401014368"], "argTypes": [{"nodeId": ".-1.140042401014368"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042401014368"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, ".-1.140042401014368": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042401014368", "variance": "INVARIANT"}, "140042468638784": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "ISeedSequence", "members": [{"kind": "Variable", "name": "generate_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042401013696"}}], "typeVars": [], "bases": [{"nodeId": "140042577724464"}], "isAbstract": true}, "140042401013696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468638784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447459760"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447460208"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447459760": {"type": "Union", "items": [{"nodeId": "140042447459536"}, {"nodeId": "140042447459648"}]}, "140042447459536": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042447459648": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042447460208": {"type": "Union", "items": [{"nodeId": "140042447459984"}, {"nodeId": "140042447460096"}]}, "140042447459984": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447460096": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624162208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624162656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042624163104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447463008"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447463008": {"type": "Tuple", "items": [{"nodeId": "140042447190528"}, {"nodeId": "140042447463232"}, {"nodeId": "140042447462672"}]}, "140042447190528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468640128"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042447463232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042447462672": {"type": "Tuple", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042468603072": {"type": "Overloaded", "items": [{"nodeId": "140042624163552"}]}, "140042624163552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042401019968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468602960": {"type": "Overloaded", "items": [{"nodeId": "140042624164448"}, {"nodeId": "140042624164896"}, {"nodeId": "140042624165344"}]}, "140042624164448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "N"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042624164896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447464464"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447464800"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042447464464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042447464800": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624165344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042447465248"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "output"]}, "140042447465248": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042447465136"}]}, "140042447465136": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042624165792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cnt", "method"]}, "140042401020192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447465472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447465472": {"type": "TypeAlias", "target": {"nodeId": "140042468597920"}}, "140042468597920": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "140042401020864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468640128"}], "returnType": {"nodeId": "140042447465584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042447465584": {"type": "TypeAlias", "target": {"nodeId": "140042468597920"}}, "140042623370624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623371072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623371520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623371968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042623372416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042506478736"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506478736": {"type": "Tuple", "items": [{"nodeId": "140042477003136"}, {"nodeId": "140042506480864"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042477003136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468648192"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042506480864": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042398932480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}], "returnType": {"nodeId": "140042468640128"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623373312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "length"]}, "140042506481760": {"type": "Overloaded", "items": [{"nodeId": "140042623373760"}, {"nodeId": "140042623374208"}, {"nodeId": "140042623374656"}, {"nodeId": "140042623375104"}, {"nodeId": "140042623375552"}]}, "140042623373760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506478176"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506478176": {"type": "Union", "items": [{"nodeId": "140042506478624"}, {"nodeId": "140042506478512"}]}, "140042506478624": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042468760976": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468766688"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468762992"}]}]}, {"nodeId": "0"}, {"nodeId": "140042468758960"}, {"nodeId": "140042468761088"}]}, "140042468766688": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042468762992": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042468758960": {"type": "TypeAlias", "target": {"nodeId": "140042494226080"}}, "140042468761088": {"type": "TypeAlias", "target": {"nodeId": "140042484866560"}}, "140042506478512": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042468760528": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468767360"}]}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042468762880"}]}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042468767248"}, {"nodeId": "140042468767136"}]}, "140042468767360": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468762880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468767248": {"type": "TypeAlias", "target": {"nodeId": "140042494226752"}}, "140042468767136": {"type": "TypeAlias", "target": {"nodeId": "140042484867680"}}, "140042623374208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506477280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506478960"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042506477280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506478960": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623374656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506476832"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506478400"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506476832": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506478400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623375104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506477056"}, {"nodeId": "140042506476608"}, {"nodeId": "140042506475264"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506475488"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506477056": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506476608": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506475264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506475600"}]}]}]}, "140042506475600": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506475488": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623375552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506472576"}, {"nodeId": "140042506477392"}, {"nodeId": "140042506473472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506474368"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506472576": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506477392": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506473472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506473696"}]}]}]}, "140042506473696": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506474368": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506482096": {"type": "Overloaded", "items": [{"nodeId": "140042623376000"}, {"nodeId": "140042623376448"}]}, "140042623376000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506474144"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042506474144": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042623376448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506472352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042506472352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506472912": {"type": "Overloaded", "items": [{"nodeId": "140042623376896"}, {"nodeId": "140042623377344"}, {"nodeId": "140042623377792"}, {"nodeId": "140042623378240"}, {"nodeId": "140042623378688"}, {"nodeId": "140042623379136"}]}, "140042623376896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506364384"}, {"nodeId": "140042506370208"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506364384": {"type": "Union", "items": [{"nodeId": "140042506471232"}, {"nodeId": "140042506470336"}]}, "140042506471232": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506470336": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506370208": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042623377344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506368752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506365840"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042506368752": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506365840": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623377792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506368416"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506369648"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506368416": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506369648": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623378240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506368864"}, {"nodeId": "140042506367184"}, {"nodeId": "140042506366960"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506366736"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "size", "method", "out"]}, "140042506368864": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506367184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506366960": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506367072"}]}]}]}, "140042506367072": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506366736": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623378688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506366400"}, {"nodeId": "140042506366176"}, {"nodeId": "140042506364608"}, {"nodeId": "140042506356208"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363936"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506366400": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506366176": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506364608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506356208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363824"}]}]}]}, "140042506363824": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506363936": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623379136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506363712"}, {"nodeId": "140042506365952"}, {"nodeId": "140042506362592"}, {"nodeId": "140042506363040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506361920"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "method", "out"]}, "140042506363712": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506365952": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506362592": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042506363040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506363264"}]}]}]}, "140042506363264": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506361920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506363488": {"type": "Overloaded", "items": [{"nodeId": "140042623379584"}, {"nodeId": "140042623380032"}, {"nodeId": "140042623380480"}, {"nodeId": "140042623380928"}, {"nodeId": "140042623381376"}]}, "140042623379584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}, {"nodeId": "140042506361696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506361696": {"type": "Union", "items": [{"nodeId": "140042506361808"}, {"nodeId": "140042506362032"}]}, "140042506361808": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506362032": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042623380032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360800"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360352"}]}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "out"]}, "140042506360800": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506360352": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623380480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506361472"}, {"nodeId": "140042506359232"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360688"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "size", "out"]}, "140042506361472": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506359232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506359904"}]}]}]}, "140042506359904": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506360688": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042623380928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506360464"}, {"nodeId": "140042506359008"}, {"nodeId": "140042506359680"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506358560"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506360464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506359008": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042506359680": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506360576"}]}]}]}, "140042506360576": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042506358560": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042623381376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506356320"}, {"nodeId": "140042506355312"}, {"nodeId": "140042506354752"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506354976"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "dtype", "out"]}, "140042506356320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506355312": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042506354752": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506359456"}]}]}]}, "140042506359456": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506354976": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506363376": {"type": "Overloaded", "items": [{"nodeId": "140042623381824"}, {"nodeId": "140042623382272"}]}, "140042623381824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042623382272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506222976"}, {"nodeId": "140042506223088"}, {"nodeId": "140042506221968"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506221856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042506222976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506223088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506221968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506223200"}]}, "140042506223200": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506221856": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468767808": {"type": "Overloaded", "items": [{"nodeId": "140042623382720"}, {"nodeId": "140042623383168"}]}, "140042623382720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042623383168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506220736"}, {"nodeId": "140042506222528"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506221520"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042506220736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506222528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506222304"}]}, "140042506222304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506221520": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506222640": {"type": "Overloaded", "items": [{"nodeId": "140042623383616"}, {"nodeId": "140042623384064"}, {"nodeId": "140042623384512"}, {"nodeId": "140042623384960"}, {"nodeId": "140042619633728"}, {"nodeId": "140042619634176"}, {"nodeId": "140042619634624"}, {"nodeId": "140042619635072"}, {"nodeId": "140042619635520"}, {"nodeId": "140042619635968"}, {"nodeId": "140042619636416"}, {"nodeId": "140042619636864"}, {"nodeId": "140042619637312"}, {"nodeId": "140042619637760"}, {"nodeId": "140042619638208"}]}, "140042623383616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506222864"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "low", "high"]}, "140042506222864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042623384064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506221744"}, {"nodeId": "N"}, {"nodeId": "140042506221072"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506221744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042506221072": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042469026816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469026928"}]}, "140042469026928": {"type": "TypeAlias", "target": {"nodeId": "140042494219584"}}, "140042623384512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506219952"}, {"nodeId": "N"}, {"nodeId": "140042506219616"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506219952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042506219616": {"type": "Union", "items": [{"nodeId": "140042506221184"}, {"nodeId": "140042506221296"}]}, "140042506221184": {"type": "TypeAlias", "target": {"nodeId": "140042464338752"}}, "140042464338752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042469024800"}, {"nodeId": "140042469023680"}, {"nodeId": "140042469023792"}, {"nodeId": "140042469027040"}, {"nodeId": "140042469024352"}, {"nodeId": "140042469027264"}, {"nodeId": "140042469025920"}, {"nodeId": "140042464338416"}, {"nodeId": "140042464338528"}, {"nodeId": "140042464338640"}]}, "140042469024800": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042469023680": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042469023792": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042469027040": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042469024352": {"type": "TypeAlias", "target": {"nodeId": "140042494228768"}}, "140042469027264": {"type": "TypeAlias", "target": {"nodeId": "140042494229440"}}, "140042469025920": {"type": "TypeAlias", "target": {"nodeId": "140042494230112"}}, "140042464338416": {"type": "TypeAlias", "target": {"nodeId": "140042484859504"}}, "140042464338528": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042464338640": {"type": "TypeAlias", "target": {"nodeId": "140042484860960"}}, "140042506221296": {"type": "TypeAlias", "target": {"nodeId": "140042464338304"}}, "140042464338304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042480729248", "args": [{"nodeId": "0"}]}, {"nodeId": "140042464335952"}, {"nodeId": "140042464335728"}, {"nodeId": "140042464335840"}, {"nodeId": "140042464336176"}, {"nodeId": "140042464336624"}, {"nodeId": "140042464336288"}, {"nodeId": "140042464336400"}, {"nodeId": "140042464337968"}, {"nodeId": "140042464338080"}, {"nodeId": "140042464338192"}]}, "140042464335952": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042464335728": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042464335840": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042464336176": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042464336624": {"type": "TypeAlias", "target": {"nodeId": "140042484861632"}}, "140042464336288": {"type": "TypeAlias", "target": {"nodeId": "140042484862304"}}, "140042464336400": {"type": "TypeAlias", "target": {"nodeId": "140042484862976"}}, "140042464337968": {"type": "TypeAlias", "target": {"nodeId": "140042484863872"}}, "140042464338080": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042464338192": {"type": "TypeAlias", "target": {"nodeId": "140042484865216"}}, "140042623384960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506219168"}, {"nodeId": "140042506220288"}, {"nodeId": "140042506219504"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506219728"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042506219168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506220288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506217712"}]}, "140042506217712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506219504": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506216928"}]}, "140042506216928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506219728": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619633728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506220512"}, {"nodeId": "140042506220624"}, {"nodeId": "140042506216704"}, {"nodeId": "140042506220400"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506220512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506220624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506219840"}]}, "140042506219840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216704": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214016"}]}, "140042506214016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506220400": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042619634176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506218608"}, {"nodeId": "140042506216480"}, {"nodeId": "140042506216256"}, {"nodeId": "140042506217152"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506215360"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506218608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506215248"}]}, "140042506215248": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216256": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214352"}]}, "140042506214352": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506217152": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506218272"}]}, {"nodeId": "0"}, {"nodeId": "140042506218048"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506217488"}]}]}]}, "140042506218272": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042506218048": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042506217488": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042506215360": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042619634624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506215584"}, {"nodeId": "140042506215808"}, {"nodeId": "140042506216032"}, {"nodeId": "140042506212896"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506210880"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506215584": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506215808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506214128"}]}, "140042506214128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506216032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506218720"}]}, "140042506218720": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506212896": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506211776"}]}, {"nodeId": "0"}, {"nodeId": "140042506208192"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506211888"}]}]}]}, "140042506211776": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042506208192": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042506211888": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042506210880": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042619635072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506210992"}, {"nodeId": "140042506210432"}, {"nodeId": "140042506210544"}, {"nodeId": "140042506209760"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506209312"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506210992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506210432": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506210320"}]}, "140042506210320": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506210544": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506213792"}]}, "140042506213792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506209760": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506209984"}]}, {"nodeId": "0"}, {"nodeId": "140042506209872"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506209536"}]}]}]}, "140042506209984": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042506209872": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042506209536": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042506209312": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042619635520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506208976"}, {"nodeId": "140042506208864"}, {"nodeId": "140042506209200"}, {"nodeId": "140042506207968"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506207856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506208976": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506208864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506208528"}]}, "140042506208528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506209200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506210096"}]}, "140042506210096": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506207968": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506208640"}]}, {"nodeId": "0"}, {"nodeId": "140042506207408"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506208080"}]}]}]}, "140042506208640": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042506207408": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042506208080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042506207856": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619635968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506207296"}, {"nodeId": "140042506092352"}, {"nodeId": "140042506092016"}, {"nodeId": "140042506090448"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506091120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506207296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506092352": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506092240"}]}, "140042506092240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506092016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506091792"}]}, "140042506091792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506090448": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506092128"}]}, {"nodeId": "0"}, {"nodeId": "140042506091568"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506091904"}]}]}]}, "140042506092128": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042506091568": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042506091904": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042506091120": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042619636416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506090672"}, {"nodeId": "140042506088096"}, {"nodeId": "140042506090336"}, {"nodeId": "140042506086752"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506087312"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506090672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506088096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506087872"}]}, "140042506087872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506090336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506090896"}]}, "140042506090896": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506086752": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506087984"}]}, {"nodeId": "0"}, {"nodeId": "140042506089552"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506087536"}]}]}]}, "140042506087984": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042506089552": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042506087536": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042506087312": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042619636864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506086640"}, {"nodeId": "140042506086528"}, {"nodeId": "140042506087200"}, {"nodeId": "140042506085968"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506085856"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506086640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506086528": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506087088"}]}, "140042506087088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506087200": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506085408"}]}, "140042506085408": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506085968": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506086192"}]}, {"nodeId": "0"}, {"nodeId": "140042506086416"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506086080"}]}]}]}, "140042506086192": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042506086416": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042506086080": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042506085856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042619637312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506084960"}, {"nodeId": "140042506085072"}, {"nodeId": "140042506085296"}, {"nodeId": "140042506084288"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506084064"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506084960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506085072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506084736"}]}, "140042506084736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506085296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506085184"}]}, "140042506085184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506084288": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506084624"}]}, {"nodeId": "0"}, {"nodeId": "140042506083392"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506084512"}]}]}]}, "140042506084624": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042506083392": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042506084512": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042506084064": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042619637760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506083168"}, {"nodeId": "140042506082944"}, {"nodeId": "140042506083728"}, {"nodeId": "140042506082048"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506079248"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506083168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506082944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506083840"}]}, "140042506083840": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506083728": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506083280"}]}, "140042506083280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506082048": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506083056"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042506081936"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506082272"}]}]}]}, "140042506083056": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506081936": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042506082272": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506079248": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042619638208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506078688"}, {"nodeId": "140042506078576"}, {"nodeId": "140042506079136"}, {"nodeId": "140042506078464"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506077792"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype", "endpoint"]}, "140042506078688": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506078576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506080144"}]}, "140042506080144": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506079136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506081152"}]}, "140042506081152": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506078464": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506080256"}]}, {"nodeId": "0"}, {"nodeId": "140042506079360"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042506078352"}]}]}]}, "140042506080256": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506079360": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042506078352": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506077792": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042506221408": {"type": "Overloaded", "items": [{"nodeId": "140042619638656"}, {"nodeId": "140042619639104"}, {"nodeId": "140042619639552"}, {"nodeId": "140042619640000"}]}, "140042619638656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506076784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506076784": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077456"}]}, "140042506077456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042619639104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042506077232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506077344"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506076672"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506077232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506077344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077120"}]}, "140042506077120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506076672": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042619639552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042506076224"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042506076336"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042506076224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506076336": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506077680"}]}, "140042506077680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042619640000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505961280"}, {"nodeId": "140042505960944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042505960832"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p", "axis", "shuffle"]}, "140042505961280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505960944": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505960832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505961168"}]}, "140042505961168": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506355536": {"type": "Overloaded", "items": [{"nodeId": "140042619640448"}, {"nodeId": "140042619640896"}]}, "140042619640448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042619640896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505960048"}, {"nodeId": "140042505955904"}, {"nodeId": "140042505956688"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505958928"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042505960048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505955904": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505956688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505956240"}]}, "140042505956240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505958928": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506208752": {"type": "Overloaded", "items": [{"nodeId": "140042619641344"}, {"nodeId": "140042619641792"}]}, "140042619641344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619641792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505960384"}, {"nodeId": "140042505958592"}, {"nodeId": "140042505958032"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505957920"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042505960384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505958592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505958032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505958368"}]}, "140042505958368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505957920": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042506076560": {"type": "Overloaded", "items": [{"nodeId": "140042619642240"}, {"nodeId": "140042619642688"}, {"nodeId": "140042619643136"}, {"nodeId": "140042619643584"}, {"nodeId": "140042619644032"}]}, "140042619642240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}, {"nodeId": "140042505957024"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505957024": {"type": "Union", "items": [{"nodeId": "140042505957360"}, {"nodeId": "140042505957248"}]}, "140042505957360": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042505957248": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042619642688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505953664"}, {"nodeId": "140042505957808"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505953888"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042505953664": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505957808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505955232"}]}, "140042505955232": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505953888": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619643136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505955568"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505955680"}]}]}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505954784"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "shape", "out"]}, "140042505955568": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505955680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505954784": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619643584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505956464"}, {"nodeId": "140042505959264"}, {"nodeId": "140042505953328"}, {"nodeId": "140042505953104"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505952656"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505956464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505959264": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505959152"}]}, "140042505959152": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505953328": {"type": "TypeAlias", "target": {"nodeId": "140042468760976"}}, "140042505953104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505952880"}]}]}]}, "140042505952880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042505952656": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661600"}]}}, "140042619644032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505954896"}, {"nodeId": "140042505951648"}, {"nodeId": "140042505951536"}, {"nodeId": "140042505951760"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505951088"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "size", "dtype", "out"]}, "140042505954896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505951648": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505952320"}]}, "140042505952320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505951536": {"type": "TypeAlias", "target": {"nodeId": "140042468760528"}}, "140042505951760": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505951424"}]}]}]}, "140042505951424": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505951088": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505952096": {"type": "Overloaded", "items": [{"nodeId": "140042619644480"}, {"nodeId": "140042619644928"}]}, "140042619644480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042619644928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950528"}, {"nodeId": "140042505952544"}, {"nodeId": "140042505949744"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505949520"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042505950528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505952544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949744": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505950976"}]}, "140042505950976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505949520": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505950640": {"type": "Overloaded", "items": [{"nodeId": "140042619645376"}, {"nodeId": "140042619645824"}]}, "140042619645376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042619645824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950864"}, {"nodeId": "140042505949632"}, {"nodeId": "140042505949856"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505948960"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042505950864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505950304"}]}, "140042505950304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505948960": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505950416": {"type": "Overloaded", "items": [{"nodeId": "140042619646272"}, {"nodeId": "140042619646720"}]}, "140042619646272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042619646720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505950080"}, {"nodeId": "140042505949296"}, {"nodeId": "140042505948400"}, {"nodeId": "140042505948288"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505947840"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042505950080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505949296": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505948400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505948288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505948624"}]}, "140042505948624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505947840": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505948848": {"type": "Overloaded", "items": [{"nodeId": "140042619647168"}, {"nodeId": "140042619647616"}]}, "140042619647168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042619647616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505948736"}, {"nodeId": "140042505947280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505947168"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042505948736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505947280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505948064"}]}, "140042505948064": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505947168": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468768816": {"type": "Overloaded", "items": [{"nodeId": "140042619648064"}, {"nodeId": "140042619648512"}]}, "140042619648064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042619648512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042505946272"}, {"nodeId": "140042505946048"}, {"nodeId": "140042505945600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042505945152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042505946272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505946048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042505945600": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042505946160"}]}, "140042505946160": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042505945152": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505945712": {"type": "Overloaded", "items": [{"nodeId": "140042619648960"}, {"nodeId": "140042619649408"}, {"nodeId": "140042619879488"}]}, "140042619648960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042619649408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510878416"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510892752"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042510878416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510892752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042619879488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510892640"}, {"nodeId": "140042510892304"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510892192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042510892640": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510892304": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510892192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505946384": {"type": "Overloaded", "items": [{"nodeId": "140042619879936"}, {"nodeId": "140042619880384"}]}, "140042619879936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042619880384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510891744"}, {"nodeId": "140042510891856"}, {"nodeId": "140042510891296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510891184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042510891744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510891856": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510891296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510891632"}]}, "140042510891632": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510891184": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468769488": {"type": "Overloaded", "items": [{"nodeId": "140042619880832"}, {"nodeId": "140042619881280"}]}, "140042619880832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619881280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510892080"}, {"nodeId": "140042510890624"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510890176"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510892080": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510890624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510891072"}]}, "140042510891072": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510890176": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510890736": {"type": "Overloaded", "items": [{"nodeId": "140042619881728"}, {"nodeId": "140042619882176"}]}, "140042619881728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619882176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510890960"}, {"nodeId": "140042510889616"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510889504"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510890960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510889616": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510890400"}]}, "140042510890400": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510889504": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510890064": {"type": "Overloaded", "items": [{"nodeId": "140042619882624"}, {"nodeId": "140042619883072"}]}, "140042619882624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619883072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510889952"}, {"nodeId": "140042510888944"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510888496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042510889952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510888944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510889392"}]}, "140042510889392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510888496": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042505945376": {"type": "Overloaded", "items": [{"nodeId": "140042619883520"}, {"nodeId": "140042619883968"}]}, "140042619883520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042619883968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510887376"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042510887824": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510887376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510887936": {"type": "Overloaded", "items": [{"nodeId": "140042619884416"}, {"nodeId": "140042619884864"}]}, "140042619884416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619884864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887264"}, {"nodeId": "140042510887152"}, {"nodeId": "140042510887040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510886704"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510887264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510887152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510887040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510886928"}]}, "140042510886928": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510886704": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510888160": {"type": "Overloaded", "items": [{"nodeId": "140042619885312"}, {"nodeId": "140042619885760"}]}, "140042619885312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619885760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510887600"}, {"nodeId": "140042510886480"}, {"nodeId": "140042510884016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510883568"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510887600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510886480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510884016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510883680"}]}, "140042510883680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510883568": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510886592": {"type": "Overloaded", "items": [{"nodeId": "140042619886208"}, {"nodeId": "140042619886656"}]}, "140042619886208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042619886656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510886256"}, {"nodeId": "140042510880768"}, {"nodeId": "140042510880208"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510879872"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042510886256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510880768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510880208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510880320"}]}, "140042510880320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510879872": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878640": {"type": "Overloaded", "items": [{"nodeId": "140042619887104"}, {"nodeId": "140042619887552"}]}, "140042619887104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042619887552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510880432"}, {"nodeId": "140042510879760"}, {"nodeId": "140042510879312"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042510879200"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042510880432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510879760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042510879312": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510879424"}]}, "140042510879424": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042510879200": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510879536": {"type": "Overloaded", "items": [{"nodeId": "140042619888000"}, {"nodeId": "140042619888448"}]}, "140042619888000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042619888448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042510879648"}, {"nodeId": "140042515054656"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042515055888"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042510879648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042515054656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042510878976"}]}, "140042510878976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042515055888": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878752": {"type": "Overloaded", "items": [{"nodeId": "140042619888896"}, {"nodeId": "140042619889344"}]}, "140042619888896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042619889344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514841408"}, {"nodeId": "140042514840848"}, {"nodeId": "140042514841072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514841296"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042514841408": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514840848": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514841072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514840960"}]}, "140042514840960": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514841296": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468769600": {"type": "Overloaded", "items": [{"nodeId": "140042619889792"}, {"nodeId": "140042619890240"}]}, "140042619889792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042619890240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514829984"}, {"nodeId": "140042514828752"}, {"nodeId": "140042514833456"}, {"nodeId": "140042514833904"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514833680"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042514829984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828752": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514833456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514833904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514833568"}]}, "140042514833568": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514833680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042510878864": {"type": "Overloaded", "items": [{"nodeId": "140042619890688"}, {"nodeId": "140042619891136"}]}, "140042619890688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042619891136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514829872"}, {"nodeId": "140042514828528"}, {"nodeId": "140042514828976"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514828080"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042514829872": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514828976": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514828864"}]}, "140042514828864": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514828080": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042515069664": {"type": "Overloaded", "items": [{"nodeId": "140042619891584"}, {"nodeId": "140042619892032"}]}, "140042619891584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042619892032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514675888"}, {"nodeId": "140042514674768"}, {"nodeId": "140042514670400"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514672864"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042514675888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514674768": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514670400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514673312"}]}, "140042514673312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514672864": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514676672": {"type": "Overloaded", "items": [{"nodeId": "140042619892480"}, {"nodeId": "140042619892928"}]}, "140042619892480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042619892928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514676224"}, {"nodeId": "140042514672192"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514671408"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042514676224": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514672192": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514670176"}]}, "140042514670176": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514671408": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514672640": {"type": "Overloaded", "items": [{"nodeId": "140042619893376"}, {"nodeId": "140042619893824"}]}, "140042619893376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042619893824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514672416"}, {"nodeId": "140042514670512"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514669728"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042514672416": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514670512": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514671184"}]}, "140042514671184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514669728": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514670960": {"type": "Overloaded", "items": [{"nodeId": "140042619894272"}, {"nodeId": "140042619894720"}]}, "140042619894272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042619894720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514670736"}, {"nodeId": "140042514668496"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514667936"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042514670736": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514668496": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514669168"}]}, "140042514669168": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514667936": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042469016736": {"type": "Overloaded", "items": [{"nodeId": "140042619895168"}, {"nodeId": "140042620076096"}]}, "140042619895168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042620076096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514665808"}, {"nodeId": "140042514664464"}, {"nodeId": "140042514664016"}, {"nodeId": "140042514663456"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514662672"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042514665808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514664464": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514664016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514663456": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514663680"}]}, "140042514663680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514662672": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042514665920": {"type": "Overloaded", "items": [{"nodeId": "140042620076544"}, {"nodeId": "140042620076992"}]}, "140042620076544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042620076992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514666704"}, {"nodeId": "140042514661888"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514497344"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042514666704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514661888": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514662336"}]}, "140042514662336": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514497344": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620077440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514496560"}, {"nodeId": "140042514496000"}, {"nodeId": "140042514495440"}, {"nodeId": "140042514494656"}, {"nodeId": "140042577366032"}, {"nodeId": "140042514493312"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514492192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "mean", "cov", "size", "check_valid", "tol", "method"]}, "140042514496560": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514496000": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514495440": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514496784"}]}, "140042514496784": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514494656": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514493312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042514492192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042620077888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514491744"}, {"nodeId": "140042514491632"}, {"nodeId": "140042514491408"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514490848"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "pvals", "size"]}, "140042514491744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514491632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514491408": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514491856"}]}, "140042514491856": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514490848": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620078336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514488272"}, {"nodeId": "140042577365696"}, {"nodeId": "140042514490064"}, {"nodeId": "140042514488608"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514488496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "colors", "nsample", "size", "method"]}, "140042514488272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514490064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514490288"}]}, "140042514490288": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514488608": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042514488496": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042620078784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514486816"}, {"nodeId": "140042514487040"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042514487152"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "alpha", "size"]}, "140042514486816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514487040": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042514487488"}]}, "140042514487488": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042514487152": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042620079232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514485808"}, {"nodeId": "140042514485584"}, {"nodeId": "140042514486144"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "x", "axis", "out"]}, "140042514485808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042514485584": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042514486144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}]}, "140042620079680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468648192"}, {"nodeId": "140042514484576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "x", "axis"]}, "140042514484576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468647856": {"type": "Concrete", "module": "numpy.random._mt19937", "simpleName": "MT19937", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620081248"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620081696"}, "name": "_legacy_seeding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620082144"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506650224"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042398890272"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620081248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042506485456"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506485456": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506649776"}, {"nodeId": "140042468639792"}]}, "140042506649776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620081696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042506485120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "seed"]}, "140042506485120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620082144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468647856"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506650224": {"type": "Overloaded", "items": [{"nodeId": "140042620082592"}]}, "140042620082592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}], "returnType": {"nodeId": "140042506483328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506483328": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042398890272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468647856"}], "returnType": {"nodeId": "140042506483328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468646512": {"type": "Concrete", "module": "numpy.random._pcg64", "simpleName": "PCG64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620084160"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620084608"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506653360"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400944352"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620085952"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620084160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042506653136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506653136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506652016"}, {"nodeId": "140042468639792"}]}, "140042506652016": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620084608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646512"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506653360": {"type": "Overloaded", "items": [{"nodeId": "140042620085056"}]}, "140042620085056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}], "returnType": {"nodeId": "140042506652912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506652912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400944352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}], "returnType": {"nodeId": "140042506652912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620085952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646512"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468646848": {"type": "Concrete", "module": "numpy.random._pcg64", "simpleName": "PCG64DXSM", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620086400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620086848"}, "name": "jumped"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506651344"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400941888"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620088192"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620086400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042506650672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506650672": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506650896"}, {"nodeId": "140042468639792"}]}, "140042506650896": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042620086848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646848"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042506651344": {"type": "Overloaded", "items": [{"nodeId": "140042620087296"}]}, "140042620087296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}], "returnType": {"nodeId": "140042506651120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506651120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400941888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}], "returnType": {"nodeId": "140042506651120"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620088192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468646848"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468646848"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468645504": {"type": "Concrete", "module": "numpy.random._philox", "simpleName": "Philox", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "counter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620089312"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506655040"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400790592"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "jumps", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620090656"}, "name": "jumped"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042620091104"}, "name": "advance"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042620089312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042506655152"}, {"nodeId": "140042506653920"}, {"nodeId": "140042506653472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "seed", "counter", "key"]}, "140042506655152": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506654704"}, {"nodeId": "140042468639792"}]}, "140042506654704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506653920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506654256"}]}, "140042506654256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506653472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506653808"}]}, "140042506653808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506655040": {"type": "Overloaded", "items": [{"nodeId": "140042620089760"}]}, "140042620089760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}], "returnType": {"nodeId": "140042506654480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506654480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400790592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}], "returnType": {"nodeId": "140042506654480"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042620090656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468645504"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "jumps"]}, "140042620091104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468645504"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042468645504"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "delta"]}, "140042468644496": {"type": "Concrete", "module": "numpy.random._sfc64", "simpleName": "SFC64", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624155712"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506658288"}, "items": [{"kind": "Variable", "name": "state", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042400949504"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "state"}], "typeVars": [], "bases": [{"nodeId": "140042468640128"}], "isAbstract": false}, "140042624155712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}, {"nodeId": "140042506656832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042506656832": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506655712"}, {"nodeId": "140042468639792"}]}, "140042506655712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506658288": {"type": "Overloaded", "items": [{"nodeId": "140042624156160"}]}, "140042624156160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}], "returnType": {"nodeId": "140042506655376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042506655376": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042400949504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468644496"}], "returnType": {"nodeId": "140042506655376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468643488": {"type": "Concrete", "module": "numpy.random.mtrand", "simpleName": "RandomState", "members": [{"kind": "Variable", "name": "_bit_generator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042468640128"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624167808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624168256"}, "name": "__repr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624168704"}, "name": "__str__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624169152"}, "name": "__getstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624169600"}, "name": "__setstate__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624170048"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624170496"}, "name": "seed"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489698608"}, "items": [{"kind": "Variable", "name": "get_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615259200"}, "name": "set_state"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489695360"}, "items": [{"kind": "Variable", "name": "random_sample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_sample", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_sample"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489698720"}, "items": [{"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489407392"}, "items": [{"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "beta", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "beta"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489412656"}, "items": [{"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489695248"}, "items": [{"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_exponential", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_exponential"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489401568"}, "items": [{"kind": "Variable", "name": "tomaxint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tomaxint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "tomaxint"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468759296"}, "items": [{"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "randint"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615271744"}, "name": "bytes"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042484968224"}, "items": [{"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "choice", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "choice"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489403136"}, "items": [{"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "uniform", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "uniform"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493997264"}, "items": [{"kind": "Variable", "name": "rand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493985504"}, "items": [{"kind": "Variable", "name": "randn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "randn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "randn"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493995696"}, "items": [{"kind": "Variable", "name": "random_integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "random_integers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "random_integers"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489297408"}, "items": [{"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493985728"}, "items": [{"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "normal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "normal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493787856"}, "items": [{"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493554000"}, "items": [{"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gamma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gamma"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493354592"}, "items": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493548288"}, "items": [{"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_f"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498239040"}, "items": [{"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493309024"}, "items": [{"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "noncentral_chisquare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "noncentral_chisquare"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498236464"}, "items": [{"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_t"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498233552"}, "items": [{"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vonmises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vonmises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468759744"}, "items": [{"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pareto", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "pareto"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497911024"}, "items": [{"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "weibull", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "weibull"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497905760"}, "items": [{"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "power", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "power"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498233664"}, "items": [{"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standard_cauchy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "standard_cauchy"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497576736"}, "items": [{"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "laplace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "laplace"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497575616"}, "items": [{"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gumbel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "gumbel"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497903968"}, "items": [{"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logistic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logistic"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042497577856"}, "items": [{"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lognormal", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "lognormal"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042502306752"}, "items": [{"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rayleigh", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "rayleigh"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042498440016"}, "items": [{"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "wald", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "wald"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042501834112"}, "items": [{"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "triangular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "triangular"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042502302048"}, "items": [{"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042501833328"}, "items": [{"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "negative_binomial", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "negative_binomial"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506850640"}, "items": [{"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "poisson", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "poisson"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506848512"}, "items": [{"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "zipf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "zipf"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506846832"}, "items": [{"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "geometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "geometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042468760864"}, "items": [{"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hypergeometric", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "hypergeometric"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506663664"}, "items": [{"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logseries", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "logseries"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mean", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cov", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_valid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615631296"}, "name": "multivariate_normal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pvals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615631744"}, "name": "multinomial"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alpha", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615632192"}, "name": "dirichlet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042615632640"}, "name": "shuffle"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042506662544"}, "items": [{"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "permutation", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "permutation"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042624167808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489697936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042489697936": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489698048"}, {"nodeId": "140042468640128"}]}, "140042489698048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042624168256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042624168704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042624169152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042624169600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042624170048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042489695920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489695920": {"type": "Tuple", "items": [{"nodeId": "140042472558368"}, {"nodeId": "140042489697264"}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042472558368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042468643488"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042489697264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042624170496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489695472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "seed"]}, "140042489695472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489695808"}]}, "140042489695808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489698608": {"type": "Overloaded", "items": [{"nodeId": "140042624170944"}, {"nodeId": "140042624171392"}]}, "140042624170944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "legacy"]}, "140042624171392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042489694016"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "legacy"]}, "140042489694016": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042489694352"}]}, "140042489694352": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489694688"}]}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}]}, "140042489694688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042615259200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489413104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042489413104": {"type": "Union", "items": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042489413216"}]}, "140042489413216": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489693008"}]}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}]}, "140042489693008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042489695360": {"type": "Overloaded", "items": [{"nodeId": "140042615259648"}, {"nodeId": "140042615260096"}]}, "140042615259648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615260096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489409296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489412768"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489409296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489412768": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489698720": {"type": "Overloaded", "items": [{"nodeId": "140042615260544"}, {"nodeId": "140042615260992"}]}, "140042615260544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615260992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489412320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489412208"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489412320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489412208": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489407392": {"type": "Overloaded", "items": [{"nodeId": "140042615261440"}, {"nodeId": "140042615261888"}]}, "140042615261440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042615261888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489411760"}, {"nodeId": "140042489411984"}, {"nodeId": "140042489411536"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489411200"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "size"]}, "140042489411760": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489411984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489411536": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489411648"}]}, "140042489411648": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489411200": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489412656": {"type": "Overloaded", "items": [{"nodeId": "140042615262336"}, {"nodeId": "140042615262784"}]}, "140042615262336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042615262784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489412096"}, {"nodeId": "140042489409520"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489407168"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042489412096": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489409520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489410976"}]}, "140042489410976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489407168": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489695248": {"type": "Overloaded", "items": [{"nodeId": "140042615263232"}, {"nodeId": "140042615263680"}]}, "140042615263232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615263680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489403248"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489293264"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489403248": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489293264": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042489401568": {"type": "Overloaded", "items": [{"nodeId": "140042615264128"}, {"nodeId": "140042615264576"}]}, "140042615264128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615264576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489297184"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489295840"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042489297184": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489295840": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468759296": {"type": "Overloaded", "items": [{"nodeId": "140042615265024"}, {"nodeId": "140042615265472"}, {"nodeId": "140042615265920"}, {"nodeId": "140042615266368"}, {"nodeId": "140042615266816"}, {"nodeId": "140042615267264"}, {"nodeId": "140042615267712"}, {"nodeId": "140042615268160"}, {"nodeId": "140042615268608"}, {"nodeId": "140042615269056"}, {"nodeId": "140042615269504"}, {"nodeId": "140042615269952"}, {"nodeId": "140042615270400"}, {"nodeId": "140042615270848"}, {"nodeId": "140042615271296"}]}, "140042615265024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489296624"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "low", "high"]}, "140042489296624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042615265472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489296400"}, {"nodeId": "N"}, {"nodeId": "140042489296176"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489296400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042489296176": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042615265920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042489294384"}, {"nodeId": "N"}, {"nodeId": "140042489290800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489294384": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042489290800": {"type": "Union", "items": [{"nodeId": "140042489294272"}, {"nodeId": "140042489295952"}]}, "140042489294272": {"type": "TypeAlias", "target": {"nodeId": "140042464338752"}}, "140042489295952": {"type": "TypeAlias", "target": {"nodeId": "140042464338304"}}, "140042615266368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489292480"}, {"nodeId": "140042489143904"}, {"nodeId": "140042489142448"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042489136288"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042489292480": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489143904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489293040"}]}, "140042489293040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489142448": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489143680"}]}, "140042489143680": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489136288": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615266816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489137072"}, {"nodeId": "140042489141216"}, {"nodeId": "140042489145808"}, {"nodeId": "140042489141664"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042468229184"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489137072": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489141216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489145136"}]}, "140042489145136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489145808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489141552"}]}, "140042489141552": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042489141664": {"type": "TypeAlias", "target": {"nodeId": "140042469026816"}}, "140042615267264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489143792"}, {"nodeId": "140042489141328"}, {"nodeId": "140042489137632"}, {"nodeId": "140042481640480"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481645072"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489143792": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489141328": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489136400"}]}, "140042489136400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489137632": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042489143344"}]}, "140042489143344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481640480": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639584"}]}, {"nodeId": "0"}, {"nodeId": "140042481644512"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481633648"}]}]}]}, "140042481639584": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042481644512": {"type": "TypeAlias", "target": {"nodeId": "140042494222720"}}, "140042481633648": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042481645072": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472662272"}]}}, "140042615267712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481642832"}, {"nodeId": "140042481643168"}, {"nodeId": "140042481644624"}, {"nodeId": "140042481640368"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481634432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481642832": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481643168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481642720"}]}, "140042481642720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481644624": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481643280"}]}, "140042481643280": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481640368": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639472"}]}, {"nodeId": "0"}, {"nodeId": "140042481639360"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481639808"}]}]}]}, "140042481639472": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042481639360": {"type": "TypeAlias", "target": {"nodeId": "140042494223392"}}, "140042481639808": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042481634432": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661936"}]}}, "140042615268160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481144256"}, {"nodeId": "140042481143920"}, {"nodeId": "140042481151760"}, {"nodeId": "140042481143360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481143584"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481144256": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481143920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481155456"}]}, "140042481155456": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481151760": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481154672"}]}, "140042481154672": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042481143360": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481144480"}]}, {"nodeId": "0"}, {"nodeId": "140042481144592"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042481151536"}]}]}]}, "140042481144480": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042481144592": {"type": "TypeAlias", "target": {"nodeId": "140042494224064"}}, "140042481151536": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042481143584": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661600"}]}}, "140042615268608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042481143696"}, {"nodeId": "140042481019344"}, {"nodeId": "140042481019568"}, {"nodeId": "140042480827104"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042480827440"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042481143696": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481019344": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481143808"}]}, "140042481143808": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042481019568": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042481019456"}]}, "140042481019456": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042480827104": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042481019680"}]}, {"nodeId": "0"}, {"nodeId": "140042480826096"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042480827328"}]}]}]}, "140042481019680": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042480826096": {"type": "TypeAlias", "target": {"nodeId": "140042494224736"}}, "140042480827328": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042480827440": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042472661264"}]}}, "140042615269056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042480825984"}, {"nodeId": "140042485588912"}, {"nodeId": "140042485595856"}, {"nodeId": "140042485586672"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485587008"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042480825984": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485588912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587680"}]}, "140042485587680": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485595856": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587344"}]}, "140042485587344": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485586672": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485587456"}]}, {"nodeId": "0"}, {"nodeId": "140042485587792"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485588576"}]}]}]}, "140042485587456": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042485587792": {"type": "TypeAlias", "target": {"nodeId": "140042494220032"}}, "140042485588576": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042485587008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472662272"}]}}, "140042615269504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042485583424"}, {"nodeId": "140042485586224"}, {"nodeId": "140042485587232"}, {"nodeId": "140042485582192"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485582416"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042485583424": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485586224": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485587120"}]}, "140042485587120": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485587232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485586112"}]}, "140042485586112": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485582192": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485586336"}]}, {"nodeId": "0"}, {"nodeId": "140042485586448"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485581856"}]}]}]}, "140042485586336": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042485586448": {"type": "TypeAlias", "target": {"nodeId": "140042494220704"}}, "140042485581856": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042485582416": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661936"}]}}, "140042615269952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042485583200"}, {"nodeId": "140042485623024"}, {"nodeId": "140042485623136"}, {"nodeId": "140042485622128"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042485622352"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042485583200": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485623024": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485622912"}]}, "140042485622912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485623136": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485622800"}]}, "140042485622800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485622128": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485622688"}]}, {"nodeId": "0"}, {"nodeId": "140042485622576"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485622016"}]}]}]}, "140042485622688": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042485622576": {"type": "TypeAlias", "target": {"nodeId": "140042494221376"}}, "140042485622016": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042485622352": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042615270400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042489290912"}, {"nodeId": "140042485622240"}, {"nodeId": "140042485110080"}, {"nodeId": "140042485107504"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042484911008"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042489290912": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485622240": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485618656"}]}, "140042485618656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042485110080": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042485118256"}]}, "140042485118256": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042485107504": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485117696"}]}, {"nodeId": "0"}, {"nodeId": "140042485120496"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042485109072"}]}]}]}, "140042485117696": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042485120496": {"type": "TypeAlias", "target": {"nodeId": "140042494222048"}}, "140042485109072": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042484911008": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042615270848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042484910784"}, {"nodeId": "140042484910896"}, {"nodeId": "140042484910560"}, {"nodeId": "140042494217120"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042494214432"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042484910784": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042484910896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042484919632"}]}, "140042484919632": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042484910560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042484910672"}]}, "140042484910672": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494217120": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494217456"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042494215552"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494217008"}]}]}]}, "140042494217456": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042494215552": {"type": "TypeAlias", "target": {"nodeId": "140042484860512"}}, "140042494217008": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042494214432": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615271296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042494214992"}, {"nodeId": "140042494214656"}, {"nodeId": "140042494214208"}, {"nodeId": "140042494000624"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042494000176"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size", "dtype"]}, "140042494214992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042494214656": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494214544"}]}, "140042494214544": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042494214208": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494214320"}]}, "140042494214320": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042494000624": {"type": "Union", "items": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042493995808"}]}, {"nodeId": "0"}, {"nodeId": "140042494000400"}, {"nodeId": "140042480729248", "args": [{"nodeId": "140042468653568", "args": [{"nodeId": "140042494000736"}]}]}]}, "140042493995808": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042494000400": {"type": "TypeAlias", "target": {"nodeId": "140042484864656"}}, "140042494000736": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042494000176": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042468149504"}]}}, "140042615271744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "length"]}, "140042484968224": {"type": "Overloaded", "items": [{"nodeId": "140042615272192"}, {"nodeId": "140042615272640"}, {"nodeId": "140042615273088"}, {"nodeId": "140042615273536"}]}, "140042615272192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493999056"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493999056": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493999952"}]}, "140042493999952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042615272640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042493998720"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493999840"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493999168"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493998720": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493999840": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493999280"}]}, "140042493999280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493999168": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615273088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493998608"}, {"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493998944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493998608": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493998944": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042494000064"}]}, "140042494000064": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042615273536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493996368"}, {"nodeId": "140042493998048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042493997824"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "a", "size", "replace", "p"]}, "140042493996368": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493998048": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493997824": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493998160"}]}, "140042493998160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042489403136": {"type": "Overloaded", "items": [{"nodeId": "140042615273984"}, {"nodeId": "140042615274432"}]}, "140042615273984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042615274432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493996816"}, {"nodeId": "140042493997040"}, {"nodeId": "140042493996480"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493994240"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493996816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493997040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493996480": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493996704"}]}, "140042493996704": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493994240": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493997264": {"type": "Overloaded", "items": [{"nodeId": "140042615274880"}, {"nodeId": "140042615439424"}]}, "140042615274880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042615439424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493989760"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042493989760": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493985504": {"type": "Overloaded", "items": [{"nodeId": "140042615439872"}, {"nodeId": "140042615440320"}]}, "140042615439872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042615440320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493985392"}]}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "args"]}, "140042493985392": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493995696": {"type": "Overloaded", "items": [{"nodeId": "140042615440768"}, {"nodeId": "140042615441216"}]}, "140042615440768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042493780016"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493780016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}]}, "140042615441216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493772512"}, {"nodeId": "140042493786400"}, {"nodeId": "140042493776096"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493354928"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "low", "high", "size"]}, "140042493772512": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493786400": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493782816"}]}, "140042493782816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493776096": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493787968"}]}, "140042493787968": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493354928": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042489297408": {"type": "Overloaded", "items": [{"nodeId": "140042615441664"}, {"nodeId": "140042615442112"}]}, "140042615441664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615442112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493351904"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493548400"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042493351904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493548400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493985728": {"type": "Overloaded", "items": [{"nodeId": "140042615442560"}, {"nodeId": "140042615443008"}]}, "140042615442560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615443008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493552992"}, {"nodeId": "140042493551536"}, {"nodeId": "140042493543360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493548064"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042493552992": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493551536": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493543360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493546496"}]}, "140042493546496": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493548064": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493787856": {"type": "Overloaded", "items": [{"nodeId": "140042615443456"}, {"nodeId": "140042615443904"}]}, "140042615443456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042615443904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042493543136"}, {"nodeId": "140042493299168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042493307680"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "shape", "size"]}, "140042493543136": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042493299168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042493300288"}]}, "140042493300288": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042493307680": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493554000": {"type": "Overloaded", "items": [{"nodeId": "140042615444352"}, {"nodeId": "140042615444800"}]}, "140042615444352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042615444800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498241392"}, {"nodeId": "140042498241280"}, {"nodeId": "140042498241168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498240608"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "shape", "scale", "size"]}, "140042498241392": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498241280": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498241168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498241056"}]}, "140042498241056": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498240608": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493354592": {"type": "Overloaded", "items": [{"nodeId": "140042615445248"}, {"nodeId": "140042615445696"}]}, "140042615445248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042615445696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498240048"}, {"nodeId": "140042498240384"}, {"nodeId": "140042498239712"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498239376"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "size"]}, "140042498240048": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498240384": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498239712": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498239936"}]}, "140042498239936": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498239376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493548288": {"type": "Overloaded", "items": [{"nodeId": "140042615446144"}, {"nodeId": "140042615446592"}]}, "140042615446144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042615446592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498240496"}, {"nodeId": "140042498239264"}, {"nodeId": "140042498238704"}, {"nodeId": "140042498238368"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498238032"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "dfnum", "dfden", "nonc", "size"]}, "140042498240496": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498239264": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498238704": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498238368": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498238592"}]}, "140042498238592": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498238032": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498239040": {"type": "Overloaded", "items": [{"nodeId": "140042615447040"}, {"nodeId": "140042615447488"}]}, "140042615447040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042615447488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498239152"}, {"nodeId": "140042498237360"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498237024"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042498239152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498237360": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498237920"}]}, "140042498237920": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498237024": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042493309024": {"type": "Overloaded", "items": [{"nodeId": "140042615447936"}, {"nodeId": "140042615448384"}]}, "140042615447936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042615448384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498236240"}, {"nodeId": "140042498236128"}, {"nodeId": "140042498236016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498233104"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "nonc", "size"]}, "140042498236240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498236128": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498236016": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498235904"}]}, "140042498235904": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498233104": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498236464": {"type": "Overloaded", "items": [{"nodeId": "140042615448832"}, {"nodeId": "140042615449280"}, {"nodeId": "140042615449728"}]}, "140042615448832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042615449280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498236576"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497903632"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042498236576": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903632": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615449728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497913152"}, {"nodeId": "140042497910240"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497909120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "df", "size"]}, "140042497913152": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497910240": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497909120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498233552": {"type": "Overloaded", "items": [{"nodeId": "140042615450176"}, {"nodeId": "140042615450624"}]}, "140042615450176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042615450624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497912928"}, {"nodeId": "140042497913040"}, {"nodeId": "140042497912816"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497912480"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mu", "kappa", "size"]}, "140042497912928": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497913040": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497912816": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497912704"}]}, "140042497912704": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497912480": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042468759744": {"type": "Overloaded", "items": [{"nodeId": "140042615451072"}, {"nodeId": "140042615451520"}]}, "140042615451072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615451520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497912592"}, {"nodeId": "140042497903520"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497904192"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497912592": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903520": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497912368"}]}, "140042497912368": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497904192": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497911024": {"type": "Overloaded", "items": [{"nodeId": "140042615451968"}, {"nodeId": "140042615452416"}]}, "140042615451968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615452416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497904864"}, {"nodeId": "140042497903296"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497583120"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497904864": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497903296": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497904976"}]}, "140042497904976": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497583120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497905760": {"type": "Overloaded", "items": [{"nodeId": "140042615452864"}, {"nodeId": "140042615453312"}]}, "140042615452864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615453312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497580432"}, {"nodeId": "140042497580320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497580880"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042497580432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497580320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042497583792"}]}, "140042497583792": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497580880": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498233664": {"type": "Overloaded", "items": [{"nodeId": "140042615453760"}, {"nodeId": "140042615454208"}]}, "140042615453760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042615454208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497584016"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042497577072"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042497584016": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042497577072": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497576736": {"type": "Overloaded", "items": [{"nodeId": "140042615454656"}, {"nodeId": "140042615455104"}]}, "140042615454656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615455104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042497580208"}, {"nodeId": "140042497575504"}, {"nodeId": "140042498440576"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042498434752"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042497580208": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042497575504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498440576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498440800"}]}, "140042498440800": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042498434752": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497575616": {"type": "Overloaded", "items": [{"nodeId": "140042615619648"}, {"nodeId": "140042615620096"}]}, "140042615619648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615620096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042498437552"}, {"nodeId": "140042498429712"}, {"nodeId": "140042498433072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042502306864"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042498437552": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498429712": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042498433072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042498440464"}]}, "140042498440464": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042502306864": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497903968": {"type": "Overloaded", "items": [{"nodeId": "140042615620544"}, {"nodeId": "140042615620992"}]}, "140042615620544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042615620992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042502303952"}, {"nodeId": "140042502304960"}, {"nodeId": "140042502299696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042502301376"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "loc", "scale", "size"]}, "140042502303952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042502304960": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042502299696": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042502307312"}]}, "140042502307312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042502301376": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042497577856": {"type": "Overloaded", "items": [{"nodeId": "140042615621440"}, {"nodeId": "140042615621888"}]}, "140042615621440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042615621888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042502296672"}, {"nodeId": "140042501841952"}, {"nodeId": "140042501841280"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042501839936"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "sigma", "size"]}, "140042502296672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501841952": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501841280": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501841504"}]}, "140042501841504": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042501839936": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042502306752": {"type": "Overloaded", "items": [{"nodeId": "140042615622336"}, {"nodeId": "140042615622784"}]}, "140042615622336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042615622784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042501836352"}, {"nodeId": "140042501834896"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042501835120"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "scale", "size"]}, "140042501836352": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501834896": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501836576"}]}, "140042501836576": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042501835120": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042498440016": {"type": "Overloaded", "items": [{"nodeId": "140042615623232"}, {"nodeId": "140042615623680"}]}, "140042615623232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042615623680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042501835232"}, {"nodeId": "140042501834336"}, {"nodeId": "140042506862064"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506861280"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "mean", "scale", "size"]}, "140042501835232": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042501834336": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506862064": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042501833216"}]}, "140042501833216": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506861280": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042501834112": {"type": "Overloaded", "items": [{"nodeId": "140042615624128"}, {"nodeId": "140042615624576"}]}, "140042615624128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042615624576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506859824"}, {"nodeId": "140042506860720"}, {"nodeId": "140042506858816"}, {"nodeId": "140042506857472"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506856352"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "left", "mode", "right", "size"]}, "140042506859824": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506860720": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506858816": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506857472": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506858592"}]}, "140042506858592": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506856352": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042502302048": {"type": "Overloaded", "items": [{"nodeId": "140042615625024"}, {"nodeId": "140042615625472"}]}, "140042615625024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042615625472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506860160"}, {"nodeId": "140042506856240"}, {"nodeId": "140042506852880"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506851984"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042506860160": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506856240": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506852880": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506854560"}]}, "140042506854560": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506851984": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042501833328": {"type": "Overloaded", "items": [{"nodeId": "140042615625920"}, {"nodeId": "140042615626368"}]}, "140042615625920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042615626368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506849744"}, {"nodeId": "140042506849520"}, {"nodeId": "140042506849072"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506848736"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "p", "size"]}, "140042506849744": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506849520": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506849072": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506849296"}]}, "140042506849296": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506848736": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506850640": {"type": "Overloaded", "items": [{"nodeId": "140042615626816"}, {"nodeId": "140042615627264"}]}, "140042615626816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042615627264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506850528"}, {"nodeId": "140042506848288"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506847504"}]}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "lam", "size"]}, "140042506850528": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506848288": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506848624"}]}, "140042506848624": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506847504": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506848512": {"type": "Overloaded", "items": [{"nodeId": "140042615627712"}, {"nodeId": "140042615628160"}]}, "140042615627712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042615628160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506848400"}, {"nodeId": "140042506665232"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506664112"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "size"]}, "140042506848400": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506665232": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506847616"}]}, "140042506847616": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506664112": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506846832": {"type": "Overloaded", "items": [{"nodeId": "140042615628608"}, {"nodeId": "140042615629056"}]}, "140042615628608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042615629056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506664448"}, {"nodeId": "140042506664560"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506664000"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042506664448": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506664560": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506664784"}]}, "140042506664784": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506664000": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042468760864": {"type": "Overloaded", "items": [{"nodeId": "140042615629504"}, {"nodeId": "140042615629952"}]}, "140042615629504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042615629952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506664672"}, {"nodeId": "140042506663888"}, {"nodeId": "140042506662656"}, {"nodeId": "140042506663216"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506662992"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "ngood", "nbad", "nsample", "size"]}, "140042506664672": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506663888": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662656": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506663216": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506663328"}]}, "140042506663328": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506662992": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042506663664": {"type": "Overloaded", "items": [{"nodeId": "140042615630400"}, {"nodeId": "140042615630848"}]}, "140042615630400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577366032"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042615630848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506663776"}, {"nodeId": "140042506662320"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506661760"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "p", "size"]}, "140042506663776": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662320": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506662208"}]}, "140042506662208": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506661760": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615631296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506661088"}, {"nodeId": "140042506662432"}, {"nodeId": "140042506660640"}, {"nodeId": "140042506658736"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506658400"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mean", "cov", "size", "check_valid", "tol"]}, "140042506661088": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662432": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506660640": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506661312"}]}, "140042506661312": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506658736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042506658400": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615631744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506658176"}, {"nodeId": "140042506661648"}, {"nodeId": "140042506657952"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656944"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n", "pvals", "size"]}, "140042506658176": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506661648": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506657952": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506657616"}]}, "140042506657616": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506656944": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615632192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506657504"}, {"nodeId": "140042506657168"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656048"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "alpha", "size"]}, "140042506657504": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506657168": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042506657392"}]}, "140042506657392": {"type": "TypeAlias", "target": {"nodeId": "140042494215216"}}, "140042506656048": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042615632640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506656272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506656272": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042506662544": {"type": "Overloaded", "items": [{"nodeId": "140042615633088"}, {"nodeId": "140042615633536"}]}, "140042615633088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042506656496"}]}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506656496": {"type": "TypeAlias", "target": {"nodeId": "140042468230864", "args": [{"nodeId": "140042468148608"}]}}, "140042615633536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468643488"}, {"nodeId": "140042506655600"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "x"]}, "140042506655600": {"type": "TypeAlias", "target": {"nodeId": "0"}}, "140042468242960": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "IgnoreException", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468243296": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "clear_and_catch_warnings", "members": [{"kind": "Variable", "name": "class_modules", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042578054832"}]}}, {"kind": "Variable", "name": "modules", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577733536", "args": [{"nodeId": "140042578054832"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042447361344"}, "items": [{"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__new__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619126944"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619127392"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042480718832", "args": [{"nodeId": "A"}]}], "isAbstract": false}, "140042447361344": {"type": "Overloaded", "items": [{"nodeId": "140042615635552"}, {"nodeId": "140042619126048"}, {"nodeId": "140042619126496"}]}, "140042615635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243968"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042468243968": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "_clear_and_catch_warnings_without_records", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619128288"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042468243296"}], "isAbstract": false}, "140042619128288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042619126048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243632"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042468243632": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "_clear_and_catch_warnings_with_records", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619127840"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042468243296"}], "isAbstract": false}, "140042619127840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243632"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480718496": {"type": "Concrete", "module": "warnings", "simpleName": "WarningMessage", "members": [{"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154896"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481153328"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154336"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042481154448"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607445824"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042481154896": {"type": "Union", "items": [{"nodeId": "140042577653296"}, {"nodeId": "140042577367376"}]}, "140042481153328": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042481154336": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042481154448": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042607445824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718496"}, {"nodeId": "140042481632192"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042481632528"}, {"nodeId": "140042481632416"}, {"nodeId": "140042481631968"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "message", "category", "filename", "lineno", "file", "line", "source"]}, "140042481632192": {"type": "Union", "items": [{"nodeId": "140042577653296"}, {"nodeId": "140042577367376"}]}, "140042481632528": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042481632416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042481631968": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042619126496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578054832"}]}], "returnType": {"nodeId": "140042468243296"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "record", "modules"]}, "140042619126944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243296"}], "returnType": {"nodeId": "140042447362576"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042447362576": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}]}, "140042619127392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468243296"}, {"nodeId": "140042447362688"}, {"nodeId": "140042447362800"}, {"nodeId": "140042447362912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null, null]}, "140042447362688": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042447362800": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042447362912": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042480718832": {"type": "Concrete", "module": "warnings", "simpleName": "catch_warnings", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042481155568"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607448960"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607449408"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042480718832"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042481155568": {"type": "Overloaded", "items": [{"nodeId": "140042607447616"}, {"nodeId": "140042607448064"}, {"nodeId": "140042607448512"}]}, "140042607447616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "N"}]}, {"nodeId": "0"}, {"nodeId": "140042481632752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481632752": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}]}, {"nodeId": "0"}, {"nodeId": "140042481632976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481632976": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": "140042481633088"}]}, {"nodeId": "140042782776944"}, {"nodeId": "140042481633200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED", "ARG_NAMED_OPT"], "argNames": ["self", "record", "module"]}, "140042481633088": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, {"nodeId": "N"}]}, "140042481633200": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607448960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": ".1.140042480718832"}]}], "returnType": {"nodeId": ".1.140042480718832"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042480718832": {"type": "TypeVar", "varName": "_W", "values": [], "upperBound": {"nodeId": "140042481154784"}, "def": "140042480718832", "variance": "INVARIANT"}, "140042481154784": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, {"nodeId": "N"}]}, "140042607449408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480718832", "args": [{"nodeId": ".1.140042480718832"}]}, {"nodeId": "140042481633312"}, {"nodeId": "140042481633424"}, {"nodeId": "140042481633536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042481633312": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042481633424": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042481633536": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042468242624": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "KnownFailureException", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042468244304": {"type": "Concrete", "module": "numpy.testing._private.utils", "simpleName": "suppress_warnings", "members": [{"kind": "Variable", "name": "log", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "forwarding_rule", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619128736"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619129184"}, "name": "filter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "category", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619129632"}, "name": "record"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130080"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130528"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619130976"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042619128736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "140042447363696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "forwarding_rule"]}, "140042447363696": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042619129184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042447363808"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "category", "message", "module"]}, "140042447363808": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578054832"}]}, "140042619129632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042447363920"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "category", "message", "module"]}, "140042447363920": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578054832"}]}, "140042619130080": {"type": "Function", "typeVars": [".-1.140042619130080"], "argTypes": [{"nodeId": ".-1.140042619130080"}], "returnType": {"nodeId": ".-1.140042619130080"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042619130080": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042619130080", "variance": "INVARIANT"}, "140042619130528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": "140042447364032"}, {"nodeId": "140042447364144"}, {"nodeId": "140042447364256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null, null]}, "140042447364032": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042447364144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577373088"}]}, "140042447364256": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042578058528"}]}, "140042619130976": {"type": "Function", "typeVars": [".-1.140042619130976"], "argTypes": [{"nodeId": "140042468244304"}, {"nodeId": ".-1.140042619130976"}], "returnType": {"nodeId": ".-1.140042619130976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042619130976": {"type": "TypeVar", "varName": "_FT", "values": [], "upperBound": {"nodeId": "140042472561504"}, "def": "140042619130976", "variance": "INVARIANT"}, "140042472561504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573219200": {"type": "Concrete", "module": "os", "simpleName": "_Environ", "members": [{"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decodevalue", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670101600"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670102496"}, "name": "setdefault"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670102944"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670103392"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670103840"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670104288"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670104736"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670105184"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670105632"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042670106080"}, "name": "__ror__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560522832"}, "items": [{"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ior__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__ior__"}], "typeVars": [{"nodeId": ".1.140042573219200"}], "bases": [{"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}], "isAbstract": false}, "140042670101600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363680", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "data", "encodekey", "decodekey", "encodevalue", "decodevalue"]}, ".1.140042573219200": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573219200", "variance": "INVARIANT"}, "140042670102496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": ".1.140042573219200"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "value"]}, "140042670102944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042670103392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042670103840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": ".1.140042573219200"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042670104288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042670104736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042573219200"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042670105184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042670105632": {"type": "Function", "typeVars": [".-1.140042670105632", ".-2.140042670105632"], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042670105632"}, {"nodeId": ".-2.140042670105632"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042560532688"}, {"nodeId": "140042560532800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670105632": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670105632", "variance": "INVARIANT"}, ".-2.140042670105632": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670105632", "variance": "INVARIANT"}, "140042560532688": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-1.140042670105632"}]}, "140042560532800": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-2.140042670105632"}]}, "140042670106080": {"type": "Function", "typeVars": [".-1.140042670106080", ".-2.140042670106080"], "argTypes": [{"nodeId": "140042573219200", "args": [{"nodeId": ".1.140042573219200"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": ".-1.140042670106080"}, {"nodeId": ".-2.140042670106080"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042560532912"}, {"nodeId": "140042560533248"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106080": {"type": "TypeVar", "varName": "_T1", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106080", "variance": "INVARIANT"}, ".-2.140042670106080": {"type": "TypeVar", "varName": "_T2", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106080", "variance": "INVARIANT"}, "140042560532912": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-1.140042670106080"}]}, "140042560533248": {"type": "Union", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".-2.140042670106080"}]}, "140042560522832": {"type": "Overloaded", "items": [{"nodeId": "140042670106528"}, {"nodeId": "140042670106976"}]}, "140042670106528": {"type": "Function", "typeVars": [".-1.140042670106528"], "argTypes": [{"nodeId": ".-1.140042670106528"}, {"nodeId": "140042577363344", "args": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}], "returnType": {"nodeId": ".-1.140042670106528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106528": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106528", "variance": "INVARIANT"}, "140042670106976": {"type": "Function", "typeVars": [".-1.140042670106976"], "argTypes": [{"nodeId": ".-1.140042670106976"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042560533584"}]}], "returnType": {"nodeId": ".-1.140042670106976"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042670106976": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042670106976", "variance": "INVARIANT"}, "140042560533584": {"type": "Tuple", "items": [{"nodeId": ".1.140042573219200"}, {"nodeId": ".1.140042573219200"}]}, "140042569346608": {"type": "Concrete", "module": "os", "simpleName": "stat_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531585632"}}, {"kind": "Variable", "name": "st_mode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531407456"}}, {"kind": "Variable", "name": "st_ino", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531406336"}}, {"kind": "Variable", "name": "st_dev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531405888"}}, {"kind": "Variable", "name": "st_nlink", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387680"}}, {"kind": "Variable", "name": "st_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388576"}}, {"kind": "Variable", "name": "st_gid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388800"}}, {"kind": "Variable", "name": "st_size", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388128"}}, {"kind": "Variable", "name": "st_atime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531388352"}}, {"kind": "Variable", "name": "st_mtime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387232"}}, {"kind": "Variable", "name": "st_ctime", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387456"}}, {"kind": "Variable", "name": "st_atime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387904"}}, {"kind": "Variable", "name": "st_mtime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531387008"}}, {"kind": "Variable", "name": "st_ctime_ns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386784"}}, {"kind": "Variable", "name": "st_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386336"}}, {"kind": "Variable", "name": "st_blksize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386112"}}, {"kind": "Variable", "name": "st_rdev", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531386560"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042531585632": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531407456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534032"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534032": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531406336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534144"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534144": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531405888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534256"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534256": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534368"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534368": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534480"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534480": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534592"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534592": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534704"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534704": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531388352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534816"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534816": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560534928"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560534928": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535040"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535040": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535152"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535152": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531387008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535264"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535264": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535376": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535488"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535488": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535600"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535600": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531386560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560535712"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560535712": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042573219536": {"type": "Concrete", "module": "os", "simpleName": "DirEntry", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531381856"}}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531381184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657749856"}, "name": "inode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657750304"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657750752"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657751200"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657751648"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657752096"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657752544"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042573219536"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042531381856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042573219536": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573219536", "variance": "INVARIANT"}, "140042531381184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657749856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657750304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042657750752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042657751200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657751648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042560536160"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042560536160": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042564600432": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042657752096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042573219536"}]}], "returnType": {"nodeId": ".1.140042573219536"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042657752544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042569347280": {"type": "Concrete", "module": "os", "simpleName": "statvfs_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531757120"}}, {"kind": "Variable", "name": "f_bsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531375360"}}, {"kind": "Variable", "name": "f_frsize", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531374016"}}, {"kind": "Variable", "name": "f_blocks", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373792"}}, {"kind": "Variable", "name": "f_bfree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373568"}}, {"kind": "Variable", "name": "f_bavail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373344"}}, {"kind": "Variable", "name": "f_files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531373120"}}, {"kind": "Variable", "name": "f_ffree", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339872"}}, {"kind": "Variable", "name": "f_favail", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339648"}}, {"kind": "Variable", "name": "f_flag", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339424"}}, {"kind": "Variable", "name": "f_namemax", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531339200"}}, {"kind": "Variable", "name": "f_fsid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531338976"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042531757120": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531375360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766016": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531374016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766128"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766128": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766240": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766352"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766352": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766464"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766464": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531373120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766576": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766688"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766688": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766800": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560766912"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560766912": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531339200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767024": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531338976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767136"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767136": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569347616": {"type": "Concrete", "module": "os", "simpleName": "uname_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531758800"}}, {"kind": "Variable", "name": "sysname", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531337408"}}, {"kind": "Variable", "name": "nodename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531332480"}}, {"kind": "Variable", "name": "release", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531336512"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531335840"}}, {"kind": "Variable", "name": "machine", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531335392"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042531758800": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531337408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767696": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531332480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531336512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560767920"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560767920": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560768032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560768032": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531335392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560768144"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560768144": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569347952": {"type": "Concrete", "module": "os", "simpleName": "terminal_size", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531762272"}}, {"kind": "Variable", "name": "columns", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531331584"}}, {"kind": "Variable", "name": "lines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531330016"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042531762272": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531331584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560776656"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560776656": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560776768"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560776768": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569348288": {"type": "Concrete", "module": "os", "simpleName": "_ScandirIterator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653067168"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653067616"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653068064"}, "name": "close"}], "typeVars": [{"nodeId": ".1.140042569348288"}], "bases": [{"nodeId": "140042782780976", "args": [{"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042569348288"}]}]}, {"nodeId": "140042573918416", "args": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}]}], "isAbstract": false}, "140042653067168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}], "returnType": {"nodeId": "140042573219536", "args": [{"nodeId": ".1.140042569348288"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042569348288": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042569348288", "variance": "INVARIANT"}, "140042653067616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042653068064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348288", "args": [{"nodeId": ".1.140042569348288"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573918416": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649114816"}, "name": "__enter__"}, {"kind": "Variable", "name": "__exit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523387136"}}], "typeVars": [{"nodeId": ".1.140042573918416"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__enter__", "__exit__"]}, "140042649114816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573918416"}]}], "returnType": {"nodeId": ".1.140042573918416"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042573918416": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573918416", "variance": "COVARIANT"}, "140042523387136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573918416"}]}, {"nodeId": "140042556258480"}, {"nodeId": "140042556258592"}, {"nodeId": "140042556258704"}], "returnType": {"nodeId": "140042556258816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556258480": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556258592": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556258704": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556258816": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042569348624": {"type": "Concrete", "module": "os", "simpleName": "_wrap_close", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "proc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653231008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653231456"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042573223904"}], "isAbstract": false}, "140042653231008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348624"}, {"nodeId": "140042573223904"}, {"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "proc"]}, "140042573223904": {"type": "Concrete", "module": "io", "simpleName": "TextIOWrapper", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644661280"}, "name": "__init__"}, {"kind": "Variable", "name": "buffer", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527666944"}}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527666272"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527668512"}}, {"kind": "Variable", "name": "write_through", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527668960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644663520"}, "name": "reconfigure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644663968"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644664416"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644664864"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644665312"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644665760"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644666208"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644666656"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573223568"}, {"nodeId": "140042577730512"}], "isAbstract": false}, "140042644661280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042561033200"}, {"nodeId": "140042561033312"}, {"nodeId": "140042561033424"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "buffer", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042561033200": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033312": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033424": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527666944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527666272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644663520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042561033536"}, {"nodeId": "140042561033648"}, {"nodeId": "140042561033760"}, {"nodeId": "140042561033872"}, {"nodeId": "140042561033984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042561033536": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033760": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561033872": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042561033984": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042644663968": {"type": "Function", "typeVars": [".-1.140042644663968"], "argTypes": [{"nodeId": ".-1.140042644663968"}], "returnType": {"nodeId": ".-1.140042644663968"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644663968": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644663968", "variance": "INVARIANT"}, "140042644664416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644664864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644665312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644665760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644666208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644666656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042573223568": {"type": "Concrete", "module": "io", "simpleName": "TextIOBase", "members": [{"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603344"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526160"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644657696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644658144"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644658592"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659040"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659488"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644659936"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644660384"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644660832"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042564603344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569526160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042644657696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644658144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644658592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644659040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644659488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644659936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644660384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644660832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223568"}, {"nodeId": "140042561033088"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561033088": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573220544": {"type": "Concrete", "module": "io", "simpleName": "IOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644487328"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644487776"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644701472"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644701920"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644702368"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644702816"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644703264"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644703712"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644704160"}, "name": "readable"}, {"kind": "Variable", "name": "read", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577259296"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__hint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644704608"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705056"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705504"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644705952"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644706400"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644706848"}, "name": "writable"}, {"kind": "Variable", "name": "write", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577219584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644707296"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644707744"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644708192"}, "name": "__del__"}, {"kind": "Variable", "name": "closed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527247040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709088"}, "name": "_checkClosed"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042644487328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042644487776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644701472": {"type": "Function", "typeVars": [".-1.140042644701472"], "argTypes": [{"nodeId": ".-1.140042644701472"}], "returnType": {"nodeId": ".-1.140042644701472"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644701472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644701472", "variance": "INVARIANT"}, "140042644701920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561030512"}, {"nodeId": "140042561030624"}, {"nodeId": "140042561030736"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042561030512": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042561030624": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042561030736": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042644702368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644702816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644703264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644703712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644704160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577259296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042644704608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644705056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042644705504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644705952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644706400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561030848"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561030848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644706848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042577219584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042644707296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042561030960"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561030960": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644707744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561031072"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561031072": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644708192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042527247040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644709088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220544"}, {"nodeId": "140042561031184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042561031184": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042578063232": {"type": "Concrete", "module": "subprocess", "simpleName": "Popen", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569774720"}}, {"kind": "Variable", "name": "stdin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569772816"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569515072"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572991616"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572991728"}}, {"kind": "Variable", "name": "universal_newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565292704"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598742976"}, "name": "poll"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598743424"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594025536"}, "name": "communicate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sig", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594025984"}, "name": "send_signal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594026432"}, "name": "terminate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594026880"}, "name": "kill"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594027328"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594027776"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594028224"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578063232"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569774720": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042569418896": {"type": "Union", "items": [{"nodeId": "140042569424496"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042569424608"}]}]}, "140042569424496": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042568896624": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042569346944", "args": [{"nodeId": "140042577732864"}]}]}, "140042569424608": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042569772816": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, ".1.140042578063232": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578063232", "variance": "INVARIANT"}, "140042569515072": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, "140042572991616": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "N"}]}, "140042572991728": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "A"}]}, "140042565292704": {"type": "Overloaded", "items": [{"nodeId": "140042565342080"}, {"nodeId": "140042598735360"}, {"nodeId": "140042598735808"}, {"nodeId": "140042598736256"}, {"nodeId": "140042598736704"}, {"nodeId": "140042598737152"}]}, "140042565342080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565460352"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565460576"}, {"nodeId": "140042565460800"}, {"nodeId": "140042565461024"}, {"nodeId": "140042565461248"}, {"nodeId": "140042565461360"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565461696"}, {"nodeId": "140042565461920"}, {"nodeId": "140042565462032"}, {"nodeId": "140042565462256"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565462368"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565462480"}, {"nodeId": "140042565462592"}, {"nodeId": "140042565462704"}, {"nodeId": "140042565462928"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565460352": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565460576": {"type": "Union", "items": [{"nodeId": "140042565460464"}, {"nodeId": "N"}]}, "140042565460464": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565460800": {"type": "Union", "items": [{"nodeId": "140042565460688"}, {"nodeId": "N"}]}, "140042565460688": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042572990272": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}]}, "140042565461024": {"type": "Union", "items": [{"nodeId": "140042565460912"}, {"nodeId": "N"}]}, "140042565460912": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565461248": {"type": "Union", "items": [{"nodeId": "140042565461136"}, {"nodeId": "N"}]}, "140042565461136": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565461360": {"type": "Union", "items": [{"nodeId": "140042565341632"}, {"nodeId": "N"}]}, "140042565341632": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565461696": {"type": "Union", "items": [{"nodeId": "140042565461584"}, {"nodeId": "N"}]}, "140042565461584": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565461920": {"type": "Union", "items": [{"nodeId": "140042565461808"}, {"nodeId": "N"}]}, "140042565461808": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042569515408": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577732864"}, {"nodeId": "140042569432896"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042569428304"}]}]}, "140042569432896": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042569428304": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565462032": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565462256": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565462368": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565462480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565462592": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565462704": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565462928": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565462816"}]}, {"nodeId": "N"}]}, "140042565462816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598735360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565463040"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565463264"}, {"nodeId": "140042565463488"}, {"nodeId": "140042565463712"}, {"nodeId": "140042565463936"}, {"nodeId": "140042565464048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565464384"}, {"nodeId": "140042565464608"}, {"nodeId": "140042565464720"}, {"nodeId": "140042565464944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565465056"}, {"nodeId": "140042565465168"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565465280"}, {"nodeId": "140042565465392"}, {"nodeId": "140042565465616"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565463040": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565463264": {"type": "Union", "items": [{"nodeId": "140042565463152"}, {"nodeId": "N"}]}, "140042565463152": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565463488": {"type": "Union", "items": [{"nodeId": "140042565463376"}, {"nodeId": "N"}]}, "140042565463376": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565463712": {"type": "Union", "items": [{"nodeId": "140042565463600"}, {"nodeId": "N"}]}, "140042565463600": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565463936": {"type": "Union", "items": [{"nodeId": "140042565463824"}, {"nodeId": "N"}]}, "140042565463824": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565464048": {"type": "Union", "items": [{"nodeId": "140042565340960"}, {"nodeId": "N"}]}, "140042565340960": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565464384": {"type": "Union", "items": [{"nodeId": "140042565464272"}, {"nodeId": "N"}]}, "140042565464272": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565464608": {"type": "Union", "items": [{"nodeId": "140042565464496"}, {"nodeId": "N"}]}, "140042565464496": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565464720": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565464944": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565465056": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565465168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565465280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565465392": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565465616": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565465504"}]}, {"nodeId": "N"}]}, "140042565465504": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598735808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565465728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565465952"}, {"nodeId": "140042565466176"}, {"nodeId": "140042565466400"}, {"nodeId": "140042565466624"}, {"nodeId": "140042565466736"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565467072"}, {"nodeId": "140042565467296"}, {"nodeId": "0"}, {"nodeId": "140042565467632"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565467744"}, {"nodeId": "140042565467856"}, {"nodeId": "140042565467968"}, {"nodeId": "140042565517376"}, {"nodeId": "140042565517488"}, {"nodeId": "140042565517712"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565465728": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565465952": {"type": "Union", "items": [{"nodeId": "140042565465840"}, {"nodeId": "N"}]}, "140042565465840": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565466176": {"type": "Union", "items": [{"nodeId": "140042565466064"}, {"nodeId": "N"}]}, "140042565466064": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466400": {"type": "Union", "items": [{"nodeId": "140042565466288"}, {"nodeId": "N"}]}, "140042565466288": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466624": {"type": "Union", "items": [{"nodeId": "140042565466512"}, {"nodeId": "N"}]}, "140042565466512": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565466736": {"type": "Union", "items": [{"nodeId": "140042565342304"}, {"nodeId": "N"}]}, "140042565342304": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565467072": {"type": "Union", "items": [{"nodeId": "140042565466960"}, {"nodeId": "N"}]}, "140042565466960": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565467296": {"type": "Union", "items": [{"nodeId": "140042565467184"}, {"nodeId": "N"}]}, "140042565467184": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565467632": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565467744": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565467856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565467968": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565517376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565517488": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565517712": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565517600"}]}, {"nodeId": "N"}]}, "140042565517600": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598736256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042565517824"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565518048"}, {"nodeId": "140042565518272"}, {"nodeId": "140042565518496"}, {"nodeId": "140042565518720"}, {"nodeId": "140042565518832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565519168"}, {"nodeId": "140042565519392"}, {"nodeId": "140042565519504"}, {"nodeId": "140042565519728"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "0"}, {"nodeId": "140042565519952"}, {"nodeId": "140042565520064"}, {"nodeId": "140042565520176"}, {"nodeId": "140042565520288"}, {"nodeId": "140042565520512"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565517824": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565518048": {"type": "Union", "items": [{"nodeId": "140042565517936"}, {"nodeId": "N"}]}, "140042565517936": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565518272": {"type": "Union", "items": [{"nodeId": "140042565518160"}, {"nodeId": "N"}]}, "140042565518160": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518496": {"type": "Union", "items": [{"nodeId": "140042565518384"}, {"nodeId": "N"}]}, "140042565518384": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518720": {"type": "Union", "items": [{"nodeId": "140042565518608"}, {"nodeId": "N"}]}, "140042565518608": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565518832": {"type": "Union", "items": [{"nodeId": "140042565342528"}, {"nodeId": "N"}]}, "140042565342528": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565519168": {"type": "Union", "items": [{"nodeId": "140042565519056"}, {"nodeId": "N"}]}, "140042565519056": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565519392": {"type": "Union", "items": [{"nodeId": "140042565519280"}, {"nodeId": "N"}]}, "140042565519280": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565519504": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565519728": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565519952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565520064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565520176": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565520288": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565520512": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565520400"}]}, {"nodeId": "N"}]}, "140042565520400": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598736704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042565520624"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565520848"}, {"nodeId": "140042565521072"}, {"nodeId": "140042565521296"}, {"nodeId": "140042565521520"}, {"nodeId": "140042565521632"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565521968"}, {"nodeId": "140042565522192"}, {"nodeId": "140042565522416"}, {"nodeId": "140042565522640"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565522864"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "140042565522976"}, {"nodeId": "140042565523088"}, {"nodeId": "140042565523312"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565520624": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565520848": {"type": "Union", "items": [{"nodeId": "140042565520736"}, {"nodeId": "N"}]}, "140042565520736": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565521072": {"type": "Union", "items": [{"nodeId": "140042565520960"}, {"nodeId": "N"}]}, "140042565520960": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521296": {"type": "Union", "items": [{"nodeId": "140042565521184"}, {"nodeId": "N"}]}, "140042565521184": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521520": {"type": "Union", "items": [{"nodeId": "140042565521408"}, {"nodeId": "N"}]}, "140042565521408": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565521632": {"type": "Union", "items": [{"nodeId": "140042565342752"}, {"nodeId": "N"}]}, "140042565342752": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565521968": {"type": "Union", "items": [{"nodeId": "140042565521856"}, {"nodeId": "N"}]}, "140042565521856": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565522192": {"type": "Union", "items": [{"nodeId": "140042565522080"}, {"nodeId": "N"}]}, "140042565522080": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565522416": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042565522640": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565522864": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "0"}]}, "140042565522976": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565523088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565523312": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565523200"}]}, {"nodeId": "N"}]}, "140042565523200": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598737152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": "A"}]}, {"nodeId": "140042565523536"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565523760"}, {"nodeId": "140042565523984"}, {"nodeId": "140042565524208"}, {"nodeId": "140042565524432"}, {"nodeId": "140042565524544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042565524880"}, {"nodeId": "140042565525104"}, {"nodeId": "140042565525216"}, {"nodeId": "140042565525440"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782784000", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042565525552"}, {"nodeId": "140042565525664"}, {"nodeId": "140042565525776"}, {"nodeId": "140042565525888"}, {"nodeId": "140042565526000"}, {"nodeId": "140042565526224"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "args", "bufsize", "executable", "stdin", "stdout", "stderr", "preexec_fn", "close_fds", "shell", "cwd", "env", "universal_newlines", "startupinfo", "creationflags", "restore_signals", "start_new_session", "pass_fds", "text", "encoding", "errors", "user", "group", "extra_groups", "umask", "pipesize"]}, "140042565523536": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565523760": {"type": "Union", "items": [{"nodeId": "140042565523648"}, {"nodeId": "N"}]}, "140042565523648": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565523984": {"type": "Union", "items": [{"nodeId": "140042565523872"}, {"nodeId": "N"}]}, "140042565523872": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524208": {"type": "Union", "items": [{"nodeId": "140042565524096"}, {"nodeId": "N"}]}, "140042565524096": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524432": {"type": "Union", "items": [{"nodeId": "140042565524320"}, {"nodeId": "N"}]}, "140042565524320": {"type": "TypeAlias", "target": {"nodeId": "140042572990272"}}, "140042565524544": {"type": "Union", "items": [{"nodeId": "140042565342976"}, {"nodeId": "N"}]}, "140042565342976": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042565524880": {"type": "Union", "items": [{"nodeId": "140042565524768"}, {"nodeId": "N"}]}, "140042565524768": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042565525104": {"type": "Union", "items": [{"nodeId": "140042565524992"}, {"nodeId": "N"}]}, "140042565524992": {"type": "TypeAlias", "target": {"nodeId": "140042569515408"}}, "140042565525216": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565525440": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "N"}]}, "140042565525552": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042565525664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565525776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042565525888": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565526000": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042565526224": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042565526112"}]}, {"nodeId": "N"}]}, "140042565526112": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042598742976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "140042565526336"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565526336": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042598743424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565526448"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042565526448": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042594025536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565526560"}, {"nodeId": "140042565526672"}], "returnType": {"nodeId": "140042565526896"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "input", "timeout"]}, "140042565526560": {"type": "Union", "items": [{"nodeId": ".1.140042578063232"}, {"nodeId": "N"}]}, "140042565526672": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042565526896": {"type": "Tuple", "items": [{"nodeId": ".1.140042578063232"}, {"nodeId": ".1.140042578063232"}]}, "140042594025984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sig"]}, "140042594026432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594026880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594027328": {"type": "Function", "typeVars": [".-1.140042594027328"], "argTypes": [{"nodeId": ".-1.140042594027328"}], "returnType": {"nodeId": ".-1.140042594027328"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042594027328": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594027328", "variance": "INVARIANT"}, "140042594027776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063232", "args": [{"nodeId": ".1.140042578063232"}]}, {"nodeId": "140042565527008"}, {"nodeId": "140042565527120"}, {"nodeId": "140042565527232"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042565527008": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042565527120": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042565527232": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042594028224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042653231456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569348624"}], "returnType": {"nodeId": "140042560920752"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560920752": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569348960": {"type": "Concrete", "module": "os", "simpleName": "times_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526792208"}}, {"kind": "Variable", "name": "user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531319680"}}, {"kind": "Variable", "name": "system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318784"}}, {"kind": "Variable", "name": "children_user", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318112"}}, {"kind": "Variable", "name": "children_system", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531318560"}}, {"kind": "Variable", "name": "elapsed", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531055072"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577366032"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042526792208": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531319680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922544"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922544": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922432"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922432": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560922768"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560922768": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531318560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560923104"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560923104": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042531055072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560923216"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560923216": {"type": "Tuple", "items": [{"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366032"}]}, "140042569349296": {"type": "Concrete", "module": "os", "simpleName": "waitid_result", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526794448"}}, {"kind": "Variable", "name": "si_pid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531528640"}}, {"kind": "Variable", "name": "si_uid", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531529760"}}, {"kind": "Variable", "name": "si_signo", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531529984"}}, {"kind": "Variable", "name": "si_status", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531530208"}}, {"kind": "Variable", "name": "si_code", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531530432"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042526794448": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042531528640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560924672"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560924672": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531529760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925008"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925008": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531529984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925344"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925344": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531530208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925456"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925456": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042531530432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560925568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560925568": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042569349632": {"type": "Concrete", "module": "os", "simpleName": "sched_param", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042526796240"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sched_priority", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042653364320"}, "name": "__new__"}, {"kind": "Variable", "name": "sched_priority", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531531776"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042577365696"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042526796240": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042653364320": {"type": "Function", "typeVars": [".-1.140042653364320"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042653364320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "sched_priority"]}, ".-1.140042653364320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042653364320", "variance": "INVARIANT"}, "140042531531776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042560928816"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560928816": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}]}, "140042573738528": {"type": "Concrete", "module": "ctypes", "simpleName": "PyDLL", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573738192"}], "isAbstract": false}, "140042569632448": {"type": "Concrete", "module": "ctypes", "simpleName": "LibraryLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dlltype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661634208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661634656"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661635104"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661635552"}, "name": "LoadLibrary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661636000"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042569632448"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042661634208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "dlltype"]}, ".1.140042569632448": {"type": "TypeVar", "varName": "_DLLT", "values": [], "upperBound": {"nodeId": "140042573738192"}, "def": "140042569632448", "variance": "INVARIANT"}, "140042661634656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661635104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661635552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632448", "args": [{"nodeId": ".1.140042569632448"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".1.140042569632448"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042661636000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042573738864": {"type": "Concrete", "module": "ctypes", "simpleName": "_CDataMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560957888"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661636448"}, "name": "__rmul__"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042560957888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042661636448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573740880": {"type": "Concrete", "module": "ctypes", "simpleName": "ArgumentError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573905984": {"type": "Concrete", "module": "ctypes", "simpleName": "c_byte", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573906320": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656937824"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577732864"}]}], "isAbstract": false}, "140042656937824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573906320"}, {"nodeId": "140042556256016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256016": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042573906656": {"type": "Concrete", "module": "ctypes", "simpleName": "c_char_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656938272"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569663648"}]}], "isAbstract": false}, "140042656938272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573906656"}, {"nodeId": "140042556256128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256128": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569663648": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042573906992": {"type": "Concrete", "module": "ctypes", "simpleName": "c_double", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573907328": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longdouble", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573907664": {"type": "Concrete", "module": "ctypes", "simpleName": "c_float", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577366032"}]}], "isAbstract": false}, "140042573908336": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int8", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573908672": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int16", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573909008": {"type": "Concrete", "module": "ctypes", "simpleName": "c_int32", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573909680": {"type": "Concrete", "module": "ctypes", "simpleName": "c_long", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910016": {"type": "Concrete", "module": "ctypes", "simpleName": "c_longlong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910352": {"type": "Concrete", "module": "ctypes", "simpleName": "c_short", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573910688": {"type": "Concrete", "module": "ctypes", "simpleName": "c_size_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911024": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ssize_t", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911360": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ubyte", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573911696": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912032": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint8", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912368": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint16", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573912704": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint32", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913040": {"type": "Concrete", "module": "ctypes", "simpleName": "c_uint64", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913376": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573913712": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ulonglong", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573914048": {"type": "Concrete", "module": "ctypes", "simpleName": "c_ushort", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042573914720": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042573915056": {"type": "Concrete", "module": "ctypes", "simpleName": "c_wchar_p", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656938720"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573739872"}, {"nodeId": "140042573741552", "args": [{"nodeId": "140042569663536"}]}], "isAbstract": false}, "140042656938720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573915056"}, {"nodeId": "140042556256240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042556256240": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569663536": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573915392": {"type": "Concrete", "module": "ctypes", "simpleName": "c_bool", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656939168"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573741552", "args": [{"nodeId": "140042782776944"}]}], "isAbstract": false}, "140042656939168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573915392"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042573915728": {"type": "Concrete", "module": "ctypes", "simpleName": "py_object", "members": [], "typeVars": [{"nodeId": ".1.140042573915728"}], "bases": [{"nodeId": "140042573739536"}, {"nodeId": "140042573741552", "args": [{"nodeId": ".1.140042573915728"}]}], "isAbstract": false}, ".1.140042573915728": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573915728", "variance": "INVARIANT"}, "140042573916064": {"type": "Concrete", "module": "ctypes", "simpleName": "_CField", "members": [{"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573916400": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionMeta", "members": [{"kind": "Variable", "name": "_fields_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "140042573816752"}]}}, {"kind": "Variable", "name": "_pack_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "_anonymous_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042656939616"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042573738864"}], "isAbstract": false}, "140042573816752": {"type": "Union", "items": [{"nodeId": "140042573816416"}, {"nodeId": "140042573816640"}]}, "140042573816416": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}]}, "140042573816640": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "0"}, {"nodeId": "140042577365696"}]}, "140042656939616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916400"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573916064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573916736": {"type": "Concrete", "module": "ctypes", "simpleName": "_StructUnionBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186080"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186528"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042657186976"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042573739200"}], "isAbstract": false}, "140042657186080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kw"]}, "140042657186528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042657186976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573916736"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042573917072": {"type": "Concrete", "module": "ctypes", "simpleName": "Union", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573916736"}], "isAbstract": false}, "140042573917408": {"type": "Concrete", "module": "ctypes", "simpleName": "Structure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573916736"}], "isAbstract": false}, "140042573917744": {"type": "Concrete", "module": "ctypes", "simpleName": "BigEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573917408"}], "isAbstract": false}, "140042573918080": {"type": "Concrete", "module": "ctypes", "simpleName": "LittleEndianStructure", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573917408"}], "isAbstract": false}, "140042480720176": {"type": "Concrete", "module": "datetime", "simpleName": "timezone", "members": [{"kind": "Variable", "name": "utc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "Variable", "name": "min", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "Variable", "name": "max", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480720176"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661607264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661607712"}, "name": "tzname"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661608160"}, "name": "utcoffset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__dt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042661608608"}, "name": "dst"}], "typeVars": [], "bases": [{"nodeId": "140042480719840"}], "isAbstract": false}, "140042661607264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042480721520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "name"]}, "140042661607712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399664"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399664": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042661608160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399776"}], "returnType": {"nodeId": "140042480721520"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399776": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042661608608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480720176"}, {"nodeId": "140042489399888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042489399888": {"type": "Union", "items": [{"nodeId": "140042480721856"}, {"nodeId": "N"}]}, "140042573232640": {"type": "Concrete", "module": "enum", "simpleName": "_EnumDict", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648852000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648852448"}, "name": "__setitem__"}], "typeVars": [], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "isAbstract": false}, "140042648852000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648852448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232640"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573232976": {"type": "Concrete", "module": "enum", "simpleName": "EnumMeta", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "metacls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "classdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648854240"}, "name": "__new__"}, {"kind": "Variable", "name": "__prepare__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548579008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856032"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856480"}, "name": "__reversed__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648856928"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648857376"}, "name": "__getitem__"}, {"kind": "Variable", "name": "__members__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042544073408"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648858272"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648858720"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648859168"}, "name": "__dir__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561262688"}, "items": [{"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__call__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__call__"}, {"kind": "Variable", "name": "_member_names_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042573233312"}]}}, {"kind": "Variable", "name": "_value2member_map_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "A"}, {"nodeId": "140042573233312"}]}}], "typeVars": [], "bases": [{"nodeId": "140042577657328"}], "isAbstract": false}, "140042648854240": {"type": "Function", "typeVars": [".-1.140042648854240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "140042573232640"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042648854240"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "classdict", "kwds"]}, ".-1.140042648854240": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648854240", "variance": "INVARIANT"}, "140042548579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365024"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573232640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["metacls", "cls", "bases", "kwds"]}, "140042648856032": {"type": "Function", "typeVars": [".-1.140042648856032"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042648856032"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648856032": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648856032", "variance": "INVARIANT"}, "140042648856480": {"type": "Function", "typeVars": [".-1.140042648856480"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".-1.140042648856480"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648856480": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648856480", "variance": "INVARIANT"}, "140042648856928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042648857376": {"type": "Function", "typeVars": [".-1.140042648857376"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042648857376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648857376": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648857376", "variance": "INVARIANT"}, "140042544073408": {"type": "Function", "typeVars": [".-1.140042544073408"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "140042578053824", "args": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042544073408"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042544073408": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042544073408", "variance": "INVARIANT"}, "140042648858272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042648858720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648859168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561262688": {"type": "Overloaded", "items": [{"nodeId": "140042648859616"}, {"nodeId": "140042648860512"}]}, "140042648859616": {"type": "Function", "typeVars": [".-1.140042648859616"], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": ".-1.140042648859616"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "value", "names"]}, ".-1.140042648859616": {"type": "TypeVar", "varName": "_EnumMemberT", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648859616", "variance": "INVARIANT"}, "140042648860512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232976"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561266944"}, {"nodeId": "140042561267056"}, {"nodeId": "140042561267168"}, {"nodeId": "140042561267280"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "value", "names", "module", "qualname", "type", "start"]}, "140042561266944": {"type": "TypeAlias", "target": {"nodeId": "140042573248688"}}, "140042573248688": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042573246896"}]}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042573246896": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042561267056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561267168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561267280": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "N"}]}, "140042573233648": {"type": "Concrete", "module": "enum", "simpleName": "IntEnum", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527347584"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648931232"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}, {"nodeId": "140042573233312"}], "isAbstract": false}, "140042527347584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573233648"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648931232": {"type": "Function", "typeVars": [".-1.140042648931232"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648931232"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648931232": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648931232", "variance": "INVARIANT"}, "140042569632112": {"type": "Concrete", "module": "enum", "simpleName": "auto", "members": [{"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527101152"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648932576"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042573726096"}], "isAbstract": false}, "140042527101152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569632112"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648932576": {"type": "Function", "typeVars": [".-1.140042648932576"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042648932576"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042648932576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648932576", "variance": "INVARIANT"}, "140042573726096": {"type": "Concrete", "module": "enum", "simpleName": "IntFlag", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648939296"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648939744"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648940192"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648940640"}, "name": "__xor__"}, {"kind": "Variable", "name": "__ror__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548367584"}}, {"kind": "Variable", "name": "__rand__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548378560"}}, {"kind": "Variable", "name": "__rxor__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548371840"}}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}, {"nodeId": "140042573725760"}], "isAbstract": false}, "140042648939296": {"type": "Function", "typeVars": [".-1.140042648939296"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648939296"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "value"]}, ".-1.140042648939296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648939296", "variance": "INVARIANT"}, "140042648939744": {"type": "Function", "typeVars": [".-1.140042648939744"], "argTypes": [{"nodeId": ".-1.140042648939744"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648939744"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648939744": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648939744", "variance": "INVARIANT"}, "140042648940192": {"type": "Function", "typeVars": [".-1.140042648940192"], "argTypes": [{"nodeId": ".-1.140042648940192"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648940192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648940192": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648940192", "variance": "INVARIANT"}, "140042648940640": {"type": "Function", "typeVars": [".-1.140042648940640"], "argTypes": [{"nodeId": ".-1.140042648940640"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042648940640"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648940640": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648940640", "variance": "INVARIANT"}, "140042548367584": {"type": "Function", "typeVars": [".-1.140042548367584"], "argTypes": [{"nodeId": ".-1.140042548367584"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548367584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548367584": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548367584", "variance": "INVARIANT"}, "140042548378560": {"type": "Function", "typeVars": [".-1.140042548378560"], "argTypes": [{"nodeId": ".-1.140042548378560"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548378560"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548378560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548378560", "variance": "INVARIANT"}, "140042548371840": {"type": "Function", "typeVars": [".-1.140042548371840"], "argTypes": [{"nodeId": ".-1.140042548371840"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": ".-1.140042548371840"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042548371840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548371840", "variance": "INVARIANT"}, "140042573725760": {"type": "Concrete", "module": "enum", "simpleName": "Flag", "members": [{"kind": "Variable", "name": "_name_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573248464"}}, {"kind": "Variable", "name": "_value_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527101600"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527106304"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648933920"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648934368"}, "name": "__bool__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648934816"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648935264"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648935712"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648936160"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140042573233312"}], "isAbstract": false}, "140042573248464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527101600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042561268064"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561268064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042527106304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648933920": {"type": "Function", "typeVars": [".-1.140042648933920"], "argTypes": [{"nodeId": ".-1.140042648933920"}, {"nodeId": ".-1.140042648933920"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648933920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648933920", "variance": "INVARIANT"}, "140042648934368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573725760"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042648934816": {"type": "Function", "typeVars": [".-1.140042648934816"], "argTypes": [{"nodeId": ".-1.140042648934816"}, {"nodeId": ".-1.140042648934816"}], "returnType": {"nodeId": ".-1.140042648934816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648934816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648934816", "variance": "INVARIANT"}, "140042648935264": {"type": "Function", "typeVars": [".-1.140042648935264"], "argTypes": [{"nodeId": ".-1.140042648935264"}, {"nodeId": ".-1.140042648935264"}], "returnType": {"nodeId": ".-1.140042648935264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648935264": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648935264", "variance": "INVARIANT"}, "140042648935712": {"type": "Function", "typeVars": [".-1.140042648935712"], "argTypes": [{"nodeId": ".-1.140042648935712"}, {"nodeId": ".-1.140042648935712"}], "returnType": {"nodeId": ".-1.140042648935712"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042648935712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648935712", "variance": "INVARIANT"}, "140042648936160": {"type": "Function", "typeVars": [".-1.140042648936160"], "argTypes": [{"nodeId": ".-1.140042648936160"}], "returnType": {"nodeId": ".-1.140042648936160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042648936160": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042648936160", "variance": "INVARIANT"}, "140042577723456": {"type": "Concrete", "module": "abc", "simpleName": "abstractclassmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649112352"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042577723456"}], "bases": [{"nodeId": "140042577364688", "args": [{"nodeId": ".1.140042577723456"}]}], "isAbstract": false}, "140042649112352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577723456", "args": [{"nodeId": ".1.140042577723456"}]}, {"nodeId": "140042556318976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140042577723456": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577723456", "variance": "COVARIANT"}, "140042556318976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577723456"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577723792": {"type": "Concrete", "module": "abc", "simpleName": "abstractstaticmethod", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "callable", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649112800"}, "name": "__init__"}], "typeVars": [{"nodeId": ".1.140042577723792"}], "bases": [{"nodeId": "140042577364352", "args": [{"nodeId": ".1.140042577723792"}]}], "isAbstract": false}, "140042649112800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577723792", "args": [{"nodeId": ".1.140042577723792"}]}, {"nodeId": "140042556318304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "callable"]}, ".1.140042577723792": {"type": "TypeVar", "varName": "_R_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042577723792", "variance": "COVARIANT"}, "140042556318304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042577723792"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577724128": {"type": "Concrete", "module": "abc", "simpleName": "abstractproperty", "members": [{"kind": "Variable", "name": "__isabstractmethod__", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}], "typeVars": [], "bases": [{"nodeId": "140042577369728"}], "isAbstract": false}, "140042573918752": {"type": "Protocol", "module": "contextlib", "simpleName": "AbstractAsyncContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556311360"}, "name": "__aenter__"}, {"kind": "Variable", "name": "__aexit__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523384672"}}], "typeVars": [{"nodeId": ".1.140042573918752"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__aenter__", "__aexit__"]}, "140042556311360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573918752"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042573918752"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042573918752": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573918752", "variance": "COVARIANT"}, "140042523384672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573918752"}]}, {"nodeId": "140042556259040"}, {"nodeId": "140042556259152"}, {"nodeId": "140042556259264"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042556259376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042556259040": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556259152": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556259264": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556259376": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573919424": {"type": "Concrete", "module": "contextlib", "simpleName": "_GeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649117056"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042573919424"}, {"nodeId": "A"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577260192"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649117504"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042573919424"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042573919088"}], "isAbstract": false}, "140042649117056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573919424", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042556311136"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140042573919424": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573919424", "variance": "COVARIANT"}, "140042556311136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": ".1.140042573919424"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042577260192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".1.140042573919424"}, {"nodeId": "A"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042649117504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573919424", "args": [{"nodeId": ".1.140042573919424"}]}, {"nodeId": "140042556259936"}, {"nodeId": "140042556260048"}, {"nodeId": "140042556260160"}], "returnType": {"nodeId": "140042556440640"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556259936": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556260048": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556260160": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556440640": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573919760": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncContextDecorator", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649118400"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649118400": {"type": "Function", "typeVars": [".-1.140042649118400"], "argTypes": [{"nodeId": "140042573919760"}, {"nodeId": ".-1.140042649118400"}], "returnType": {"nodeId": ".-1.140042649118400"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, ".-1.140042649118400": {"type": "TypeVar", "varName": "_AF", "values": [], "upperBound": {"nodeId": "140042577260640"}, "def": "140042649118400", "variance": "INVARIANT"}, "140042577260640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573920096": {"type": "Concrete", "module": "contextlib", "simpleName": "_AsyncGeneratorContextManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649118848"}, "name": "__init__"}, {"kind": "Variable", "name": "gen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042573920096"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042585998496"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typ", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556312704"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042573920096"}], "bases": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042573919760"}], "isAbstract": false}, "140042649118848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920096", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042556312928"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "func", "args", "kwds"]}, ".1.140042573920096": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042573920096", "variance": "COVARIANT"}, "140042556312928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782782992", "args": [{"nodeId": ".1.140042573920096"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585998496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782783328", "args": [{"nodeId": ".1.140042573920096"}, {"nodeId": "A"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042556312704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920096", "args": [{"nodeId": ".1.140042573920096"}]}, {"nodeId": "140042556441088"}, {"nodeId": "140042556441200"}, {"nodeId": "140042556441312"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042556441424"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typ", "value", "traceback"]}, "140042556441088": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556441200": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556441312": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042556441424": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042573920432": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsClose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121088"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close"]}, "140042649121088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920432"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573920768": {"type": "Concrete", "module": "contextlib", "simpleName": "closing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121536"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649121984"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042573920768"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042573920768"}]}], "isAbstract": false}, "140042649121536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920768", "args": [{"nodeId": ".1.140042573920768"}]}, {"nodeId": ".1.140042573920768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140042573920768": {"type": "TypeVar", "varName": "_SupportsCloseT", "values": [], "upperBound": {"nodeId": "140042573920432"}, "def": "140042573920768", "variance": "INVARIANT"}, "140042649121984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573920768", "args": [{"nodeId": ".1.140042573920768"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042573921104": {"type": "Protocol", "module": "contextlib", "simpleName": "_SupportsAclose", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649122432"}, "name": "aclose"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["aclose"]}, "140042649122432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921104"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573921440": {"type": "Concrete", "module": "contextlib", "simpleName": "aclosing", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "thing", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649122880"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556313600"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042573921440"}], "bases": [{"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042573921440"}]}], "isAbstract": false}, "140042649122880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921440", "args": [{"nodeId": ".1.140042573921440"}]}, {"nodeId": ".1.140042573921440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "thing"]}, ".1.140042573921440": {"type": "TypeVar", "varName": "_SupportsAcloseT", "values": [], "upperBound": {"nodeId": "140042573921104"}, "def": "140042573921440", "variance": "INVARIANT"}, "140042556313600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921440", "args": [{"nodeId": ".1.140042573921440"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exc_info"]}, "140042573921776": {"type": "Concrete", "module": "contextlib", "simpleName": "suppress", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exceptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649123776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649124224"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": "N"}]}], "isAbstract": false}, "140042649123776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921776"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exceptions"]}, "140042649124224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573921776"}, {"nodeId": "140042556441760"}, {"nodeId": "140042556441872"}, {"nodeId": "140042556441984"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556441760": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556441872": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556441984": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568794176": {"type": "Concrete", "module": "contextlib", "simpleName": "_RedirectStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "new_target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649305152"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinst", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649305600"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042568794176"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042568794176"}]}], "isAbstract": false}, "140042649305152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794176"}]}, {"nodeId": ".1.140042568794176"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "new_target"]}, ".1.140042568794176": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794176", "variance": "INVARIANT"}, "140042573812496": {"type": "Union", "items": [{"nodeId": "140042577729840", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042649305600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794176"}]}, {"nodeId": "140042556442096"}, {"nodeId": "140042556442208"}, {"nodeId": "140042556442320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556442096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556442208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556442320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568794512": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stdout", "members": [], "typeVars": [{"nodeId": ".1.140042568794512"}], "bases": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794512"}]}], "isAbstract": false}, ".1.140042568794512": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794512", "variance": "INVARIANT"}, "140042568794848": {"type": "Concrete", "module": "contextlib", "simpleName": "redirect_stderr", "members": [], "typeVars": [{"nodeId": ".1.140042568794848"}], "bases": [{"nodeId": "140042568794176", "args": [{"nodeId": ".1.140042568794848"}]}], "isAbstract": false}, ".1.140042568794848": {"type": "TypeVar", "varName": "_T_io", "values": [], "upperBound": {"nodeId": "140042573812496"}, "def": "140042568794848", "variance": "INVARIANT"}, "140042568795184": {"type": "Concrete", "module": "contextlib", "simpleName": "ExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306048"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306496"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649306944"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649307392"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649307840"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649308288"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649308736"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649306048": {"type": "Function", "typeVars": [".-1.140042649306048"], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042573918416", "args": [{"nodeId": ".-1.140042649306048"}]}], "returnType": {"nodeId": ".-1.140042649306048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042649306048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649306048", "variance": "INVARIANT"}, "140042649306496": {"type": "Function", "typeVars": [".-1.140042649306496"], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": ".-1.140042649306496"}], "returnType": {"nodeId": ".-1.140042649306496"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649306496": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140042569664208"}, "def": "140042649306496", "variance": "INVARIANT"}, "140042569664208": {"type": "Union", "items": [{"nodeId": "140042573918416", "args": [{"nodeId": "A"}]}, {"nodeId": "140042569663984"}]}, "140042569663984": {"type": "TypeAlias", "target": {"nodeId": "140042577223616"}}, "140042577223616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573817648"}, {"nodeId": "140042573817088"}, {"nodeId": "140042573817312"}], "returnType": {"nodeId": "140042573817424"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573817648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042573817088": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042573817312": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042573817424": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042649306944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042556313824"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556313824": {"type": "Function", "typeVars": [".-2.140042556313824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556313824"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556313824": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556313824", "variance": "INVARIANT"}, "140042556314048": {"type": "Function", "typeVars": [".-2.140042556314048"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556314048"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314048": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314048", "variance": "INVARIANT"}, "140042649307392": {"type": "Function", "typeVars": [".-1.140042649307392"], "argTypes": [{"nodeId": ".-1.140042649307392"}], "returnType": {"nodeId": ".-1.140042649307392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649307392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649307392", "variance": "INVARIANT"}, "140042649307840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649308288": {"type": "Function", "typeVars": [".-1.140042649308288"], "argTypes": [{"nodeId": ".-1.140042649308288"}], "returnType": {"nodeId": ".-1.140042649308288"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042649308288": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649308288", "variance": "INVARIANT"}, "140042649308736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795184"}, {"nodeId": "140042556441648"}, {"nodeId": "140042556442544"}, {"nodeId": "140042556442656"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556441648": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556442544": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556442656": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568795520": {"type": "Concrete", "module": "contextlib", "simpleName": "AsyncExitStack", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649309184"}, "name": "enter_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cm", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042556314272"}, "name": "enter_async_context"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310080"}, "name": "push"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310528"}, "name": "push_async_exit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649310976"}, "name": "callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649311424"}, "name": "push_async_callback"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649309632"}, "name": "pop_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649311872"}, "name": "aclose"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649312768"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649312320"}, "name": "__aexit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042649309184": {"type": "Function", "typeVars": [".-1.140042649309184"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042573918416", "args": [{"nodeId": ".-1.140042649309184"}]}], "returnType": {"nodeId": ".-1.140042649309184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042649309184": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649309184", "variance": "INVARIANT"}, "140042556314272": {"type": "Function", "typeVars": [".-1.140042556314272"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042573918752", "args": [{"nodeId": ".-1.140042556314272"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140042556314272"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cm"]}, ".-1.140042556314272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314272", "variance": "INVARIANT"}, "140042649310080": {"type": "Function", "typeVars": [".-1.140042649310080"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": ".-1.140042649310080"}], "returnType": {"nodeId": ".-1.140042649310080"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649310080": {"type": "TypeVar", "varName": "_CM_EF", "values": [], "upperBound": {"nodeId": "140042569664208"}, "def": "140042649310080", "variance": "INVARIANT"}, "140042649310528": {"type": "Function", "typeVars": [".-1.140042649310528"], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": ".-1.140042649310528"}], "returnType": {"nodeId": ".-1.140042649310528"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "exit"]}, ".-1.140042649310528": {"type": "TypeVar", "varName": "_ACM_EF", "values": [], "upperBound": {"nodeId": "140042569665216"}, "def": "140042649310528", "variance": "INVARIANT"}, "140042569665216": {"type": "Union", "items": [{"nodeId": "140042573918752", "args": [{"nodeId": "A"}]}, {"nodeId": "140042569665552"}]}, "140042569665552": {"type": "TypeAlias", "target": {"nodeId": "140042585998720"}}, "140042585998720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573821568"}, {"nodeId": "140042573819216"}, {"nodeId": "140042573821232"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042573821344"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042573821568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042573819216": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042573821232": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042573821344": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042649310976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556310688"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556310688": {"type": "Function", "typeVars": [".-2.140042556310688"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556310688"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556310688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556310688", "variance": "INVARIANT"}, "140042556314496": {"type": "Function", "typeVars": [".-2.140042556314496"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": ".-2.140042556314496"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314496": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314496", "variance": "INVARIANT"}, "140042649311424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556310240"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042556314944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwds"]}, "140042556310240": {"type": "Function", "typeVars": [".-2.140042556310240"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".-2.140042556310240"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556310240": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556310240", "variance": "INVARIANT"}, "140042556314944": {"type": "Function", "typeVars": [".-2.140042556314944"], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": ".-2.140042556314944"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-2.140042556314944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042556314944", "variance": "INVARIANT"}, "140042649309632": {"type": "Function", "typeVars": [".-1.140042649309632"], "argTypes": [{"nodeId": ".-1.140042649309632"}], "returnType": {"nodeId": ".-1.140042649309632"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649309632": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649309632", "variance": "INVARIANT"}, "140042649311872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649312768": {"type": "Function", "typeVars": [".-1.140042649312768"], "argTypes": [{"nodeId": ".-1.140042649312768"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".-1.140042649312768"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042649312768": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042649312768", "variance": "INVARIANT"}, "140042649312320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795520"}, {"nodeId": "140042556443216"}, {"nodeId": "140042556443552"}, {"nodeId": "140042556443664"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "140042782776944"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null, null]}, "140042556443216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556443552": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556443664": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042568795856": {"type": "Concrete", "module": "contextlib", "simpleName": "nullcontext", "members": [{"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042568795856"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042556443104"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649314560"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649315008"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649314112"}, "name": "__aenter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042649315456"}, "name": "__aexit__"}], "typeVars": [{"nodeId": ".1.140042568795856"}], "bases": [{"nodeId": "140042573918416", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042573918752", "args": [{"nodeId": ".1.140042568795856"}]}], "isAbstract": false}, ".1.140042568795856": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042568795856", "variance": "INVARIANT"}, "140042556443104": {"type": "Overloaded", "items": [{"nodeId": "140042649313216"}, {"nodeId": "140042649313664"}]}, "140042649313216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": "N"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140042649313664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": ".1.140042568795856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "enter_result"]}, "140042649314560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}], "returnType": {"nodeId": ".1.140042568795856"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042649315008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042649314112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": ".1.140042568795856"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042649315456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568795856", "args": [{"nodeId": ".1.140042568795856"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "exctype"]}, "140042578065584": {"type": "Concrete", "module": "re", "simpleName": "Match", "members": [{"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540412352"}}, {"kind": "Variable", "name": "endpos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540410336"}}, {"kind": "Variable", "name": "lastindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540409440"}}, {"kind": "Variable", "name": "lastgroup", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540408768"}}, {"kind": "Variable", "name": "string", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540408096"}}, {"kind": "Variable", "name": "re", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540407424"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565460240"}, "items": [{"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "expand"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565530704"}, "items": [{"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "group"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565531488"}, "items": [{"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groups", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groups"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565531712"}, "items": [{"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "groupdict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330016"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330464"}, "name": "end"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644330912"}, "name": "span"}, {"kind": "Variable", "name": "regs", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540406752"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565532832"}, "items": [{"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__getitem__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644332704"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644333152"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644333600"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578065584"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042540412352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578065584": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578065584", "variance": "INVARIANT"}, "140042540410336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540409440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042565531264"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565531264": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042540408768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042565531376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565531376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042540408096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540407424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578065920": {"type": "Concrete", "module": "re", "simpleName": "Pattern", "members": [{"kind": "Variable", "name": "flags", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540303744"}}, {"kind": "Variable", "name": "groupindex", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540304192"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540305088"}}, {"kind": "Variable", "name": "pattern", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540305760"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042565533280"}, "items": [{"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "search", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "search"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560373696"}, "items": [{"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "match", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "match"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560374480"}, "items": [{"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullmatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "fullmatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560374928"}, "items": [{"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "split", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "split"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560375376"}, "items": [{"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "findall", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "findall"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560375824"}, "items": [{"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "finditer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "finditer"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560376496"}, "items": [{"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sub", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "sub"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560376944"}, "items": [{"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "subn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644474336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644474784"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644475232"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578065920"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042540303744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042578065920": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578065920", "variance": "INVARIANT"}, "140042540304192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540305088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042540305760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": ".1.140042578065920"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533280": {"type": "Overloaded", "items": [{"nodeId": "140042644335840"}, {"nodeId": "140042565345888"}]}, "140042644335840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560374592"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560374592": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565345888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560374704"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560374816"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560374704": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560374816": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560373696": {"type": "Overloaded", "items": [{"nodeId": "140042644336736"}, {"nodeId": "140042565343200"}]}, "140042644336736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375040"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375040": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565343200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560375152"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375264"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375152": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375264": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560374480": {"type": "Overloaded", "items": [{"nodeId": "140042644337632"}, {"nodeId": "140042565346112"}]}, "140042644337632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375488"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375488": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042565346112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560375600"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560375712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560375600": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375712": {"type": "Union", "items": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042560374928": {"type": "Overloaded", "items": [{"nodeId": "140042644338528"}, {"nodeId": "140042565346336"}]}, "140042644338528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042560376048"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140042560376048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042565346336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560376160"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042560376384"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "string", "maxsplit"]}, "140042560376160": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376384": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "A"}]}, "140042560375376": {"type": "Overloaded", "items": [{"nodeId": "140042644339424"}, {"nodeId": "140042565346560"}]}, "140042644339424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042565346560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560376720"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560376720": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560375824": {"type": "Overloaded", "items": [{"nodeId": "140042644340320"}, {"nodeId": "140042565346784"}]}, "140042644340320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042565346784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560377056"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "string", "pos", "endpos"]}, "140042560377056": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376496": {"type": "Overloaded", "items": [{"nodeId": "140042644472544"}, {"nodeId": "140042565347456"}]}, "140042644472544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042560377280"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042565347008"}]}, "140042565347008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042565347456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560377504"}, {"nodeId": "140042560377728"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377504": {"type": "Union", "items": [{"nodeId": "140042560377392"}, {"nodeId": "140042565345216"}]}, "140042560377392": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565345216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "140042560377616"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560377616": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560377728": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560376944": {"type": "Overloaded", "items": [{"nodeId": "140042644473440"}, {"nodeId": "140042565348128"}]}, "140042644473440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042560377952"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560378176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560377952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042565347232"}]}, "140042565347232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560378176": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565348128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560378400"}, {"nodeId": "140042560378624"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042560378848"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "repl", "string", "count"]}, "140042560378400": {"type": "Union", "items": [{"nodeId": "140042560378288"}, {"nodeId": "140042565347680"}]}, "140042560378288": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565347680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "140042560378512"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560378512": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560378624": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042560378848": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042644474336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644474784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578065920", "args": [{"nodeId": ".1.140042578065920"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644475232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042565460240": {"type": "Overloaded", "items": [{"nodeId": "140042644325984"}, {"nodeId": "140042565339392"}]}, "140042644325984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042565339392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042565531600"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042565531600": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042565530704": {"type": "Overloaded", "items": [{"nodeId": "140042644326880"}, {"nodeId": "140042644327328"}, {"nodeId": "140042644327776"}]}, "140042644326880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644327328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042565531936"}], "returnType": {"nodeId": "140042565532160"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042565531936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532160": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644327776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042565532272"}, {"nodeId": "140042565532384"}, {"nodeId": "140042565532496"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565532720"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", null, null, "groups"]}, "140042565532272": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532384": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532496": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042565532720": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042565531488": {"type": "Overloaded", "items": [{"nodeId": "140042644328224"}, {"nodeId": "140042644328672"}]}, "140042644328224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565533056"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533056": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644328672": {"type": "Function", "typeVars": [".-1.140042644328672"], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": ".-1.140042644328672"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042565533168"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140042644328672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644328672", "variance": "INVARIANT"}, "140042565533168": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": ".-1.140042644328672"}]}, "140042565531712": {"type": "Overloaded", "items": [{"nodeId": "140042644329120"}, {"nodeId": "140042644329568"}]}, "140042644329120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042565533504"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565533504": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644329568": {"type": "Function", "typeVars": [".-1.140042644329568"], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": ".-1.140042644329568"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042560372800"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "default"]}, ".-1.140042644329568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644329568", "variance": "INVARIANT"}, "140042560372800": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": ".-1.140042644329568"}]}, "140042644330016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560372912"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560372912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042644330464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373024"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560373024": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042644330912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373136"}], "returnType": {"nodeId": "140042560373360"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042560373136": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042560373360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042540406752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042560373584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560373584": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042565532832": {"type": "Overloaded", "items": [{"nodeId": "140042644331808"}, {"nodeId": "140042644332256"}]}, "140042644331808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "0"}], "returnType": {"nodeId": ".1.140042578065584"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042644332256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "140042560373920"}], "returnType": {"nodeId": "140042560374144"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042560373920": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042560374144": {"type": "Union", "items": [{"nodeId": ".1.140042578065584"}, {"nodeId": "A"}]}, "140042644332704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}], "returnType": {"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644333152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578065584", "args": [{"nodeId": ".1.140042578065584"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042644333600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042569346272": {"type": "Concrete", "module": "re", "simpleName": "RegexFlag", "members": [{"kind": "Variable", "name": "A", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "ASCII", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "DEBUG", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "I", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "IGNORECASE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "L", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "LOCALE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "M", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MULTILINE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "S", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "DOTALL", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "X", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "VERBOSE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "U", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "UNICODE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "T", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "TEMPLATE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042573726096"}], "isAbstract": false}, "140042569040944": {"type": "Concrete", "module": "_ast", "simpleName": "AST", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515054768"}}, {"kind": "Variable", "name": "_attributes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644485760"}, "name": "__init__"}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "end_lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569762064"}}, {"kind": "Variable", "name": "end_col_offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009744"}}, {"kind": "Variable", "name": "type_comment", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569009856"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042515054768": {"type": "Tuple", "items": []}, "140042644485760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569040944"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042569762064": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569009744": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569009856": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569041280": {"type": "Concrete", "module": "_ast", "simpleName": "mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569041616": {"type": "Concrete", "module": "_ast", "simpleName": "type_ignore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569041952": {"type": "Concrete", "module": "_ast", "simpleName": "TypeIgnore", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515059248"}}, {"kind": "Variable", "name": "tag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042569041616"}], "isAbstract": false}, "140042515059248": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569042288": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionType", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515060256"}}, {"kind": "Variable", "name": "argtypes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515060256": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569052368": {"type": "Concrete", "module": "_ast", "simpleName": "expr", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569042624": {"type": "Concrete", "module": "_ast", "simpleName": "Module", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515061264"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "type_ignores", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569041952"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515061264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569043632": {"type": "Concrete", "module": "_ast", "simpleName": "stmt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569042960": {"type": "Concrete", "module": "_ast", "simpleName": "Interactive", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515062608"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515062608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569043296": {"type": "Concrete", "module": "_ast", "simpleName": "Expression", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515063504"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042515063504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569043968": {"type": "Concrete", "module": "_ast", "simpleName": "FunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515065520"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569769456"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515065520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569337872": {"type": "Concrete", "module": "_ast", "simpleName": "arguments", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510373536"}}, {"kind": "Variable", "name": "posonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "vararg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016576"}}, {"kind": "Variable", "name": "kwonlyargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338208"}]}}, {"kind": "Variable", "name": "kw_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569016800"}]}}, {"kind": "Variable", "name": "kwarg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761728"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510373536": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569338208": {"type": "Concrete", "module": "_ast", "simpleName": "arg", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510374768"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761840"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510374768": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761840": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016576": {"type": "Union", "items": [{"nodeId": "140042569338208"}, {"nodeId": "N"}]}, "140042569016800": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569761728": {"type": "Union", "items": [{"nodeId": "140042569338208"}, {"nodeId": "N"}]}, "140042569769456": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569044304": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFunctionDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515066976"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "returns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764416"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515066976": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569764416": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569044640": {"type": "Concrete", "module": "_ast", "simpleName": "ClassDef", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515068208"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "bases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338544"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "decorator_list", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515068208": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569338544": {"type": "Concrete", "module": "_ast", "simpleName": "keyword", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510375664"}}, {"kind": "Variable", "name": "arg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016912"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510375664": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569044976": {"type": "Concrete", "module": "_ast", "simpleName": "Return", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515068656"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764864"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515068656": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569764864": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569045312": {"type": "Concrete", "module": "_ast", "simpleName": "Delete", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515069552"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515069552": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569045648": {"type": "Concrete", "module": "_ast", "simpleName": "Assign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515169344"}}, {"kind": "Variable", "name": "targets", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515169344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569045984": {"type": "Concrete", "module": "_ast", "simpleName": "AugAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515170464"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569760944"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569228224"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515170464": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569760944": {"type": "Union", "items": [{"nodeId": "140042569224864"}, {"nodeId": "140042569223520"}, {"nodeId": "140042569224192"}]}, "140042569224864": {"type": "Concrete", "module": "_ast", "simpleName": "Name", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510251088"}}, {"kind": "Variable", "name": "id", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510251088": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225872": {"type": "Concrete", "module": "_ast", "simpleName": "expr_context", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569223520": {"type": "Concrete", "module": "_ast", "simpleName": "Attribute", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510245824"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510245824": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569224192": {"type": "Concrete", "module": "_ast", "simpleName": "Subscript", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510249184"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "slice", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510249184": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569228224": {"type": "Concrete", "module": "_ast", "simpleName": "operator", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569046320": {"type": "Concrete", "module": "_ast", "simpleName": "AnnAssign", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515171808"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764192"}}, {"kind": "Variable", "name": "annotation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761056"}}, {"kind": "Variable", "name": "simple", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515171808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569764192": {"type": "Union", "items": [{"nodeId": "140042569224864"}, {"nodeId": "140042569223520"}, {"nodeId": "140042569224192"}]}, "140042569761056": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569046656": {"type": "Concrete", "module": "_ast", "simpleName": "For", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515173264"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515173264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569046992": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncFor", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515174608"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515174608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569047328": {"type": "Concrete", "module": "_ast", "simpleName": "While", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515175504"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515175504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569047664": {"type": "Concrete", "module": "_ast", "simpleName": "If", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515176624"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515176624": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569048000": {"type": "Concrete", "module": "_ast", "simpleName": "With", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515177744"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339216"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515177744": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569339216": {"type": "Concrete", "module": "_ast", "simpleName": "withitem", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510377680"}}, {"kind": "Variable", "name": "context_expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "optional_vars", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017024"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510377680": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017024": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569048336": {"type": "Concrete", "module": "_ast", "simpleName": "AsyncWith", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515178864"}}, {"kind": "Variable", "name": "items", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339216"}]}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515178864": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569048672": {"type": "Concrete", "module": "_ast", "simpleName": "Raise", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515179760"}}, {"kind": "Variable", "name": "exc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761168"}}, {"kind": "Variable", "name": "cause", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761392"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515179760": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761168": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569761392": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569049008": {"type": "Concrete", "module": "_ast", "simpleName": "Try", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515181216"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569337536"}]}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}, {"kind": "Variable", "name": "finalbody", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515181216": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569337536": {"type": "Concrete", "module": "_ast", "simpleName": "ExceptHandler", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510371520"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016352"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016464"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569337200"}], "isAbstract": false}, "140042510371520": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016352": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569337200": {"type": "Concrete", "module": "_ast", "simpleName": "excepthandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569049344": {"type": "Concrete", "module": "_ast", "simpleName": "Assert", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515182560"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761504"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515182560": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761504": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569049680": {"type": "Concrete", "module": "_ast", "simpleName": "Import", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515183344"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338880"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515183344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569338880": {"type": "Concrete", "module": "_ast", "simpleName": "alias", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510376672"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016688"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510376672": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016688": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569050016": {"type": "Concrete", "module": "_ast", "simpleName": "ImportFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515184688"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569761616"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338880"}]}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515184688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569761616": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569050352": {"type": "Concrete", "module": "_ast", "simpleName": "Global", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042515185360"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042515185360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569050688": {"type": "Concrete", "module": "_ast", "simpleName": "Nonlocal", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510074592"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510074592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569051024": {"type": "Concrete", "module": "_ast", "simpleName": "Expr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510075488"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510075488": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569051360": {"type": "Concrete", "module": "_ast", "simpleName": "Pass", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569051696": {"type": "Concrete", "module": "_ast", "simpleName": "Break", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569052032": {"type": "Concrete", "module": "_ast", "simpleName": "Continue", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042569052704": {"type": "Concrete", "module": "_ast", "simpleName": "BoolOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510076608"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569227216"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510076608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569227216": {"type": "Concrete", "module": "_ast", "simpleName": "boolop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569053040": {"type": "Concrete", "module": "_ast", "simpleName": "BinOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510077840"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569228224"}}, {"kind": "Variable", "name": "right", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510077840": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569053376": {"type": "Concrete", "module": "_ast", "simpleName": "UnaryOp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510078736"}}, {"kind": "Variable", "name": "op", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569232928"}}, {"kind": "Variable", "name": "operand", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510078736": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569232928": {"type": "Concrete", "module": "_ast", "simpleName": "unaryop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569053712": {"type": "Concrete", "module": "_ast", "simpleName": "Lambda", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510079744"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569337872"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510079744": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569054048": {"type": "Concrete", "module": "_ast", "simpleName": "IfExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510080976"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "orelse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510080976": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569054384": {"type": "Concrete", "module": "_ast", "simpleName": "Dict", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510081872"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569010528"}]}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510081872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010528": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569054720": {"type": "Concrete", "module": "_ast", "simpleName": "Set", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510082656"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510082656": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569055056": {"type": "Concrete", "module": "_ast", "simpleName": "ListComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510083776"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510083776": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569336864": {"type": "Concrete", "module": "_ast", "simpleName": "comprehension", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510370512"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "iter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ifs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "is_async", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510370512": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569055392": {"type": "Concrete", "module": "_ast", "simpleName": "SetComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510084784"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510084784": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569055728": {"type": "Concrete", "module": "_ast", "simpleName": "DictComp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510086016"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510086016": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569220160": {"type": "Concrete", "module": "_ast", "simpleName": "GeneratorExp", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510086912"}}, {"kind": "Variable", "name": "elt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "generators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569336864"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510086912": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569220496": {"type": "Concrete", "module": "_ast", "simpleName": "Await", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510087696"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510087696": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569220832": {"type": "Concrete", "module": "_ast", "simpleName": "Yield", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510088592"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569765648"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510088592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569765648": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569221168": {"type": "Concrete", "module": "_ast", "simpleName": "YieldFrom", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510089488"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510089488": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569221504": {"type": "Concrete", "module": "_ast", "simpleName": "Compare", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510238432"}}, {"kind": "Variable", "name": "left", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ops", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569234608"}]}}, {"kind": "Variable", "name": "comparators", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510238432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569234608": {"type": "Concrete", "module": "_ast", "simpleName": "cmpop", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569221840": {"type": "Concrete", "module": "_ast", "simpleName": "Call", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510239552"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569338544"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510239552": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569222176": {"type": "Concrete", "module": "_ast", "simpleName": "FormattedValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510240672"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569010304"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510240672": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010304": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569222512": {"type": "Concrete", "module": "_ast", "simpleName": "JoinedStr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510241344"}}, {"kind": "Variable", "name": "values", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510241344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569222848": {"type": "Concrete", "module": "_ast", "simpleName": "Constant", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510243024"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kind", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569010080"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569015792"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510243024": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569010080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569015792": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}]}, "140042569223184": {"type": "Concrete", "module": "_ast", "simpleName": "NamedExpr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510244592"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569224864"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510244592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569223856": {"type": "Concrete", "module": "_ast", "simpleName": "Slice", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510247504"}}, {"kind": "Variable", "name": "lower", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016016"}}, {"kind": "Variable", "name": "upper", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016128"}}, {"kind": "Variable", "name": "step", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569016240"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510247504": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569016016": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016128": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569016240": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569224528": {"type": "Concrete", "module": "_ast", "simpleName": "Starred", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510250080"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510250080": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225200": {"type": "Concrete", "module": "_ast", "simpleName": "List", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510252096"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510252096": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569225536": {"type": "Concrete", "module": "_ast", "simpleName": "Tuple", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510253104"}}, {"kind": "Variable", "name": "elts", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "ctx", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569225872"}}, {"kind": "Variable", "name": "dims", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569052368"}], "isAbstract": false}, "140042510253104": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569226208": {"type": "Concrete", "module": "_ast", "simpleName": "Del", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569226544": {"type": "Concrete", "module": "_ast", "simpleName": "Load", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569226880": {"type": "Concrete", "module": "_ast", "simpleName": "Store", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042569227552": {"type": "Concrete", "module": "_ast", "simpleName": "And", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569227216"}], "isAbstract": false}, "140042569227888": {"type": "Concrete", "module": "_ast", "simpleName": "Or", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569227216"}], "isAbstract": false}, "140042569228560": {"type": "Concrete", "module": "_ast", "simpleName": "Add", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569228896": {"type": "Concrete", "module": "_ast", "simpleName": "BitAnd", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229232": {"type": "Concrete", "module": "_ast", "simpleName": "BitOr", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229568": {"type": "Concrete", "module": "_ast", "simpleName": "BitXor", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569229904": {"type": "Concrete", "module": "_ast", "simpleName": "Div", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230240": {"type": "Concrete", "module": "_ast", "simpleName": "FloorDiv", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230576": {"type": "Concrete", "module": "_ast", "simpleName": "LShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569230912": {"type": "Concrete", "module": "_ast", "simpleName": "Mod", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231248": {"type": "Concrete", "module": "_ast", "simpleName": "Mult", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231584": {"type": "Concrete", "module": "_ast", "simpleName": "MatMult", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569231920": {"type": "Concrete", "module": "_ast", "simpleName": "Pow", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569232256": {"type": "Concrete", "module": "_ast", "simpleName": "RShift", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569232592": {"type": "Concrete", "module": "_ast", "simpleName": "Sub", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569228224"}], "isAbstract": false}, "140042569233264": {"type": "Concrete", "module": "_ast", "simpleName": "Invert", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569233600": {"type": "Concrete", "module": "_ast", "simpleName": "Not", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569233936": {"type": "Concrete", "module": "_ast", "simpleName": "UAdd", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569234272": {"type": "Concrete", "module": "_ast", "simpleName": "USub", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569232928"}], "isAbstract": false}, "140042569234944": {"type": "Concrete", "module": "_ast", "simpleName": "Eq", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235280": {"type": "Concrete", "module": "_ast", "simpleName": "Gt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235616": {"type": "Concrete", "module": "_ast", "simpleName": "GtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569235952": {"type": "Concrete", "module": "_ast", "simpleName": "In", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569334848": {"type": "Concrete", "module": "_ast", "simpleName": "Is", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335184": {"type": "Concrete", "module": "_ast", "simpleName": "IsNot", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335520": {"type": "Concrete", "module": "_ast", "simpleName": "Lt", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569335856": {"type": "Concrete", "module": "_ast", "simpleName": "LtE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569336192": {"type": "Concrete", "module": "_ast", "simpleName": "NotEq", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569336528": {"type": "Concrete", "module": "_ast", "simpleName": "NotIn", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569234608"}], "isAbstract": false}, "140042569339552": {"type": "Concrete", "module": "_ast", "simpleName": "Match", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510378688"}}, {"kind": "Variable", "name": "subject", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "cases", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569340224"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569043632"}], "isAbstract": false}, "140042510378688": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569340224": {"type": "Concrete", "module": "_ast", "simpleName": "match_case", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379360"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569339888"}}, {"kind": "Variable", "name": "guard", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017136"}}, {"kind": "Variable", "name": "body", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569043632"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042510379360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569339888": {"type": "Concrete", "module": "_ast", "simpleName": "pattern", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042569017136": {"type": "Union", "items": [{"nodeId": "140042569052368"}, {"nodeId": "N"}]}, "140042569340560": {"type": "Concrete", "module": "_ast", "simpleName": "MatchValue", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379472"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510379472": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569340896": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSingleton", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510379808"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017248"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510379808": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569017248": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "N"}]}, "140042569341232": {"type": "Concrete", "module": "_ast", "simpleName": "MatchSequence", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510380144"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510380144": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569341568": {"type": "Concrete", "module": "_ast", "simpleName": "MatchStar", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510380480"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017584"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510380480": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042569017584": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569341904": {"type": "Concrete", "module": "_ast", "simpleName": "MatchMapping", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510381264"}}, {"kind": "Variable", "name": "keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569052368"}]}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}, {"kind": "Variable", "name": "rest", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017696"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510381264": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017696": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569342240": {"type": "Concrete", "module": "_ast", "simpleName": "MatchClass", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382048"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569052368"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}, {"kind": "Variable", "name": "kwd_attrs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "kwd_patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382048": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569342576": {"type": "Concrete", "module": "_ast", "simpleName": "MatchAs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017808"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569017920"}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382272": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042569017808": {"type": "Union", "items": [{"nodeId": "140042569339888"}, {"nodeId": "N"}]}, "140042569017920": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569342912": {"type": "Concrete", "module": "_ast", "simpleName": "MatchOr", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042510382496"}}, {"kind": "Variable", "name": "patterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569339888"}]}}], "typeVars": [], "bases": [{"nodeId": "140042569339888"}], "isAbstract": false}, "140042510382496": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}]}, "140042573220208": {"type": "Concrete", "module": "io", "simpleName": "UnsupportedOperation", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577375104"}, {"nodeId": "140042577642880"}], "isAbstract": false}, "140042573220880": {"type": "Concrete", "module": "io", "simpleName": "RawIOBase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709536"}, "name": "readall"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644709984"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644710432"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644710880"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042644709536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644709984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042561031296"}], "returnType": {"nodeId": "140042561031408"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031296": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042561031408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644710432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042561031520"}], "returnType": {"nodeId": "140042561031632"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031520": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042561031632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644710880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042561031744"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561031744": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042573221216": {"type": "Concrete", "module": "io", "simpleName": "BufferedIOBase", "members": [{"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573220880"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644711328"}, "name": "detach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644711776"}, "name": "readinto"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644712224"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644712672"}, "name": "readinto1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644713120"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644713568"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140042573220544"}], "isAbstract": false}, "140042644711328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}], "returnType": {"nodeId": "140042573220880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644711776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561031856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031856": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042644712224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561031968"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561031968": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644712672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561032080"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032080": {"type": "TypeAlias", "target": {"nodeId": "140042569013552"}}, "140042644713120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042561032192"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561032192": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042644713568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221216"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573221552": {"type": "Concrete", "module": "io", "simpleName": "FileIO", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "closefd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "opener", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644714016"}, "name": "__init__"}, {"kind": "Variable", "name": "closefd", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527174080"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644714912"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644715360"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644715808"}, "name": "__enter__"}], "typeVars": [], "bases": [{"nodeId": "140042573220880"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042569526496": {"type": "TypeAlias", "target": {"nodeId": "140042568907040"}}, "140042568907040": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042568906816"}]}, "140042568906816": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042644714016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042561032304"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561032528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "closefd", "opener"]}, "140042561032304": {"type": "TypeAlias", "target": {"nodeId": "140042568907040"}}, "140042561032528": {"type": "Union", "items": [{"nodeId": "140042561032416"}, {"nodeId": "N"}]}, "140042561032416": {"type": "TypeAlias", "target": {"nodeId": "140042586011040"}}, "140042586011040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042527174080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644714912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042561032640"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032640": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644715360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221552"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042644715808": {"type": "Function", "typeVars": [".-1.140042644715808"], "argTypes": [{"nodeId": ".-1.140042644715808"}], "returnType": {"nodeId": ".-1.140042644715808"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644715808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644715808", "variance": "INVARIANT"}, "140042573221888": {"type": "Concrete", "module": "io", "simpleName": "BytesIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644716256"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644716704"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644717152"}, "name": "getvalue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644652320"}, "name": "getbuffer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644652768"}, "name": "read1"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644716256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}, {"nodeId": "140042561032752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "initial_bytes"]}, "140042561032752": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042644716704": {"type": "Function", "typeVars": [".-1.140042644716704"], "argTypes": [{"nodeId": ".-1.140042644716704"}], "returnType": {"nodeId": ".-1.140042644716704"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644716704": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644716704", "variance": "INVARIANT"}, "140042644717152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644652320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}], "returnType": {"nodeId": "140042577367712"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042644652768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573221888"}, {"nodeId": "140042561032864"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042561032864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573222224": {"type": "Concrete", "module": "io", "simpleName": "BufferedReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644653216"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644653664"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644654112"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644653216": {"type": "Function", "typeVars": [".-1.140042644653216"], "argTypes": [{"nodeId": ".-1.140042644653216"}], "returnType": {"nodeId": ".-1.140042644653216"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644653216": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644653216", "variance": "INVARIANT"}, "140042644653664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222224"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140042644654112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222224"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573222560": {"type": "Concrete", "module": "io", "simpleName": "BufferedWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644654560"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655008"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655456"}, "name": "write"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}, {"nodeId": "140042577730176"}], "isAbstract": false}, "140042644654560": {"type": "Function", "typeVars": [".-1.140042644654560"], "argTypes": [{"nodeId": ".-1.140042644654560"}], "returnType": {"nodeId": ".-1.140042644654560"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644654560": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644654560", "variance": "INVARIANT"}, "140042644655008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222560"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "raw", "buffer_size"]}, "140042644655456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222560"}, {"nodeId": "140042561032976"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561032976": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042573222896": {"type": "Concrete", "module": "io", "simpleName": "BufferedRandom", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644655904"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644656352"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573222224"}, {"nodeId": "140042573222560"}], "isAbstract": false}, "140042644655904": {"type": "Function", "typeVars": [".-1.140042644655904"], "argTypes": [{"nodeId": ".-1.140042644655904"}], "returnType": {"nodeId": ".-1.140042644655904"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042644655904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042644655904", "variance": "INVARIANT"}, "140042644656352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573222896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", null, null]}, "140042573223232": {"type": "Concrete", "module": "io", "simpleName": "BufferedRWPair", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644656800"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644657248"}, "name": "peek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}], "isAbstract": false}, "140042644656800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223232"}, {"nodeId": "140042573220880"}, {"nodeId": "140042573220880"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "reader", "writer", "buffer_size"]}, "140042644657248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573223232"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042573224240": {"type": "Concrete", "module": "io", "simpleName": "StringIO", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644667104"}, "name": "__init__"}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644667552"}, "name": "getvalue"}], "typeVars": [], "bases": [{"nodeId": "140042573223904"}], "isAbstract": false}, "140042644667104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224240"}, {"nodeId": "140042561034096"}, {"nodeId": "140042561034208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "initial_value", "newline"]}, "140042561034096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561034208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042644667552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224240"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569637824": {"type": "Concrete", "module": "io", "simpleName": "IncrementalNewlineDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "translate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042644668000"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640113952"}, "name": "decode"}, {"kind": "Variable", "name": "newlines", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042527778720"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640114848"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042568800560"}], "isAbstract": false}, "140042644668000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034320"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "decoder", "translate", "errors"]}, "140042561034320": {"type": "Union", "items": [{"nodeId": "140042568800560"}, {"nodeId": "N"}]}, "140042568800560": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalDecoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611212576"}, "name": "__init__"}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518854368"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611213472"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611213920"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611214368"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042611212576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518854368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042556825088"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042556825088": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042611213472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611213920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}], "returnType": {"nodeId": "140042556825312"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556825312": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042611214368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800560"}, {"nodeId": "140042556825536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042556825536": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042640113952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034544"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042561034544": {"type": "Union", "items": [{"nodeId": "140042561034432"}, {"nodeId": "140042577367376"}]}, "140042561034432": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042527778720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}], "returnType": {"nodeId": "140042561034656"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561034656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042640114848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569637824"}, {"nodeId": "140042561034880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042561034880": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042573228608": {"type": "Concrete", "module": "importlib.abc", "simpleName": "Finder", "members": [], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573229280": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceLoader", "members": [{"kind": "Variable", "name": "get_data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531331136"}}], "typeVars": [], "bases": [{"nodeId": "140042573228944"}], "isAbstract": true}, "140042531331136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229280"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042573229616": {"type": "Concrete", "module": "importlib.abc", "simpleName": "InspectLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640118208"}, "name": "is_package"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640118656"}, "name": "get_code"}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531377376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640119552"}, "name": "exec_module"}, {"kind": "Variable", "name": "source_to_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531380736"}}], "typeVars": [], "bases": [{"nodeId": "140042573228944"}], "isAbstract": true}, "140042640118208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640118656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258544"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258544": {"type": "Union", "items": [{"nodeId": "140042578053488"}, {"nodeId": "N"}]}, "140042531377376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258656"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640119552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229616"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042531380736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561258880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578053488"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["data", "path"]}, "140042561258880": {"type": "Union", "items": [{"nodeId": "140042561258768"}, {"nodeId": "140042577367376"}]}, "140042561258768": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042573229952": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ExecutionLoader", "members": [{"kind": "Variable", "name": "get_filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531374464"}}], "typeVars": [], "bases": [{"nodeId": "140042573229616"}], "isAbstract": true}, "140042531374464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573229952"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042573230288": {"type": "Concrete", "module": "importlib.abc", "simpleName": "SourceLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640120896"}, "name": "path_mtime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640121344"}, "name": "set_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640121792"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640122240"}, "name": "path_stats"}], "typeVars": [], "bases": [{"nodeId": "140042573229280"}, {"nodeId": "140042573229952"}], "isAbstract": true}, "140042640120896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577366032"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640121344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "data"]}, "140042640121792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561258992"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561258992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640122240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230288"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042573230624": {"type": "Concrete", "module": "importlib.abc", "simpleName": "MetaPathFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640122688"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640123136"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640123584"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042573228608"}], "isAbstract": false}, "140042640122688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561259216"}], "returnType": {"nodeId": "140042561259328"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140042561259216": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561259328": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640123136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640123584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230624"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561259440"}, {"nodeId": "140042561259552"}], "returnType": {"nodeId": "140042561259664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "path", "target"]}, "140042561259440": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561259552": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561259664": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573230960": {"type": "Concrete", "module": "importlib.abc", "simpleName": "PathEntryFinder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124032"}, "name": "find_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124480"}, "name": "find_loader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640124928"}, "name": "invalidate_caches"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640125376"}, "name": "find_spec"}], "typeVars": [], "bases": [{"nodeId": "140042573228608"}], "isAbstract": false}, "140042640124032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561259776"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561259776": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640124480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561260112"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042561260112": {"type": "Tuple", "items": [{"nodeId": "140042561259888"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}]}, "140042561259888": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042640124928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640125376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573230960"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561260224"}], "returnType": {"nodeId": "140042561260336"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "fullname", "target"]}, "140042561260224": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561260336": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573231296": {"type": "Concrete", "module": "importlib.abc", "simpleName": "FileLoader", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640125824"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640126272"}, "name": "get_data"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640126720"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640127168"}, "name": "load_module"}], "typeVars": [], "bases": [{"nodeId": "140042573229280"}, {"nodeId": "140042573229952"}], "isAbstract": true}, "140042640125824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fullname", "path"]}, "140042640126272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640126720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042561260448"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561260448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640127168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231296"}, {"nodeId": "140042561260560"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561260560": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573231632": {"type": "Concrete", "module": "importlib.abc", "simpleName": "ResourceReader", "members": [{"kind": "Variable", "name": "open_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531417312"}}, {"kind": "Variable", "name": "resource_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531416416"}}, {"kind": "Variable", "name": "is_resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531415744"}}, {"kind": "Variable", "name": "contents", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531414400"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042531417312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042531416416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042531415744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042531414400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231632"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573231968": {"type": "Protocol", "module": "importlib.abc", "simpleName": "Traversable", "members": [{"kind": "Variable", "name": "is_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531413504"}}, {"kind": "Variable", "name": "is_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531406784"}}, {"kind": "Variable", "name": "iterdir", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531319232"}}, {"kind": "Variable", "name": "joinpath", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531321248"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561258208"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531320128"}}, {"kind": "Variable", "name": "__truediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531529312"}}, {"kind": "Variable", "name": "read_bytes", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531532224"}}, {"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531531328"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__truediv__", "is_dir", "is_file", "iterdir", "joinpath", "name", "open", "read_bytes", "read_text"]}, "140042531413504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531406784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531319232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573231968"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531321248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "child"]}, "140042561258208": {"type": "Overloaded", "items": [{"nodeId": "140042640197888"}, {"nodeId": "140042640198336"}, {"nodeId": "140042640198784"}, {"nodeId": "140042640199232"}, {"nodeId": "140042640199680"}, {"nodeId": "140042640200128"}, {"nodeId": "140042640200576"}]}, "140042640197888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561260784"}, {"nodeId": "140042577365696"}, {"nodeId": "140042561260896"}, {"nodeId": "140042561261008"}, {"nodeId": "140042561261120"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561260784": {"type": "TypeAlias", "target": {"nodeId": "140042568901776"}}, "140042568901776": {"type": "Union", "items": [{"nodeId": "140042568903680"}, {"nodeId": "140042568903792"}, {"nodeId": "140042568901664"}]}, "140042568903680": {"type": "TypeAlias", "target": {"nodeId": "140042568901216"}}, "140042568901216": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568903792": {"type": "TypeAlias", "target": {"nodeId": "140042568903344"}}, "140042568903344": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568901664": {"type": "TypeAlias", "target": {"nodeId": "140042568905360"}}, "140042568905360": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042561260896": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561261008": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561261120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640198336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561261344"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573221552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561261344": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042569008288": {"type": "Union", "items": [{"nodeId": "140042568906592"}, {"nodeId": "140042568906704"}, {"nodeId": "140042569007280"}]}, "140042568906592": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042568905584": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042568906704": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042569008400": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042569007280": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042569008176": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042640198784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561261456"}, {"nodeId": "140042561262800"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561261456": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042561262800": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640199232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561264032"}, {"nodeId": "140042561264144"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561264032": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042561264144": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640199680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561265152"}, {"nodeId": "140042561261904"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561265152": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042561261904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042640200128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561262912"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561262912": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042640200576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042561262464"}, {"nodeId": "140042561264256"}, {"nodeId": "140042561265040"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042561262464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561264256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042561265040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042531320128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531529312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042531532224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531531328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573231968"}, {"nodeId": "140042561263136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140042561263136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573232304": {"type": "Concrete", "module": "importlib.abc", "simpleName": "TraversableResources", "members": [{"kind": "Variable", "name": "files", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527175648"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640203264"}, "name": "open_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resource", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640203712"}, "name": "resource_path"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640204160"}, "name": "is_resource"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640204608"}, "name": "contents"}], "typeVars": [], "bases": [{"nodeId": "140042573231632"}], "isAbstract": true}, "140042527175648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}], "returnType": {"nodeId": "140042573231968"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640203264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042640203712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "resource"]}, "140042640204160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042640204608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573232304"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569629760": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "BuiltinImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523057440"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523057888"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056992"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056544"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042523056096"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527779616"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527779168"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527777376"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527776928"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}, {"nodeId": "140042573229616"}], "isAbstract": false}, "140042523057440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561041936"}], "returnType": {"nodeId": "140042561042048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561041936": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042048": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042523057888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042160"}, {"nodeId": "140042561042272"}], "returnType": {"nodeId": "140042561042384"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561042160": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042272": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561042384": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042523056992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042523056544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042523056096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527779616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527779168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042527777376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561042496"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140042561042496": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042527776928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042569630096": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FrozenImporter", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527775584"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527772224"}}, {"kind": "Variable", "name": "is_package", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527774464"}}, {"kind": "Variable", "name": "load_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527771104"}}, {"kind": "Variable", "name": "get_code", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527772448"}}, {"kind": "Variable", "name": "get_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527773792"}}, {"kind": "Variable", "name": "module_repr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527774016"}}, {"kind": "Variable", "name": "create_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527771776"}}, {"kind": "Variable", "name": "exec_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527769312"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}, {"nodeId": "140042573229616"}], "isAbstract": false}, "140042527775584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042608"}], "returnType": {"nodeId": "140042561042720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561042608": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042720": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042527772224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561042832"}, {"nodeId": "140042561042944"}], "returnType": {"nodeId": "140042561043056"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561042832": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561042944": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561043056": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042527774464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527771104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527772448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527773792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "fullname"]}, "140042527774016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["m"]}, "140042527771776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042561043168"}, "argKinds": ["ARG_POS"], "argNames": ["spec"]}, "140042561043168": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042527769312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["module"]}, "140042569630432": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "WindowsRegistryFinder", "members": [{"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527769536"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527768640"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}], "isAbstract": false}, "140042527769536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043280"}], "returnType": {"nodeId": "140042561043392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561043280": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043392": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042527768640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043504"}, {"nodeId": "140042561043616"}], "returnType": {"nodeId": "140042561043728"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561043504": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043616": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561043728": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042573228272": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "PathFinder", "members": [{"kind": "Variable", "name": "invalidate_caches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527667168"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527668288"}}, {"kind": "Variable", "name": "find_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527668736"}}, {"kind": "Variable", "name": "find_module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527666048"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042527667168": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140042527668288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227600"}]}, "argKinds": ["ARG_OPT"], "argNames": ["context"]}, "140042569350304": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder.Context", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603680"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611674464"}, "name": "__init__"}, {"kind": "Variable", "name": "path", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522734240"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042564603680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042611674464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}, {"nodeId": "140042561038912"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "name", "path", "kwargs"]}, "140042561038912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522734240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573227600": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PathDistribution", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611676704"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611677152"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611677600"}, "name": "locate_file"}], "typeVars": [], "bases": [{"nodeId": "140042573227264"}], "isAbstract": false}, "140042611676704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042569636816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042569636816": {"type": "Concrete", "module": "pathlib", "simpleName": "Path", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560555712"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585572736"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585573184"}, "name": "__exit__"}, {"kind": "Variable", "name": "cwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531116576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585574080"}, "name": "stat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "follow_symlinks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585574528"}, "name": "chmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585575872"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585576320"}, "name": "glob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585576768"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585577216"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585577664"}, "name": "is_symlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585578112"}, "name": "is_socket"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585578560"}, "name": "is_fifo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579008"}, "name": "is_block_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579456"}, "name": "is_char_device"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585579904"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585580352"}, "name": "lchmod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585580800"}, "name": "lstat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parents", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585581248"}, "name": "mkdir"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042560522272"}, "items": [{"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "open", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585584832"}, "name": "owner"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585585280"}, "name": "group"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585585728"}, "name": "is_mount"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585586176"}, "name": "readlink"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585586624"}, "name": "rename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585587072"}, "name": "replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585703360"}, "name": "resolve"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585703808"}, "name": "rglob"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585704256"}, "name": "rmdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target_is_directory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585704704"}, "name": "symlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585705152"}, "name": "hardlink_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exist_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585705600"}, "name": "touch"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "missing_ok", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585706048"}, "name": "unlink"}, {"kind": "Variable", "name": "home", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042531119040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585707392"}, "name": "absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585707840"}, "name": "expanduser"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585708288"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585708736"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585709184"}, "name": "samefile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585709632"}, "name": "write_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585710080"}, "name": "write_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585710976"}, "name": "link_to"}], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042560555712": {"type": "Function", "typeVars": [".-1.140042560555712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042560527872"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042560555712"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", "args", "kwargs"]}, "140042560527872": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042560555712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560555712", "variance": "INVARIANT"}, "140042585572736": {"type": "Function", "typeVars": [".-1.140042585572736"], "argTypes": [{"nodeId": ".-1.140042585572736"}], "returnType": {"nodeId": ".-1.140042585572736"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042585572736": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585572736", "variance": "INVARIANT"}, "140042585573184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560528096"}, {"nodeId": "140042560528208"}, {"nodeId": "140042560528320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042560528096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042560528208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042560528320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042531116576": {"type": "Function", "typeVars": [".-1.140042531116576"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042531116576"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042531116576": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531116576", "variance": "INVARIANT"}, "140042585574080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042560528432"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "follow_symlinks"]}, "140042560528432": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042585574528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "follow_symlinks"]}, "140042585575872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585576320": {"type": "Function", "typeVars": [".-1.140042585576320"], "argTypes": [{"nodeId": ".-1.140042585576320"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585576320"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140042585576320": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585576320", "variance": "INVARIANT"}, "140042585576768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585577216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585577664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585578112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585578560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585579904": {"type": "Function", "typeVars": [".-1.140042585579904"], "argTypes": [{"nodeId": ".-1.140042585579904"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585579904"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585579904": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585579904", "variance": "INVARIANT"}, "140042585580352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "mode"]}, "140042585580800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042560528544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560528544": {"type": "TypeAlias", "target": {"nodeId": "140042564600432"}}, "140042585581248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "parents", "exist_ok"]}, "140042560522272": {"type": "Overloaded", "items": [{"nodeId": "140042585581696"}, {"nodeId": "140042585582144"}, {"nodeId": "140042585582592"}, {"nodeId": "140042585583040"}, {"nodeId": "140042585583488"}, {"nodeId": "140042585583936"}, {"nodeId": "140042585584384"}]}, "140042585581696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560528768"}, {"nodeId": "140042577365696"}, {"nodeId": "140042560528880"}, {"nodeId": "140042560528992"}, {"nodeId": "140042560529104"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560528768": {"type": "TypeAlias", "target": {"nodeId": "140042568901776"}}, "140042560528880": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560528992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560529104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585582144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560529328"}, {"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573221552"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560529328": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042585582592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560529440"}, {"nodeId": "140042560530784"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222896"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560529440": {"type": "TypeAlias", "target": {"nodeId": "140042568905584"}}, "140042560530784": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560532016"}, {"nodeId": "140042560532128"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222560"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560532016": {"type": "TypeAlias", "target": {"nodeId": "140042569008176"}}, "140042560532128": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560533136"}, {"nodeId": "140042560529888"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042573222224"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560533136": {"type": "TypeAlias", "target": {"nodeId": "140042569008400"}}, "140042560529888": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}]}, "140042585583936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530896"}, {"nodeId": "140042577365696"}, {"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042577730176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560530896": {"type": "TypeAlias", "target": {"nodeId": "140042569008288"}}, "140042585584384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042560530448"}, {"nodeId": "140042560532240"}, {"nodeId": "140042560533024"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "buffering", "encoding", "errors", "newline"]}, "140042560530448": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560532240": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560533024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585584832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585585280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585585728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585586176": {"type": "Function", "typeVars": [".-1.140042585586176"], "argTypes": [{"nodeId": ".-1.140042585586176"}], "returnType": {"nodeId": ".-1.140042585586176"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585586176": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585586176", "variance": "INVARIANT"}, "140042585586624": {"type": "Function", "typeVars": [".-1.140042585586624"], "argTypes": [{"nodeId": ".-1.140042585586624"}, {"nodeId": "140042560531120"}], "returnType": {"nodeId": ".-1.140042585586624"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140042585586624": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585586624", "variance": "INVARIANT"}, "140042560531120": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569635808"}]}, "140042569635808": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePath", "members": [{"kind": "Variable", "name": "parts", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060448"}}, {"kind": "Variable", "name": "drive", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060000"}}, {"kind": "Variable", "name": "root", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531060224"}}, {"kind": "Variable", "name": "anchor", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059552"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059328"}}, {"kind": "Variable", "name": "suffix", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531059104"}}, {"kind": "Variable", "name": "suffixes", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531058880"}}, {"kind": "Variable", "name": "stem", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531058656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560553920"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608000"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608448"}, "name": "__fspath__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590608896"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590609344"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590609792"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590610240"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554592"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554816"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590611584"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612032"}, "name": "as_posix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612480"}, "name": "as_uri"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590612928"}, "name": "is_absolute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590613376"}, "name": "is_reserved"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590613824"}, "name": "is_relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590614272"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560554368"}, "name": "relative_to"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590615168"}, "name": "with_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stem", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590615616"}, "name": "with_stem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590616064"}, "name": "with_suffix"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042560555488"}, "name": "joinpath"}, {"kind": "Variable", "name": "parents", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531053280"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042531055520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585571840"}, "name": "__class_getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042531060448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531060000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531060224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531059104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531058880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042531058656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042560553920": {"type": "Function", "typeVars": [".-1.140042560553920"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042560527088"}], "returnType": {"nodeId": ".-1.140042560553920"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042560527088": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, ".-1.140042560553920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560553920", "variance": "INVARIANT"}, "140042590608000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590608448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590608896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590609344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590609792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590610240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042560554592": {"type": "Function", "typeVars": [".-1.140042560554592"], "argTypes": [{"nodeId": ".-1.140042560554592"}, {"nodeId": "140042560527200"}], "returnType": {"nodeId": ".-1.140042560554592"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042560554592": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554592", "variance": "INVARIANT"}, "140042560527200": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042560554816": {"type": "Function", "typeVars": [".-1.140042560554816"], "argTypes": [{"nodeId": ".-1.140042560554816"}, {"nodeId": "140042560527312"}], "returnType": {"nodeId": ".-1.140042560554816"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, ".-1.140042560554816": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554816", "variance": "INVARIANT"}, "140042560527312": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590611584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590612928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590613376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590613824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042560527424"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140042560527424": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590614272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635808"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path_pattern"]}, "140042560554368": {"type": "Function", "typeVars": [".-1.140042560554368"], "argTypes": [{"nodeId": ".-1.140042560554368"}, {"nodeId": "140042560527536"}], "returnType": {"nodeId": ".-1.140042560554368"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140042560554368": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560554368", "variance": "INVARIANT"}, "140042560527536": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042590615168": {"type": "Function", "typeVars": [".-1.140042590615168"], "argTypes": [{"nodeId": ".-1.140042590615168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590615168"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, ".-1.140042590615168": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590615168", "variance": "INVARIANT"}, "140042590615616": {"type": "Function", "typeVars": [".-1.140042590615616"], "argTypes": [{"nodeId": ".-1.140042590615616"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590615616"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stem"]}, ".-1.140042590615616": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590615616", "variance": "INVARIANT"}, "140042590616064": {"type": "Function", "typeVars": [".-1.140042590616064"], "argTypes": [{"nodeId": ".-1.140042590616064"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042590616064"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140042590616064": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590616064", "variance": "INVARIANT"}, "140042560555488": {"type": "Function", "typeVars": [".-1.140042560555488"], "argTypes": [{"nodeId": ".-1.140042560555488"}, {"nodeId": "140042560527648"}], "returnType": {"nodeId": ".-1.140042560555488"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, ".-1.140042560555488": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042560555488", "variance": "INVARIANT"}, "140042560527648": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042531053280": {"type": "Function", "typeVars": [".-1.140042531053280"], "argTypes": [{"nodeId": ".-1.140042531053280"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": ".-1.140042531053280"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042531053280": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531053280", "variance": "INVARIANT"}, "140042531055520": {"type": "Function", "typeVars": [".-1.140042531055520"], "argTypes": [{"nodeId": ".-1.140042531055520"}], "returnType": {"nodeId": ".-1.140042531055520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042531055520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531055520", "variance": "INVARIANT"}, "140042585571840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "type"]}, "140042585587072": {"type": "Function", "typeVars": [".-1.140042585587072"], "argTypes": [{"nodeId": ".-1.140042585587072"}, {"nodeId": "140042560533808"}], "returnType": {"nodeId": ".-1.140042585587072"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, ".-1.140042585587072": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585587072", "variance": "INVARIANT"}, "140042560533808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569635808"}]}, "140042585703360": {"type": "Function", "typeVars": [".-1.140042585703360"], "argTypes": [{"nodeId": ".-1.140042585703360"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": ".-1.140042585703360"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "strict"]}, ".-1.140042585703360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585703360", "variance": "INVARIANT"}, "140042585703808": {"type": "Function", "typeVars": [".-1.140042585703808"], "argTypes": [{"nodeId": ".-1.140042585703808"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042585703808"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pattern"]}, ".-1.140042585703808": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585703808", "variance": "INVARIANT"}, "140042585704256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585704704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531008"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "target_is_directory"]}, "140042560531008": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569636816"}]}, "140042585705152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140042560531344": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042569636816"}]}, "140042585705600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mode", "exist_ok"]}, "140042585706048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "missing_ok"]}, "140042531119040": {"type": "Function", "typeVars": [".-1.140042531119040"], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": ".-1.140042531119040"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, ".-1.140042531119040": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042531119040", "variance": "INVARIANT"}, "140042585707392": {"type": "Function", "typeVars": [".-1.140042585707392"], "argTypes": [{"nodeId": ".-1.140042585707392"}], "returnType": {"nodeId": ".-1.140042585707392"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585707392": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585707392", "variance": "INVARIANT"}, "140042585707840": {"type": "Function", "typeVars": [".-1.140042585707840"], "argTypes": [{"nodeId": ".-1.140042585707840"}], "returnType": {"nodeId": ".-1.140042585707840"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042585707840": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585707840", "variance": "INVARIANT"}, "140042585708288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585708736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560533920"}, {"nodeId": "140042560529776"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors"]}, "140042560533920": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560529776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585709184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530224"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other_path"]}, "140042560530224": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042585709632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560530336"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042560530336": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042585710080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560531232"}, {"nodeId": "140042560531456"}, {"nodeId": "140042560531568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "data", "encoding", "errors", "newline"]}, "140042560531232": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560531456": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042560531568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042585710976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569636816"}, {"nodeId": "140042560531680"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "target"]}, "140042560531680": {"type": "TypeAlias", "target": {"nodeId": "140042568896624"}}, "140042611677152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042561039136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140042561039136": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042611677600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227600"}, {"nodeId": "140042561039248"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042561039248": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042573227264": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "Distribution", "members": [{"kind": "Variable", "name": "read_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522737824"}}, {"kind": "Variable", "name": "locate_file", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522737376"}}, {"kind": "Variable", "name": "from_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522736480"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561036224"}, "items": [{"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "discover", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "discover"}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522736704"}}, {"kind": "Variable", "name": "metadata", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522736032"}}, {"kind": "Variable", "name": "entry_points", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522736928"}}, {"kind": "Variable", "name": "version", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735808"}}, {"kind": "Variable", "name": "files", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735584"}}, {"kind": "Variable", "name": "requires", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735360"}}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522735136"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042522737824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561038016"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filename"]}, "140042561038016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522737376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}, {"nodeId": "140042561038128"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "path"]}, "140042561038128": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042522736480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573227264"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "name"]}, "140042561036224": {"type": "Overloaded", "items": [{"nodeId": "140042611718432"}, {"nodeId": "140042611718880"}]}, "140042611718432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_NAMED"], "argNames": ["cls", "context"]}, "140042611718880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "N"}, {"nodeId": "140042561038352"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["cls", "context", "name", "path", "kwargs"]}, "140042561038352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042522736704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561038576"}], "returnType": {"nodeId": "140042573227600"}, "argKinds": ["ARG_POS"], "argNames": ["path"]}, "140042561038576": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042522736032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042573224576"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573224576": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "PackageMetadata", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590422848"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590423296"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590423744"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590424192"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590424640"}, "name": "get_all"}, {"kind": "Variable", "name": "json", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522824480"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__contains__", "__getitem__", "__iter__", "__len__", "get_all", "json"]}, "140042590422848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590423296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590423744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590424192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590424640": {"type": "Function", "typeVars": [".-1.140042590424640"], "argTypes": [{"nodeId": "140042573224576"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590424640"}], "returnType": {"nodeId": "140042561035664"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590424640": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590424640", "variance": "INVARIANT"}, "140042561035664": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": ".-1.140042590424640"}]}, "140042522824480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224576"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042561035776"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561035776": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042522736928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573226256": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoints", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611711264"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611711712"}, "name": "select"}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522758944"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522760960"}}], "typeVars": [], "bases": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042573244768"}]}], "isAbstract": false}, "140042611711264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}, {"nodeId": "140042561036896"}], "returnType": {"nodeId": "140042561037680"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561036896": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042561037680": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, "140042569524592": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611711712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042522758944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522760960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226256"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573244768": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, "140042522735808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522735584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042561038688"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561038688": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042569638160"}]}, {"nodeId": "N"}]}, "140042569638160": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackagePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611715296"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611715744"}, "name": "read_binary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611716192"}, "name": "locate"}, {"kind": "Variable", "name": "hash", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569524368"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569526384"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573227264"}}], "typeVars": [], "bases": [{"nodeId": "140042569636144"}], "isAbstract": false}, "140042611715296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "encoding"]}, "140042611715744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611716192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638160"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569524368": {"type": "Union", "items": [{"nodeId": "140042573226928"}, {"nodeId": "N"}]}, "140042573226928": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "FileHash", "members": [{"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611716640"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042611716640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226928"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042569526384": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569636144": {"type": "Concrete", "module": "pathlib", "simpleName": "PurePosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042522735360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042561038800"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561038800": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042522735136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573227264"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042527668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561043840"}, {"nodeId": "140042561043952"}], "returnType": {"nodeId": "140042561044064"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["cls", "fullname", "path", "target"]}, "140042561043840": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561043952": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042561044064": {"type": "Union", "items": [{"nodeId": "140042573227936"}, {"nodeId": "N"}]}, "140042527666048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561044176"}], "returnType": {"nodeId": "140042561044288"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["cls", "fullname", "path"]}, "140042561044176": {"type": "Union", "items": [{"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042561044288": {"type": "Union", "items": [{"nodeId": "140042573228944"}, {"nodeId": "N"}]}, "140042569630768": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "FileFinder", "members": [{"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "loader_details", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640319072"}, "name": "__init__"}, {"kind": "Variable", "name": "path_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042527664704"}}], "typeVars": [], "bases": [{"nodeId": "140042573230960"}], "isAbstract": false}, "140042640319072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569630768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561257648"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR"], "argNames": ["self", "path", "loader_details"]}, "140042561257648": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042527664704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042561257872"}], "returnType": {"nodeId": "140042560946912"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "loader_details"]}, "140042561257872": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042560946912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042573230960"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042569631104": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourceFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640319968"}, "name": "set_data"}], "typeVars": [], "bases": [{"nodeId": "140042573231296"}, {"nodeId": "140042573230288"}], "isAbstract": false}, "140042640319968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561257984"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "path", "data", "_mode"]}, "140042561257984": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569631440": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "SourcelessFileLoader", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573231296"}, {"nodeId": "140042573230288"}], "isAbstract": false}, "140042569631776": {"type": "Concrete", "module": "importlib.machinery", "simpleName": "ExtensionFileLoader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640320416"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640320864"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640321312"}, "name": "get_source"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640321760"}, "name": "create_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640322208"}, "name": "exec_module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fullname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640322656"}, "name": "get_code"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640323104"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042573229952"}], "isAbstract": false}, "140042640320416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "path"]}, "140042640320864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042561258096"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042561258096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042640321312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640321760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042573227936"}], "returnType": {"nodeId": "140042578054832"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "spec"]}, "140042640322208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042578054832"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "module"]}, "140042640322656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fullname"]}, "140042640323104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569631776"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042578066256": {"type": "Protocol", "module": "pickle", "simpleName": "_ReadableFileobj", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640324224"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640324672"}, "name": "readline"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "readline"]}, "140042640324224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066256"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042640324672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066256"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042578066928": {"type": "Concrete", "module": "pickle", "simpleName": "PickleError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573217856": {"type": "Concrete", "module": "pickle", "simpleName": "PicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042578066928"}], "isAbstract": false}, "140042573218192": {"type": "Concrete", "module": "pickle", "simpleName": "UnpicklingError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042578066928"}], "isAbstract": false}, "140042573218528": {"type": "Concrete", "module": "pickle", "simpleName": "Pickler", "members": [{"kind": "Variable", "name": "fast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dispatch_table", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577365024"}, {"nodeId": "140042586009696"}]}}, {"kind": "Variable", "name": "bin", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365024"}, {"nodeId": "140042586003424"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "protocol", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer_callback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640625216"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640625664"}, "name": "reducer_override"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640626560"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627008"}, "name": "clear_memo"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627456"}, "name": "persistent_id"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586009696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": "140042573001472"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573001472": {"type": "TypeAlias", "target": {"nodeId": "140042573236928"}}, "140042573236928": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573004608"}, {"nodeId": "140042573234800"}, {"nodeId": "140042573235696"}, {"nodeId": "140042573236816"}]}, "140042573004608": {"type": "Tuple", "items": [{"nodeId": "140042577222944"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042577222944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573234800": {"type": "Tuple", "items": [{"nodeId": "140042577223392"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}]}, "140042577223392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573235696": {"type": "Tuple", "items": [{"nodeId": "140042586011712"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042573235584"}]}, "140042586011712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573235584": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042573236816": {"type": "Tuple", "items": [{"nodeId": "140042586011264"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042573236480"}, {"nodeId": "140042573236704"}]}, "140042586011264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042573236480": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042573236704": {"type": "Union", "items": [{"nodeId": "140042782780976", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042586003424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042573218864": {"type": "Concrete", "module": "pickle", "simpleName": "Unpickler", "members": [{"kind": "Variable", "name": "dispatch", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042586008128"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_imports", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffers", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640627904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640628800"}, "name": "load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__module_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__global_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640629248"}, "name": "find_class"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640629696"}, "name": "persistent_load"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586008128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640627904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "140042578066256"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560526304"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "fix_imports", "encoding", "errors", "buffers"]}, "140042560526304": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042640628800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640629248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042640629696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218864"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "pid"]}, "140042640625216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "140042569039936", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "140042560525408"}, {"nodeId": "140042782776944"}, {"nodeId": "140042560525520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "file", "protocol", "fix_imports", "buffer_callback"]}, "140042560525408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042560525520": {"type": "TypeAlias", "target": {"nodeId": "140042572996208"}}, "140042572996208": {"type": "Union", "items": [{"nodeId": "140042577225184"}, {"nodeId": "N"}]}, "140042577225184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578066592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640625664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640626560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042640627008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640627456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573218528"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042498340704": {"type": "Concrete", "module": "__future__", "simpleName": "_Feature", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "optionalRelease", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mandatoryRelease", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compiler_flag", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640893408"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640893856"}, "name": "getOptionalRelease"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640894304"}, "name": "getMandatoryRelease"}, {"kind": "Variable", "name": "compiler_flag", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042640893408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}, {"nodeId": "140042485582528"}, {"nodeId": "140042485582752"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "optionalRelease", "mandatoryRelease", "compiler_flag"]}, "140042485582528": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042485581744": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042485582752": {"type": "Union", "items": [{"nodeId": "140042485582640"}, {"nodeId": "N"}]}, "140042485582640": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042640893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}], "returnType": {"nodeId": "140042485582864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485582864": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042640894304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340704"}], "returnType": {"nodeId": "140042485583088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485583088": {"type": "Union", "items": [{"nodeId": "140042485582976"}, {"nodeId": "N"}]}, "140042485582976": {"type": "TypeAlias", "target": {"nodeId": "140042485581744"}}, "140042464395328": {"type": "Concrete", "module": "numpy.ma.mrecords", "simpleName": "MaskedRecords", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shape", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buf", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strides", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "formats", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "titles", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "byteorder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "aligned", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hard_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keep_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "copy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "options", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640922256"}, "name": "__new__"}, {"kind": "Variable", "name": "_mask", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_data", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519228512"}}, {"kind": "Variable", "name": "_fieldmask", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042519228960"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923072"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923344"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923616"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640923888"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924160"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924432"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924704"}, "name": "view"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640924976"}, "name": "harden_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925248"}, "name": "soften_mask"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925520"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640925792"}, "name": "tolist"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640926064"}, "name": "__reduce__"}], "typeVars": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "isAbstract": false}, "140042640922256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_STAR_2"], "argNames": ["cls", "shape", "dtype", "buf", "offset", "strides", "formats", "names", "titles", "byteorder", "aligned", "mask", "hard_mask", "fill_value", "keep_mask", "copy", "options"]}, "140042519228512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042464395328": {"type": "TypeVar", "varName": "_ShapeType", "values": [], "upperBound": {"nodeId": "A"}, "def": "140042464395328", "variance": "INVARIANT"}, ".2.140042464395328": {"type": "TypeVar", "varName": "_DType_co", "values": [], "upperBound": {"nodeId": "140042468653568", "args": [{"nodeId": "A"}]}, "def": "140042464395328", "variance": "COVARIANT"}, "140042519228960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328", "args": [{"nodeId": ".1.140042464395328"}, {"nodeId": ".2.140042464395328"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640923072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042640923344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042640923616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640923888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "val"]}, "140042640924160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042640924432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042640924704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dtype", "type"]}, "140042640924976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042640925792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "fill_value"]}, "140042640926064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042464395328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498336672": {"type": "Concrete", "module": "zipfile", "simpleName": "BadZipFile", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042498337008": {"type": "Concrete", "module": "zipfile", "simpleName": "LargeZipFile", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042498337344": {"type": "Protocol", "module": "zipfile", "simpleName": "_ZipStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640896992"}, "name": "read"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read"]}, "140042640896992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337344"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042498337680": {"type": "Protocol", "module": "zipfile", "simpleName": "_SupportsReadSeekTell", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640897440"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__cookie", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640897888"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640898336"}, "name": "tell"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["read", "seek", "tell"]}, "140042640897440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042640897888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042640898336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498337680"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498338016": {"type": "Protocol", "module": "zipfile", "simpleName": "_ClosableZipStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042640898784"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042498337344"}], "protocolMembers": ["close", "read"]}, "140042640898784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338016"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042498338352": {"type": "Concrete", "module": "zipfile", "simpleName": "ZipExtFile", "members": [{"kind": "Variable", "name": "MAX_N", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MIN_READ_SIZE", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "MAX_SEEK_READ", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "newlines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485118480"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485115344"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042485119040"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636067552"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "limit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068000"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068448"}, "name": "peek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636068896"}, "name": "read1"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636069344"}, "name": "seek"}], "typeVars": [], "bases": [{"nodeId": "140042573221216"}], "isAbstract": false}, "140042485118480": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, {"nodeId": "N"}]}, "140042485115344": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119040": {"type": "Overloaded", "items": [{"nodeId": "140042640899232"}, {"nodeId": "140042640899680"}, {"nodeId": "140042636067104"}]}, "140042640899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498338016"}, {"nodeId": "140042485119712"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485115120"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485119712": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485115120": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042640899680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498338016"}, {"nodeId": "140042485119936"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485119600"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485119936": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119600": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636067104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042498337344"}, {"nodeId": "140042485120272"}, {"nodeId": "140042498339696"}, {"nodeId": "140042485119824"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "fileobj", "mode", "zipinfo", "pwd", "close_fileobj"]}, "140042485120272": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485119824": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636067552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042485120608"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042485120608": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636068000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "limit"]}, "140042636068448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042636068896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042485120160"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n"]}, "140042485120160": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042636069344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498338352"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042498339360": {"type": "Concrete", "module": "zipfile", "simpleName": "PyZipFile", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "file", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compression", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allowZip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "optimize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636079200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "basename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filterfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636079648"}, "name": "writepy"}], "typeVars": [], "bases": [{"nodeId": "140042498339024"}], "isAbstract": false}, "140042636079200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339360"}, {"nodeId": "140042485616080"}, {"nodeId": "140042485616192"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "file", "mode", "compression", "allowZip64", "optimize"]}, "140042485616080": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485616192": {"type": "TypeAlias", "target": {"nodeId": "140042485116912"}}, "140042636079648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498339360"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042485616528"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "pathname", "basename", "filterfunc"]}, "140042485616528": {"type": "Union", "items": [{"nodeId": "140042485457952"}, {"nodeId": "N"}]}, "140042485457952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042498340032": {"type": "Protocol", "module": "zipfile", "simpleName": "_PathOpenProtocol", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "force_zip64", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636082336"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042636082336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340032"}, {"nodeId": "140042485616976"}, {"nodeId": "140042485617088"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "mode", "pwd", "force_zip64"]}, "140042485616976": {"type": "TypeAlias", "target": {"nodeId": "140042485115568"}}, "140042485617088": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042498340368": {"type": "Concrete", "module": "zipfile", "simpleName": "Path", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485360544"}}, {"kind": "Variable", "name": "parent", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485360096"}}, {"kind": "Variable", "name": "filename", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485359424"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "at", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636265952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pwd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636266400"}, "name": "open"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636267296"}, "name": "iterdir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636267744"}, "name": "is_dir"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636268192"}, "name": "is_file"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636268640"}, "name": "exists"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "newline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line_buffering", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "write_through", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269088"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269536"}, "name": "read_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636269984"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "add", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636270880"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485360544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485360096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485359424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042569346944", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636265952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617312"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "root", "at"]}, "140042485617312": {"type": "Union", "items": [{"nodeId": "140042498339024"}, {"nodeId": "140042485617200"}, {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}]}, "140042485617200": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042636266400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617424"}, {"nodeId": "A"}, {"nodeId": "140042485617648"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577729840", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "mode", "args", "pwd", "kwargs"]}, "140042485617424": {"type": "TypeAlias", "target": {"nodeId": "140042485116352"}}, "140042485116352": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042485617648": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042636267296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042498340368"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636267744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636268192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636268640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636269088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485618096"}, {"nodeId": "140042485618208"}, {"nodeId": "140042485617872"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "encoding", "errors", "newline", "line_buffering", "write_through"]}, "140042485618096": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485618208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485617872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042636269536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042636269984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485617984"}], "returnType": {"nodeId": "140042498340368"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["self", "other"]}, "140042485617984": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042636270880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498340368"}, {"nodeId": "140042485618320"}], "returnType": {"nodeId": "140042498340368"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042485618320": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042498331632": {"type": "Concrete", "module": "ast", "simpleName": "_ABC", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636272224"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577365024"}], "isAbstract": false}, "140042636272224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498331632"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": ["cls", "args"]}, "140042498331968": {"type": "Concrete", "module": "ast", "simpleName": "Num", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042484919408"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042484919408": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577366032"}, {"nodeId": "140042577366368"}]}, "140042498332304": {"type": "Concrete", "module": "ast", "simpleName": "Str", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498332640": {"type": "Concrete", "module": "ast", "simpleName": "Bytes", "members": [{"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498332976": {"type": "Concrete", "module": "ast", "simpleName": "NameConstant", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498333312": {"type": "Concrete", "module": "ast", "simpleName": "Ellipsis", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569222848"}], "isAbstract": false}, "140042498333648": {"type": "Concrete", "module": "ast", "simpleName": "slice", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569040944"}], "isAbstract": false}, "140042498333984": {"type": "Concrete", "module": "ast", "simpleName": "ExtSlice", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498333648"}], "isAbstract": false}, "140042498334320": {"type": "Concrete", "module": "ast", "simpleName": "Index", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498333648"}], "isAbstract": false}, "140042498334656": {"type": "Concrete", "module": "ast", "simpleName": "Suite", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569041280"}], "isAbstract": false}, "140042498334992": {"type": "Concrete", "module": "ast", "simpleName": "AugLoad", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498335328": {"type": "Concrete", "module": "ast", "simpleName": "AugStore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498335664": {"type": "Concrete", "module": "ast", "simpleName": "Param", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569225872"}], "isAbstract": false}, "140042498336000": {"type": "Concrete", "module": "ast", "simpleName": "NodeVisitor", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636272672"}, "name": "visit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636273120"}, "name": "generic_visit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636273568"}, "name": "visit_Module"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274016"}, "name": "visit_Interactive"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274464"}, "name": "visit_Expression"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636274912"}, "name": "visit_FunctionDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636275360"}, "name": "visit_AsyncFunctionDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636275808"}, "name": "visit_ClassDef"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636276256"}, "name": "visit_Return"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636276704"}, "name": "visit_Delete"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636277152"}, "name": "visit_Assign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636277600"}, "name": "visit_AugAssign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278048"}, "name": "visit_AnnAssign"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278496"}, "name": "visit_For"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636278944"}, "name": "visit_AsyncFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636279392"}, "name": "visit_While"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636607776"}, "name": "visit_If"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636608224"}, "name": "visit_With"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636608672"}, "name": "visit_AsyncWith"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636609120"}, "name": "visit_Raise"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636609568"}, "name": "visit_Try"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610016"}, "name": "visit_Assert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610464"}, "name": "visit_Import"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636610912"}, "name": "visit_ImportFrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636611360"}, "name": "visit_Global"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636611808"}, "name": "visit_Nonlocal"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636612256"}, "name": "visit_Expr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636612704"}, "name": "visit_Pass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636613152"}, "name": "visit_Break"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636613600"}, "name": "visit_Continue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614048"}, "name": "visit_Slice"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614496"}, "name": "visit_BoolOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636614944"}, "name": "visit_BinOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636615392"}, "name": "visit_UnaryOp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636615840"}, "name": "visit_Lambda"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636616288"}, "name": "visit_IfExp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636616736"}, "name": "visit_Dict"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636617184"}, "name": "visit_Set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636617632"}, "name": "visit_ListComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618080"}, "name": "visit_SetComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618528"}, "name": "visit_DictComp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636618976"}, "name": "visit_GeneratorExp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636619424"}, "name": "visit_Await"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636619872"}, "name": "visit_Yield"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636620320"}, "name": "visit_YieldFrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636620768"}, "name": "visit_Compare"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636621216"}, "name": "visit_Call"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636621664"}, "name": "visit_FormattedValue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636622112"}, "name": "visit_JoinedStr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636622560"}, "name": "visit_Constant"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636623008"}, "name": "visit_NamedExpr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636623456"}, "name": "visit_TypeIgnore"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706080"}, "name": "visit_Attribute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706528"}, "name": "visit_Subscript"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636706976"}, "name": "visit_Starred"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636707424"}, "name": "visit_Name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636707872"}, "name": "visit_List"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636708320"}, "name": "visit_Tuple"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636708768"}, "name": "visit_Del"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636709216"}, "name": "visit_Load"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636709664"}, "name": "visit_Store"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636710112"}, "name": "visit_And"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636710560"}, "name": "visit_Or"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711008"}, "name": "visit_Add"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711456"}, "name": "visit_BitAnd"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636711904"}, "name": "visit_BitOr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636712352"}, "name": "visit_BitXor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636712800"}, "name": "visit_Div"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636713248"}, "name": "visit_FloorDiv"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636713696"}, "name": "visit_LShift"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636714144"}, "name": "visit_Mod"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636714592"}, "name": "visit_Mult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715040"}, "name": "visit_MatMult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715488"}, "name": "visit_Pow"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636715936"}, "name": "visit_RShift"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636716384"}, "name": "visit_Sub"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636716832"}, "name": "visit_Invert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636717280"}, "name": "visit_Not"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636717728"}, "name": "visit_UAdd"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636718176"}, "name": "visit_USub"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636718624"}, "name": "visit_Eq"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719072"}, "name": "visit_Gt"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719520"}, "name": "visit_GtE"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636719968"}, "name": "visit_In"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636720416"}, "name": "visit_Is"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636720864"}, "name": "visit_IsNot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636721312"}, "name": "visit_Lt"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636721760"}, "name": "visit_LtE"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636837152"}, "name": "visit_NotEq"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636837600"}, "name": "visit_NotIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838048"}, "name": "visit_comprehension"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838496"}, "name": "visit_ExceptHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636838944"}, "name": "visit_arguments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636839392"}, "name": "visit_arg"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636839840"}, "name": "visit_keyword"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636840288"}, "name": "visit_alias"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636840736"}, "name": "visit_withitem"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636841184"}, "name": "visit_Match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636841632"}, "name": "visit_MatchValue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842080"}, "name": "visit_MatchSequence"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842528"}, "name": "visit_MatchStar"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636842976"}, "name": "visit_MatchMapping"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636843424"}, "name": "visit_MatchClass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636843872"}, "name": "visit_MatchAs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636844320"}, "name": "visit_MatchOr"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636845216"}, "name": "visit_ExtSlice"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636845664"}, "name": "visit_Index"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636846112"}, "name": "visit_Suite"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636846560"}, "name": "visit_AugLoad"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847008"}, "name": "visit_AugStore"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847456"}, "name": "visit_Param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636847904"}, "name": "visit_Num"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636848352"}, "name": "visit_Str"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636848800"}, "name": "visit_Bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636849248"}, "name": "visit_NameConstant"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636849696"}, "name": "visit_Ellipsis"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042636272672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636273120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636273568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569042624"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569042960"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569043296"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636274912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569043968"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636275360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044304"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636275808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636276256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569044976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636276704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636277152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045648"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636277600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569045984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636278944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569046992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636279392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569047328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636607776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569047664"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636608224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048000"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636608672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048336"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636609120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569048672"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636609568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049344"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569049680"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636610912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050016"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636611360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050352"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636611808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569050688"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636612256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051024"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636612704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051360"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636613152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569051696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636613600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569052032"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569052704"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636614944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053040"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636615392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636615840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569053712"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636616288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054048"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636616736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054384"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636617184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569054720"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636617632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055056"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055392"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569055728"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636618976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220160"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636619424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220496"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636619872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569220832"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636620320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221168"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636620768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221504"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636621216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569221840"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636621664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222176"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636622112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636622560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569222848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636623008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636623456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569041952"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569223520"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224192"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636706976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636707424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569224864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636707872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569225200"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636708320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569225536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636708768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636709216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636709664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569226880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636710112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569227552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636710560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569227888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569228560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569228896"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636711904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229232"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636712352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229568"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636712800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569229904"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636713248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230240"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636713696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636714144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569230912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636714592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231248"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231584"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569231920"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636715936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569232256"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636716384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569232592"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636716832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233264"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636717280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233600"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636717728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569233936"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636718176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569234272"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636718624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569234944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235280"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235616"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636719968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569235952"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636720416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569334848"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636720864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636721312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335520"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636721760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569335856"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636837152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336192"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636837600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336528"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569336864"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569337536"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636838944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569337872"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636839392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338208"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636839840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338544"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636840288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569338880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636840736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569339216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636841184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569339552"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636841632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569340560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341232"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341568"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636842976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569341904"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636843424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342240"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636843872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342576"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636844320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042569342912"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636845216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498333984"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636845664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334320"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636846112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334656"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636846560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498334992"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498335328"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498335664"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636847904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498331968"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636848352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332304"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636848800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332640"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636849248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498332976"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042636849696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336000"}, {"nodeId": "140042498333312"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042498336336": {"type": "Concrete", "module": "ast", "simpleName": "NodeTransformer", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "node", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042636850144"}, "name": "generic_visit"}], "typeVars": [], "bases": [{"nodeId": "140042498336000"}], "isAbstract": false}, "140042636850144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498336336"}, {"nodeId": "140042569040944"}], "returnType": {"nodeId": "140042569040944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "node"]}, "140042468642480": {"type": "Concrete", "module": "numpy.lib.mixins", "simpleName": "NDArrayOperatorsMixin", "members": [{"kind": "Variable", "name": "__array_ufunc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042405942144"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632065792"}, "name": "__lt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632066240"}, "name": "__le__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632066688"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632067136"}, "name": "__ne__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632067584"}, "name": "__gt__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632068032"}, "name": "__ge__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632068480"}, "name": "__add__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632593472"}, "name": "__radd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632593920"}, "name": "__iadd__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632594368"}, "name": "__sub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632594816"}, "name": "__rsub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632595264"}, "name": "__isub__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632595712"}, "name": "__mul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632596160"}, "name": "__rmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632596608"}, "name": "__imul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597056"}, "name": "__matmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597504"}, "name": "__rmatmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632597952"}, "name": "__imatmul__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632598400"}, "name": "__truediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632598848"}, "name": "__rtruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632599296"}, "name": "__itruediv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632599744"}, "name": "__floordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632600192"}, "name": "__rfloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632600640"}, "name": "__ifloordiv__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601088"}, "name": "__mod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601536"}, "name": "__rmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632601984"}, "name": "__imod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632602432"}, "name": "__divmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632602880"}, "name": "__rdivmod__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632603328"}, "name": "__pow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632603776"}, "name": "__rpow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632604224"}, "name": "__ipow__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632604672"}, "name": "__lshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632605120"}, "name": "__rlshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632605568"}, "name": "__ilshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606016"}, "name": "__rshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606464"}, "name": "__rrshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632606912"}, "name": "__irshift__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632607360"}, "name": "__and__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632607808"}, "name": "__rand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632608256"}, "name": "__iand__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632608704"}, "name": "__xor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632609152"}, "name": "__rxor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632675392"}, "name": "__ixor__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632675840"}, "name": "__or__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632676288"}, "name": "__ror__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632676736"}, "name": "__ior__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632677184"}, "name": "__neg__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632677632"}, "name": "__pos__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632678080"}, "name": "__abs__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042632678528"}, "name": "__invert__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042405942144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "140042468234560"}, {"nodeId": "140042447564896"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "ufunc", "method", "inputs", "kwargs"]}, "140042447564896": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042632065792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632066240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632066688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632067136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632067584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632068032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632068480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632593472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632593920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632594368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632594816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632595264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632595712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632596160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632596608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632597952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632598400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632598848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632599296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632599744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632600192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632600640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632601984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632602432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632602880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042632603328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632603776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632604224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632604672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632605120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632605568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632606912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632607360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632607808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632608256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632608704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632609152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632675392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632675840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632676288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632676736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042632677184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632677632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632678080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042632678528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468642480"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042498330288": {"type": "Protocol", "module": "math", "simpleName": "_SupportsCeil", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627592288"}, "name": "__ceil__"}], "typeVars": [{"nodeId": ".1.140042498330288"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__ceil__"]}, "140042627592288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330288", "args": [{"nodeId": ".1.140042498330288"}]}], "returnType": {"nodeId": ".1.140042498330288"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330288": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330288", "variance": "COVARIANT"}, "140042498330624": {"type": "Protocol", "module": "math", "simpleName": "_SupportsFloor", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627813152"}, "name": "__floor__"}], "typeVars": [{"nodeId": ".1.140042498330624"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__floor__"]}, "140042627813152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330624", "args": [{"nodeId": ".1.140042498330624"}]}], "returnType": {"nodeId": ".1.140042498330624"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330624": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330624", "variance": "COVARIANT"}, "140042498330960": {"type": "Protocol", "module": "math", "simpleName": "_SupportsTrunc", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042627911456"}, "name": "__trunc__"}], "typeVars": [{"nodeId": ".1.140042498330960"}], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__trunc__"]}, "140042627911456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498330960", "args": [{"nodeId": ".1.140042498330960"}]}], "returnType": {"nodeId": ".1.140042498330960"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498330960": {"type": "TypeVar", "varName": "_T_co", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498330960", "variance": "COVARIANT"}, "140042472656560": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "funcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065440"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065712"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628065984"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628065440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "funcname"]}, "140042628065712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628065984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656560"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042472656896": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_single", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066256"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656896"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "x", "args", "params"]}, "140042472657232": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_seq", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066528"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657232"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "x", "args", "params"]}, "140042472657568": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "_fromnxfunction_allargs", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628066800"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472656560"}], "isAbstract": false}, "140042628066800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472657568"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042468651552": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "MAxisConcatenator", "members": [{"kind": "Variable", "name": "concatenate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "makemat", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042519193952"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628203920"}, "name": "__getitem__"}], "typeVars": [], "bases": [{"nodeId": "140042472668656"}], "isAbstract": false}, "140042519193952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "arr"]}, "140042628203920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651552"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042468651888": {"type": "Concrete", "module": "numpy.ma.extras", "simpleName": "mr_class", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628204192"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042468651552"}], "isAbstract": false}, "140042628204192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480729584": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedArrayFutureWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577654976"}], "isAbstract": false}, "140042472653536": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedUFunc", "members": [{"kind": "Variable", "name": "f", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209088"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628209088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653536"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ufunc"]}, "140042472653872": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedUnaryOperation", "members": [{"kind": "Variable", "name": "fill", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209360"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209632"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628209360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mufunc", "fill", "domain"]}, "140042628209632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472653872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "args", "kwargs"]}, "140042472654208": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedBinaryOperation", "members": [{"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mbfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628209904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210176"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210448"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210720"}, "name": "outer"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628210992"}, "name": "accumulate"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628209904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "mbfunc", "fillx", "filly"]}, "140042628210176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "b", "args", "kwargs"]}, "140042628210448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "target", "axis", "dtype"]}, "140042628210720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042628210992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654208"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "axis"]}, "140042472654544": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_DomainedBinaryOperation", "members": [{"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dbfunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "domain", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fillx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filly", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628211264"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628211536"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042628211264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "dbfunc", "domain", "fillx", "filly"]}, "140042628211536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654544"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "b", "args", "kwargs"]}, "140042472654880": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_MaskedPrintOption", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "display", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217248"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217520"}, "name": "display"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628217792"}, "name": "set_display"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628218064"}, "name": "enabled"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "shrink", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042628218336"}, "name": "enable"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042628217248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "display"]}, "140042628217520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628217792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "s"]}, "140042628218064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042628218336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472654880"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "shrink"]}, "140042472655216": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedIterator", "members": [{"kind": "Variable", "name": "ma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dataiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maskiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ma", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631424"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631696"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623631968"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632240"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623632512"}, "name": "__next__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623631424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ma"]}, "140042623631696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042623631968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042623632240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042623632512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042468651216": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "MaskedConstant", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623807504"}, "name": "__new__"}, {"kind": "Variable", "name": "__class__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623807776"}, "name": "__array_finalize__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808048"}, "name": "__array_prepare__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "context", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808320"}, "name": "__array_wrap__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808592"}, "name": "__format__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623808864"}, "name": "__reduce__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809136"}, "name": "__iop__"}, {"kind": "Variable", "name": "__iadd__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__isub__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__imul__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ifloordiv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__itruediv__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__ipow__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809408"}, "name": "copy"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809680"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623809952"}, "name": "__deepcopy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623810224"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042468650544", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042469103024"}]}]}], "isAbstract": false}, "140042623807504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042623807776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "obj"]}, "140042623808048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623808320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "context"]}, "140042623808592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_spec"]}, "140042623808864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623809136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "other"]}, "140042623809408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042623809680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623809952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "memo"]}, "140042623810224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468651216"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "attr", "value"]}, "140042469103024": {"type": "TypeAlias", "target": {"nodeId": "140042468232208", "args": [{"nodeId": "140042472661264"}]}}, "140042472655552": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_extrema_operation", "members": [{"kind": "Variable", "name": "compare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value_func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ufunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "compare", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fill_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623811040"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623811312"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "axis", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623926336"}, "name": "reduce"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623926608"}, "name": "outer"}], "typeVars": [], "bases": [{"nodeId": "140042472653536"}], "isAbstract": false}, "140042623811040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "ufunc", "compare", "fill_value"]}, "140042623811312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042623926336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "target", "axis"]}, "140042623926608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "a", "b"]}, "140042472655888": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_frommethod", "members": [{"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "methodname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623927696"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623927968"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623928240"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623927696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "methodname", "reversed"]}, "140042623927968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623928240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472655888"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "a", "args", "params"]}, "140042472656224": {"type": "Concrete", "module": "numpy.ma.core", "simpleName": "_convert2ma", "members": [{"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "funcname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936400"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936672"}, "name": "getdoc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042623936944"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042623936400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "funcname", "params"]}, "140042623936672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042623936944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042472656224"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "params"]}, "140042468639456": {"type": "Concrete", "module": "numpy.random.bit_generator", "simpleName": "SeedlessSeedSequence", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dtype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624158624"}, "name": "generate_state"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n_children", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042624159072"}, "name": "spawn"}], "typeVars": [], "bases": [{"nodeId": "140042468639120"}], "isAbstract": false}, "140042624158624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042468639456"}, {"nodeId": "140042577365696"}, {"nodeId": "140042447460544"}], "returnType": {"nodeId": "140042472913744", "args": [{"nodeId": "A"}, {"nodeId": "140042468653568", "args": [{"nodeId": "140042447460320"}]}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "n_words", "dtype"]}, "140042447460544": {"type": "Union", "items": [{"nodeId": "140042447458976"}, {"nodeId": "140042447461216"}]}, "140042447458976": {"type": "TypeAlias", "target": {"nodeId": "140042464276688"}}, "140042447461216": {"type": "TypeAlias", "target": {"nodeId": "140042464276912"}}, "140042447460320": {"type": "Union", "items": [{"nodeId": "140042447460432"}, {"nodeId": "140042447461328"}]}, "140042447460432": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661600"}]}}, "140042447461328": {"type": "TypeAlias", "target": {"nodeId": "140042468231536", "args": [{"nodeId": "140042472661264"}]}}, "140042624159072": {"type": "Function", "typeVars": [".-1.140042624159072"], "argTypes": [{"nodeId": ".-1.140042624159072"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": ".-1.140042624159072"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "n_children"]}, ".-1.140042624159072": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042624159072", "variance": "INVARIANT"}, "140042480724208": {"type": "Concrete", "module": "unittest.case", "simpleName": "FunctionTestCase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testFunc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "setUp", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tearDown", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "description", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594545312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594545760"}, "name": "runTest"}], "typeVars": [], "bases": [{"nodeId": "140042480723872"}], "isAbstract": false}, "140042594545312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724208"}, {"nodeId": "140042489954592"}, {"nodeId": "140042476498144"}, {"nodeId": "140042476498480"}, {"nodeId": "140042476498704"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "testFunc", "setUp", "tearDown", "description"]}, "140042489954592": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498144": {"type": "Union", "items": [{"nodeId": "140042489954368"}, {"nodeId": "N"}]}, "140042489954368": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498480": {"type": "Union", "items": [{"nodeId": "140042489937504"}, {"nodeId": "N"}]}, "140042489937504": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "A"}, "argKinds": [], "argNames": []}, "140042476498704": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594545760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480723872": {"type": "Concrete", "module": "unittest.case", "simpleName": "TestCase", "members": [{"kind": "Variable", "name": "failureException", "isProperty": false, "isSelf": false, "type": {"nodeId": "0"}}, {"kind": "Variable", "name": "longMessage", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "maxDiff", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489861440"}}, {"kind": "Variable", "name": "_testMethodName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_testMethodDoc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "methodName", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607503712"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607504160"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607504608"}, "name": "setUp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607505056"}, "name": "tearDown"}, {"kind": "Variable", "name": "setUpClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489999232"}}, {"kind": "Variable", "name": "tearDownClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042490001696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607506400"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607506848"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607507296"}, "name": "skipTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607507744"}, "name": "subTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607508192"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607508640"}, "name": "_addSkip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607509088"}, "name": "assertEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337056"}, "name": "assertNotEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337504"}, "name": "assertTrue"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594337952"}, "name": "assertFalse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594338400"}, "name": "assertIs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expr2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594338848"}, "name": "assertIsNot"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594339296"}, "name": "assertIsNone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594339744"}, "name": "assertIsNotNone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "container", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594340192"}, "name": "assertIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "member", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "container", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594340640"}, "name": "assertNotIn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594341088"}, "name": "assertIsInstance"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594341536"}, "name": "assertNotIsInstance"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489861664"}, "items": [{"kind": "Variable", "name": "assertGreater", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertGreater", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertGreater"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042489868608"}, "items": [{"kind": "Variable", "name": "assertGreaterEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertGreaterEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertGreaterEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487168"}, "items": [{"kind": "Variable", "name": "assertLess", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertLess", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertLess"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487504"}, "items": [{"kind": "Variable", "name": "assertLessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertLessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertLessEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476487840"}, "items": [{"kind": "Variable", "name": "assertRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertRaises"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476488176"}, "items": [{"kind": "Variable", "name": "assertRaisesRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertRaisesRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertRaisesRegex"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476488512"}, "items": [{"kind": "Variable", "name": "assertWarns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertWarns", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertWarns"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476489408"}, "items": [{"kind": "Variable", "name": "assertWarnsRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertWarnsRegex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertWarnsRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594349152"}, "name": "assertLogs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594349600"}, "name": "assertNoLogs"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476490528"}, "items": [{"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertAlmostEqual"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042476491088"}, "items": [{"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "assertNotAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "assertNotAlmostEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expected_regex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594534112"}, "name": "assertRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unexpected_regex", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594534560"}, "name": "assertNotRegex"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535008"}, "name": "assertCountEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typeobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535456"}, "name": "addTypeEqualityFunc"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594535904"}, "name": "assertMultiLineEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "seq_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594536352"}, "name": "assertSequenceEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594536800"}, "name": "assertListEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tuple1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tuple2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594537248"}, "name": "assertTupleEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "set2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594537696"}, "name": "assertSetEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "d1", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "d2", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594538144"}, "name": "assertDictEqual"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594538592"}, "name": "fail"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539040"}, "name": "countTestCases"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539488"}, "name": "defaultTestResult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594539936"}, "name": "id"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594540384"}, "name": "shortDescription"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594540832"}, "name": "addCleanup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594542176"}, "name": "doCleanups"}, {"kind": "Variable", "name": "addClassCleanup", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042490002592"}}, {"kind": "Variable", "name": "doClassCleanups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476995520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "standardMsg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594543968"}, "name": "_formatMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "first", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "second", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594544416"}, "name": "_getAssertEqualityFunc"}, {"kind": "Variable", "name": "failUnlessEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476996192"}}, {"kind": "Variable", "name": "assertEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476996864"}}, {"kind": "Variable", "name": "failIfEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476997312"}}, {"kind": "Variable", "name": "assertNotEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476997760"}}, {"kind": "Variable", "name": "failUnless", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476998208"}}, {"kind": "Variable", "name": "assert_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476998656"}}, {"kind": "Variable", "name": "failIf", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476999104"}}, {"kind": "Variable", "name": "failUnlessRaises", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476823136"}}, {"kind": "Variable", "name": "failUnlessAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029072"}}, {"kind": "Variable", "name": "assertAlmostEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029408"}}, {"kind": "Variable", "name": "failIfAlmostEqual", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477029744"}}, {"kind": "Variable", "name": "assertNotAlmostEquals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477030080"}}, {"kind": "Variable", "name": "assertRegexpMatches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042476999776"}}, {"kind": "Variable", "name": "assertNotRegexpMatches", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477000896"}}, {"kind": "Variable", "name": "assertRaisesRegexp", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042477030864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "dictionary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594544864"}, "name": "assertDictContainsSubset"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489861440": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042607503712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "methodName"]}, "140042607504160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042607504608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607505056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042489999232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042490001696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042607506400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489868720"}], "returnType": {"nodeId": "140042489868944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "result"]}, "140042489868720": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042480722192": {"type": "Concrete", "module": "unittest.result", "simpleName": "TestResult", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489864912"}]}}, {"kind": "Variable", "name": "failures", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865136"}]}}, {"kind": "Variable", "name": "skipped", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865360"}]}}, {"kind": "Variable", "name": "expectedFailures", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042489865584"}]}}, {"kind": "Variable", "name": "unexpectedSuccesses", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}}, {"kind": "Variable", "name": "shouldStop", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "testsRun", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607459488"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607459936"}, "name": "printErrors"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594681120"}, "name": "wasSuccessful"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594681568"}, "name": "stop"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682016"}, "name": "startTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682464"}, "name": "stopTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594682912"}, "name": "startTestRun"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594683360"}, "name": "stopTestRun"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594683808"}, "name": "addError"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594684256"}, "name": "addFailure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594684704"}, "name": "addSuccess"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594685152"}, "name": "addSkip"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594685600"}, "name": "addExpectedFailure"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594686048"}, "name": "addUnexpectedSuccess"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subtest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "err", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594686496"}, "name": "addSubTest"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489864912": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865136": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865360": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042489865584": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042607459488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042489866816"}, {"nodeId": "140042489863344"}, {"nodeId": "140042489867040"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "stream", "descriptions", "verbosity"]}, "140042489866816": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042489863344": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489867040": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042607459936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594681120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594681568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594682016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594682464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594682912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594683360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594683808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867152": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042569013440": {"type": "Union", "items": [{"nodeId": "140042569012432"}, {"nodeId": "140042569013328"}]}, "140042569012432": {"type": "TypeAlias", "target": {"nodeId": "140042569012544"}}, "140042569012544": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042578058528"}]}, "140042569013328": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "140042594684256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867264"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867264": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042594684704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594685152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "reason"]}, "140042594685600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "err"]}, "140042489867376": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042594686048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594686496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042480723872"}, {"nodeId": "140042489867600"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test", "subtest", "err"]}, "140042489867600": {"type": "Union", "items": [{"nodeId": "140042489867488"}, {"nodeId": "N"}]}, "140042489867488": {"type": "TypeAlias", "target": {"nodeId": "140042569013440"}}, "140042489868944": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042607506848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489869056"}], "returnType": {"nodeId": "140042489869168"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "result"]}, "140042489869056": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042489869168": {"type": "Union", "items": [{"nodeId": "140042480722192"}, {"nodeId": "N"}]}, "140042607507296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "reason"]}, "140042607507744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573918416", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "params"]}, "140042607508192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607508640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042480722192"}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "result", "test_case", "reason"]}, "140042607509088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594337056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594337504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042594337952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042594338400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr1", "expr2", "msg"]}, "140042594338848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr1", "expr2", "msg"]}, "140042594339296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "msg"]}, "140042594339744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "msg"]}, "140042594340192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "140042489871520"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "member", "container", "msg"]}, "140042489871520": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": "A"}]}]}, "140042594340640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "140042489872080"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "member", "container", "msg"]}, "140042489872080": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782783664", "args": [{"nodeId": "A"}]}]}, "140042594341088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042476486720"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls", "msg"]}, "140042476486720": {"type": "TypeAlias", "target": {"nodeId": "140042489862000"}}, "140042489862000": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "140042578060544"}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042489861552"}]}]}, "140042489861552": {"type": "Union", "items": [{"nodeId": "140042577365024"}, {"nodeId": "140042578060544"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}]}, "140042594341536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782775936"}, {"nodeId": "140042476486944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls", "msg"]}, "140042476486944": {"type": "TypeAlias", "target": {"nodeId": "140042489862000"}}, "140042489861664": {"type": "Overloaded", "items": [{"nodeId": "140042594341984"}, {"nodeId": "140042594342432"}]}, "140042594341984": {"type": "Function", "typeVars": [".-1.140042594341984"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594341984"}]}, {"nodeId": ".-1.140042594341984"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594341984": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594341984", "variance": "INVARIANT"}, "140042594342432": {"type": "Function", "typeVars": [".-1.140042594342432"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594342432"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594342432"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594342432": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594342432", "variance": "INVARIANT"}, "140042489868608": {"type": "Overloaded", "items": [{"nodeId": "140042594342880"}, {"nodeId": "140042594343328"}]}, "140042594342880": {"type": "Function", "typeVars": [".-1.140042594342880"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568803584", "args": [{"nodeId": ".-1.140042594342880"}]}, {"nodeId": ".-1.140042594342880"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594342880": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594342880", "variance": "INVARIANT"}, "140042594343328": {"type": "Function", "typeVars": [".-1.140042594343328"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594343328"}, {"nodeId": "140042568803248", "args": [{"nodeId": ".-1.140042594343328"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594343328": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594343328", "variance": "INVARIANT"}, "140042476487168": {"type": "Overloaded", "items": [{"nodeId": "140042594343776"}, {"nodeId": "140042594344224"}]}, "140042594343776": {"type": "Function", "typeVars": [".-1.140042594343776"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594343776"}]}, {"nodeId": ".-1.140042594343776"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594343776": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594343776", "variance": "INVARIANT"}, "140042594344224": {"type": "Function", "typeVars": [".-1.140042594344224"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594344224"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594344224"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594344224": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594344224", "variance": "INVARIANT"}, "140042476487504": {"type": "Overloaded", "items": [{"nodeId": "140042594344672"}, {"nodeId": "140042594345120"}]}, "140042594344672": {"type": "Function", "typeVars": [".-1.140042594344672"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568802576", "args": [{"nodeId": ".-1.140042594344672"}]}, {"nodeId": ".-1.140042594344672"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594344672": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594344672", "variance": "INVARIANT"}, "140042594345120": {"type": "Function", "typeVars": [".-1.140042594345120"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594345120"}, {"nodeId": "140042568802912", "args": [{"nodeId": ".-1.140042594345120"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "a", "b", "msg"]}, ".-1.140042594345120": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594345120", "variance": "INVARIANT"}, "140042476487840": {"type": "Overloaded", "items": [{"nodeId": "140042594345568"}, {"nodeId": "140042594346016"}]}, "140042594345568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476488624"}, {"nodeId": "140042489963104"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "callable", "args", "kwargs"]}, "140042476488624": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042489963104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594346016": {"type": "Function", "typeVars": [".-1.140042594346016"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476489184"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042594346016"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "msg"]}, "140042476489184": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042480724544": {"type": "Concrete", "module": "unittest.case", "simpleName": "_AssertRaisesContext", "members": [{"kind": "Variable", "name": "exception", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480724544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489965120"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594546656"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594547104"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042480724544"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042480724544": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042480724544", "variance": "INVARIANT"}, "140042489965120": {"type": "Function", "typeVars": [".-1.140042489965120"], "argTypes": [{"nodeId": ".-1.140042489965120"}], "returnType": {"nodeId": ".-1.140042489965120"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042489965120": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489965120", "variance": "INVARIANT"}, "140042594546656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724544", "args": [{"nodeId": ".1.140042480724544"}]}, {"nodeId": "140042476498816"}, {"nodeId": "140042476498928"}, {"nodeId": "140042476499040"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042476498816": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042476498928": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042476499040": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042594547104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, ".-1.140042594346016": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042594346016", "variance": "INVARIANT"}, "140042476488176": {"type": "Overloaded", "items": [{"nodeId": "140042594346464"}, {"nodeId": "140042594346912"}]}, "140042594346464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476489520"}, {"nodeId": "140042476489632"}, {"nodeId": "140042489955040"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "expected_regex", "callable", "args", "kwargs"]}, "140042476489520": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476489632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042489955040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594346912": {"type": "Function", "typeVars": [".-1.140042594346912"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490192"}, {"nodeId": "140042476490304"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042594346912"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "expected_regex", "msg"]}, "140042476490192": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476490304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, ".-1.140042594346912": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042594346912", "variance": "INVARIANT"}, "140042476488512": {"type": "Overloaded", "items": [{"nodeId": "140042594347360"}, {"nodeId": "140042594347808"}]}, "140042594347360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490640"}, {"nodeId": "140042489959520"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_warning", "callable", "args", "kwargs"]}, "140042476490640": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042489959520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594347808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476490752"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_warning", "msg"]}, "140042476490752": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042480724880": {"type": "Concrete", "module": "unittest.case", "simpleName": "_AssertWarnsContext", "members": [{"kind": "Variable", "name": "warning", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480718496"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480718496"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489957056"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594548000"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489957056": {"type": "Function", "typeVars": [".-1.140042489957056"], "argTypes": [{"nodeId": ".-1.140042489957056"}], "returnType": {"nodeId": ".-1.140042489957056"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042489957056": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042489957056", "variance": "INVARIANT"}, "140042594548000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480724880"}, {"nodeId": "140042476499264"}, {"nodeId": "140042476499376"}, {"nodeId": "140042476499488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042476499264": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042476499376": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042476499488": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042476489408": {"type": "Overloaded", "items": [{"nodeId": "140042594348256"}, {"nodeId": "140042594348704"}]}, "140042594348256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491200"}, {"nodeId": "140042476491312"}, {"nodeId": "140042489955264"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_warning", "expected_regex", "callable", "args", "kwargs"]}, "140042476491200": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476491312": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042489955264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594348704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491424"}, {"nodeId": "140042476491648"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_warning", "expected_regex", "msg"]}, "140042476491424": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476491648": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042594349152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476491872"}, {"nodeId": "140042476491984"}], "returnType": {"nodeId": "140042480727232", "args": [{"nodeId": "140042476492096"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "logger", "level"]}, "140042476491872": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042498342048": {"type": "Concrete", "module": "logging", "simpleName": "Logger", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "parent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595072"}}, {"kind": "Variable", "name": "propagate", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "handlers", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042498342384"}]}}, {"kind": "Variable", "name": "disabled", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716480"}}, {"kind": "Variable", "name": "manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498341712"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585827680"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585828128"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585828576"}, "name": "isEnabledFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829024"}, "name": "getEffectiveLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "suffix", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829472"}, "name": "getChild"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585829920"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585830368"}, "name": "info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585830816"}, "name": "warning"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585831264"}, "name": "warn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585831712"}, "name": "error"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585832160"}, "name": "exception"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585832608"}, "name": "critical"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585833056"}, "name": "log"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581377312"}, "name": "_log"}, {"kind": "Variable", "name": "fatal", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485369312"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hdlr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581381792"}, "name": "addHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "hdlr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581382240"}, "name": "removeHandler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581382688"}, "name": "findCaller"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581383584"}, "name": "handle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fn", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384032"}, "name": "makeRecord"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384480"}, "name": "hasHandlers"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581384928"}, "name": "callHandlers"}], "typeVars": [], "bases": [{"nodeId": "140042498341376"}], "isAbstract": false}, "140042485595072": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042498342384": {"type": "Concrete", "module": "logging", "simpleName": "Handler", "members": [{"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "formatter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485594736"}}, {"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591824"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480812544"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581385376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581385824"}, "name": "get_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581386272"}, "name": "set_name"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581386720"}, "name": "createLock"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581387168"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581387616"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388064"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388512"}, "name": "setFormatter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581388960"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581389408"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581389856"}, "name": "handle"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581390304"}, "name": "handleError"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581390752"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581391200"}, "name": "emit"}], "typeVars": [], "bases": [{"nodeId": "140042498341376"}], "isAbstract": false}, "140042485594736": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042480713792": {"type": "Concrete", "module": "logging", "simpleName": "Formatter", "members": [{"kind": "Variable", "name": "converter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485519232"}}, {"kind": "Variable", "name": "_fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591376"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592048"}}, {"kind": "Variable", "name": "_style", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716816"}}, {"kind": "Variable", "name": "default_time_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "default_msec_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591936"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "style", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "validate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581391648"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581392992"}, "name": "format"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "datefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581557536"}, "name": "formatTime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ei", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581557984"}, "name": "formatException"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581558432"}, "name": "formatMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581558880"}, "name": "formatStack"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581559328"}, "name": "usesTime"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485519232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480812432"}], "returnType": {"nodeId": "140042485592160"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480812432": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042485592160": {"type": "TypeAlias", "target": {"nodeId": "140042493358736"}}, "140042485591376": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480716816": {"type": "Concrete", "module": "logging", "simpleName": "PercentStyle", "members": [{"kind": "Variable", "name": "default_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asctime_format", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "asctime_search", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "validation_pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "_fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581987552"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581988448"}, "name": "usesTime"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581988896"}, "name": "validate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581989344"}, "name": "format"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581987552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480826880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "fmt", "defaults"]}, "140042480826880": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042581988448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581988896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581989344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716816"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042485591936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581391648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480817696"}, {"nodeId": "140042480817808"}, {"nodeId": "140042480817920"}, {"nodeId": "140042782776944"}, {"nodeId": "140042480818144"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "fmt", "datefmt", "style", "validate", "defaults"]}, "140042480817696": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817920": {"type": "TypeAlias", "target": {"nodeId": "140042485590704"}}, "140042485590704": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042480818144": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042581392992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042480714800": {"type": "Concrete", "module": "logging", "simpleName": "LogRecord", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592272"}}, {"kind": "Variable", "name": "asctime", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "created", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592384"}}, {"kind": "Variable", "name": "exc_text", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485591712"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "funcName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "levelname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "levelno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "msecs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "message", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "process", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592832"}}, {"kind": "Variable", "name": "processName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593280"}}, {"kind": "Variable", "name": "relativeCreated", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593056"}}, {"kind": "Variable", "name": "thread", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485592944"}}, {"kind": "Variable", "name": "threadName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593168"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pathname", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562464"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562912"}, "name": "getMessage"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581563360"}, "name": "__setattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485592272": {"type": "Union", "items": [{"nodeId": "140042485592496"}, {"nodeId": "N"}]}, "140042485592496": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042485591040": {"type": "Union", "items": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}]}, "140042485592384": {"type": "Union", "items": [{"nodeId": "140042485592720"}, {"nodeId": "N"}]}, "140042485592720": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042485590480": {"type": "Union", "items": [{"nodeId": "140042485589136"}, {"nodeId": "140042485590368"}]}, "140042485589136": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042485589584"}]}, "140042485589584": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042485590368": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "140042485591712": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592832": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485593280": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485593056": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042485592944": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042485593168": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581562464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480818368"}, {"nodeId": "140042480818928"}, {"nodeId": "140042480819040"}, {"nodeId": "140042480819152"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "level", "pathname", "lineno", "msg", "args", "exc_info", "func", "sinfo"]}, "140042480818368": {"type": "Union", "items": [{"nodeId": "140042480818704"}, {"nodeId": "N"}]}, "140042480818704": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480818928": {"type": "Union", "items": [{"nodeId": "140042480818816"}, {"nodeId": "N"}]}, "140042480818816": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480819040": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480819152": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581562912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581563360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042581557536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}, {"nodeId": "140042480818480"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "record", "datefmt"]}, "140042480818480": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581557984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480817472"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ei"]}, "140042480817472": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042581558432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581558880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stack_info"]}, "140042581559328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480713792"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042485591824": {"type": "Union", "items": [{"nodeId": "140042569642528"}, {"nodeId": "N"}]}, "140042480812544": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581385376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480817360"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140042480817360": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042485591152": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042581385824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581386272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042581386720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581387168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581387616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581388064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480817584"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480817584": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042581388512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480812768"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "fmt"]}, "140042480812768": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042581388960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581389408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581389856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581390304": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581390752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581391200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342384"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042498341376": {"type": "Concrete", "module": "logging", "simpleName": "Filterer", "members": [{"kind": "Variable", "name": "filters", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480714464"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585824544"}, "name": "addFilter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585824992"}, "name": "removeFilter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585825440"}, "name": "filter"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042480714464": {"type": "Concrete", "module": "logging", "simpleName": "Filter", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "nlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581561568"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "record", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581562016"}, "name": "filter"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581561568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714464"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042581562016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714464"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042585824544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480813328"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filter"]}, "140042480813328": {"type": "TypeAlias", "target": {"nodeId": "140042485595744"}}, "140042485595744": {"type": "Union", "items": [{"nodeId": "140042480714464"}, {"nodeId": "140042485843104"}]}, "140042485843104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585824992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480812096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "filter"]}, "140042480812096": {"type": "TypeAlias", "target": {"nodeId": "140042485595744"}}, "140042585825440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341376"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042480716480": {"type": "Concrete", "module": "logging", "simpleName": "RootLogger", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581987104"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042498342048"}], "isAbstract": false}, "140042581987104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716480"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042498341712": {"type": "Concrete", "module": "logging", "simpleName": "Manager", "members": [{"kind": "Variable", "name": "root", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480716480"}}, {"kind": "Variable", "name": "disable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "emittedNoHandlerWarning", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "loggerDict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042485595968"}]}}, {"kind": "Variable", "name": "loggerClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595296"}}, {"kind": "Variable", "name": "logRecordFactory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485595184"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "rootnode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585825888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585826336"}, "name": "getLogger"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "klass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585826784"}, "name": "setLoggerClass"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585827232"}, "name": "setLogRecordFactory"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042485595968": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "140042480716144"}]}, "140042480716144": {"type": "Concrete", "module": "logging", "simpleName": "PlaceHolder", "members": [{"kind": "Variable", "name": "loggerMap", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042498342048"}, {"nodeId": "N"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alogger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581986208"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "alogger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581986656"}, "name": "append"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581986208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716144"}, {"nodeId": "140042498342048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "alogger"]}, "140042581986656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480716144"}, {"nodeId": "140042498342048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "alogger"]}, "140042485595296": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042485595184": {"type": "Union", "items": [{"nodeId": "140042485516320"}, {"nodeId": "N"}]}, "140042485516320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585825888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042480716480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "rootnode"]}, "140042585826336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042498342048"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042585826784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "klass"]}, "140042585827232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498341712"}, {"nodeId": "140042485529984"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "factory"]}, "140042485529984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042585827680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480813776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "level"]}, "140042480813776": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042585828128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480813664"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480813664": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042585828576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042585829024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585829472": {"type": "Function", "typeVars": [".-1.140042585829472"], "argTypes": [{"nodeId": ".-1.140042585829472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042585829472"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "suffix"]}, ".-1.140042585829472": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042585829472", "variance": "INVARIANT"}, "140042585829920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814112"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814112": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042485590144": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042782776944"}, {"nodeId": "140042485589920"}, {"nodeId": "140042577373088"}]}, "140042485589920": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480814224": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585830368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814336"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814672"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814336": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480814672": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585830816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814560"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480814896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814560": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480814896": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585831264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814448"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815120"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814448": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815120": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585831712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480814784"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815344"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480814784": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815344": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585832160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815008"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815008": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815568": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585832608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480815792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815232": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480815792": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042585833056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815456"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480816016"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042480815456": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480816016": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581377312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815680"}, {"nodeId": "140042480815904"}, {"nodeId": "140042480816352"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "extra", "stack_info", "stacklevel"]}, "140042480815680": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480815904": {"type": "Union", "items": [{"nodeId": "140042480816240"}, {"nodeId": "N"}]}, "140042480816240": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480816352": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042485369312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480815232"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042481016096"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra"]}, "140042481016096": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581381792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "hdlr"]}, "140042581382240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042498342384"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "hdlr"]}, "140042581382688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480816576"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "stack_info", "stacklevel"]}, "140042480816576": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480816128"}]}, "140042480816128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581383584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042581384032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480816800"}, {"nodeId": "140042480816912"}, {"nodeId": "140042480817024"}, {"nodeId": "140042480817136"}, {"nodeId": "140042480817248"}], "returnType": {"nodeId": "140042480714800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "name", "level", "fn", "lno", "msg", "args", "exc_info", "func", "extra", "sinfo"]}, "140042480816800": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480816912": {"type": "Union", "items": [{"nodeId": "140042480816464"}, {"nodeId": "N"}]}, "140042480816464": {"type": "TypeAlias", "target": {"nodeId": "140042485590480"}}, "140042480817024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480817136": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042480817248": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581384480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581384928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498342048"}, {"nodeId": "140042480714800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "record"]}, "140042476491984": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480727232": {"type": "Concrete", "module": "unittest._log", "simpleName": "_AssertLogsContext", "members": [{"kind": "Variable", "name": "LOGGING_FORMAT", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480723872"}}, {"kind": "Variable", "name": "logger_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "N"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "no_logs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585821632"}, "name": "__init__"}, {"kind": "Variable", "name": "no_logs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585822528"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585822976"}, "name": "__exit__"}], "typeVars": [{"nodeId": ".1.140042480727232"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042585821632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}, {"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "test_case", "logger_name", "level", "no_logs"]}, ".1.140042480727232": {"type": "TypeVar", "varName": "_L", "values": [{"nodeId": "N"}, {"nodeId": "140042489857856"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042480727232", "variance": "INVARIANT"}, "140042489857856": {"type": "TypeAlias", "target": {"nodeId": "140042489858752"}}, "140042489858752": {"type": "Tuple", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480714800"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042585822528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}], "returnType": {"nodeId": ".1.140042480727232"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585822976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727232", "args": [{"nodeId": ".1.140042480727232"}]}, {"nodeId": "140042489868160"}, {"nodeId": "140042489868272"}, {"nodeId": "140042489868384"}], "returnType": {"nodeId": "140042489868496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042489868160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042489868272": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042489868384": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042489868496": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476492096": {"type": "TypeAlias", "target": {"nodeId": "140042489858752"}}, "140042594349600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476492208"}, {"nodeId": "140042476492320"}], "returnType": {"nodeId": "140042480727232", "args": [{"nodeId": "N"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "logger", "level"]}, "140042476492208": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042498342048"}, {"nodeId": "N"}]}, "140042476492320": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042476490528": {"type": "Overloaded", "items": [{"nodeId": "140042594350048"}, {"nodeId": "140042594350496"}, {"nodeId": "140042594350944"}, {"nodeId": "140042594351392"}]}, "140042594350048": {"type": "Function", "typeVars": [".-1.140042594350048"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594350048"}, {"nodeId": ".-1.140042594350048"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350048": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594350048", "variance": "INVARIANT"}, "140042480723536": {"type": "Protocol", "module": "unittest.case", "simpleName": "_SupportsAbsAndDunderGE", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568803584", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782779968", "args": [{"nodeId": "A"}]}], "protocolMembers": ["__abs__", "__ge__"]}, "140042594350496": {"type": "Function", "typeVars": [".-1.140042594350496"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594350496"}, {"nodeId": ".-1.140042594350496"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350496": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594350496", "variance": "INVARIANT"}, "140042594350944": {"type": "Function", "typeVars": [".-1.140042594350944"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042594350944"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042594350944"}, {"nodeId": "140042476492768"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594350944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594350944", "variance": "INVARIANT"}, "140042476492768": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594351392": {"type": "Function", "typeVars": [".-1.140042594351392"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594351392"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042594351392"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042476492992"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594351392": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594351392", "variance": "INVARIANT"}, "140042476492992": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042476491088": {"type": "Overloaded", "items": [{"nodeId": "140042594351840"}, {"nodeId": "140042594352288"}, {"nodeId": "140042594352736"}, {"nodeId": "140042594533664"}]}, "140042594351840": {"type": "Function", "typeVars": [".-1.140042594351840"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594351840"}, {"nodeId": ".-1.140042594351840"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594351840": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594351840", "variance": "INVARIANT"}, "140042594352288": {"type": "Function", "typeVars": [".-1.140042594352288"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594352288"}, {"nodeId": ".-1.140042594352288"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594352288": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042594352288", "variance": "INVARIANT"}, "140042594352736": {"type": "Function", "typeVars": [".-1.140042594352736"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042594352736"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042594352736"}, {"nodeId": "140042476493552"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594352736": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594352736", "variance": "INVARIANT"}, "140042476493552": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594533664": {"type": "Function", "typeVars": [".-1.140042594533664"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594533664"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042594533664"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042476493776"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042594533664": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594533664", "variance": "INVARIANT"}, "140042476493776": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042594534112": {"type": "Function", "typeVars": [".-1.140042594534112"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594534112"}, {"nodeId": "140042476494000"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "expected_regex", "msg"]}, ".-1.140042594534112": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594534112", "variance": "INVARIANT"}, "140042476494000": {"type": "Union", "items": [{"nodeId": ".-1.140042594534112"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042594534112"}]}]}, "140042594534560": {"type": "Function", "typeVars": [".-1.140042594534560"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042594534560"}, {"nodeId": "140042476494224"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "unexpected_regex", "msg"]}, ".-1.140042594534560": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042594534560", "variance": "INVARIANT"}, "140042476494224": {"type": "Union", "items": [{"nodeId": ".-1.140042594534560"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042594534560"}]}]}, "140042594535008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594535456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "0"}, {"nodeId": "140042489963776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typeobj", "function"]}, "140042489963776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594535904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042594536352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "140042476495568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "seq1", "seq2", "msg", "seq_type"]}, "140042476495568": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042594536800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "list1", "list2", "msg"]}, "140042594537248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "tuple1", "tuple2", "msg"]}, "140042594537696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "140042782785008", "args": [{"nodeId": "140042782775936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "set1", "set2", "msg"]}, "140042594538144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "140042782775936"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "d1", "d2", "msg"]}, "140042594538592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042594539040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594539488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594539936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594540384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042476496912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042476496912": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594540832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042489964000"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042489964000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042594542176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042490002592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042489962208"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", null, "args", "kwargs"]}, "140042489962208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042476995520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042594543968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476497024"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "standardMsg"]}, "140042476497024": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042594544416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042489960192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second"]}, "140042489960192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042476996192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476996864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476997312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476997760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "first", "second", "msg"]}, "140042476998208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476998656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476999104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "expr", "msg"]}, "140042476823136": {"type": "Overloaded", "items": [{"nodeId": "140042477000000"}, {"nodeId": "140042477000224"}]}, "140042477000000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476828848"}, {"nodeId": "140042476996416"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "callable", "args", "kwargs"]}, "140042476828848": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042476996416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042477000224": {"type": "Function", "typeVars": [".-1.140042477000224"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042476826160"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042477000224"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "msg"]}, "140042476826160": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, ".-1.140042477000224": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042477000224", "variance": "INVARIANT"}, "140042477029072": {"type": "Overloaded", "items": [{"nodeId": "140042477001120"}, {"nodeId": "140042477001344"}, {"nodeId": "140042477001568"}, {"nodeId": "140042477001792"}]}, "140042477001120": {"type": "Function", "typeVars": [".-1.140042477001120"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001120"}, {"nodeId": ".-1.140042477001120"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477001120", "variance": "INVARIANT"}, "140042477001344": {"type": "Function", "typeVars": [".-1.140042477001344"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001344"}, {"nodeId": ".-1.140042477001344"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001344": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477001344", "variance": "INVARIANT"}, "140042477001568": {"type": "Function", "typeVars": [".-1.140042477001568"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477001568"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477001568"}, {"nodeId": "140042476826272"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001568": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477001568", "variance": "INVARIANT"}, "140042476826272": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477001792": {"type": "Function", "typeVars": [".-1.140042477001792"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477001792"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477001792"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477028848"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477001792": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477001792", "variance": "INVARIANT"}, "140042477028848": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477029408": {"type": "Overloaded", "items": [{"nodeId": "140042477002240"}, {"nodeId": "140042477002464"}, {"nodeId": "140042477002688"}, {"nodeId": "140042477002912"}]}, "140042477002240": {"type": "Function", "typeVars": [".-1.140042477002240"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002240"}, {"nodeId": ".-1.140042477002240"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002240": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477002240", "variance": "INVARIANT"}, "140042477002464": {"type": "Function", "typeVars": [".-1.140042477002464"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002464"}, {"nodeId": ".-1.140042477002464"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002464": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477002464", "variance": "INVARIANT"}, "140042477002688": {"type": "Function", "typeVars": [".-1.140042477002688"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477002688"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477002688"}, {"nodeId": "140042477028960"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002688": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477002688", "variance": "INVARIANT"}, "140042477028960": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477002912": {"type": "Function", "typeVars": [".-1.140042477002912"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477002912"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477002912"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029184"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477002912": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477002912", "variance": "INVARIANT"}, "140042477029184": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477029744": {"type": "Overloaded", "items": [{"nodeId": "140042477003360"}, {"nodeId": "140042477003584"}, {"nodeId": "140042477003808"}, {"nodeId": "140042477004032"}]}, "140042477003360": {"type": "Function", "typeVars": [".-1.140042477003360"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477003360"}, {"nodeId": ".-1.140042477003360"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003360": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477003360", "variance": "INVARIANT"}, "140042477003584": {"type": "Function", "typeVars": [".-1.140042477003584"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477003584"}, {"nodeId": ".-1.140042477003584"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003584": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477003584", "variance": "INVARIANT"}, "140042477003808": {"type": "Function", "typeVars": [".-1.140042477003808"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477003808"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477003808"}, {"nodeId": "140042477029296"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477003808": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477003808", "variance": "INVARIANT"}, "140042477029296": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477004032": {"type": "Function", "typeVars": [".-1.140042477004032"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004032"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477004032"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029520"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004032": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477004032", "variance": "INVARIANT"}, "140042477029520": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477030080": {"type": "Overloaded", "items": [{"nodeId": "140042477004480"}, {"nodeId": "140042477004704"}, {"nodeId": "140042477004928"}, {"nodeId": "140042477005152"}]}, "140042477004480": {"type": "Function", "typeVars": [".-1.140042477004480"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004480"}, {"nodeId": ".-1.140042477004480"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004480": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477004480", "variance": "INVARIANT"}, "140042477004704": {"type": "Function", "typeVars": [".-1.140042477004704"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477004704"}, {"nodeId": ".-1.140042477004704"}, {"nodeId": "N"}, {"nodeId": "A"}, {"nodeId": "140042480723536"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_NAMED"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004704": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042568804928", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, "def": "140042477004704", "variance": "INVARIANT"}, "140042477004928": {"type": "Function", "typeVars": [".-1.140042477004928"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042568804928", "args": [{"nodeId": ".-1.140042477004928"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": ".-1.140042477004928"}, {"nodeId": "140042477029632"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477004928": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477004928", "variance": "INVARIANT"}, "140042477029632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042477005152": {"type": "Function", "typeVars": [".-1.140042477005152"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477005152"}, {"nodeId": "140042568805264", "args": [{"nodeId": ".-1.140042477005152"}, {"nodeId": "140042782779968", "args": [{"nodeId": "140042782780304", "args": [{"nodeId": "140042782775936"}]}]}]}, {"nodeId": "140042477029856"}, {"nodeId": "A"}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "first", "second", "places", "msg", "delta"]}, ".-1.140042477005152": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477005152", "variance": "INVARIANT"}, "140042477029856": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042476999776": {"type": "Function", "typeVars": [".-1.140042476999776"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042476999776"}, {"nodeId": "140042477029968"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "expected_regex", "msg"]}, ".-1.140042476999776": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042476999776", "variance": "INVARIANT"}, "140042477029968": {"type": "Union", "items": [{"nodeId": ".-1.140042476999776"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042476999776"}]}]}, "140042477000896": {"type": "Function", "typeVars": [".-1.140042477000896"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": ".-1.140042477000896"}, {"nodeId": "140042477030192"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "text", "unexpected_regex", "msg"]}, ".-1.140042477000896": {"type": "TypeVar", "varName": "AnyStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042477000896", "variance": "INVARIANT"}, "140042477030192": {"type": "Union", "items": [{"nodeId": ".-1.140042477000896"}, {"nodeId": "140042578065920", "args": [{"nodeId": ".-1.140042477000896"}]}]}, "140042477030864": {"type": "Overloaded", "items": [{"nodeId": "140042477006272"}, {"nodeId": "140042477006496"}]}, "140042477006272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042477030304"}, {"nodeId": "140042477030416"}, {"nodeId": "140042476999552"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "expected_exception", "expected_regex", "callable", "args", "kwargs"]}, "140042477030304": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042477030416": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, "140042476999552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042477006496": {"type": "Function", "typeVars": [".-1.140042477006496"], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042477030528"}, {"nodeId": "140042477030640"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480724544", "args": [{"nodeId": ".-1.140042477006496"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_NAMED_OPT"], "argNames": ["self", "expected_exception", "expected_regex", "msg"]}, "140042477030528": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577368384", "args": [{"nodeId": "0"}]}]}, "140042477030640": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}]}, ".-1.140042477006496": {"type": "TypeVar", "varName": "_E", "values": [], "upperBound": {"nodeId": "140042577373088"}, "def": "140042477006496", "variance": "INVARIANT"}, "140042594544864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723872"}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "A"}, {"nodeId": "A"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "subset", "dictionary", "msg"]}, "140042480723200": {"type": "Concrete", "module": "unittest.case", "simpleName": "SkipTest", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reason", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607503264"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042607503264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480723200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "reason"]}, "140042480726224": {"type": "Concrete", "module": "unittest.loader", "simpleName": "TestLoader", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "0"}]}}, {"kind": "Variable", "name": "testMethodPrefix", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "sortTestMethodsUsing", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863456"}}, {"kind": "Variable", "name": "testNamePatterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489860992"}}, {"kind": "Variable", "name": "suiteClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863568"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testCaseClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607450528"}, "name": "loadTestsFromTestCase"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607450976"}, "name": "loadTestsFromModule"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607451424"}, "name": "loadTestsFromName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "names", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607451872"}, "name": "loadTestsFromNames"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testCaseClass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607452320"}, "name": "getTestCaseNames"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "start_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "top_level_dir", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607452768"}, "name": "discover"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "full_path", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607453216"}, "name": "_match_path"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863456": {"type": "TypeAlias", "target": {"nodeId": "140042548197216"}}, "140042548197216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489860992": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042489863568": {"type": "TypeAlias", "target": {"nodeId": "140042493447968"}}, "140042493447968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042480727904": {"type": "Concrete", "module": "unittest.suite", "simpleName": "TestSuite", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "debug", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594780096"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042480727568"}], "isAbstract": false}, "140042594780096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727904"}, {"nodeId": "140042480722192"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "result", "debug"]}, "140042480727568": {"type": "Concrete", "module": "unittest.suite", "simpleName": "BaseTestSuite", "members": [{"kind": "Variable", "name": "_tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042480723872"}]}}, {"kind": "Variable", "name": "_removed_tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594693888"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594694336"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594694784"}, "name": "addTest"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tests", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594695232"}, "name": "addTests"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594695680"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594696128"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594696576"}, "name": "countTestCases"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594779200"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594779648"}, "name": "__eq__"}], "typeVars": [], "bases": [{"nodeId": "140042782780640", "args": [{"nodeId": "140042489861216"}]}], "isAbstract": false}, "140042594693888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500160"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "tests"]}, "140042476500160": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042489866256": {"type": "Union", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042480727904"}]}, "140042594694336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "result"]}, "140042594694784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042476500272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476500272": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594695232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500384"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "tests"]}, "140042476500384": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594695680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042480722192"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "result"]}, "140042594696128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594696576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594779200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042476500496"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042476500496": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042594779648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480727568"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042489861216": {"type": "TypeAlias", "target": {"nodeId": "140042489866256"}}, "140042607450528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "testCaseClass"]}, "140042607450976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042578054832"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT"], "argNames": ["self", "module", "args", "pattern"]}, "140042607451424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042476501840"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "module"]}, "140042476501840": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607451872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042476501952"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "names", "module"]}, "140042476501952": {"type": "Union", "items": [{"nodeId": "140042578054832"}, {"nodeId": "N"}]}, "140042607452320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "testCaseClass"]}, "140042607452768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042476502064"}], "returnType": {"nodeId": "140042480727904"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "start_dir", "pattern", "top_level_dir"]}, "140042476502064": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607453216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "path", "full_path", "pattern"]}, "140042480726896": {"type": "Concrete", "module": "unittest.main", "simpleName": "TestProgram", "members": [{"kind": "Variable", "name": "result", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480722192"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863904"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864016"}}, {"kind": "Variable", "name": "catchbreak", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864128"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864240"}}, {"kind": "Variable", "name": "progName", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864352"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864464"}}, {"kind": "Variable", "name": "testNamePatterns", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489864576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defaultTest", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testRunner", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "testLoader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exit", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "catchbreak", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607456128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607456576"}, "name": "usageExit"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "argv", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457024"}, "name": "parseArgs"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "from_discovery", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Loader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457472"}, "name": "createTests"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607457920"}, "name": "runTests"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863904": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578054832"}]}, "140042489864016": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864128": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864240": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042489864352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489864464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042489864576": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042607456128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042476500608"}, {"nodeId": "140042476814512"}, {"nodeId": "140042476814624"}, {"nodeId": "140042476814736"}, {"nodeId": "140042480726224"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042476814848"}, {"nodeId": "140042476814960"}, {"nodeId": "140042476815072"}, {"nodeId": "140042476815184"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "module", "defaultTest", "argv", "testRunner", "testLoader", "exit", "verbosity", "failfast", "catchbreak", "buffer", "warnings", "tb_locals"]}, "140042476500608": {"type": "Union", "items": [{"nodeId": "N"}, {"nodeId": "140042577367376"}, {"nodeId": "140042578054832"}]}, "140042476814512": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042476814624": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "N"}]}, "140042476814736": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042480726560"}, {"nodeId": "N"}]}, "140042480726560": {"type": "Protocol", "module": "unittest.main", "simpleName": "_TestRunner", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607455680"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["run"]}, "140042607455680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726560"}, {"nodeId": "140042476502848"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476502848": {"type": "Union", "items": [{"nodeId": "140042480727904"}, {"nodeId": "140042480723872"}]}, "140042476814848": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476814960": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476815072": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042476815184": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607456576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "msg"]}, "140042607457024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "argv"]}, "140042607457472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}, {"nodeId": "140042782776944"}, {"nodeId": "140042476814400"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "from_discovery", "Loader"]}, "140042476814400": {"type": "Union", "items": [{"nodeId": "140042480726224"}, {"nodeId": "N"}]}, "140042607457920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480726896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480725552": {"type": "Concrete", "module": "unittest.runner", "simpleName": "TextTestResult", "members": [{"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "dots", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "separator1", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "separator2", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "showAll", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577730512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594687616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688064"}, "name": "getDescription"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "flavour", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688512"}, "name": "printErrorList"}], "typeVars": [], "bases": [{"nodeId": "140042480722192"}], "isAbstract": false}, "140042594687616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042577730512"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "stream", "descriptions", "verbosity"]}, "140042594688064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042594688512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725552"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042476500832"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "flavour", "errors"]}, "140042476500832": {"type": "Tuple", "items": [{"nodeId": "140042480723872"}, {"nodeId": "140042577367376"}]}, "140042480725888": {"type": "Concrete", "module": "unittest.runner", "simpleName": "TextTestRunner", "members": [{"kind": "Variable", "name": "resultclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042489863008"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "descriptions", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "verbosity", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failfast", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "resultclass", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "warnings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb_locals", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594688960"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594689408"}, "name": "_makeResult"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594689856"}, "name": "run"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042489863008": {"type": "TypeAlias", "target": {"nodeId": "140042548197888"}}, "140042548197888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577730512"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042594688960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}, {"nodeId": "140042476500944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042476501168"}, {"nodeId": "140042476501280"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "stream", "descriptions", "verbosity", "failfast", "buffer", "resultclass", "warnings", "tb_locals"]}, "140042476500944": {"type": "Union", "items": [{"nodeId": "140042577730512"}, {"nodeId": "N"}]}, "140042476501168": {"type": "Union", "items": [{"nodeId": "140042476501056"}, {"nodeId": "N"}]}, "140042476501056": {"type": "TypeAlias", "target": {"nodeId": "140042548197888"}}, "140042476501280": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042594689408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594689856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725888"}, {"nodeId": "140042476501392"}], "returnType": {"nodeId": "140042480722192"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test"]}, "140042476501392": {"type": "Union", "items": [{"nodeId": "140042480727904"}, {"nodeId": "140042480723872"}]}, "140042480725216": {"type": "Concrete", "module": "unittest.async_case", "simpleName": "IsolatedAsyncioTestCase", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594547552"}, "name": "asyncSetUp"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594781216"}, "name": "asyncTearDown"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042594782112"}, "name": "addAsyncCleanup"}], "typeVars": [], "bases": [{"nodeId": "140042480723872"}], "isAbstract": false}, "140042594547552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594781216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}], "returnType": {"nodeId": "140042782782320", "args": [{"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042594782112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480725216"}, {"nodeId": "140042489937280"}, {"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042489937280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "0"}], "returnType": {"nodeId": "140042782781984", "args": [{"nodeId": "140042782775936"}]}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042578061888": {"type": "Concrete", "module": "subprocess", "simpleName": "CompletedProcess", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042578061888"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042578061888"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042648860064"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042614994560"}, "name": "check_returncode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042614995008"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042578061888"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042578061888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042578061888", "variance": "INVARIANT"}, "140042648860064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061888", "args": [{"nodeId": ".1.140042578061888"}]}, {"nodeId": "140042565292256"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565292368"}, {"nodeId": "140042565292480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "args", "returncode", "stdout", "stderr"]}, "140042565292256": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565292368": {"type": "Union", "items": [{"nodeId": ".1.140042578061888"}, {"nodeId": "N"}]}, "140042565292480": {"type": "Union", "items": [{"nodeId": ".1.140042578061888"}, {"nodeId": "N"}]}, "140042614994560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578061888", "args": [{"nodeId": ".1.140042578061888"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042614995008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042578062224": {"type": "Concrete", "module": "subprocess", "simpleName": "SubprocessError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042578062560": {"type": "Concrete", "module": "subprocess", "simpleName": "TimeoutExpired", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598164608"}, "name": "__init__"}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569771024"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569515184"}}], "typeVars": [], "bases": [{"nodeId": "140042578062224"}], "isAbstract": false}, "140042598164608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578062560"}, {"nodeId": "140042565459568"}, {"nodeId": "140042577366032"}, {"nodeId": "140042565459680"}, {"nodeId": "140042565459792"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "cmd", "timeout", "output", "stderr"]}, "140042565459568": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565459680": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565459792": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569771024": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042569515184": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042578062896": {"type": "Concrete", "module": "subprocess", "simpleName": "CalledProcessError", "members": [{"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stdout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "returncode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cmd", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "output", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stderr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042598165056"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042578062224"}], "isAbstract": false}, "140042598165056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578062896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565459904"}, {"nodeId": "140042565460016"}, {"nodeId": "140042565460128"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "returncode", "cmd", "output", "stderr"]}, "140042565459904": {"type": "TypeAlias", "target": {"nodeId": "140042569418896"}}, "140042565460016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565460128": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042498329616": {"type": "Concrete", "module": "time", "simpleName": "struct_time", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493779680"}}, {"kind": "Variable", "name": "tm_year", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493498016"}}, {"kind": "Variable", "name": "tm_mon", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493444832"}}, {"kind": "Variable", "name": "tm_mday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445056"}}, {"kind": "Variable", "name": "tm_hour", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445280"}}, {"kind": "Variable", "name": "tm_min", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445504"}}, {"kind": "Variable", "name": "tm_sec", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445728"}}, {"kind": "Variable", "name": "tm_wday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493445952"}}, {"kind": "Variable", "name": "tm_yday", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446176"}}, {"kind": "Variable", "name": "tm_isdst", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446400"}}, {"kind": "Variable", "name": "tm_zone", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446624"}}, {"kind": "Variable", "name": "tm_gmtoff", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042493446848"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "140042493358512"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042577365696"}]}], "isAbstract": false}, "140042493779680": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042493498016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359072"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359072": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493444832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359184": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359296"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359296": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359408"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359408": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359520"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359520": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359632"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359632": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493445952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359744"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359744": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359856"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359856": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493359968"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493359968": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493360080"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493360080": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493446848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042493360192"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493360192": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042493358512": {"type": "Union", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042498329952": {"type": "Protocol", "module": "time", "simpleName": "_ClockInfo", "members": [{"kind": "Variable", "name": "adjustable", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "implementation", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "monotonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "resolution", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["adjustable", "implementation", "monotonic", "resolution"]}, "140042578064912": {"type": "Concrete", "module": "sre_constants", "simpleName": "error", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572992736"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042572995200"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619187072"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042572992736": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042572995200": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042619187072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064912"}, {"nodeId": "140042577367376"}, {"nodeId": "140042565530816"}, {"nodeId": "140042565530480"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "msg", "pattern", "pos"]}, "140042565530816": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "N"}]}, "140042565530480": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042578065248": {"type": "Concrete", "module": "sre_constants", "simpleName": "_NamedIntConstant", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619187520"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577365696"}], "isAbstract": false}, "140042619187520": {"type": "Function", "typeVars": [".-1.140042619187520"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042619187520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["cls", "value", "name"]}, ".-1.140042619187520": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042619187520", "variance": "INVARIANT"}, "140042568797200": {"type": "Protocol", "module": "codecs", "simpleName": "_WritableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619188640"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189088"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189536"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close", "seek", "write"]}, "140042619188640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042619189088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042619189536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797200"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568797536": {"type": "Protocol", "module": "codecs", "simpleName": "_ReadableStream", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619189984"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619190432"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042619190880"}, "name": "close"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["close", "read", "seek"]}, "140042619189984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", null]}, "140042619190432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042619190880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797536"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569633456": {"type": "Protocol", "module": "codecs", "simpleName": "_Stream", "members": [], "typeVars": [], "bases": [{"nodeId": "140042568797200"}, {"nodeId": "140042568797536"}], "protocolMembers": ["close", "read", "seek", "write"]}, "140042568797872": {"type": "Protocol", "module": "codecs", "simpleName": "_Encoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602332448"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602332448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568797872"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556820496"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556820496": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042568798208": {"type": "Protocol", "module": "codecs", "simpleName": "_Decoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602332896"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602332896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798208"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556820720"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556820720": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042568798544": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamReader", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602333344"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602333344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798544"}, {"nodeId": "140042568797536"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042569635136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042569635136": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReader", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042568797536"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611220640"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "firstline", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221088"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221536"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "keepends", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611221984"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611222432"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611222880"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611223328"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611223776"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611224224"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611224672"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042568799888"}], "isAbstract": false}, "140042611220640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042568797536"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042611221088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "chars", "firstline"]}, "140042611221536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826656"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "size", "keepends"]}, "140042556826656": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611221984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826768"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "sizehint", "keepends"]}, "140042556826768": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611222432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611222880": {"type": "Function", "typeVars": [".-1.140042611222880"], "argTypes": [{"nodeId": ".-1.140042611222880"}], "returnType": {"nodeId": ".-1.140042611222880"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611222880": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611222880", "variance": "INVARIANT"}, "140042611223328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042556826880"}, {"nodeId": "140042556826992"}, {"nodeId": "140042556827104"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556826880": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556826992": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556827104": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611223776": {"type": "Function", "typeVars": [".-1.140042611223776"], "argTypes": [{"nodeId": ".-1.140042611223776"}], "returnType": {"nodeId": ".-1.140042611223776"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611223776": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611223776", "variance": "INVARIANT"}, "140042611224224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611224672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635136"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556317184"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042556317184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568799888": {"type": "Concrete", "module": "codecs", "simpleName": "Codec", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602345440"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602345888"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042602345440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556824528"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556824528": {"type": "Tuple", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577365696"}]}, "140042602345888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799888"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042556824752"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "errors"]}, "140042556824752": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042568798880": {"type": "Protocol", "module": "codecs", "simpleName": "_StreamWriter", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602333792"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602333792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568798880"}, {"nodeId": "140042568797200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042569634800"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042569634800": {"type": "Concrete", "module": "codecs", "simpleName": "StreamWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042568797200"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217504"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217952"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611218400"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611218848"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611219296"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611219744"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "getattr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611220192"}, "name": "__getattr__"}], "typeVars": [], "bases": [{"nodeId": "140042568799888"}], "isAbstract": false}, "140042611217504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042568797200"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "errors"]}, "140042611217952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "object"]}, "140042611218400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611218848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611219296": {"type": "Function", "typeVars": [".-1.140042611219296"], "argTypes": [{"nodeId": ".-1.140042611219296"}], "returnType": {"nodeId": ".-1.140042611219296"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611219296": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611219296", "variance": "INVARIANT"}, "140042611219744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042556826096"}, {"nodeId": "140042556826208"}, {"nodeId": "140042556826320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556826096": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556826208": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556826320": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611220192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634800"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556316512"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": [null, null, null]}, "140042556316512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042568799216": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalEncoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602334240"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602334240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799216"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042568800224"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042568800224": {"type": "Concrete", "module": "codecs", "simpleName": "IncrementalEncoder", "members": [{"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602346336"}, "name": "__init__"}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518855040"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602347232"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602347680"}, "name": "getstate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602348128"}, "name": "setstate"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042602346336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518855040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042602347232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042602347680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}], "returnType": {"nodeId": "140042556824864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556824864": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042602348128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800224"}, {"nodeId": "140042556824976"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "state"]}, "140042556824976": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042568799552": {"type": "Protocol", "module": "codecs", "simpleName": "_IncrementalDecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602334688"}, "name": "__call__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__call__"]}, "140042602334688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568799552"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042568800560"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042569633792": {"type": "Concrete", "module": "codecs", "simpleName": "CodecInfo", "members": [{"kind": "Variable", "name": "encode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518871424"}}, {"kind": "Variable", "name": "decode", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518869632"}}, {"kind": "Variable", "name": "streamreader", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518869856"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518868064"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518865824"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042518867392"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamreader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "streamwriter", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementalencoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "incrementaldecoder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_is_text_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042602337824"}, "name": "__new__"}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042782775936"}]}], "isAbstract": false}, "140042518871424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556820944"}], "returnType": {"nodeId": "140042568797872"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556820944": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518869632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821056"}], "returnType": {"nodeId": "140042568798208"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821056": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518869856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821168"}], "returnType": {"nodeId": "140042568798544"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821168": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518868064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821280"}], "returnType": {"nodeId": "140042568798880"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821280": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518865824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821392"}], "returnType": {"nodeId": "140042568799216"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821392": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042518867392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042556821504"}], "returnType": {"nodeId": "140042568799552"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556821504": {"type": "Tuple", "items": [{"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}]}, "140042602337824": {"type": "Function", "typeVars": [".-1.140042602337824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042556820832"}, {"nodeId": "140042556821616"}, {"nodeId": "140042556821728"}, {"nodeId": "140042556821840"}, {"nodeId": "140042556821952"}, {"nodeId": "140042556822064"}], "returnType": {"nodeId": ".-1.140042602337824"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["cls", "encode", "decode", "streamreader", "streamwriter", "incrementalencoder", "incrementaldecoder", "name", "_is_text_encoding"]}, "140042556820832": {"type": "Union", "items": [{"nodeId": "140042568798544"}, {"nodeId": "N"}]}, "140042556821616": {"type": "Union", "items": [{"nodeId": "140042568798880"}, {"nodeId": "N"}]}, "140042556821728": {"type": "Union", "items": [{"nodeId": "140042568799216"}, {"nodeId": "N"}]}, "140042556821840": {"type": "Union", "items": [{"nodeId": "140042568799552"}, {"nodeId": "N"}]}, "140042556821952": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556822064": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, ".-1.140042602337824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042602337824", "variance": "INVARIANT"}, "140042569634128": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalEncoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611214816"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518853472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611215712"}, "name": "encode"}], "typeVars": [], "bases": [{"nodeId": "140042568800224"}], "isAbstract": true}, "140042611214816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518853472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140042611215712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634128"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042569634464": {"type": "Concrete", "module": "codecs", "simpleName": "BufferedIncrementalDecoder", "members": [{"kind": "Variable", "name": "buffer", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577732864"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611216160"}, "name": "__init__"}, {"kind": "Variable", "name": "_buffer_decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042518852352"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "final", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611217056"}, "name": "decode"}], "typeVars": [], "bases": [{"nodeId": "140042568800560"}], "isAbstract": true}, "140042611216160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "errors"]}, "140042518852352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042556825648"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042556825872"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "input", "errors", "final"]}, "140042556825648": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042556825872": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042611217056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569634464"}, {"nodeId": "140042556825984"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "input", "final"]}, "140042556825984": {"type": "TypeAlias", "target": {"nodeId": "140042569012208"}}, "140042569635472": {"type": "Concrete", "module": "codecs", "simpleName": "StreamReaderWriter", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569633456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611225120"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611225568"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226016"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226464"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611226912"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611227360"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611227808"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611228256"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611081504"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611081952"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611082400"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611082848"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611083296"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611083744"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611084192"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611084640"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085088"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085536"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611085984"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611086432"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611086880"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611087328"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140042577730512"}], "isAbstract": false}, "140042611225120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042569633456"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "Reader", "Writer", "errors"]}, "140042611225568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042611226016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556827440": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611226464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827552"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140042556827552": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611226912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611227360": {"type": "Function", "typeVars": [".-1.140042611227360"], "argTypes": [{"nodeId": ".-1.140042611227360"}], "returnType": {"nodeId": ".-1.140042611227360"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611227360": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611227360", "variance": "INVARIANT"}, "140042611227808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042611228256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611081504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611081952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042611082400": {"type": "Function", "typeVars": [".-1.140042611082400"], "argTypes": [{"nodeId": ".-1.140042611082400"}], "returnType": {"nodeId": ".-1.140042611082400"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611082400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611082400", "variance": "INVARIANT"}, "140042611082848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556827664"}, {"nodeId": "140042556827776"}, {"nodeId": "140042556827888"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556827664": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556827776": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556827888": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611083296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042611083744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611084192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611084640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611085984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}, {"nodeId": "140042556828112"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828112": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611086432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611086880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611087328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569635472"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042568800896": {"type": "Concrete", "module": "codecs", "simpleName": "StreamRecoder", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Reader", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "Writer", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611087776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611088224"}, "name": "read"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611088672"}, "name": "readline"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sizehint", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611089120"}, "name": "readlines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611089568"}, "name": "__next__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090016"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090464"}, "name": "write"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "list", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611090912"}, "name": "writelines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611091360"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611091808"}, "name": "__getattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611092256"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611092704"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "whence", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611093152"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611093600"}, "name": "close"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094048"}, "name": "fileno"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094496"}, "name": "flush"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611094944"}, "name": "isatty"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611095392"}, "name": "readable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "size", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611095840"}, "name": "truncate"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611096288"}, "name": "seekable"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611096736"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611097184"}, "name": "writable"}], "typeVars": [], "bases": [{"nodeId": "140042577730176"}], "isAbstract": false}, "140042611087776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042569633456"}, {"nodeId": "140042568797872"}, {"nodeId": "140042568798208"}, {"nodeId": "140042568798544"}, {"nodeId": "140042568798880"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "stream", "encode", "decode", "Reader", "Writer", "errors"]}, "140042611088224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042611088672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828224"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828224": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611089120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828336"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577732864"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "sizehint"]}, "140042556828336": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611089568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611090016": {"type": "Function", "typeVars": [".-1.140042611090016"], "argTypes": [{"nodeId": ".-1.140042611090016"}], "returnType": {"nodeId": ".-1.140042611090016"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611090016": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611090016", "variance": "INVARIANT"}, "140042611090464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577732864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "data"]}, "140042611090912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577732864"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "list"]}, "140042611091360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611091808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042611092256": {"type": "Function", "typeVars": [".-1.140042611092256"], "argTypes": [{"nodeId": ".-1.140042611092256"}], "returnType": {"nodeId": ".-1.140042611092256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".-1.140042611092256": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611092256", "variance": "INVARIANT"}, "140042611092704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828560"}, {"nodeId": "140042556828672"}, {"nodeId": "140042556828784"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042556828560": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042556828672": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042556828784": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042611093152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "offset", "whence"]}, "140042611093600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611094944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611095392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611095840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}, {"nodeId": "140042556828896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "size"]}, "140042556828896": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611096288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611096736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042611097184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042568800896"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573225248": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "PackageNotFoundError", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522769248"}}], "typeVars": [], "bases": [{"nodeId": "140042577644224"}], "isAbstract": false}, "140042522769248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573225248"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573225920": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "EntryPoint", "members": [{"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611709024"}, "name": "load"}, {"kind": "Variable", "name": "extras", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522765440"}}, {"kind": "Variable", "name": "module", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522764768"}}, {"kind": "Variable", "name": "attr", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522765216"}}, {"kind": "Variable", "name": "dist", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573244656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "module", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "attr", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extras", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611710816"}, "name": "matches"}], "typeVars": [], "bases": [{"nodeId": "140042573225584"}], "isAbstract": false}, "140042611709024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037008"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037008": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522765440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037232"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037232": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522764768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037344"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037344": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042522765216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037456"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561037456": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573244656": {"type": "Union", "items": [{"nodeId": "140042573227264"}, {"nodeId": "N"}]}, "140042611710816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042561037568"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042561037568": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573225584": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "_EntryPointBase", "members": [{"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "group", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "_fields", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573243648"}}, {"kind": "Variable", "name": "_field_types", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_field_defaults", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573243200"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586007456"}, "name": "_replace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586010144"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "_self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586009472"}, "name": "_asdict"}, {"kind": "Variable", "name": "_make", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586010368"}}], "typeVars": [], "bases": [{"nodeId": "140042577368384", "args": [{"nodeId": "140042577367376"}]}], "isAbstract": false}, "140042573243648": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042573243200": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "0"}, {"nodeId": "0"}]}, "140042586007456": {"type": "Function", "typeVars": [".-1.140042586007456"], "argTypes": [{"nodeId": ".-1.140042586007456"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042586007456"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_self", "name", "value", "group"]}, ".-1.140042586007456": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586007456", "variance": "INVARIANT"}, "140042573243424": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042586010144": {"type": "Function", "typeVars": [".-1.140042586010144"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": ".-1.140042586010144"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["_cls", "name", "value", "group"]}, ".-1.140042586010144": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586010144", "variance": "INVARIANT"}, "140042586009472": {"type": "Function", "typeVars": [".-1.140042586009472"], "argTypes": [{"nodeId": ".-1.140042586009472"}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["_self"]}, ".-1.140042586009472": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586009472", "variance": "INVARIANT"}, "140042586010368": {"type": "Function", "typeVars": [".-1.140042586010368"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042586010368"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["_cls", "iterable", "new", "len"]}, ".-1.140042586010368": {"type": "TypeVar", "varName": "_NT", "values": [], "upperBound": {"nodeId": "140042573243424"}, "def": "140042586010368", "variance": "INVARIANT"}, "140042573226592": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "SelectableGroups", "members": [{"kind": "Variable", "name": "load", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522757824"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522757152"}}, {"kind": "Variable", "name": "names", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042522756480"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561036336"}, "items": [{"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "select", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "select"}], "typeVars": [], "bases": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042573226256"}]}], "isAbstract": false}, "140042522757824": {"type": "Function", "typeVars": [".-1.140042522757824"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042561037792"}]}], "returnType": {"nodeId": ".-1.140042522757824"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "eps"]}, "140042561037792": {"type": "TypeAlias", "target": {"nodeId": "140042569524592"}}, ".-1.140042522757824": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042522757824", "variance": "INVARIANT"}, "140042522757152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042522756480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}], "returnType": {"nodeId": "140042577733536", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561036336": {"type": "Overloaded", "items": [{"nodeId": "140042611714400"}, {"nodeId": "140042611714848"}]}, "140042611714400": {"type": "Function", "typeVars": [".-1.140042611714400"], "argTypes": [{"nodeId": ".-1.140042611714400"}], "returnType": {"nodeId": ".-1.140042611714400"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042611714400": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042611714400", "variance": "INVARIANT"}, "140042611714848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573226592"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042573226256"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "name", "value", "group", "module", "attr", "extras"]}, "140042569349968": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "DistributionFinder", "members": [{"kind": "ClassDef", "type": {"nodeId": "140042569350304"}}, {"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522734464"}}], "typeVars": [], "bases": [{"nodeId": "140042573230624"}], "isAbstract": true}, "140042522734464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569349968"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227264"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "context"]}, "140042569350640": {"type": "Concrete", "module": "importlib.metadata", "simpleName": "MetadataPathFinder", "members": [{"kind": "Variable", "name": "find_distributions", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042522732224"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611676256"}, "name": "invalidate_caches"}], "typeVars": [], "bases": [{"nodeId": "140042569349968"}], "isAbstract": false}, "140042522732224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042569350304"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042573227600"}]}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["cls", "context"]}, "140042611676256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569350640"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["cls"]}, "140042498327600": {"type": "Concrete", "module": "functools", "simpleName": "_lru_cache_wrapper", "members": [{"kind": "Variable", "name": "__wrapped__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497669632"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611686560"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042611687008"}, "name": "cache_info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607001888"}, "name": "cache_clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607002336"}, "name": "__copy__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__memo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607002784"}, "name": "__deepcopy__"}], "typeVars": [{"nodeId": ".1.140042498327600"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497669632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327600"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498327600": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498327600", "variance": "INVARIANT"}, "140042611686560": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, {"nodeId": "140042577727824"}, {"nodeId": "140042577727824"}], "returnType": {"nodeId": ".1.140042498327600"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "args", "kwargs"]}, "140042611687008": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "140042493301520"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493301520": {"type": "TypeAlias", "target": {"nodeId": "140042493297264"}}, "140042493297264": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042607001888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607002336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}], "returnType": {"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607002784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042498327600", "args": [{"nodeId": ".1.140042498327600"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", null]}, "140042498327936": {"type": "Concrete", "module": "functools", "simpleName": "partial", "members": [{"kind": "Variable", "name": "func", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497962080"}}, {"kind": "Variable", "name": "args", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497479328"}}, {"kind": "Variable", "name": "keywords", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497478656"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607007712"}, "name": "__new__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "__self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607008160"}, "name": "__call__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607008608"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498327936"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497962080": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042497666048"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".1.140042498327936": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498327936", "variance": "INVARIANT"}, "140042497666048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497479328": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497478656": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}], "returnType": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607007712": {"type": "Function", "typeVars": [".-1.140042607007712"], "argTypes": [{"nodeId": "0"}, {"nodeId": "140042497665824"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".-1.140042607007712"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["cls", null, "args", "kwargs"]}, "140042497665824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".-1.140042607007712": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607007712", "variance": "INVARIANT"}, "140042607008160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498327936", "args": [{"nodeId": ".1.140042498327936"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498327936"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": [null, "args", "kwargs"]}, "140042607008608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498328272": {"type": "Concrete", "module": "functools", "simpleName": "partialmethod", "members": [{"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493299616"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368384", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "keywords", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493300960"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607009952"}, "name": "__get__"}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042498180704"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607011296"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498328272"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042493299616": {"type": "Union", "items": [{"nodeId": "140042497669408"}, {"nodeId": "140042493299504"}]}, "140042497669408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498328272": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328272", "variance": "INVARIANT"}, "140042493299504": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042493300960": {"type": "Overloaded", "items": [{"nodeId": "140042607009056"}, {"nodeId": "140042607009504"}]}, "140042607009056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "140042497665600"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "keywords"]}, "140042497665600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607009504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "140042493303872"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "keywords"]}, "140042493303872": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042607009952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}, {"nodeId": "A"}, {"nodeId": "140042493304432"}], "returnType": {"nodeId": "140042497666272"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls"]}, "140042493304432": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497666272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328272"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498180704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328272", "args": [{"nodeId": ".1.140042498328272"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607011296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498328608": {"type": "Concrete", "module": "functools", "simpleName": "_SingleDispatchCallable", "members": [{"kind": "Variable", "name": "registry", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578053824", "args": [{"nodeId": "A"}, {"nodeId": "140042497668960"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607011744"}, "name": "dispatch"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493301744"}, "items": [{"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "register"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607013536"}, "name": "_clear_cache"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "__self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607013984"}, "name": "__call__"}], "typeVars": [{"nodeId": ".1.140042498328608"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497668960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, ".1.140042498328608": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328608", "variance": "INVARIANT"}, "140042607011744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "A"}], "returnType": {"nodeId": "140042497664928"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "cls"]}, "140042497664928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042493301744": {"type": "Overloaded", "items": [{"nodeId": "140042607012192"}, {"nodeId": "140042607012640"}, {"nodeId": "140042607013088"}]}, "140042607012192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497667392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "func"]}, "140042497667392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497664480"}], "returnType": {"nodeId": "140042497664256"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497664480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497664256": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607012640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "140042497665152"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497663808"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "func"]}, "140042497665152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497663808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607013088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "0"}, {"nodeId": "140042497664704"}], "returnType": {"nodeId": "140042497663360"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "cls", "func"]}, "140042497664704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497663360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607013536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607013984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328608"}]}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328608"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": [null, "args", "kwargs"]}, "140042498328944": {"type": "Concrete", "module": "functools", "simpleName": "singledispatchmethod", "members": [{"kind": "Variable", "name": "dispatcher", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498328608", "args": [{"nodeId": ".1.140042498328944"}]}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497668736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607014880"}, "name": "__init__"}, {"kind": "Variable", "name": "__isabstractmethod__", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042498182048"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493303424"}, "items": [{"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "register", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "register"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607017120"}, "name": "__get__"}], "typeVars": [{"nodeId": ".1.140042498328944"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042498328944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498328944", "variance": "INVARIANT"}, "140042497668736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607014880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "140042497662912"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, "140042497662912": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498182048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042493303424": {"type": "Overloaded", "items": [{"nodeId": "140042607015776"}, {"nodeId": "140042607016224"}, {"nodeId": "140042607016672"}]}, "140042607015776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "0"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042497663136"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "method"]}, "140042497663136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497661792"}], "returnType": {"nodeId": "140042497662240"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497661792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497662240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607016224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "140042498441952"}, {"nodeId": "N"}], "returnType": {"nodeId": "140042498442176"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "cls", "method"]}, "140042498441952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498442176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607016672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": "0"}, {"nodeId": "140042497662688"}], "returnType": {"nodeId": "140042497959168"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "cls", "method"]}, "140042497662688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497959168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607017120": {"type": "Function", "typeVars": [".-1.140042607017120"], "argTypes": [{"nodeId": "140042498328944", "args": [{"nodeId": ".1.140042498328944"}]}, {"nodeId": ".-1.140042607017120"}, {"nodeId": "140042493307456"}], "returnType": {"nodeId": "140042497957824"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "obj", "cls"]}, ".-1.140042607017120": {"type": "TypeVar", "varName": "_S", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607017120", "variance": "INVARIANT"}, "140042493307456": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497957824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498328944"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042498329280": {"type": "Concrete", "module": "functools", "simpleName": "cached_property", "members": [{"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497668512"}}, {"kind": "Variable", "name": "attrname", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042493300512"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "func", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607017568"}, "name": "__init__"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042493304992"}, "items": [{"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__get__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__get__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "owner", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606527648"}, "name": "__set_name__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "cls", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "item", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606528096"}, "name": "__class_getitem__"}], "typeVars": [{"nodeId": ".1.140042498329280"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497668512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, ".1.140042498329280": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042498329280", "variance": "INVARIANT"}, "140042493300512": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042607017568": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "140042497958496"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "func"]}, "140042497958496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042493304992": {"type": "Overloaded", "items": [{"nodeId": "140042606526752"}, {"nodeId": "140042606527200"}]}, "140042606526752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "N"}, {"nodeId": "140042493308016"}], "returnType": {"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "instance", "owner"]}, "140042493308016": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042606527200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042493308240"}], "returnType": {"nodeId": ".1.140042498329280"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "instance", "owner"]}, "140042493308240": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042606527648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042498329280", "args": [{"nodeId": ".1.140042498329280"}]}, {"nodeId": "0"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "owner", "name"]}, "140042606528096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "0"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042578059872"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["cls", "item"]}, "140042498326592": {"type": "Concrete", "module": "numpy.polynomial.polyutils", "simpleName": "RankWarning", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577653632"}], "isAbstract": false}, "140042569641184": {"type": "Concrete", "module": "threading", "simpleName": "ThreadError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042569641520": {"type": "Concrete", "module": "threading", "simpleName": "local", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606538400"}, "name": "__getattribute__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606538848"}, "name": "__setattr__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606539296"}, "name": "__delattr__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042606538400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042606538848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", null, null]}, "140042606539296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641520"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042569641856": {"type": "Concrete", "module": "threading", "simpleName": "Thread", "members": [{"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "ident", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497886464"}}, {"kind": "Variable", "name": "daemon", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "group", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "target", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "daemon", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606540192"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606540640"}, "name": "start"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606541088"}, "name": "run"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606541536"}, "name": "join"}, {"kind": "Variable", "name": "native_id", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497886016"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042606542432"}, "name": "is_alive"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607149792"}, "name": "getName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607150240"}, "name": "setName"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607150688"}, "name": "isDaemon"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "daemonic", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607151136"}, "name": "setDaemon"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497886464": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042497587824"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497587824": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042606540192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "N"}, {"nodeId": "140042497588048"}, {"nodeId": "140042497588160"}, {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "140042497588496"}, {"nodeId": "140042497588608"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "group", "target", "name", "args", "kwargs", "daemon"]}, "140042497588048": {"type": "Union", "items": [{"nodeId": "140042548375200"}, {"nodeId": "N"}]}, "140042548375200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497588160": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042497588496": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042497588608": {"type": "Union", "items": [{"nodeId": "140042782776944"}, {"nodeId": "N"}]}, "140042606540640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606541088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042606541536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042497588720"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497588720": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042497886016": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042497588832"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497588832": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042606542432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607149792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607150240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042607150688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607151136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569641856"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "daemonic"]}, "140042569642192": {"type": "Concrete", "module": "threading", "simpleName": "_DummyThread", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607151584"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042569641856"}], "isAbstract": false}, "140042607151584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642192"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569642864": {"type": "Concrete", "module": "threading", "simpleName": "_RLock", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607154272"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607154720"}, "name": "release"}, {"kind": "Variable", "name": "__enter__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497893856"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607155168"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607154272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607154720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497893856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607155168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569642864"}, {"nodeId": "140042497900720"}, {"nodeId": "140042497900832"}, {"nodeId": "140042497900944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497900720": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497900832": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497900944": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569643200": {"type": "Concrete", "module": "threading", "simpleName": "Condition", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "lock", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607155616"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156064"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156512"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607156960"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607157408"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607157856"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "predicate", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607158304"}, "name": "wait_for"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607158752"}, "name": "notify"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607159200"}, "name": "notify_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607159648"}, "name": "notifyAll"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607155616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901056"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "lock"]}, "140042497901056": {"type": "Union", "items": [{"nodeId": "140042569642528"}, {"nodeId": "140042569642864"}, {"nodeId": "N"}]}, "140042607156064": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042607156512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901168"}, {"nodeId": "140042497901280"}, {"nodeId": "140042497901392"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497901168": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497901280": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497901392": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607156960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042607157408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607157856": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042497901504"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497901504": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607158304": {"type": "Function", "typeVars": [".-1.140042607158304"], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042548370944"}, {"nodeId": "140042497901616"}], "returnType": {"nodeId": ".-1.140042607158304"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "predicate", "timeout"]}, "140042548370944": {"type": "Function", "typeVars": [".-1.140042548370944"], "argTypes": [], "returnType": {"nodeId": ".-1.140042548370944"}, "argKinds": [], "argNames": []}, ".-1.140042548370944": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042548370944", "variance": "INVARIANT"}, "140042497901616": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, ".-1.140042607158304": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042607158304", "variance": "INVARIANT"}, "140042607158752": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042607159200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607159648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569643536": {"type": "Concrete", "module": "threading", "simpleName": "Semaphore", "members": [{"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160096"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "t", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "v", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tb", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160544"}, "name": "__exit__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607160992"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607161440"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607161888"}, "name": "release"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607160096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "value"]}, "140042607160544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042497901728"}, {"nodeId": "140042497901840"}, {"nodeId": "140042497901952"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497901728": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497901840": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497901952": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042607160992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497902064"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042497902064": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607161440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497902176"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": [null, null, null]}, "140042497902176": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607161888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569643536"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "n"]}, "140042569643872": {"type": "Concrete", "module": "threading", "simpleName": "BoundedSemaphore", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569643536"}], "isAbstract": false}, "140042569644208": {"type": "Concrete", "module": "threading", "simpleName": "Event", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607162784"}, "name": "is_set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607163232"}, "name": "isSet"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607163680"}, "name": "set"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607164128"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607164576"}, "name": "wait"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607162784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607163232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607163680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607164128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607164576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644208"}, {"nodeId": "140042497902288"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497902288": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042569644544": {"type": "Concrete", "module": "threading", "simpleName": "Timer", "members": [{"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}}, {"kind": "Variable", "name": "finished", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569644208"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042548308768"}}, {"kind": "Variable", "name": "interval", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577366032"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "interval", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "function", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607165024"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607493408"}, "name": "cancel"}], "typeVars": [], "bases": [{"nodeId": "140042569641856"}], "isAbstract": false}, "140042548308768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042607165024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644544"}, {"nodeId": "140042577366032"}, {"nodeId": "140042548376096"}, {"nodeId": "140042497902624"}, {"nodeId": "140042497902848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "interval", "function", "args", "kwargs"]}, "140042548376096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042782775936"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042497902624": {"type": "Union", "items": [{"nodeId": "140042782780640", "args": [{"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042497902848": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "N"}]}, "140042607493408": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644544"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569644880": {"type": "Concrete", "module": "threading", "simpleName": "Barrier", "members": [{"kind": "Variable", "name": "parties", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899232"}}, {"kind": "Variable", "name": "n_waiting", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899680"}}, {"kind": "Variable", "name": "broken", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497899904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parties", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "action", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607495200"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607495648"}, "name": "wait"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607496096"}, "name": "reset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607496544"}, "name": "abort"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042497899232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497899680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497899904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607495200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}, {"nodeId": "140042577365696"}, {"nodeId": "140042497902960"}, {"nodeId": "140042497903072"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "parties", "action", "timeout"]}, "140042497902960": {"type": "Union", "items": [{"nodeId": "140042548377664"}, {"nodeId": "N"}]}, "140042548377664": {"type": "Function", "typeVars": [], "argTypes": [], "returnType": {"nodeId": "N"}, "argKinds": [], "argNames": []}, "140042497903072": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607495648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}, {"nodeId": "140042497903184"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "timeout"]}, "140042497903184": {"type": "Union", "items": [{"nodeId": "140042577366032"}, {"nodeId": "N"}]}, "140042607496096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042607496544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569644880"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042569645216": {"type": "Concrete", "module": "threading", "simpleName": "BrokenBarrierError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577378800"}], "isAbstract": false}, "140042480722864": {"type": "Concrete", "module": "unittest.case", "simpleName": "_BaseTestCaseContext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "test_case", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042607498336"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042607498336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480722864"}, {"nodeId": "140042480723872"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "test_case"]}, "140042480718160": {"type": "Concrete", "module": "warnings", "simpleName": "_OptionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042569640176": {"type": "Concrete", "module": "json.decoder", "simpleName": "JSONDecodeError", "members": [{"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "lineno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "colno", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "doc", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "pos", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581992928"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042581992928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640176"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "doc", "pos"]}, "140042569640512": {"type": "Concrete", "module": "json.decoder", "simpleName": "JSONDecoder", "members": [{"kind": "Variable", "name": "object_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042544078784"}}, {"kind": "Variable", "name": "parse_float", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042502600320"}}, {"kind": "Variable", "name": "parse_int", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497571104"}}, {"kind": "Variable", "name": "parse_constant", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497571776"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "object_pairs_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497569984"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_float", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_int", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "parse_constant", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "strict", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "object_pairs_hook", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581993376"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_w", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581993824"}, "name": "decode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "idx", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581994272"}, "name": "raw_decode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042544078784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042502600320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497571104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497571776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497569984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042497573040"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573040": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042581993376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042497573264"}, {"nodeId": "140042497573600"}, {"nodeId": "140042497573824"}, {"nodeId": "140042497574048"}, {"nodeId": "140042782776944"}, {"nodeId": "140042497574272"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "object_hook", "parse_float", "parse_int", "parse_constant", "strict", "object_pairs_hook"]}, "140042497573264": {"type": "Union", "items": [{"nodeId": "140042497740576"}, {"nodeId": "N"}]}, "140042497740576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573600": {"type": "Union", "items": [{"nodeId": "140042497740352"}, {"nodeId": "N"}]}, "140042497740352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497573824": {"type": "Union", "items": [{"nodeId": "140042497741024"}, {"nodeId": "N"}]}, "140042497741024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574048": {"type": "Union", "items": [{"nodeId": "140042497741248"}, {"nodeId": "N"}]}, "140042497741248": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574272": {"type": "Union", "items": [{"nodeId": "140042497741920"}, {"nodeId": "N"}]}, "140042497741920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042497574608"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042497574608": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, "140042581993824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042577367376"}, {"nodeId": "140042497741696"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "s", "_w"]}, "140042497741696": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042581994272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640512"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042497575392"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "s", "idx"]}, "140042497575392": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "140042577365696"}]}, "140042569639840": {"type": "Concrete", "module": "json.encoder", "simpleName": "JSONEncoder", "members": [{"kind": "Variable", "name": "item_separator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "key_separator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "skipkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "ensure_ascii", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "check_circular", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "allow_nan", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "sort_keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498439232"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "skipkeys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ensure_ascii", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "check_circular", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "allow_nan", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sort_keys", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "separators", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "default", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581996288"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581996736"}, "name": "default"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581997184"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "o", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_one_shot", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581997632"}, "name": "iterencode"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042498439232": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042581996288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042498434192"}, {"nodeId": "140042498438672"}, {"nodeId": "140042498438448"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "skipkeys", "ensure_ascii", "check_circular", "allow_nan", "sort_keys", "indent", "separators", "default"]}, "140042498434192": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042498438672": {"type": "Union", "items": [{"nodeId": "140042498438560"}, {"nodeId": "N"}]}, "140042498438560": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042498438448": {"type": "Union", "items": [{"nodeId": "140042497572000"}, {"nodeId": "N"}]}, "140042497572000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042581996736": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "o"]}, "140042581997184": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "o"]}, "140042581997632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639840"}, {"nodeId": "A"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "o", "_one_shot"]}, "140042578063568": {"type": "Concrete", "module": "sre_parse", "simpleName": "Verbose", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042578063904": {"type": "Concrete", "module": "sre_parse", "simpleName": "_State", "members": [{"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "groupdict", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "groupwidths", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042572990496"}]}}, {"kind": "Variable", "name": "lookbehindgroups", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569770464"}}, {"kind": "Variable", "name": "groups", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540207456"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791040"}, "name": "opengroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "p", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791488"}, "name": "closegroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589791936"}, "name": "checkgroup"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "gid", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589792384"}, "name": "checklookbehindgroup"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042572990496": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569770464": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042540207456": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589791040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042565528016"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "name"]}, "140042565528016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589791488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "p"]}, "140042578064240": {"type": "Concrete", "module": "sre_parse", "simpleName": "SubPattern", "members": [{"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042569774608"}]}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569764528"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578063904"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "state", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "data", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589792832"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589793728"}, "name": "dump"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589794176"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589794624"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795072"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795520"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589795968"}, "name": "insert"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "code", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589796416"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589796864"}, "name": "getwidth"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569774608": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042569772256": {"type": "Tuple", "items": [{"nodeId": "140042578065248"}, {"nodeId": "140042569771248"}]}, "140042569771248": {"type": "TypeAlias", "target": {"nodeId": "140042569771808"}}, "140042569771808": {"type": "Union", "items": [{"nodeId": "140042569773824"}, {"nodeId": "140042569774384"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042578064240"}]}, {"nodeId": "140042569771584"}, {"nodeId": "140042569771696"}]}, "140042569773824": {"type": "TypeAlias", "target": {"nodeId": "140042577368720", "args": [{"nodeId": "140042572992288"}]}}, "140042572992288": {"type": "Tuple", "items": [{"nodeId": "140042578065248"}, {"nodeId": "140042577365696"}]}, "140042569774384": {"type": "TypeAlias", "target": {"nodeId": "140042569516528"}}, "140042569516528": {"type": "Tuple", "items": [{"nodeId": "N"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042578064240"}]}]}, "140042569771584": {"type": "TypeAlias", "target": {"nodeId": "140042569516416"}}, "140042569516416": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}, {"nodeId": "140042578064240"}]}, "140042569771696": {"type": "TypeAlias", "target": {"nodeId": "140042569776288"}}, "140042569776288": {"type": "Tuple", "items": [{"nodeId": "140042569419008"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064240"}]}, "140042569419008": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042569764528": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042589792832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042578063904"}, {"nodeId": "140042565528240"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "state", "data"]}, "140042565528240": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042565528128"}]}, {"nodeId": "N"}]}, "140042565528128": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589793728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "level"]}, "140042589794176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042589794624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565528352": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042589795072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528576"}], "returnType": {"nodeId": "140042565528464"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042565528576": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042565528464": {"type": "Union", "items": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528688"}]}, "140042565528688": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589795520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565528800"}, {"nodeId": "140042565529024"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042565528800": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577368048"}]}, "140042565529024": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589795968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042577365696"}, {"nodeId": "140042565529136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "index", "code"]}, "140042565529136": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589796416": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}, {"nodeId": "140042565529248"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "code"]}, "140042565529248": {"type": "TypeAlias", "target": {"nodeId": "140042569772256"}}, "140042589796864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064240"}], "returnType": {"nodeId": "140042565529360"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565529360": {"type": "Tuple", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}, "140042589791936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "gid"]}, "140042589792384": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578063904"}, {"nodeId": "140042577365696"}, {"nodeId": "140042578064576"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "gid", "source"]}, "140042578064576": {"type": "Concrete", "module": "sre_parse", "simpleName": "Tokenizer", "members": [{"kind": "Variable", "name": "istext", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decoded_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "next", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569776736"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589797312"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "char", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589797760"}, "name": "match"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995072"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "n", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995520"}, "name": "getwhile"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589995968"}, "name": "getuntil"}, {"kind": "Variable", "name": "pos", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042540202496"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589997312"}, "name": "tell"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589997760"}, "name": "seek"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "offset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042589998208"}, "name": "error"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569776736": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589797312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042589797760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "char"]}, "140042589995072": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042565529472"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042565529472": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042589995520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577365696"}, {"nodeId": "140042782780640", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "n", "charset"]}, "140042589995968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "terminator", "name"]}, "140042540202496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589997312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042589997760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "index"]}, "140042589998208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042578064576"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042578064912"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "msg", "offset"]}, "140042569040608": {"type": "Concrete", "module": "_codecs", "simpleName": "_EncodingMap", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590003360"}, "name": "size"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042590003360": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569040608"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573224912": {"type": "Protocol", "module": "importlib.metadata._meta", "simpleName": "SimplePath", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590425536"}, "name": "joinpath"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590425984"}, "name": "parent"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590426432"}, "name": "read_text"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590426880"}, "name": "__truediv__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "protocolMembers": ["__truediv__", "joinpath", "parent", "read_text"]}, "140042590425536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590425984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590426432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590426880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573224912"}], "returnType": {"nodeId": "140042573224912"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042573727440": {"type": "Concrete", "module": "email.message", "simpleName": "Message", "members": [{"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573726432"}}, {"kind": "Variable", "name": "preamble", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042564603568"}}, {"kind": "Variable", "name": "epilogue", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569530640"}}, {"kind": "Variable", "name": "defects", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042573730800"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428000"}, "name": "is_multipart"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428448"}, "name": "set_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590428896"}, "name": "get_unixfrom"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590429344"}, "name": "attach"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "i", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "decode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590429792"}, "name": "get_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "payload", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590430240"}, "name": "set_payload"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590430688"}, "name": "set_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590431136"}, "name": "get_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590431584"}, "name": "__len__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432032"}, "name": "__contains__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432480"}, "name": "__iter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590432928"}, "name": "__getitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "val", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590433376"}, "name": "__setitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590433824"}, "name": "__delitem__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590434272"}, "name": "keys"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590434720"}, "name": "values"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590435168"}, "name": "items"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590435616"}, "name": "get"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436064"}, "name": "get_all"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_params", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436512"}, "name": "add_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "_value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590436960"}, "name": "replace_header"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590503200"}, "name": "get_content_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590503648"}, "name": "get_content_maintype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504096"}, "name": "get_content_subtype"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504544"}, "name": "get_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "ctype", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590504992"}, "name": "set_default_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590505440"}, "name": "get_params"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unquote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590505888"}, "name": "get_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590506336"}, "name": "del_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590506784"}, "name": "set_type"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590507232"}, "name": "get_filename"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590507680"}, "name": "get_boundary"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590508128"}, "name": "set_boundary"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042561262352"}, "items": [{"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "get_content_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "get_content_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "failobj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590509472"}, "name": "get_charsets"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590509920"}, "name": "walk"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590510368"}, "name": "get_content_disposition"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590510816"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590511264"}, "name": "as_bytes"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590511712"}, "name": "__bytes__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "param", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "requote", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "language", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590512160"}, "name": "set_param"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590512608"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513056"}, "name": "set_raw"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513504"}, "name": "raw_items"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573726432": {"type": "Concrete", "module": "email.policy", "simpleName": "Policy", "members": [{"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573249248"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573249472"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582248128"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582248576"}, "name": "clone"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249024"}, "name": "handle_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249472"}, "name": "register_defect"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582249920"}, "name": "header_max_count"}, {"kind": "Variable", "name": "header_source_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611024704"}}, {"kind": "Variable", "name": "header_store_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611025152"}}, {"kind": "Variable", "name": "header_fetch_parse", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611025824"}}, {"kind": "Variable", "name": "fold", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611024480"}}, {"kind": "Variable", "name": "fold_binary", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042611027392"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": true}, "140042573249248": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042573249472": {"type": "Union", "items": [{"nodeId": "140042586005440"}, {"nodeId": "N"}]}, "140042586005440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582248128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042561268176"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561268288"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory"]}, "140042561268176": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042561268288": {"type": "Union", "items": [{"nodeId": "140042560953632"}, {"nodeId": "N"}]}, "140042560953632": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582248576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042573726432"}, "argKinds": ["ARG_POS", "ARG_STAR_2"], "argNames": ["self", "kw"]}, "140042582249024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042573727440"}, {"nodeId": "140042573730800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140042573730800": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582246784"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042577642880"}], "isAbstract": false}, "140042582246784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573730800"}, {"nodeId": "140042556249520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "line"]}, "140042556249520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582249472": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042573727440"}, {"nodeId": "140042573730800"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "obj", "defect"]}, "140042582249920": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561268512"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "name"]}, "140042561268512": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042611024704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561268736"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561268736": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611025152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561268960"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561268960": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042611025824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042611024480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042611027392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042564603568": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042569530640": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590428000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590428448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "unixfrom"]}, "140042590428896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561270304"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561270304": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590429344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042573727440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "payload"]}, "140042590429792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270416"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "i", "decode"]}, "140042561270416": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042590430240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270640"}, {"nodeId": "140042561270752"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "payload", "charset"]}, "140042561270640": {"type": "TypeAlias", "target": {"nodeId": "140042573247232"}}, "140042573247232": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042573727440"}]}, {"nodeId": "140042577367376"}, {"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}]}, "140042561270752": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042569530416": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573737856": {"type": "Concrete", "module": "email.charset", "simpleName": "Charset", "members": [{"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "header_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "body_encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "output_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808352"}}, {"kind": "Variable", "name": "input_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808464"}}, {"kind": "Variable", "name": "output_codec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573808576"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "input_charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582123552"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124000"}, "name": "get_body_encoding"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124448"}, "name": "get_output_charset"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582124896"}, "name": "header_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlengths", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582125344"}, "name": "header_encode_lines"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582125792"}, "name": "body_encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582126240"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582126688"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042573808352": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808464": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808576": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582123552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "input_charset"]}, "140042582124000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042582124448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}], "returnType": {"nodeId": "140042556251088"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556251088": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042582124896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042582125344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782780976", "args": [{"nodeId": "140042577365696"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "string", "maxlengths"]}, "140042582125792": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "string"]}, "140042582126240": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582126688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737856"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590430688": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042561270864"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "charset"]}, "140042561270864": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042590431136": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561270976"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561270976": {"type": "TypeAlias", "target": {"nodeId": "140042569530416"}}, "140042590431584": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590432032": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590432480": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042590432928": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561271088"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042561271088": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590433376": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561271200"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null]}, "140042561271200": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590433824": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042590434272": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590434720": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042561271312"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561271312": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590435168": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042561271648"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561271648": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042561271424"}]}, "140042561271424": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590435616": {"type": "Function", "typeVars": [".-1.140042590435616"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590435616"}], "returnType": {"nodeId": "140042561271872"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590435616": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590435616", "variance": "INVARIANT"}, "140042561271872": {"type": "Union", "items": [{"nodeId": "140042561271760"}, {"nodeId": ".-1.140042590435616"}]}, "140042561271760": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590436064": {"type": "Function", "typeVars": [".-1.140042590436064"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590436064"}], "returnType": {"nodeId": "140042561272096"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "name", "failobj"]}, ".-1.140042590436064": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590436064", "variance": "INVARIANT"}, "140042561272096": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042561271984"}]}, {"nodeId": ".-1.140042590436064"}]}, "140042561271984": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590436512": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561272208"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR_2"], "argNames": ["self", "_name", "_value", "_params"]}, "140042561272208": {"type": "TypeAlias", "target": {"nodeId": "140042573810368"}}, "140042573810368": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}, {"nodeId": "140042573809360"}]}, "140042573809360": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573809584"}, {"nodeId": "140042577367376"}]}, "140042573809584": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590436960": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042561272320"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "_name", "_value"]}, "140042561272320": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590503200": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590503648": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504096": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504544": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590504992": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "ctype"]}, "140042590505440": {"type": "Function", "typeVars": [".-1.140042590505440"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590505440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042561272656"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "failobj", "header", "unquote"]}, ".-1.140042590505440": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590505440", "variance": "INVARIANT"}, "140042561272656": {"type": "Union", "items": [{"nodeId": "140042577368720", "args": [{"nodeId": "140042561272544"}]}, {"nodeId": ".-1.140042590505440"}]}, "140042561272544": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042590505888": {"type": "Function", "typeVars": [".-1.140042590505888"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590505888"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "140042561272880"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "failobj", "header", "unquote"]}, ".-1.140042590505888": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590505888", "variance": "INVARIANT"}, "140042561272880": {"type": "Union", "items": [{"nodeId": ".-1.140042590505888"}, {"nodeId": "140042561272768"}]}, "140042561272768": {"type": "TypeAlias", "target": {"nodeId": "140042573809808"}}, "140042573809808": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573809024"}]}, "140042573809024": {"type": "Tuple", "items": [{"nodeId": "140042573809136"}, {"nodeId": "140042573808016"}, {"nodeId": "140042577367376"}]}, "140042573809136": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573808016": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590506336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "header", "requote"]}, "140042590506784": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "type", "header", "requote"]}, "140042590507232": {"type": "Function", "typeVars": [".-1.140042590507232"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590507232"}], "returnType": {"nodeId": "140042561273104"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590507232": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590507232", "variance": "INVARIANT"}, "140042561273104": {"type": "Union", "items": [{"nodeId": ".-1.140042590507232"}, {"nodeId": "140042577367376"}]}, "140042590507680": {"type": "Function", "typeVars": [".-1.140042590507680"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590507680"}], "returnType": {"nodeId": "140042561272432"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590507680": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590507680", "variance": "INVARIANT"}, "140042561272432": {"type": "Union", "items": [{"nodeId": ".-1.140042590507680"}, {"nodeId": "140042577367376"}]}, "140042590508128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "boundary"]}, "140042561262352": {"type": "Overloaded", "items": [{"nodeId": "140042590508576"}, {"nodeId": "140042590509024"}]}, "140042590508576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561273328"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561273328": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590509024": {"type": "Function", "typeVars": [".-1.140042590509024"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590509024"}], "returnType": {"nodeId": "140042561273440"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "failobj"]}, ".-1.140042590509024": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509024", "variance": "INVARIANT"}, "140042561273440": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": ".-1.140042590509024"}]}, "140042590509472": {"type": "Function", "typeVars": [".-1.140042590509472"], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": ".-1.140042590509472"}], "returnType": {"nodeId": "140042561273552"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "failobj"]}, ".-1.140042590509472": {"type": "TypeVar", "varName": "_T", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509472", "variance": "INVARIANT"}, "140042561273552": {"type": "Union", "items": [{"nodeId": ".-1.140042590509472"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}]}, "140042590509920": {"type": "Function", "typeVars": [".-1.140042590509920"], "argTypes": [{"nodeId": ".-1.140042590509920"}], "returnType": {"nodeId": "140042782781648", "args": [{"nodeId": ".-1.140042590509920"}, {"nodeId": "N"}, {"nodeId": "N"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, ".-1.140042590509920": {"type": "TypeVar", "varName": "Self", "values": [], "upperBound": {"nodeId": "140042782775936"}, "def": "140042590509920", "variance": "INVARIANT"}, "140042590510368": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042561273664"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042561273664": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590510816": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042556244032"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140042556244032": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590511264": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556244144"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "policy"]}, "140042556244144": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590511712": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590512160": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556244256"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "param", "value", "header", "requote", "charset", "language", "replace"]}, "140042556244256": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590512608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042573726432"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140042590513056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556244368"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042556244368": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042590513504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727440"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042556244704"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042556244704": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042556244480"}]}, "140042556244480": {"type": "TypeAlias", "target": {"nodeId": "A"}}, "140042573727776": {"type": "Concrete", "module": "email.message", "simpleName": "MIMEPart", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590513952"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "preferencelist", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590514400"}, "name": "get_body"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590514848"}, "name": "iter_attachments"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590515296"}, "name": "iter_parts"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590515744"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590516192"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590516640"}, "name": "make_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517088"}, "name": "make_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "boundary", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517536"}, "name": "make_mixed"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590517984"}, "name": "add_related"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590518432"}, "name": "add_alternative"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590518880"}, "name": "add_attachment"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590601504"}, "name": "clear"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590601952"}, "name": "clear_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "unixfrom", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxheaderlen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "policy", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590602400"}, "name": "as_string"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042590602848"}, "name": "is_attachment"}], "typeVars": [], "bases": [{"nodeId": "140042573727440"}], "isAbstract": false}, "140042590513952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556244816"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "policy"]}, "140042556244816": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590514400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042556244928"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "preferencelist"]}, "140042556244928": {"type": "Union", "items": [{"nodeId": "140042573727440"}, {"nodeId": "N"}]}, "140042590514848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573727440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590515296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782780976", "args": [{"nodeId": "140042573727440"}]}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590515744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556245152"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556245152": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042573737520": {"type": "Concrete", "module": "email.contentmanager", "simpleName": "ContentManager", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582129152"}, "name": "get_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "obj", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kw", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582129600"}, "name": "set_content"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582130048"}, "name": "add_get_handler"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "typekey", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "handler", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582245440"}, "name": "add_set_handler"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042582129152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042573727440"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "kw"]}, "140042582129600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042573727440"}, {"nodeId": "A"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", "msg", "obj", "args", "kw"]}, "140042582130048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560957440"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "handler"]}, "140042560957440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042582245440": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573737520"}, {"nodeId": "140042577365024"}, {"nodeId": "140042560957216"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "typekey", "handler"]}, "140042560957216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_STAR", "ARG_STAR_2"], "argNames": [null, null]}, "140042590516192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556245600"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556245600": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590516640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556245824"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556245824": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556245936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556245936": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042556246048"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "boundary"]}, "140042556246048": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042590517984": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246272"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246272": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590518432": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246608"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246608": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590518880": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "A"}, {"nodeId": "140042556246944"}, {"nodeId": "A"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "args", "content_manager", "kw"]}, "140042556246944": {"type": "Union", "items": [{"nodeId": "140042573737520"}, {"nodeId": "N"}]}, "140042590601504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590601952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042590602400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}, {"nodeId": "140042782776944"}, {"nodeId": "140042556247168"}, {"nodeId": "140042556247280"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "unixfrom", "maxheaderlen", "policy"]}, "140042556247168": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556247280": {"type": "Union", "items": [{"nodeId": "140042573726432"}, {"nodeId": "N"}]}, "140042590602848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727776"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042573728112": {"type": "Concrete", "module": "email.message", "simpleName": "EmailMessage", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573727776"}], "isAbstract": false}, "140042569636480": {"type": "Concrete", "module": "pathlib", "simpleName": "PureWindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569635808"}], "isAbstract": false}, "140042569637152": {"type": "Concrete", "module": "pathlib", "simpleName": "PosixPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569636816"}, {"nodeId": "140042569636144"}], "isAbstract": false}, "140042569637488": {"type": "Concrete", "module": "pathlib", "simpleName": "WindowsPath", "members": [], "typeVars": [], "bases": [{"nodeId": "140042569636816"}, {"nodeId": "140042569636480"}], "isAbstract": false}, "140042569639504": {"type": "Concrete", "module": "numpy.compat.py3k", "simpleName": "contextlib_nullcontext", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209344"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209616"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "excinfo", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582209888"}, "name": "__exit__"}, {"kind": "Variable", "name": "enter_result", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042582209344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "enter_result"]}, "140042582209616": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042582209888": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639504"}, {"nodeId": "A"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_STAR"], "argNames": [null, null]}, "140042569640848": {"type": "Concrete", "module": "_thread", "simpleName": "LockType", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "blocking", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "timeout", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585715232"}, "name": "acquire"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585715680"}, "name": "release"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585716128"}, "name": "locked"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585716576"}, "name": "__enter__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "traceback", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042585717024"}, "name": "__exit__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042585715232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577366032"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "blocking", "timeout"]}, "140042585715680": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585716128": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042585716576": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042585717024": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569640848"}, {"nodeId": "140042497583904"}, {"nodeId": "140042497584240"}, {"nodeId": "140042497584352"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": [null, null, null, null]}, "140042497583904": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "N"}]}, "140042497584240": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497584352": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042569645552": {"type": "Concrete", "module": "_thread", "simpleName": "_ExceptHookArgs", "members": [{"kind": "Variable", "name": "__match_args__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042497906432"}}, {"kind": "Variable", "name": "exc_type", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497724192"}}, {"kind": "Variable", "name": "exc_value", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725088"}}, {"kind": "Variable", "name": "exc_traceback", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725312"}}, {"kind": "Variable", "name": "thread", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042497725536"}}], "typeVars": [], "bases": [{"nodeId": "140042569040272", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577368384", "args": [{"nodeId": "140042506367408"}]}], "isAbstract": false}, "140042497906432": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042497724192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497585136"}], "returnType": {"nodeId": "0"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497585136": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497584800"}, {"nodeId": "140042497584912"}, {"nodeId": "140042497585024"}]}, "140042497584800": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497584912": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497585024": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497725088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497585584"}], "returnType": {"nodeId": "140042497585696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497585584": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497585248"}, {"nodeId": "140042497585360"}, {"nodeId": "140042497585472"}]}, "140042497585248": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497585360": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497585472": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497585696": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497725312": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497586144"}], "returnType": {"nodeId": "140042497586256"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497586144": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497585808"}, {"nodeId": "140042497585920"}, {"nodeId": "140042497586032"}]}, "140042497585808": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497585920": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497586032": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497586256": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497725536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042497586704"}], "returnType": {"nodeId": "140042497586816"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042497586704": {"type": "Tuple", "items": [{"nodeId": "0"}, {"nodeId": "140042497586368"}, {"nodeId": "140042497586480"}, {"nodeId": "140042497586592"}]}, "140042497586368": {"type": "Union", "items": [{"nodeId": "140042577373088"}, {"nodeId": "N"}]}, "140042497586480": {"type": "Union", "items": [{"nodeId": "140042578058528"}, {"nodeId": "N"}]}, "140042497586592": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042497586816": {"type": "Union", "items": [{"nodeId": "140042569641856"}, {"nodeId": "N"}]}, "140042506367408": {"type": "Union", "items": [{"nodeId": "0"}, {"nodeId": "140042577373088"}, {"nodeId": "140042578058528"}, {"nodeId": "140042569641856"}]}, "140042480714128": {"type": "Concrete", "module": "logging", "simpleName": "BufferingFormatter", "members": [{"kind": "Variable", "name": "linefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480713792"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linefmt", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581559776"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581560224"}, "name": "formatHeader"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581560672"}, "name": "formatFooter"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "records", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581561120"}, "name": "format"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042581559776": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042480818256"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "linefmt"]}, "140042480818256": {"type": "Union", "items": [{"nodeId": "140042480713792"}, {"nodeId": "N"}]}, "140042581560224": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042581560672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042581561120": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480714128"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042480714800"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "records"]}, "140042480717824": {"type": "Concrete", "module": "logging", "simpleName": "LoggerAdapter", "members": [{"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480717824"}}, {"kind": "Variable", "name": "manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042498341712"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042485593504"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "logger", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581563808"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581564704"}, "name": "process"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581565152"}, "name": "debug"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581565600"}, "name": "info"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566048"}, "name": "warning"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566496"}, "name": "warn"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581566944"}, "name": "error"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581567392"}, "name": "exception"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581567840"}, "name": "critical"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stacklevel", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581568288"}, "name": "log"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581572320"}, "name": "isEnabledFor"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581572768"}, "name": "getEffectiveLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581573216"}, "name": "setLevel"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581770528"}, "name": "hasHandlers"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "level", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "msg", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "exc_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "extra", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stack_info", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581770976"}, "name": "_log"}, {"kind": "Variable", "name": "name", "isProperty": true, "isSelf": false, "type": {"nodeId": "140042485868672"}}], "typeVars": [{"nodeId": ".1.140042480717824"}], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, ".1.140042480717824": {"type": "TypeVar", "varName": "_L", "values": [], "upperBound": {"nodeId": "140042480812656"}, "def": "140042480717824", "variance": "INVARIANT"}, "140042480812656": {"type": "Union", "items": [{"nodeId": "140042498342048"}, {"nodeId": "140042480717824", "args": [{"nodeId": "A"}]}]}, "140042485593504": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581563808": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": ".1.140042480717824"}, {"nodeId": "140042480819488"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "logger", "extra"]}, "140042480819488": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581564704": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "A"}, {"nodeId": "140042577363680", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042480820048"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "msg", "kwargs"]}, "140042480820048": {"type": "Tuple", "items": [{"nodeId": "A"}, {"nodeId": "140042577363680", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}]}, "140042581565152": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820160"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820272"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820160": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820272": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581565600": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820384"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820720"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820384": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820720": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566048": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820608"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480820944"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820608": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480820944": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566496": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820496"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821168"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820496": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821168": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581566944": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480820832"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821392"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480820832": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821392": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581567392": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821056"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821616"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821056": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821616": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581567840": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821280"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480821840"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821280": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480821840": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581568288": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480821504"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042480822064"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_STAR", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_STAR_2"], "argNames": ["self", "level", "msg", "args", "exc_info", "stack_info", "stacklevel", "extra", "kwargs"]}, "140042480821504": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480822064": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042581572320": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042581572768": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042577365696"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581573216": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042480821728"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "level"]}, "140042480821728": {"type": "TypeAlias", "target": {"nodeId": "140042485591152"}}, "140042581770528": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042581770976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042782775936"}, {"nodeId": "140042480822288"}, {"nodeId": "140042480822400"}, {"nodeId": "140042480822176"}, {"nodeId": "140042782776944"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "level", "msg", "args", "exc_info", "extra", "stack_info"]}, "140042480822288": {"type": "TypeAlias", "target": {"nodeId": "140042485591040"}}, "140042480822400": {"type": "Union", "items": [{"nodeId": "140042480821952"}, {"nodeId": "N"}]}, "140042480821952": {"type": "TypeAlias", "target": {"nodeId": "140042485590144"}}, "140042480822176": {"type": "Union", "items": [{"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "N"}]}, "140042485868672": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480717824", "args": [{"nodeId": ".1.140042480717824"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480715136": {"type": "Concrete", "module": "logging", "simpleName": "StreamHandler", "members": [{"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": ".1.140042480715136"}}, {"kind": "Variable", "name": "terminator", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042485593728"}, "items": [{"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__init__", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "stream", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581983968"}, "name": "setStream"}], "typeVars": [{"nodeId": ".1.140042480715136"}], "bases": [{"nodeId": "140042498342384"}], "isAbstract": false}, ".1.140042480715136": {"type": "TypeVar", "varName": "_StreamT", "values": [], "upperBound": {"nodeId": "140042569039936", "args": [{"nodeId": "140042577367376"}]}, "def": "140042480715136", "variance": "INVARIANT"}, "140042485593728": {"type": "Overloaded", "items": [{"nodeId": "140042581786208"}, {"nodeId": "140042581983520"}]}, "140042581786208": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": "140042577730512"}]}, {"nodeId": "N"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT"], "argNames": ["self", "stream"]}, "140042581983520": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": ".1.140042480715136"}]}, {"nodeId": ".1.140042480715136"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stream"]}, "140042581983968": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715136", "args": [{"nodeId": ".1.140042480715136"}]}, {"nodeId": ".1.140042480715136"}], "returnType": {"nodeId": "140042480826320"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "stream"]}, "140042480826320": {"type": "Union", "items": [{"nodeId": ".1.140042480715136"}, {"nodeId": "N"}]}, "140042480715472": {"type": "Concrete", "module": "logging", "simpleName": "FileHandler", "members": [{"kind": "Variable", "name": "baseFilename", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480812992"}}, {"kind": "Variable", "name": "delay", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042480813104"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "filename", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mode", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "encoding", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "delay", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581984864"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042581985760"}, "name": "_open"}], "typeVars": [], "bases": [{"nodeId": "140042480715136", "args": [{"nodeId": "140042573223904"}]}], "isAbstract": false}, "140042480812992": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480813104": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581984864": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715472"}, {"nodeId": "140042480826432"}, {"nodeId": "140042577367376"}, {"nodeId": "140042480826544"}, {"nodeId": "140042782776944"}, {"nodeId": "140042480826656"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "filename", "mode", "encoding", "delay", "errors"]}, "140042480826432": {"type": "TypeAlias", "target": {"nodeId": "140042568894160"}}, "140042480826544": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042480826656": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042581985760": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042480715472"}], "returnType": {"nodeId": "140042573223904"}, "argKinds": ["ARG_POS"], "argNames": ["self"]}, "140042480715808": {"type": "Concrete", "module": "logging", "simpleName": "NullHandler", "members": [], "typeVars": [], "bases": [{"nodeId": "140042498342384"}], "isAbstract": false}, "140042480717152": {"type": "Concrete", "module": "logging", "simpleName": "StrFormatStyle", "members": [{"kind": "Variable", "name": "fmt_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "field_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}], "typeVars": [], "bases": [{"nodeId": "140042480716816"}], "isAbstract": false}, "140042480717488": {"type": "Concrete", "module": "logging", "simpleName": "StringTemplateStyle", "members": [{"kind": "Variable", "name": "_tpl", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569638496"}}], "typeVars": [], "bases": [{"nodeId": "140042480716816"}], "isAbstract": false}, "140042569638496": {"type": "Concrete", "module": "string", "simpleName": "Template", "members": [{"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "delimiter", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "idpattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "braceidpattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569427296"}}, {"kind": "Variable", "name": "flags", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042569346272"}}, {"kind": "Variable", "name": "pattern", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "template", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586231904"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586232352"}, "name": "substitute"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__mapping", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwds", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586232800"}, "name": "safe_substitute"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569427296": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586231904": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "template"]}, "140042586232352": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwds"]}, "140042586232800": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638496"}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042782775936"}]}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_STAR_2"], "argNames": ["self", null, "kwds"]}, "140042573728784": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042577374432"}], "isAbstract": false}, "140042573729120": {"type": "Concrete", "module": "email.errors", "simpleName": "MessageParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}], "isAbstract": false}, "140042573729456": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderParseError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573729120"}], "isAbstract": false}, "140042573729792": {"type": "Concrete", "module": "email.errors", "simpleName": "BoundaryError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573729120"}], "isAbstract": false}, "140042573730128": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartConversionError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}, {"nodeId": "140042577642544"}], "isAbstract": false}, "140042573730464": {"type": "Concrete", "module": "email.errors", "simpleName": "CharsetError", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573728784"}], "isAbstract": false}, "140042573731136": {"type": "Concrete", "module": "email.errors", "simpleName": "NoBoundaryInMultipartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573731472": {"type": "Concrete", "module": "email.errors", "simpleName": "StartBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573731808": {"type": "Concrete", "module": "email.errors", "simpleName": "FirstHeaderLineIsContinuationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732144": {"type": "Concrete", "module": "email.errors", "simpleName": "MisplacedEnvelopeHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732480": {"type": "Concrete", "module": "email.errors", "simpleName": "MultipartInvariantViolationDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573732816": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidMultipartContentTransferEncodingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733152": {"type": "Concrete", "module": "email.errors", "simpleName": "UndecodableBytesDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733488": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64PaddingDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573733824": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64CharactersDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734160": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidBase64LengthDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734496": {"type": "Concrete", "module": "email.errors", "simpleName": "CloseBoundaryNotFoundDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573734832": {"type": "Concrete", "module": "email.errors", "simpleName": "MissingHeaderBodySeparatorDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573735168": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573730800"}], "isAbstract": false}, "140042573735504": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573735840": {"type": "Concrete", "module": "email.errors", "simpleName": "HeaderMissingRequiredValue", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573736176": {"type": "Concrete", "module": "email.errors", "simpleName": "NonPrintableDefect", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "non_printables", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582247232"}, "name": "__init__"}], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042582247232": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573736176"}, {"nodeId": "140042556249632"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "non_printables"]}, "140042556249632": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042573736512": {"type": "Concrete", "module": "email.errors", "simpleName": "ObsoleteHeaderDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573736848": {"type": "Concrete", "module": "email.errors", "simpleName": "NonASCIILocalPartDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573737184": {"type": "Concrete", "module": "email.errors", "simpleName": "InvalidDateDefect", "members": [], "typeVars": [], "bases": [{"nodeId": "140042573735168"}], "isAbstract": false}, "140042573726768": {"type": "Concrete", "module": "email.policy", "simpleName": "Compat32", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582252608"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253056"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253504"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582253952"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582254400"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140042573726432"}], "isAbstract": false}, "140042582252608": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561269184"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561269184": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582253056": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561269408"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561269408": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582253504": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561269520"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561269520": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042573728448"}]}, "140042573728448": {"type": "Concrete", "module": "email.header", "simpleName": "Header", "members": [{"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "continuation_ws", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586239744"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "s", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "charset", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "errors", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586240192"}, "name": "append"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "splitchars", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "maxlinelen", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586240640"}, "name": "encode"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586241088"}, "name": "__eq__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "__other", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586241536"}, "name": "__ne__"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042586239744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042556247392"}, {"nodeId": "140042556247504"}, {"nodeId": "140042556247616"}, {"nodeId": "140042556247728"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "maxlinelen", "header_name", "continuation_ws", "errors"]}, "140042556247392": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556247504": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042556247616": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042556247728": {"type": "Union", "items": [{"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586240192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042556247840"}, {"nodeId": "140042556247952"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "s", "charset", "errors"]}, "140042556247840": {"type": "Union", "items": [{"nodeId": "140042577732864"}, {"nodeId": "140042577733200"}, {"nodeId": "140042577367376"}]}, "140042556247952": {"type": "Union", "items": [{"nodeId": "140042573737856"}, {"nodeId": "140042577367376"}, {"nodeId": "N"}]}, "140042586240640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042577367376"}, {"nodeId": "140042556248064"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT"], "argNames": ["self", "splitchars", "maxlinelen", "linesep"]}, "140042556248064": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042586241088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042586241536": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573728448"}, {"nodeId": "140042782775936"}], "returnType": {"nodeId": "140042782776944"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582253952": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582254400": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726768"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042573727104": {"type": "Concrete", "module": "email.policy", "simpleName": "EmailPolicy", "members": [{"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042586005664"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042573737520"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_line_length", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "linesep", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cte_type", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "raise_on_defect", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "mangle_from_", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "message_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "utf8", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "refold_source", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "header_factory", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "content_manager", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582254848"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "sourcelines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582255296"}, "name": "header_source_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582255744"}, "name": "header_store_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582256192"}, "name": "header_fetch_parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582256640"}, "name": "fold"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582257088"}, "name": "fold_binary"}], "typeVars": [], "bases": [{"nodeId": "140042573726432"}], "isAbstract": false}, "140042586005664": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582254848": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042561269632"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042561269744"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577367376"}, {"nodeId": "140042560958336"}, {"nodeId": "140042573737520"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "max_line_length", "linesep", "cte_type", "raise_on_defect", "mangle_from_", "message_factory", "utf8", "refold_source", "header_factory", "content_manager"]}, "140042561269632": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042561269744": {"type": "Union", "items": [{"nodeId": "140042560958112"}, {"nodeId": "N"}]}, "140042560958112": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573726432"}], "returnType": {"nodeId": "140042573727440"}, "argKinds": ["ARG_POS"], "argNames": [null]}, "140042560958336": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": [null, null]}, "140042582255296": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042561269968"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "sourcelines"]}, "140042561269968": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582255744": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042561270192"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042561270192": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}, "140042582256192": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582256640": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042582257088": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042573727104"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577732864"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "name", "value"]}, "140042569639168": {"type": "Concrete", "module": "textwrap", "simpleName": "TextWrapper", "members": [{"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "initial_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "subsequent_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "expand_tabs", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "replace_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "fix_sentence_endings", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "drop_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "break_long_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "break_on_hyphens", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042782776944"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "max_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042502303280"}}, {"kind": "Variable", "name": "placeholder", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "sentence_end_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "wordsep_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "wordsep_simple_re", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042578065920", "args": [{"nodeId": "140042577367376"}]}}, {"kind": "Variable", "name": "whitespace_trans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "Variable", "name": "unicode_whitespace_trans", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}]}}, {"kind": "Variable", "name": "uspace", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}, {"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "initial_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "subsequent_indent", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "expand_tabs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "replace_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "fix_sentence_endings", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "break_long_words", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "drop_whitespace", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "break_on_hyphens", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "tabsize", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "max_lines", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "placeholder", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582259104"}, "name": "__init__"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582259552"}, "name": "_munge_whitespace"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260000"}, "name": "_split"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260448"}, "name": "_fix_sentence_endings"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "reversed_chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cur_line", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "cur_len", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "width", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582260896"}, "name": "_handle_long_word"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "chunks", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042582261344"}, "name": "_wrap_chunks"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586226976"}, "name": "_split_chunks"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586227424"}, "name": "wrap"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "text", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586227872"}, "name": "fill"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042502303280": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042582259104": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042782776944"}, {"nodeId": "140042577365696"}, {"nodeId": "140042502303168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_OPT", "ARG_NAMED_OPT", "ARG_NAMED_OPT"], "argNames": ["self", "width", "initial_indent", "subsequent_indent", "expand_tabs", "replace_whitespace", "fix_sentence_endings", "break_long_words", "drop_whitespace", "break_on_hyphens", "tabsize", "max_lines", "placeholder"]}, "140042502303168": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "N"}]}, "140042582259552": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042582260000": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042582260448": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "chunks"]}, "140042582260896": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "reversed_chunks", "cur_line", "cur_len", "width"]}, "140042582261344": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "chunks"]}, "140042586226976": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042586227424": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577367376"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042586227872": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569639168"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "text"]}, "140042569638832": {"type": "Concrete", "module": "string", "simpleName": "Formatter", "members": [{"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569430208"}, "items": [{"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "format"}, {"kind": "OverloadedFuncDef", "type": {"nodeId": "140042569428192"}, "items": [{"kind": "Variable", "name": "vformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "vformat", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "name": "vformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "used_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "recursion_depth", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "auto_arg_index", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586235936"}, "name": "_vformat"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_string", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586236384"}, "name": "parse"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "field_name", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586236832"}, "name": "get_field"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "key", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586237280"}, "name": "get_value"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "used_args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "args", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "kwargs", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586237728"}, "name": "check_unused_args"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "format_spec", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586238176"}, "name": "format_field"}, {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "self", "isProperty": false, "isSelf": true, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "value", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}, {"kind": "Variable", "name": "conversion", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042586238624"}, "name": "convert_field"}], "typeVars": [], "bases": [{"nodeId": "140042782775936"}], "isAbstract": false}, "140042569430208": {"type": "Overloaded", "items": [{"nodeId": "140042586234144"}, {"nodeId": "140042586234592"}]}, "140042586234144": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042586234592": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "A"}, {"nodeId": "A"}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_STAR", "ARG_STAR_2"], "argNames": ["self", null, "args", "kwargs"]}, "140042569428192": {"type": "Overloaded", "items": [{"nodeId": "140042586235040"}, {"nodeId": "140042586235488"}]}, "140042586235040": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "140042577367376"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "format_string", "args", "kwargs"]}, "140042586235488": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "140042577367376"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "format_string", "args", "kwargs"]}, "140042586235936": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}, {"nodeId": "140042577733536", "args": [{"nodeId": "140042502297232"}]}, {"nodeId": "140042577365696"}, {"nodeId": "140042577365696"}], "returnType": {"nodeId": "140042502297456"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS", "ARG_OPT"], "argNames": ["self", "format_string", "args", "kwargs", "used_args", "recursion_depth", "auto_arg_index"]}, "140042502297232": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042502297456": {"type": "Tuple", "items": [{"nodeId": "140042577367376"}, {"nodeId": "140042577365696"}]}, "140042586236384": {"type": "Function", "typeVars": [".-1.140042586236384"], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": ".-1.140042586236384"}], "returnType": {"nodeId": "140042782780640", "args": [{"nodeId": "140042502298016"}]}, "argKinds": ["ARG_POS", "ARG_POS"], "argNames": ["self", "format_string"]}, ".-1.140042586236384": {"type": "TypeVar", "varName": "StrOrLiteralStr", "values": [{"nodeId": "140042577367376"}, {"nodeId": "140042577367376"}], "upperBound": {"nodeId": "140042782775936"}, "def": "140042586236384", "variance": "INVARIANT"}, "140042502298016": {"type": "Tuple", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "140042502297568"}, {"nodeId": "140042502297680"}, {"nodeId": "140042502297792"}]}, "140042502297568": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042502297680": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042502297792": {"type": "Union", "items": [{"nodeId": ".-1.140042586236384"}, {"nodeId": "N"}]}, "140042586236832": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577367376"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "field_name", "args", "kwargs"]}, "140042586237280": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042502298464"}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "key", "args", "kwargs"]}, "140042502298464": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042586237728": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "140042577733536", "args": [{"nodeId": "140042502298912"}]}, {"nodeId": "140042782784336", "args": [{"nodeId": "A"}]}, {"nodeId": "140042577363344", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}], "returnType": {"nodeId": "N"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "used_args", "args", "kwargs"]}, "140042502298912": {"type": "Union", "items": [{"nodeId": "140042577365696"}, {"nodeId": "140042577367376"}]}, "140042586238176": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "value", "format_spec"]}, "140042586238624": {"type": "Function", "typeVars": [], "argTypes": [{"nodeId": "140042569638832"}, {"nodeId": "A"}, {"nodeId": "140042577367376"}], "returnType": {"nodeId": "A"}, "argKinds": ["ARG_POS", "ARG_POS", "ARG_POS"], "argNames": ["self", "value", "conversion"]}}, "types": {}, "definitions": {"subtypes": {"__name__": {"kind": "Variable", "name": "__name__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__doc__": {"kind": "Variable", "name": "__doc__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__file__": {"kind": "Variable", "name": "__file__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__package__": {"kind": "Variable", "name": "__package__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577367376"}}, "__annotations__": {"kind": "Variable", "name": "__annotations__", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577369056", "args": [{"nodeId": "140042577367376"}, {"nodeId": "A"}]}}, "P": {"kind": "ClassDef", "type": {"nodeId": "140042464396672"}}, "S": {"kind": "ClassDef", "type": {"nodeId": "140042464397008"}}, "S1": {"kind": "ClassDef", "type": {"nodeId": "140042464397344"}}, "func_for_P": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042399573248"}, "name": "func_for_P"}, "R": {"kind": "ClassDef", "type": {"nodeId": "140042464397680"}}, "RImpl": {"kind": "ClassDef", "type": {"nodeId": "140042464398016"}}, "func_for_R": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042399825056"}, "name": "func_for_R"}, "a": {"kind": "Variable", "name": "a", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577368720", "args": [{"nodeId": "140042577365696"}]}}, "func_abs": {"kind": "FuncDef", "args": [{"kind": "Variable", "name": "x", "isProperty": false, "isSelf": false, "type": {"nodeId": "A"}}], "type": {"nodeId": "140042489750112"}, "name": "func_abs"}, "b": {"kind": "Variable", "name": "b", "isProperty": false, "isSelf": false, "type": {"nodeId": "140042577365696"}}}, "collections": {"UserDict": {"kind": "ClassDef", "type": {"nodeId": "140042577735888"}}, "UserList": {"kind": "ClassDef", "type": {"nodeId": "140042577736224"}}, "UserString": {"kind": "ClassDef", "type": {"nodeId": "140042577736560"}}, "deque": {"kind": "ClassDef", "type": {"nodeId": "140042577736896"}}, "Counter": {"kind": "ClassDef", "type": {"nodeId": "140042577724800"}}, "_OrderedDictKeysView": {"kind": "ClassDef", "type": {"nodeId": "140042568796192"}}, "_OrderedDictItemsView": {"kind": "ClassDef", "type": {"nodeId": "140042568796528"}}, "_OrderedDictValuesView": {"kind": "ClassDef", "type": {"nodeId": "140042568796864"}}, "_odict_keys": {"kind": "ClassDef", "type": {"nodeId": "140042577737232"}}, "_odict_items": {"kind": "ClassDef", "type": {"nodeId": "140042577737568"}}, "_odict_values": {"kind": "ClassDef", "type": {"nodeId": "140042577737904"}}, "OrderedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577738240"}}, "defaultdict": {"kind": "ClassDef", "type": {"nodeId": "140042577725136"}}, "ChainMap": {"kind": "ClassDef", "type": {"nodeId": "140042577738576"}}}, "numpy": {"PytestTester": {"kind": "ClassDef", "type": {"nodeId": "140042498341040"}}, "_ctypes": {"kind": "ClassDef", "type": {"nodeId": "140042472911056"}}, "_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}, "_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}, "NBitBase": {"kind": "ClassDef", "type": {"nodeId": "140042472659584"}}, "_256Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472659920"}}, "_128Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660256"}}, "_96Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660592"}}, "_80Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660928"}}, "_64Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661264"}}, "_32Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661600"}}, "_16Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661936"}}, "_8Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472662272"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}, "_BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042472902992"}}, "_BoolBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472903328"}}, "_BoolSub": {"kind": "ClassDef", "type": {"nodeId": "140042472903664"}}, "_BoolTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472904000"}}, "_BoolMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904336"}}, "_BoolDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904672"}}, "_TD64Div": {"kind": "ClassDef", "type": {"nodeId": "140042472905008"}}, "_IntTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472905344"}}, "_UnsignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472905680"}}, "_UnsignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472906016"}}, "_UnsignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906352"}}, "_UnsignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906688"}}, "_SignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907024"}}, "_SignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907360"}}, "_SignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472907696"}}, "_SignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908032"}}, "_FloatOp": {"kind": "ClassDef", "type": {"nodeId": "140042472908368"}}, "_FloatMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908704"}}, "_FloatDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472909040"}}, "_ComplexOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909376"}}, "_NumberOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909712"}}, "_ComparisonOp": {"kind": "ClassDef", "type": {"nodeId": "140042472910720"}}, "flagsobj": {"kind": "ClassDef", "type": {"nodeId": "140042472901648"}}, "Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}, "_IOProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042472911392"}}, "_MemMapIOProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042472911728"}}, "_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472912064"}}, "dtype": {"kind": "ClassDef", "type": {"nodeId": "140042468653568"}}, "flatiter": {"kind": "ClassDef", "type": {"nodeId": "140042468653904"}}, "_ArrayOrScalarCommon": {"kind": "ClassDef", "type": {"nodeId": "140042472912400"}}, "_SupportsItem": {"kind": "ClassDef", "type": {"nodeId": "140042472912736"}}, "_SupportsReal": {"kind": "ClassDef", "type": {"nodeId": "140042472913072"}}, "_SupportsImag": {"kind": "ClassDef", "type": {"nodeId": "140042472913408"}}, "ndarray": {"kind": "ClassDef", "type": {"nodeId": "140042472913744"}}, "generic": {"kind": "ClassDef", "type": {"nodeId": "140042472914080"}}, "number": {"kind": "ClassDef", "type": {"nodeId": "140042472914416"}}, "bool_": {"kind": "ClassDef", "type": {"nodeId": "140042468229184"}}, "object_": {"kind": "ClassDef", "type": {"nodeId": "140042468229520"}}, "_DatetimeScalar": {"kind": "ClassDef", "type": {"nodeId": "140042468229856"}}, "datetime64": {"kind": "ClassDef", "type": {"nodeId": "140042468230192"}}, "integer": {"kind": "ClassDef", "type": {"nodeId": "140042468230528"}}, "signedinteger": {"kind": "ClassDef", "type": {"nodeId": "140042468230864"}}, "timedelta64": {"kind": "ClassDef", "type": {"nodeId": "140042468231200"}}, "unsignedinteger": {"kind": "ClassDef", "type": {"nodeId": "140042468231536"}}, "inexact": {"kind": "ClassDef", "type": {"nodeId": "140042468231872"}}, "floating": {"kind": "ClassDef", "type": {"nodeId": "140042468232208"}}, "complexfloating": {"kind": "ClassDef", "type": {"nodeId": "140042468232544"}}, "flexible": {"kind": "ClassDef", "type": {"nodeId": "140042468232880"}}, "void": {"kind": "ClassDef", "type": {"nodeId": "140042468233216"}}, "character": {"kind": "ClassDef", "type": {"nodeId": "140042468233552"}}, "bytes_": {"kind": "ClassDef", "type": {"nodeId": "140042468233888"}}, "str_": {"kind": "ClassDef", "type": {"nodeId": "140042468234224"}}, "ufunc": {"kind": "ClassDef", "type": {"nodeId": "140042468234560"}}, "_CopyMode": {"kind": "ClassDef", "type": {"nodeId": "140042468234896"}}, "ModuleDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235232"}}, "VisibleDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235568"}}, "ComplexWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468235904"}}, "RankWarning": {"kind": "ClassDef", "type": {"nodeId": "140042468236240"}}, "TooHardError": {"kind": "ClassDef", "type": {"nodeId": "140042468236576"}}, "AxisError": {"kind": "ClassDef", "type": {"nodeId": "140042468236912"}}, "errstate": {"kind": "ClassDef", "type": {"nodeId": "140042468237248"}}, "ndenumerate": {"kind": "ClassDef", "type": {"nodeId": "140042468654240"}}, "ndindex": {"kind": "ClassDef", "type": {"nodeId": "140042468237584"}}, "DataSource": {"kind": "ClassDef", "type": {"nodeId": "140042468237920"}}, "broadcast": {"kind": "ClassDef", "type": {"nodeId": "140042468238256"}}, "busdaycalendar": {"kind": "ClassDef", "type": {"nodeId": "140042468238592"}}, "finfo": {"kind": "ClassDef", "type": {"nodeId": "140042468654576"}}, "iinfo": {"kind": "ClassDef", "type": {"nodeId": "140042468238928"}}, "format_parser": {"kind": "ClassDef", "type": {"nodeId": "140042468239264"}}, "recarray": {"kind": "ClassDef", "type": {"nodeId": "140042468239600"}}, "record": {"kind": "ClassDef", "type": {"nodeId": "140042468239936"}}, "nditer": {"kind": "ClassDef", "type": {"nodeId": "140042468240272"}}, "memmap": {"kind": "ClassDef", "type": {"nodeId": "140042468240608"}}, "vectorize": {"kind": "ClassDef", "type": {"nodeId": "140042468240944"}}, "poly1d": {"kind": "ClassDef", "type": {"nodeId": "140042468241280"}}, "matrix": {"kind": "ClassDef", "type": {"nodeId": "140042468241616"}}, "chararray": {"kind": "ClassDef", "type": {"nodeId": "140042468241952"}}, "_SupportsDLPack": {"kind": "ClassDef", "type": {"nodeId": "140042468242288"}}}, "typing": {"_ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042578052144"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140042782777616"}}, "_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140042782777952"}}, "ParamSpecArgs": {"kind": "ClassDef", "type": {"nodeId": "140042782778288"}}, "ParamSpecKwargs": {"kind": "ClassDef", "type": {"nodeId": "140042782778624"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042782778960"}}, "NewType": {"kind": "ClassDef", "type": {"nodeId": "140042782779296"}}, "_Alias": {"kind": "ClassDef", "type": {"nodeId": "140042782779632"}}, "_ProtocolMeta": {"kind": "ClassDef", "type": {"nodeId": "140042577725472"}}, "SupportsInt": {"kind": "ClassDef", "type": {"nodeId": "140042577725808"}}, "SupportsFloat": {"kind": "ClassDef", "type": {"nodeId": "140042577726144"}}, "SupportsComplex": {"kind": "ClassDef", "type": {"nodeId": "140042577726480"}}, "SupportsBytes": {"kind": "ClassDef", "type": {"nodeId": "140042577726816"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140042577727152"}}, "SupportsAbs": {"kind": "ClassDef", "type": {"nodeId": "140042782779968"}}, "SupportsRound": {"kind": "ClassDef", "type": {"nodeId": "140042782780304"}}, "Sized": {"kind": "ClassDef", "type": {"nodeId": "140042577727488"}}, "Hashable": {"kind": "ClassDef", "type": {"nodeId": "140042577727824"}}, "Iterable": {"kind": "ClassDef", "type": {"nodeId": "140042782780640"}}, "Iterator": {"kind": "ClassDef", "type": {"nodeId": "140042782780976"}}, "Reversible": {"kind": "ClassDef", "type": {"nodeId": "140042782781312"}}, "Generator": {"kind": "ClassDef", "type": {"nodeId": "140042782781648"}}, "Awaitable": {"kind": "ClassDef", "type": {"nodeId": "140042782781984"}}, "Coroutine": {"kind": "ClassDef", "type": {"nodeId": "140042782782320"}}, "AwaitableGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042577728160"}}, "AsyncIterable": {"kind": "ClassDef", "type": {"nodeId": "140042782782656"}}, "AsyncIterator": {"kind": "ClassDef", "type": {"nodeId": "140042782782992"}}, "AsyncGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042782783328"}}, "Container": {"kind": "ClassDef", "type": {"nodeId": "140042782783664"}}, "Collection": {"kind": "ClassDef", "type": {"nodeId": "140042782784000"}}, "Sequence": {"kind": "ClassDef", "type": {"nodeId": "140042782784336"}}, "MutableSequence": {"kind": "ClassDef", "type": {"nodeId": "140042782784672"}}, "AbstractSet": {"kind": "ClassDef", "type": {"nodeId": "140042782785008"}}, "MutableSet": {"kind": "ClassDef", "type": {"nodeId": "140042577363008"}}, "MappingView": {"kind": "ClassDef", "type": {"nodeId": "140042577728496"}}, "ItemsView": {"kind": "ClassDef", "type": {"nodeId": "140042577728832"}}, "KeysView": {"kind": "ClassDef", "type": {"nodeId": "140042577729168"}}, "ValuesView": {"kind": "ClassDef", "type": {"nodeId": "140042577729504"}}, "Mapping": {"kind": "ClassDef", "type": {"nodeId": "140042577363344"}}, "MutableMapping": {"kind": "ClassDef", "type": {"nodeId": "140042577363680"}}, "IO": {"kind": "ClassDef", "type": {"nodeId": "140042577729840"}}, "BinaryIO": {"kind": "ClassDef", "type": {"nodeId": "140042577730176"}}, "TextIO": {"kind": "ClassDef", "type": {"nodeId": "140042577730512"}}, "ByteString": {"kind": "ClassDef", "type": {"nodeId": "140042577730848"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140042577731184"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577731520"}}, "ForwardRef": {"kind": "ClassDef", "type": {"nodeId": "140042577364016"}}}, "builtins": {"object": {"kind": "ClassDef", "type": {"nodeId": "140042782775936"}}, "bool": {"kind": "ClassDef", "type": {"nodeId": "140042782776944"}}, "function": {"kind": "ClassDef", "type": {"nodeId": "140042782777280"}}, "staticmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577364352"}}, "classmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577364688"}}, "type": {"kind": "ClassDef", "type": {"nodeId": "140042577365024"}}, "super": {"kind": "ClassDef", "type": {"nodeId": "140042577365360"}}, "int": {"kind": "ClassDef", "type": {"nodeId": "140042577365696"}}, "float": {"kind": "ClassDef", "type": {"nodeId": "140042577366032"}}, "complex": {"kind": "ClassDef", "type": {"nodeId": "140042577366368"}}, "_FormatMapMapping": {"kind": "ClassDef", "type": {"nodeId": "140042577366704"}}, "_TranslateTable": {"kind": "ClassDef", "type": {"nodeId": "140042577367040"}}, "str": {"kind": "ClassDef", "type": {"nodeId": "140042577367376"}}, "bytes": {"kind": "ClassDef", "type": {"nodeId": "140042577732864"}}, "bytearray": {"kind": "ClassDef", "type": {"nodeId": "140042577733200"}}, "memoryview": {"kind": "ClassDef", "type": {"nodeId": "140042577367712"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140042577368048"}}, "tuple": {"kind": "ClassDef", "type": {"nodeId": "140042577368384"}}, "list": {"kind": "ClassDef", "type": {"nodeId": "140042577368720"}}, "dict": {"kind": "ClassDef", "type": {"nodeId": "140042577369056"}}, "set": {"kind": "ClassDef", "type": {"nodeId": "140042577733536"}}, "frozenset": {"kind": "ClassDef", "type": {"nodeId": "140042577733872"}}, "enumerate": {"kind": "ClassDef", "type": {"nodeId": "140042577734208"}}, "range": {"kind": "ClassDef", "type": {"nodeId": "140042577369392"}}, "property": {"kind": "ClassDef", "type": {"nodeId": "140042577369728"}}, "_NotImplementedType": {"kind": "ClassDef", "type": {"nodeId": "140042577370064"}}, "_PathLike": {"kind": "ClassDef", "type": {"nodeId": "140042569343248"}}, "_SupportsSynchronousAnext": {"kind": "ClassDef", "type": {"nodeId": "140042577370400"}}, "filter": {"kind": "ClassDef", "type": {"nodeId": "140042577734544"}}, "_GetItemIterable": {"kind": "ClassDef", "type": {"nodeId": "140042577370736"}}, "map": {"kind": "ClassDef", "type": {"nodeId": "140042577734880"}}, "_SupportsWriteAndFlush": {"kind": "ClassDef", "type": {"nodeId": "140042569343584"}}, "_SupportsPow2": {"kind": "ClassDef", "type": {"nodeId": "140042577371072"}}, "_SupportsPow3NoneOnly": {"kind": "ClassDef", "type": {"nodeId": "140042577371408"}}, "_SupportsPow3": {"kind": "ClassDef", "type": {"nodeId": "140042577371744"}}, "reversed": {"kind": "ClassDef", "type": {"nodeId": "140042577735216"}}, "_SupportsRound1": {"kind": "ClassDef", "type": {"nodeId": "140042577372080"}}, "_SupportsRound2": {"kind": "ClassDef", "type": {"nodeId": "140042577372416"}}, "_SupportsSumWithNoDefaultGiven": {"kind": "ClassDef", "type": {"nodeId": "140042569343920"}}, "zip": {"kind": "ClassDef", "type": {"nodeId": "140042577735552"}}, "ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140042577372752"}}, "BaseException": {"kind": "ClassDef", "type": {"nodeId": "140042577373088"}}, "GeneratorExit": {"kind": "ClassDef", "type": {"nodeId": "140042577373424"}}, "KeyboardInterrupt": {"kind": "ClassDef", "type": {"nodeId": "140042577373760"}}, "SystemExit": {"kind": "ClassDef", "type": {"nodeId": "140042577374096"}}, "Exception": {"kind": "ClassDef", "type": {"nodeId": "140042577374432"}}, "StopIteration": {"kind": "ClassDef", "type": {"nodeId": "140042577374768"}}, "OSError": {"kind": "ClassDef", "type": {"nodeId": "140042577375104"}}, "ArithmeticError": {"kind": "ClassDef", "type": {"nodeId": "140042577375440"}}, "AssertionError": {"kind": "ClassDef", "type": {"nodeId": "140042577375776"}}, "AttributeError": {"kind": "ClassDef", "type": {"nodeId": "140042577376112"}}, "BufferError": {"kind": "ClassDef", "type": {"nodeId": "140042577376448"}}, "EOFError": {"kind": "ClassDef", "type": {"nodeId": "140042577376784"}}, "ImportError": {"kind": "ClassDef", "type": {"nodeId": "140042577377120"}}, "LookupError": {"kind": "ClassDef", "type": {"nodeId": "140042577377456"}}, "MemoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577377792"}}, "NameError": {"kind": "ClassDef", "type": {"nodeId": "140042577378128"}}, "ReferenceError": {"kind": "ClassDef", "type": {"nodeId": "140042577378464"}}, "RuntimeError": {"kind": "ClassDef", "type": {"nodeId": "140042577378800"}}, "StopAsyncIteration": {"kind": "ClassDef", "type": {"nodeId": "140042577641536"}}, "SyntaxError": {"kind": "ClassDef", "type": {"nodeId": "140042577641872"}}, "SystemError": {"kind": "ClassDef", "type": {"nodeId": "140042577642208"}}, "TypeError": {"kind": "ClassDef", "type": {"nodeId": "140042577642544"}}, "ValueError": {"kind": "ClassDef", "type": {"nodeId": "140042577642880"}}, "FloatingPointError": {"kind": "ClassDef", "type": {"nodeId": "140042577643216"}}, "OverflowError": {"kind": "ClassDef", "type": {"nodeId": "140042577643552"}}, "ZeroDivisionError": {"kind": "ClassDef", "type": {"nodeId": "140042577643888"}}, "ModuleNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042577644224"}}, "IndexError": {"kind": "ClassDef", "type": {"nodeId": "140042577644560"}}, "KeyError": {"kind": "ClassDef", "type": {"nodeId": "140042577644896"}}, "UnboundLocalError": {"kind": "ClassDef", "type": {"nodeId": "140042577645232"}}, "BlockingIOError": {"kind": "ClassDef", "type": {"nodeId": "140042577645568"}}, "ChildProcessError": {"kind": "ClassDef", "type": {"nodeId": "140042577645904"}}, "ConnectionError": {"kind": "ClassDef", "type": {"nodeId": "140042577646240"}}, "BrokenPipeError": {"kind": "ClassDef", "type": {"nodeId": "140042577646576"}}, "ConnectionAbortedError": {"kind": "ClassDef", "type": {"nodeId": "140042577646912"}}, "ConnectionRefusedError": {"kind": "ClassDef", "type": {"nodeId": "140042577647248"}}, "ConnectionResetError": {"kind": "ClassDef", "type": {"nodeId": "140042577647584"}}, "FileExistsError": {"kind": "ClassDef", "type": {"nodeId": "140042577647920"}}, "FileNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042577648256"}}, "InterruptedError": {"kind": "ClassDef", "type": {"nodeId": "140042577648592"}}, "IsADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577648928"}}, "NotADirectoryError": {"kind": "ClassDef", "type": {"nodeId": "140042577649264"}}, "PermissionError": {"kind": "ClassDef", "type": {"nodeId": "140042577649600"}}, "ProcessLookupError": {"kind": "ClassDef", "type": {"nodeId": "140042577649936"}}, "TimeoutError": {"kind": "ClassDef", "type": {"nodeId": "140042577650272"}}, "NotImplementedError": {"kind": "ClassDef", "type": {"nodeId": "140042577650608"}}, "RecursionError": {"kind": "ClassDef", "type": {"nodeId": "140042577650944"}}, "IndentationError": {"kind": "ClassDef", "type": {"nodeId": "140042577651280"}}, "TabError": {"kind": "ClassDef", "type": {"nodeId": "140042577651616"}}, "UnicodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577651952"}}, "UnicodeDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577652288"}}, "UnicodeEncodeError": {"kind": "ClassDef", "type": {"nodeId": "140042577652624"}}, "UnicodeTranslateError": {"kind": "ClassDef", "type": {"nodeId": "140042577652960"}}, "Warning": {"kind": "ClassDef", "type": {"nodeId": "140042577653296"}}, "UserWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577653632"}}, "DeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577653968"}}, "SyntaxWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654304"}}, "RuntimeWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654640"}}, "FutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577654976"}}, "PendingDeprecationWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655312"}}, "ImportWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655648"}}, "UnicodeWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577655984"}}, "BytesWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656320"}}, "ResourceWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656656"}}, "EncodingWarning": {"kind": "ClassDef", "type": {"nodeId": "140042577656992"}}}, "sys": {"_MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042578060880"}}, "_flags": {"kind": "ClassDef", "type": {"nodeId": "140042569344256"}}, "_float_info": {"kind": "ClassDef", "type": {"nodeId": "140042569344592"}}, "_hash_info": {"kind": "ClassDef", "type": {"nodeId": "140042569344928"}}, "_implementation": {"kind": "ClassDef", "type": {"nodeId": "140042578061216"}}, "_int_info": {"kind": "ClassDef", "type": {"nodeId": "140042569345264"}}, "_version_info": {"kind": "ClassDef", "type": {"nodeId": "140042569345600"}}, "UnraisableHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140042578061552"}}, "_asyncgen_hooks": {"kind": "ClassDef", "type": {"nodeId": "140042569345936"}}}, "_collections_abc": {"dict_keys": {"kind": "ClassDef", "type": {"nodeId": "140042577731856"}}, "dict_values": {"kind": "ClassDef", "type": {"nodeId": "140042577732192"}}, "dict_items": {"kind": "ClassDef", "type": {"nodeId": "140042577732528"}}}, "_typeshed": {"IdentityFunction": {"kind": "ClassDef", "type": {"nodeId": "140042568801568"}}, "SupportsNext": {"kind": "ClassDef", "type": {"nodeId": "140042568801904"}}, "SupportsAnext": {"kind": "ClassDef", "type": {"nodeId": "140042568802240"}}, "SupportsDunderLT": {"kind": "ClassDef", "type": {"nodeId": "140042568802576"}}, "SupportsDunderGT": {"kind": "ClassDef", "type": {"nodeId": "140042568802912"}}, "SupportsDunderLE": {"kind": "ClassDef", "type": {"nodeId": "140042568803248"}}, "SupportsDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140042568803584"}}, "SupportsAllComparisons": {"kind": "ClassDef", "type": {"nodeId": "140042568803920"}}, "SupportsAdd": {"kind": "ClassDef", "type": {"nodeId": "140042568804256"}}, "SupportsRAdd": {"kind": "ClassDef", "type": {"nodeId": "140042568804592"}}, "SupportsSub": {"kind": "ClassDef", "type": {"nodeId": "140042568804928"}}, "SupportsRSub": {"kind": "ClassDef", "type": {"nodeId": "140042568805264"}}, "SupportsDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042568805600"}}, "SupportsRDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042568805936"}}, "SupportsIter": {"kind": "ClassDef", "type": {"nodeId": "140042568806272"}}, "SupportsAiter": {"kind": "ClassDef", "type": {"nodeId": "140042568806608"}}, "SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568806944"}}, "SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140042568807280"}}, "SupportsItems": {"kind": "ClassDef", "type": {"nodeId": "140042568807616"}}, "SupportsKeysAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568807952"}}, "SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042568808288"}}, "SupportsItemAccess": {"kind": "ClassDef", "type": {"nodeId": "140042568808624"}}, "HasFileno": {"kind": "ClassDef", "type": {"nodeId": "140042568808960"}}, "SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140042568809296"}}, "SupportsReadline": {"kind": "ClassDef", "type": {"nodeId": "140042568809632"}}, "SupportsNoArgReadline": {"kind": "ClassDef", "type": {"nodeId": "140042568809968"}}, "SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042569039936"}}, "structseq": {"kind": "ClassDef", "type": {"nodeId": "140042569040272"}}}, "typing_extensions": {"_SpecialForm": {"kind": "ClassDef", "type": {"nodeId": "140042577738912"}}, "_TypedDict": {"kind": "ClassDef", "type": {"nodeId": "140042577739248"}}, "SupportsIndex": {"kind": "ClassDef", "type": {"nodeId": "140042578051136"}}, "NamedTuple": {"kind": "ClassDef", "type": {"nodeId": "140042578051472"}}, "TypeVar": {"kind": "ClassDef", "type": {"nodeId": "140042578051808"}}, "ParamSpec": {"kind": "ClassDef", "type": {"nodeId": "140042578052144"}}, "TypeVarTuple": {"kind": "ClassDef", "type": {"nodeId": "140042578052480"}}}, "types": {"_Cell": {"kind": "ClassDef", "type": {"nodeId": "140042578052816"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578053152"}}, "CodeType": {"kind": "ClassDef", "type": {"nodeId": "140042578053488"}}, "MappingProxyType": {"kind": "ClassDef", "type": {"nodeId": "140042578053824"}}, "SimpleNamespace": {"kind": "ClassDef", "type": {"nodeId": "140042578054160"}}, "_LoaderProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042578054496"}}, "ModuleType": {"kind": "ClassDef", "type": {"nodeId": "140042578054832"}}, "GeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140042578055168"}}, "AsyncGeneratorType": {"kind": "ClassDef", "type": {"nodeId": "140042578055504"}}, "CoroutineType": {"kind": "ClassDef", "type": {"nodeId": "140042578055840"}}, "_StaticFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578056176"}}, "MethodType": {"kind": "ClassDef", "type": {"nodeId": "140042578056512"}}, "BuiltinFunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042578056848"}}, "WrapperDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578057184"}}, "MethodWrapperType": {"kind": "ClassDef", "type": {"nodeId": "140042578057520"}}, "MethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578057856"}}, "ClassMethodDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578058192"}}, "TracebackType": {"kind": "ClassDef", "type": {"nodeId": "140042578058528"}}, "FrameType": {"kind": "ClassDef", "type": {"nodeId": "140042578058864"}}, "GetSetDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578059200"}}, "MemberDescriptorType": {"kind": "ClassDef", "type": {"nodeId": "140042578059536"}}, "GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042578059872"}}, "NoneType": {"kind": "ClassDef", "type": {"nodeId": "140042578060208"}}, "UnionType": {"kind": "ClassDef", "type": {"nodeId": "140042578060544"}}}, "numpy.core._internal": {"_ctypes": {"kind": "ClassDef", "type": {"nodeId": "140042472911056"}}}, "numpy._typing._callable": {"_BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042472902992"}}, "_BoolBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472903328"}}, "_BoolSub": {"kind": "ClassDef", "type": {"nodeId": "140042472903664"}}, "_BoolTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472904000"}}, "_BoolMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904336"}}, "_BoolDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472904672"}}, "_TD64Div": {"kind": "ClassDef", "type": {"nodeId": "140042472905008"}}, "_IntTrueDiv": {"kind": "ClassDef", "type": {"nodeId": "140042472905344"}}, "_UnsignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472905680"}}, "_UnsignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472906016"}}, "_UnsignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906352"}}, "_UnsignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472906688"}}, "_SignedIntOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907024"}}, "_SignedIntBitOp": {"kind": "ClassDef", "type": {"nodeId": "140042472907360"}}, "_SignedIntMod": {"kind": "ClassDef", "type": {"nodeId": "140042472907696"}}, "_SignedIntDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908032"}}, "_FloatOp": {"kind": "ClassDef", "type": {"nodeId": "140042472908368"}}, "_FloatMod": {"kind": "ClassDef", "type": {"nodeId": "140042472908704"}}, "_FloatDivMod": {"kind": "ClassDef", "type": {"nodeId": "140042472909040"}}, "_ComplexOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909376"}}, "_NumberOp": {"kind": "ClassDef", "type": {"nodeId": "140042472909712"}}, "_SupportsLT": {"kind": "ClassDef", "type": {"nodeId": "140042472910048"}}, "_SupportsGT": {"kind": "ClassDef", "type": {"nodeId": "140042472910384"}}, "_ComparisonOp": {"kind": "ClassDef", "type": {"nodeId": "140042472910720"}}}, "numpy.core.records": {"_SupportsReadInto": {"kind": "ClassDef", "type": {"nodeId": "140042468643152"}}}, "numpy.core.multiarray": {"_SupportsLenAndGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042472901312"}}, "flagsobj": {"kind": "ClassDef", "type": {"nodeId": "140042472901648"}}}, "numpy.core.numerictypes": {"_CastFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472900640"}}, "_typedict": {"kind": "ClassDef", "type": {"nodeId": "140042468652560"}}}, "numpy.lib.arraypad": {"_ModeFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472900304"}}}, "numpy.lib.arrayterator": {"Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}}, "numpy.lib.function_base": {"_TrimZerosSequence": {"kind": "ClassDef", "type": {"nodeId": "140042472899632"}}, "_SupportsWriteFlush": {"kind": "ClassDef", "type": {"nodeId": "140042472899968"}}}, "numpy.lib.index_tricks": {"nd_grid": {"kind": "ClassDef", "type": {"nodeId": "140042472667648"}}, "MGridClass": {"kind": "ClassDef", "type": {"nodeId": "140042472667984"}}, "OGridClass": {"kind": "ClassDef", "type": {"nodeId": "140042472668320"}}, "AxisConcatenator": {"kind": "ClassDef", "type": {"nodeId": "140042472668656"}}, "RClass": {"kind": "ClassDef", "type": {"nodeId": "140042472898624"}}, "CClass": {"kind": "ClassDef", "type": {"nodeId": "140042472898960"}}, "IndexExpression": {"kind": "ClassDef", "type": {"nodeId": "140042472899296"}}}, "numpy.lib.npyio": {"_SupportsGetItem": {"kind": "ClassDef", "type": {"nodeId": "140042472665632"}}, "_SupportsRead": {"kind": "ClassDef", "type": {"nodeId": "140042472665968"}}, "_SupportsReadSeek": {"kind": "ClassDef", "type": {"nodeId": "140042472666304"}}, "_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472666640"}}, "BagObj": {"kind": "ClassDef", "type": {"nodeId": "140042472666976"}}, "NpzFile": {"kind": "ClassDef", "type": {"nodeId": "140042472667312"}}}, "numpy.lib.shape_base": {"_ArrayWrap": {"kind": "ClassDef", "type": {"nodeId": "140042472664288"}}, "_ArrayPrepare": {"kind": "ClassDef", "type": {"nodeId": "140042472664624"}}, "_SupportsArrayWrap": {"kind": "ClassDef", "type": {"nodeId": "140042472664960"}}, "_SupportsArrayPrepare": {"kind": "ClassDef", "type": {"nodeId": "140042472665296"}}}, "numpy.lib.stride_tricks": {"DummyArray": {"kind": "ClassDef", "type": {"nodeId": "140042472663952"}}}, "numpy.lib.type_check": {"_SupportsReal": {"kind": "ClassDef", "type": {"nodeId": "140042472663280"}}, "_SupportsImag": {"kind": "ClassDef", "type": {"nodeId": "140042472663616"}}}, "numpy.lib.utils": {"_SupportsWrite": {"kind": "ClassDef", "type": {"nodeId": "140042472662608"}}, "_Deprecate": {"kind": "ClassDef", "type": {"nodeId": "140042472662944"}}}, "numpy._pytesttester": {"PytestTester": {"kind": "ClassDef", "type": {"nodeId": "140042498341040"}}}, "numpy._typing": {"NBitBase": {"kind": "ClassDef", "type": {"nodeId": "140042472659584"}}, "_256Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472659920"}}, "_128Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660256"}}, "_96Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660592"}}, "_80Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472660928"}}, "_64Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661264"}}, "_32Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661600"}}, "_16Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472661936"}}, "_8Bit": {"kind": "ClassDef", "type": {"nodeId": "140042472662272"}}, "_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}, "_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}, "_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_SupportsArrayFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472658240"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}, "_GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042480728240"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}}, "numpy.ctypeslib": {"_ndptr": {"kind": "ClassDef", "type": {"nodeId": "140042472658912"}}, "_concrete_ndptr": {"kind": "ClassDef", "type": {"nodeId": "140042472659248"}}}, "numpy.lib": {"NumpyVersion": {"kind": "ClassDef", "type": {"nodeId": "140042498331296"}}, "Arrayterator": {"kind": "ClassDef", "type": {"nodeId": "140042468652224"}}}, "numpy.linalg": {"LinAlgError": {"kind": "ClassDef", "type": {"nodeId": "140042468642816"}}}, "numpy.ma": {"MAError": {"kind": "ClassDef", "type": {"nodeId": "140042472652864"}}, "MaskError": {"kind": "ClassDef", "type": {"nodeId": "140042472653200"}}, "MaskedArray": {"kind": "ClassDef", "type": {"nodeId": "140042468650544"}}, "mvoid": {"kind": "ClassDef", "type": {"nodeId": "140042468650880"}}}, "numpy.polynomial": {"Chebyshev": {"kind": "ClassDef", "type": {"nodeId": "140042468642144"}}, "Hermite": {"kind": "ClassDef", "type": {"nodeId": "140042468641808"}}, "HermiteE": {"kind": "ClassDef", "type": {"nodeId": "140042468641472"}}, "Laguerre": {"kind": "ClassDef", "type": {"nodeId": "140042468641136"}}, "Legendre": {"kind": "ClassDef", "type": {"nodeId": "140042468640800"}}, "Polynomial": {"kind": "ClassDef", "type": {"nodeId": "140042468640464"}}}, "numpy.random": {"Generator": {"kind": "ClassDef", "type": {"nodeId": "140042468648192"}}, "MT19937": {"kind": "ClassDef", "type": {"nodeId": "140042468647856"}}, "PCG64": {"kind": "ClassDef", "type": {"nodeId": "140042468646512"}}, "PCG64DXSM": {"kind": "ClassDef", "type": {"nodeId": "140042468646848"}}, "Philox": {"kind": "ClassDef", "type": {"nodeId": "140042468645504"}}, "SFC64": {"kind": "ClassDef", "type": {"nodeId": "140042468644496"}}, "BitGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042468640128"}}, "SeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639792"}}, "RandomState": {"kind": "ClassDef", "type": {"nodeId": "140042468643488"}}}, "numpy.testing": {"IgnoreException": {"kind": "ClassDef", "type": {"nodeId": "140042468242960"}}, "clear_and_catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468243296"}}, "KnownFailureException": {"kind": "ClassDef", "type": {"nodeId": "140042468242624"}}, "suppress_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468244304"}}}, "os": {"_Environ": {"kind": "ClassDef", "type": {"nodeId": "140042573219200"}}, "stat_result": {"kind": "ClassDef", "type": {"nodeId": "140042569346608"}}, "PathLike": {"kind": "ClassDef", "type": {"nodeId": "140042569346944"}}, "DirEntry": {"kind": "ClassDef", "type": {"nodeId": "140042573219536"}}, "statvfs_result": {"kind": "ClassDef", "type": {"nodeId": "140042569347280"}}, "uname_result": {"kind": "ClassDef", "type": {"nodeId": "140042569347616"}}, "terminal_size": {"kind": "ClassDef", "type": {"nodeId": "140042569347952"}}, "_ScandirIterator": {"kind": "ClassDef", "type": {"nodeId": "140042569348288"}}, "_wrap_close": {"kind": "ClassDef", "type": {"nodeId": "140042569348624"}}, "times_result": {"kind": "ClassDef", "type": {"nodeId": "140042569348960"}}, "waitid_result": {"kind": "ClassDef", "type": {"nodeId": "140042569349296"}}, "sched_param": {"kind": "ClassDef", "type": {"nodeId": "140042569349632"}}}, "mmap": {"mmap": {"kind": "ClassDef", "type": {"nodeId": "140042573219872"}}}, "ctypes": {"CDLL": {"kind": "ClassDef", "type": {"nodeId": "140042573738192"}}, "PyDLL": {"kind": "ClassDef", "type": {"nodeId": "140042573738528"}}, "LibraryLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569632448"}}, "_CDataMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573738864"}}, "_CData": {"kind": "ClassDef", "type": {"nodeId": "140042573739200"}}, "_CanCastTo": {"kind": "ClassDef", "type": {"nodeId": "140042573739536"}}, "_PointerLike": {"kind": "ClassDef", "type": {"nodeId": "140042573739872"}}, "_FuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140042573740208"}}, "_NamedFuncPointer": {"kind": "ClassDef", "type": {"nodeId": "140042573740544"}}, "ArgumentError": {"kind": "ClassDef", "type": {"nodeId": "140042573740880"}}, "_CArgObject": {"kind": "ClassDef", "type": {"nodeId": "140042573741216"}}, "_Pointer": {"kind": "ClassDef", "type": {"nodeId": "140042569632784"}}, "_SimpleCData": {"kind": "ClassDef", "type": {"nodeId": "140042573741552"}}, "c_byte": {"kind": "ClassDef", "type": {"nodeId": "140042573905984"}}, "c_char": {"kind": "ClassDef", "type": {"nodeId": "140042573906320"}}, "c_char_p": {"kind": "ClassDef", "type": {"nodeId": "140042573906656"}}, "c_double": {"kind": "ClassDef", "type": {"nodeId": "140042573906992"}}, "c_longdouble": {"kind": "ClassDef", "type": {"nodeId": "140042573907328"}}, "c_float": {"kind": "ClassDef", "type": {"nodeId": "140042573907664"}}, "c_int": {"kind": "ClassDef", "type": {"nodeId": "140042573908000"}}, "c_int8": {"kind": "ClassDef", "type": {"nodeId": "140042573908336"}}, "c_int16": {"kind": "ClassDef", "type": {"nodeId": "140042573908672"}}, "c_int32": {"kind": "ClassDef", "type": {"nodeId": "140042573909008"}}, "c_int64": {"kind": "ClassDef", "type": {"nodeId": "140042573909344"}}, "c_long": {"kind": "ClassDef", "type": {"nodeId": "140042573909680"}}, "c_longlong": {"kind": "ClassDef", "type": {"nodeId": "140042573910016"}}, "c_short": {"kind": "ClassDef", "type": {"nodeId": "140042573910352"}}, "c_size_t": {"kind": "ClassDef", "type": {"nodeId": "140042573910688"}}, "c_ssize_t": {"kind": "ClassDef", "type": {"nodeId": "140042573911024"}}, "c_ubyte": {"kind": "ClassDef", "type": {"nodeId": "140042573911360"}}, "c_uint": {"kind": "ClassDef", "type": {"nodeId": "140042573911696"}}, "c_uint8": {"kind": "ClassDef", "type": {"nodeId": "140042573912032"}}, "c_uint16": {"kind": "ClassDef", "type": {"nodeId": "140042573912368"}}, "c_uint32": {"kind": "ClassDef", "type": {"nodeId": "140042573912704"}}, "c_uint64": {"kind": "ClassDef", "type": {"nodeId": "140042573913040"}}, "c_ulong": {"kind": "ClassDef", "type": {"nodeId": "140042573913376"}}, "c_ulonglong": {"kind": "ClassDef", "type": {"nodeId": "140042573913712"}}, "c_ushort": {"kind": "ClassDef", "type": {"nodeId": "140042573914048"}}, "c_void_p": {"kind": "ClassDef", "type": {"nodeId": "140042573914384"}}, "c_wchar": {"kind": "ClassDef", "type": {"nodeId": "140042573914720"}}, "c_wchar_p": {"kind": "ClassDef", "type": {"nodeId": "140042573915056"}}, "c_bool": {"kind": "ClassDef", "type": {"nodeId": "140042573915392"}}, "py_object": {"kind": "ClassDef", "type": {"nodeId": "140042573915728"}}, "_CField": {"kind": "ClassDef", "type": {"nodeId": "140042573916064"}}, "_StructUnionMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573916400"}}, "_StructUnionBase": {"kind": "ClassDef", "type": {"nodeId": "140042573916736"}}, "Union": {"kind": "ClassDef", "type": {"nodeId": "140042573917072"}}, "Structure": {"kind": "ClassDef", "type": {"nodeId": "140042573917408"}}, "BigEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140042573917744"}}, "LittleEndianStructure": {"kind": "ClassDef", "type": {"nodeId": "140042573918080"}}, "Array": {"kind": "ClassDef", "type": {"nodeId": "140042569633120"}}}, "array": {"array": {"kind": "ClassDef", "type": {"nodeId": "140042568801232"}}}, "datetime": {"tzinfo": {"kind": "ClassDef", "type": {"nodeId": "140042480719840"}}, "timezone": {"kind": "ClassDef", "type": {"nodeId": "140042480720176"}}, "date": {"kind": "ClassDef", "type": {"nodeId": "140042480720848"}}, "time": {"kind": "ClassDef", "type": {"nodeId": "140042480721184"}}, "timedelta": {"kind": "ClassDef", "type": {"nodeId": "140042480721520"}}, "datetime": {"kind": "ClassDef", "type": {"nodeId": "140042480721856"}}}, "enum": {"_EnumDict": {"kind": "ClassDef", "type": {"nodeId": "140042573232640"}}, "EnumMeta": {"kind": "ClassDef", "type": {"nodeId": "140042573232976"}}, "Enum": {"kind": "ClassDef", "type": {"nodeId": "140042573233312"}}, "IntEnum": {"kind": "ClassDef", "type": {"nodeId": "140042573233648"}}, "auto": {"kind": "ClassDef", "type": {"nodeId": "140042569632112"}}, "Flag": {"kind": "ClassDef", "type": {"nodeId": "140042573725760"}}, "IntFlag": {"kind": "ClassDef", "type": {"nodeId": "140042573726096"}}}, "abc": {"ABCMeta": {"kind": "ClassDef", "type": {"nodeId": "140042577657328"}}, "abstractclassmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577723456"}}, "abstractstaticmethod": {"kind": "ClassDef", "type": {"nodeId": "140042577723792"}}, "abstractproperty": {"kind": "ClassDef", "type": {"nodeId": "140042577724128"}}, "ABC": {"kind": "ClassDef", "type": {"nodeId": "140042577724464"}}}, "contextlib": {"AbstractContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573918416"}}, "AbstractAsyncContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573918752"}}, "ContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140042573919088"}}, "_GeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573919424"}}, "AsyncContextDecorator": {"kind": "ClassDef", "type": {"nodeId": "140042573919760"}}, "_AsyncGeneratorContextManager": {"kind": "ClassDef", "type": {"nodeId": "140042573920096"}}, "_SupportsClose": {"kind": "ClassDef", "type": {"nodeId": "140042573920432"}}, "closing": {"kind": "ClassDef", "type": {"nodeId": "140042573920768"}}, "_SupportsAclose": {"kind": "ClassDef", "type": {"nodeId": "140042573921104"}}, "aclosing": {"kind": "ClassDef", "type": {"nodeId": "140042573921440"}}, "suppress": {"kind": "ClassDef", "type": {"nodeId": "140042573921776"}}, "_RedirectStream": {"kind": "ClassDef", "type": {"nodeId": "140042568794176"}}, "redirect_stdout": {"kind": "ClassDef", "type": {"nodeId": "140042568794512"}}, "redirect_stderr": {"kind": "ClassDef", "type": {"nodeId": "140042568794848"}}, "ExitStack": {"kind": "ClassDef", "type": {"nodeId": "140042568795184"}}, "AsyncExitStack": {"kind": "ClassDef", "type": {"nodeId": "140042568795520"}}, "nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042568795856"}}}, "re": {"Match": {"kind": "ClassDef", "type": {"nodeId": "140042578065584"}}, "Pattern": {"kind": "ClassDef", "type": {"nodeId": "140042578065920"}}, "RegexFlag": {"kind": "ClassDef", "type": {"nodeId": "140042569346272"}}}, "_ast": {"AST": {"kind": "ClassDef", "type": {"nodeId": "140042569040944"}}, "mod": {"kind": "ClassDef", "type": {"nodeId": "140042569041280"}}, "type_ignore": {"kind": "ClassDef", "type": {"nodeId": "140042569041616"}}, "TypeIgnore": {"kind": "ClassDef", "type": {"nodeId": "140042569041952"}}, "FunctionType": {"kind": "ClassDef", "type": {"nodeId": "140042569042288"}}, "Module": {"kind": "ClassDef", "type": {"nodeId": "140042569042624"}}, "Interactive": {"kind": "ClassDef", "type": {"nodeId": "140042569042960"}}, "Expression": {"kind": "ClassDef", "type": {"nodeId": "140042569043296"}}, "stmt": {"kind": "ClassDef", "type": {"nodeId": "140042569043632"}}, "FunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140042569043968"}}, "AsyncFunctionDef": {"kind": "ClassDef", "type": {"nodeId": "140042569044304"}}, "ClassDef": {"kind": "ClassDef", "type": {"nodeId": "140042569044640"}}, "Return": {"kind": "ClassDef", "type": {"nodeId": "140042569044976"}}, "Delete": {"kind": "ClassDef", "type": {"nodeId": "140042569045312"}}, "Assign": {"kind": "ClassDef", "type": {"nodeId": "140042569045648"}}, "AugAssign": {"kind": "ClassDef", "type": {"nodeId": "140042569045984"}}, "AnnAssign": {"kind": "ClassDef", "type": {"nodeId": "140042569046320"}}, "For": {"kind": "ClassDef", "type": {"nodeId": "140042569046656"}}, "AsyncFor": {"kind": "ClassDef", "type": {"nodeId": "140042569046992"}}, "While": {"kind": "ClassDef", "type": {"nodeId": "140042569047328"}}, "If": {"kind": "ClassDef", "type": {"nodeId": "140042569047664"}}, "With": {"kind": "ClassDef", "type": {"nodeId": "140042569048000"}}, "AsyncWith": {"kind": "ClassDef", "type": {"nodeId": "140042569048336"}}, "Raise": {"kind": "ClassDef", "type": {"nodeId": "140042569048672"}}, "Try": {"kind": "ClassDef", "type": {"nodeId": "140042569049008"}}, "Assert": {"kind": "ClassDef", "type": {"nodeId": "140042569049344"}}, "Import": {"kind": "ClassDef", "type": {"nodeId": "140042569049680"}}, "ImportFrom": {"kind": "ClassDef", "type": {"nodeId": "140042569050016"}}, "Global": {"kind": "ClassDef", "type": {"nodeId": "140042569050352"}}, "Nonlocal": {"kind": "ClassDef", "type": {"nodeId": "140042569050688"}}, "Expr": {"kind": "ClassDef", "type": {"nodeId": "140042569051024"}}, "Pass": {"kind": "ClassDef", "type": {"nodeId": "140042569051360"}}, "Break": {"kind": "ClassDef", "type": {"nodeId": "140042569051696"}}, "Continue": {"kind": "ClassDef", "type": {"nodeId": "140042569052032"}}, "expr": {"kind": "ClassDef", "type": {"nodeId": "140042569052368"}}, "BoolOp": {"kind": "ClassDef", "type": {"nodeId": "140042569052704"}}, "BinOp": {"kind": "ClassDef", "type": {"nodeId": "140042569053040"}}, "UnaryOp": {"kind": "ClassDef", "type": {"nodeId": "140042569053376"}}, "Lambda": {"kind": "ClassDef", "type": {"nodeId": "140042569053712"}}, "IfExp": {"kind": "ClassDef", "type": {"nodeId": "140042569054048"}}, "Dict": {"kind": "ClassDef", "type": {"nodeId": "140042569054384"}}, "Set": {"kind": "ClassDef", "type": {"nodeId": "140042569054720"}}, "ListComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055056"}}, "SetComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055392"}}, "DictComp": {"kind": "ClassDef", "type": {"nodeId": "140042569055728"}}, "GeneratorExp": {"kind": "ClassDef", "type": {"nodeId": "140042569220160"}}, "Await": {"kind": "ClassDef", "type": {"nodeId": "140042569220496"}}, "Yield": {"kind": "ClassDef", "type": {"nodeId": "140042569220832"}}, "YieldFrom": {"kind": "ClassDef", "type": {"nodeId": "140042569221168"}}, "Compare": {"kind": "ClassDef", "type": {"nodeId": "140042569221504"}}, "Call": {"kind": "ClassDef", "type": {"nodeId": "140042569221840"}}, "FormattedValue": {"kind": "ClassDef", "type": {"nodeId": "140042569222176"}}, "JoinedStr": {"kind": "ClassDef", "type": {"nodeId": "140042569222512"}}, "Constant": {"kind": "ClassDef", "type": {"nodeId": "140042569222848"}}, "NamedExpr": {"kind": "ClassDef", "type": {"nodeId": "140042569223184"}}, "Attribute": {"kind": "ClassDef", "type": {"nodeId": "140042569223520"}}, "Slice": {"kind": "ClassDef", "type": {"nodeId": "140042569223856"}}, "Subscript": {"kind": "ClassDef", "type": {"nodeId": "140042569224192"}}, "Starred": {"kind": "ClassDef", "type": {"nodeId": "140042569224528"}}, "Name": {"kind": "ClassDef", "type": {"nodeId": "140042569224864"}}, "List": {"kind": "ClassDef", "type": {"nodeId": "140042569225200"}}, "Tuple": {"kind": "ClassDef", "type": {"nodeId": "140042569225536"}}, "expr_context": {"kind": "ClassDef", "type": {"nodeId": "140042569225872"}}, "Del": {"kind": "ClassDef", "type": {"nodeId": "140042569226208"}}, "Load": {"kind": "ClassDef", "type": {"nodeId": "140042569226544"}}, "Store": {"kind": "ClassDef", "type": {"nodeId": "140042569226880"}}, "boolop": {"kind": "ClassDef", "type": {"nodeId": "140042569227216"}}, "And": {"kind": "ClassDef", "type": {"nodeId": "140042569227552"}}, "Or": {"kind": "ClassDef", "type": {"nodeId": "140042569227888"}}, "operator": {"kind": "ClassDef", "type": {"nodeId": "140042569228224"}}, "Add": {"kind": "ClassDef", "type": {"nodeId": "140042569228560"}}, "BitAnd": {"kind": "ClassDef", "type": {"nodeId": "140042569228896"}}, "BitOr": {"kind": "ClassDef", "type": {"nodeId": "140042569229232"}}, "BitXor": {"kind": "ClassDef", "type": {"nodeId": "140042569229568"}}, "Div": {"kind": "ClassDef", "type": {"nodeId": "140042569229904"}}, "FloorDiv": {"kind": "ClassDef", "type": {"nodeId": "140042569230240"}}, "LShift": {"kind": "ClassDef", "type": {"nodeId": "140042569230576"}}, "Mod": {"kind": "ClassDef", "type": {"nodeId": "140042569230912"}}, "Mult": {"kind": "ClassDef", "type": {"nodeId": "140042569231248"}}, "MatMult": {"kind": "ClassDef", "type": {"nodeId": "140042569231584"}}, "Pow": {"kind": "ClassDef", "type": {"nodeId": "140042569231920"}}, "RShift": {"kind": "ClassDef", "type": {"nodeId": "140042569232256"}}, "Sub": {"kind": "ClassDef", "type": {"nodeId": "140042569232592"}}, "unaryop": {"kind": "ClassDef", "type": {"nodeId": "140042569232928"}}, "Invert": {"kind": "ClassDef", "type": {"nodeId": "140042569233264"}}, "Not": {"kind": "ClassDef", "type": {"nodeId": "140042569233600"}}, "UAdd": {"kind": "ClassDef", "type": {"nodeId": "140042569233936"}}, "USub": {"kind": "ClassDef", "type": {"nodeId": "140042569234272"}}, "cmpop": {"kind": "ClassDef", "type": {"nodeId": "140042569234608"}}, "Eq": {"kind": "ClassDef", "type": {"nodeId": "140042569234944"}}, "Gt": {"kind": "ClassDef", "type": {"nodeId": "140042569235280"}}, "GtE": {"kind": "ClassDef", "type": {"nodeId": "140042569235616"}}, "In": {"kind": "ClassDef", "type": {"nodeId": "140042569235952"}}, "Is": {"kind": "ClassDef", "type": {"nodeId": "140042569334848"}}, "IsNot": {"kind": "ClassDef", "type": {"nodeId": "140042569335184"}}, "Lt": {"kind": "ClassDef", "type": {"nodeId": "140042569335520"}}, "LtE": {"kind": "ClassDef", "type": {"nodeId": "140042569335856"}}, "NotEq": {"kind": "ClassDef", "type": {"nodeId": "140042569336192"}}, "NotIn": {"kind": "ClassDef", "type": {"nodeId": "140042569336528"}}, "comprehension": {"kind": "ClassDef", "type": {"nodeId": "140042569336864"}}, "excepthandler": {"kind": "ClassDef", "type": {"nodeId": "140042569337200"}}, "ExceptHandler": {"kind": "ClassDef", "type": {"nodeId": "140042569337536"}}, "arguments": {"kind": "ClassDef", "type": {"nodeId": "140042569337872"}}, "arg": {"kind": "ClassDef", "type": {"nodeId": "140042569338208"}}, "keyword": {"kind": "ClassDef", "type": {"nodeId": "140042569338544"}}, "alias": {"kind": "ClassDef", "type": {"nodeId": "140042569338880"}}, "withitem": {"kind": "ClassDef", "type": {"nodeId": "140042569339216"}}, "Match": {"kind": "ClassDef", "type": {"nodeId": "140042569339552"}}, "pattern": {"kind": "ClassDef", "type": {"nodeId": "140042569339888"}}, "match_case": {"kind": "ClassDef", "type": {"nodeId": "140042569340224"}}, "MatchValue": {"kind": "ClassDef", "type": {"nodeId": "140042569340560"}}, "MatchSingleton": {"kind": "ClassDef", "type": {"nodeId": "140042569340896"}}, "MatchSequence": {"kind": "ClassDef", "type": {"nodeId": "140042569341232"}}, "MatchStar": {"kind": "ClassDef", "type": {"nodeId": "140042569341568"}}, "MatchMapping": {"kind": "ClassDef", "type": {"nodeId": "140042569341904"}}, "MatchClass": {"kind": "ClassDef", "type": {"nodeId": "140042569342240"}}, "MatchAs": {"kind": "ClassDef", "type": {"nodeId": "140042569342576"}}, "MatchOr": {"kind": "ClassDef", "type": {"nodeId": "140042569342912"}}}, "io": {"UnsupportedOperation": {"kind": "ClassDef", "type": {"nodeId": "140042573220208"}}, "IOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573220544"}}, "RawIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573220880"}}, "BufferedIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573221216"}}, "FileIO": {"kind": "ClassDef", "type": {"nodeId": "140042573221552"}}, "BytesIO": {"kind": "ClassDef", "type": {"nodeId": "140042573221888"}}, "BufferedReader": {"kind": "ClassDef", "type": {"nodeId": "140042573222224"}}, "BufferedWriter": {"kind": "ClassDef", "type": {"nodeId": "140042573222560"}}, "BufferedRandom": {"kind": "ClassDef", "type": {"nodeId": "140042573222896"}}, "BufferedRWPair": {"kind": "ClassDef", "type": {"nodeId": "140042573223232"}}, "TextIOBase": {"kind": "ClassDef", "type": {"nodeId": "140042573223568"}}, "TextIOWrapper": {"kind": "ClassDef", "type": {"nodeId": "140042573223904"}}, "StringIO": {"kind": "ClassDef", "type": {"nodeId": "140042573224240"}}, "IncrementalNewlineDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569637824"}}}, "importlib.abc": {"Finder": {"kind": "ClassDef", "type": {"nodeId": "140042573228608"}}, "Loader": {"kind": "ClassDef", "type": {"nodeId": "140042573228944"}}, "ResourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229280"}}, "InspectLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229616"}}, "ExecutionLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573229952"}}, "SourceLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573230288"}}, "MetaPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573230624"}}, "PathEntryFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573230960"}}, "FileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042573231296"}}, "ResourceReader": {"kind": "ClassDef", "type": {"nodeId": "140042573231632"}}, "Traversable": {"kind": "ClassDef", "type": {"nodeId": "140042573231968"}}, "TraversableResources": {"kind": "ClassDef", "type": {"nodeId": "140042573232304"}}}, "importlib.machinery": {"ModuleSpec": {"kind": "ClassDef", "type": {"nodeId": "140042573227936"}}, "BuiltinImporter": {"kind": "ClassDef", "type": {"nodeId": "140042569629760"}}, "FrozenImporter": {"kind": "ClassDef", "type": {"nodeId": "140042569630096"}}, "WindowsRegistryFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569630432"}}, "PathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042573228272"}}, "FileFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569630768"}}, "SourceFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631104"}}, "SourcelessFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631440"}}, "ExtensionFileLoader": {"kind": "ClassDef", "type": {"nodeId": "140042569631776"}}}, "pickle": {"_ReadableFileobj": {"kind": "ClassDef", "type": {"nodeId": "140042578066256"}}, "PickleBuffer": {"kind": "ClassDef", "type": {"nodeId": "140042578066592"}}, "PickleError": {"kind": "ClassDef", "type": {"nodeId": "140042578066928"}}, "PicklingError": {"kind": "ClassDef", "type": {"nodeId": "140042573217856"}}, "UnpicklingError": {"kind": "ClassDef", "type": {"nodeId": "140042573218192"}}, "Pickler": {"kind": "ClassDef", "type": {"nodeId": "140042573218528"}}, "Unpickler": {"kind": "ClassDef", "type": {"nodeId": "140042573218864"}}}, "numpy._typing._generic_alias": {"_GenericAlias": {"kind": "ClassDef", "type": {"nodeId": "140042480728240"}}}, "numpy._typing._nested_sequence": {"_NestedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042480719504"}}}, "__future__": {"_Feature": {"kind": "ClassDef", "type": {"nodeId": "140042498340704"}}}, "numpy.ma.mrecords": {"MaskedRecords": {"kind": "ClassDef", "type": {"nodeId": "140042464395328"}}}, "zipfile": {"BadZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498336672"}}, "LargeZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498337008"}}, "_ZipStream": {"kind": "ClassDef", "type": {"nodeId": "140042498337344"}}, "_SupportsReadSeekTell": {"kind": "ClassDef", "type": {"nodeId": "140042498337680"}}, "_ClosableZipStream": {"kind": "ClassDef", "type": {"nodeId": "140042498338016"}}, "ZipExtFile": {"kind": "ClassDef", "type": {"nodeId": "140042498338352"}}, "_Writer": {"kind": "ClassDef", "type": {"nodeId": "140042498338688"}}, "ZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498339024"}}, "PyZipFile": {"kind": "ClassDef", "type": {"nodeId": "140042498339360"}}, "ZipInfo": {"kind": "ClassDef", "type": {"nodeId": "140042498339696"}}, "_PathOpenProtocol": {"kind": "ClassDef", "type": {"nodeId": "140042498340032"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140042498340368"}}}, "ast": {"_ABC": {"kind": "ClassDef", "type": {"nodeId": "140042498331632"}}, "Num": {"kind": "ClassDef", "type": {"nodeId": "140042498331968"}}, "Str": {"kind": "ClassDef", "type": {"nodeId": "140042498332304"}}, "Bytes": {"kind": "ClassDef", "type": {"nodeId": "140042498332640"}}, "NameConstant": {"kind": "ClassDef", "type": {"nodeId": "140042498332976"}}, "Ellipsis": {"kind": "ClassDef", "type": {"nodeId": "140042498333312"}}, "slice": {"kind": "ClassDef", "type": {"nodeId": "140042498333648"}}, "ExtSlice": {"kind": "ClassDef", "type": {"nodeId": "140042498333984"}}, "Index": {"kind": "ClassDef", "type": {"nodeId": "140042498334320"}}, "Suite": {"kind": "ClassDef", "type": {"nodeId": "140042498334656"}}, "AugLoad": {"kind": "ClassDef", "type": {"nodeId": "140042498334992"}}, "AugStore": {"kind": "ClassDef", "type": {"nodeId": "140042498335328"}}, "Param": {"kind": "ClassDef", "type": {"nodeId": "140042498335664"}}, "NodeVisitor": {"kind": "ClassDef", "type": {"nodeId": "140042498336000"}}, "NodeTransformer": {"kind": "ClassDef", "type": {"nodeId": "140042498336336"}}}, "numpy._typing._dtype_like": {"_SupportsDType": {"kind": "ClassDef", "type": {"nodeId": "140042480729248"}}}, "numpy._typing._array_like": {"_SupportsArray": {"kind": "ClassDef", "type": {"nodeId": "140042472657904"}}, "_SupportsArrayFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472658240"}}, "_UnknownType": {"kind": "ClassDef", "type": {"nodeId": "140042472658576"}}}, "numpy._typing._ufunc": {"_SupportsArrayUFunc": {"kind": "ClassDef", "type": {"nodeId": "140042468648528"}}, "_UFunc_Nin1_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468648864"}}, "_UFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468649200"}}, "_UFunc_Nin1_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649536"}}, "_UFunc_Nin2_Nout2": {"kind": "ClassDef", "type": {"nodeId": "140042468649872"}}, "_GUFunc_Nin2_Nout1": {"kind": "ClassDef", "type": {"nodeId": "140042468650208"}}}, "numpy.lib.mixins": {"NDArrayOperatorsMixin": {"kind": "ClassDef", "type": {"nodeId": "140042468642480"}}}, "numpy.lib._version": {"NumpyVersion": {"kind": "ClassDef", "type": {"nodeId": "140042498331296"}}}, "math": {"_SupportsCeil": {"kind": "ClassDef", "type": {"nodeId": "140042498330288"}}, "_SupportsFloor": {"kind": "ClassDef", "type": {"nodeId": "140042498330624"}}, "_SupportsTrunc": {"kind": "ClassDef", "type": {"nodeId": "140042498330960"}}}, "numpy.ma.extras": {"_fromnxfunction": {"kind": "ClassDef", "type": {"nodeId": "140042472656560"}}, "_fromnxfunction_single": {"kind": "ClassDef", "type": {"nodeId": "140042472656896"}}, "_fromnxfunction_seq": {"kind": "ClassDef", "type": {"nodeId": "140042472657232"}}, "_fromnxfunction_allargs": {"kind": "ClassDef", "type": {"nodeId": "140042472657568"}}, "MAxisConcatenator": {"kind": "ClassDef", "type": {"nodeId": "140042468651552"}}, "mr_class": {"kind": "ClassDef", "type": {"nodeId": "140042468651888"}}}, "numpy.ma.core": {"MaskedArrayFutureWarning": {"kind": "ClassDef", "type": {"nodeId": "140042480729584"}}, "MAError": {"kind": "ClassDef", "type": {"nodeId": "140042472652864"}}, "MaskError": {"kind": "ClassDef", "type": {"nodeId": "140042472653200"}}, "_MaskedUFunc": {"kind": "ClassDef", "type": {"nodeId": "140042472653536"}}, "_MaskedUnaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472653872"}}, "_MaskedBinaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472654208"}}, "_DomainedBinaryOperation": {"kind": "ClassDef", "type": {"nodeId": "140042472654544"}}, "_MaskedPrintOption": {"kind": "ClassDef", "type": {"nodeId": "140042472654880"}}, "MaskedIterator": {"kind": "ClassDef", "type": {"nodeId": "140042472655216"}}, "MaskedArray": {"kind": "ClassDef", "type": {"nodeId": "140042468650544"}}, "mvoid": {"kind": "ClassDef", "type": {"nodeId": "140042468650880"}}, "MaskedConstant": {"kind": "ClassDef", "type": {"nodeId": "140042468651216"}}, "_extrema_operation": {"kind": "ClassDef", "type": {"nodeId": "140042472655552"}}, "_frommethod": {"kind": "ClassDef", "type": {"nodeId": "140042472655888"}}, "_convert2ma": {"kind": "ClassDef", "type": {"nodeId": "140042472656224"}}}, "numpy.polynomial.chebyshev": {"Chebyshev": {"kind": "ClassDef", "type": {"nodeId": "140042468642144"}}}, "numpy.polynomial.hermite": {"Hermite": {"kind": "ClassDef", "type": {"nodeId": "140042468641808"}}}, "numpy.polynomial.hermite_e": {"HermiteE": {"kind": "ClassDef", "type": {"nodeId": "140042468641472"}}}, "numpy.polynomial.laguerre": {"Laguerre": {"kind": "ClassDef", "type": {"nodeId": "140042468641136"}}}, "numpy.polynomial.legendre": {"Legendre": {"kind": "ClassDef", "type": {"nodeId": "140042468640800"}}}, "numpy.polynomial.polynomial": {"Polynomial": {"kind": "ClassDef", "type": {"nodeId": "140042468640464"}}}, "numpy.random._generator": {"Generator": {"kind": "ClassDef", "type": {"nodeId": "140042468648192"}}}, "numpy.random._mt19937": {"MT19937": {"kind": "ClassDef", "type": {"nodeId": "140042468647856"}}}, "numpy.random._pcg64": {"PCG64": {"kind": "ClassDef", "type": {"nodeId": "140042468646512"}}, "PCG64DXSM": {"kind": "ClassDef", "type": {"nodeId": "140042468646848"}}}, "numpy.random._philox": {"Philox": {"kind": "ClassDef", "type": {"nodeId": "140042468645504"}}}, "numpy.random._sfc64": {"SFC64": {"kind": "ClassDef", "type": {"nodeId": "140042468644496"}}}, "numpy.random.bit_generator": {"ISeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468638784"}}, "ISpawnableSeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639120"}}, "SeedlessSeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639456"}}, "SeedSequence": {"kind": "ClassDef", "type": {"nodeId": "140042468639792"}}, "BitGenerator": {"kind": "ClassDef", "type": {"nodeId": "140042468640128"}}}, "numpy.random.mtrand": {"RandomState": {"kind": "ClassDef", "type": {"nodeId": "140042468643488"}}}, "numpy.testing._private.utils": {"KnownFailureException": {"kind": "ClassDef", "type": {"nodeId": "140042468242624"}}, "IgnoreException": {"kind": "ClassDef", "type": {"nodeId": "140042468242960"}}, "clear_and_catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468243296"}}, "_clear_and_catch_warnings_with_records": {"kind": "ClassDef", "type": {"nodeId": "140042468243632"}}, "_clear_and_catch_warnings_without_records": {"kind": "ClassDef", "type": {"nodeId": "140042468243968"}}, "suppress_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042468244304"}}}, "unittest": {"FunctionTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480724208"}}, "SkipTest": {"kind": "ClassDef", "type": {"nodeId": "140042480723200"}}, "TestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480723872"}}, "TestLoader": {"kind": "ClassDef", "type": {"nodeId": "140042480726224"}}, "TestProgram": {"kind": "ClassDef", "type": {"nodeId": "140042480726896"}}, "TestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480722192"}}, "TextTestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480725552"}}, "TextTestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480725888"}}, "BaseTestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727568"}}, "TestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727904"}}, "IsolatedAsyncioTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480725216"}}}, "subprocess": {"CompletedProcess": {"kind": "ClassDef", "type": {"nodeId": "140042578061888"}}, "SubprocessError": {"kind": "ClassDef", "type": {"nodeId": "140042578062224"}}, "TimeoutExpired": {"kind": "ClassDef", "type": {"nodeId": "140042578062560"}}, "CalledProcessError": {"kind": "ClassDef", "type": {"nodeId": "140042578062896"}}, "Popen": {"kind": "ClassDef", "type": {"nodeId": "140042578063232"}}}, "time": {"struct_time": {"kind": "ClassDef", "type": {"nodeId": "140042498329616"}}, "_ClockInfo": {"kind": "ClassDef", "type": {"nodeId": "140042498329952"}}}, "sre_constants": {"error": {"kind": "ClassDef", "type": {"nodeId": "140042578064912"}}, "_NamedIntConstant": {"kind": "ClassDef", "type": {"nodeId": "140042578065248"}}}, "codecs": {"_WritableStream": {"kind": "ClassDef", "type": {"nodeId": "140042568797200"}}, "_ReadableStream": {"kind": "ClassDef", "type": {"nodeId": "140042568797536"}}, "_Stream": {"kind": "ClassDef", "type": {"nodeId": "140042569633456"}}, "_Encoder": {"kind": "ClassDef", "type": {"nodeId": "140042568797872"}}, "_Decoder": {"kind": "ClassDef", "type": {"nodeId": "140042568798208"}}, "_StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140042568798544"}}, "_StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140042568798880"}}, "_IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042568799216"}}, "_IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568799552"}}, "CodecInfo": {"kind": "ClassDef", "type": {"nodeId": "140042569633792"}}, "Codec": {"kind": "ClassDef", "type": {"nodeId": "140042568799888"}}, "IncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800224"}}, "IncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800560"}}, "BufferedIncrementalEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569634128"}}, "BufferedIncrementalDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569634464"}}, "StreamWriter": {"kind": "ClassDef", "type": {"nodeId": "140042569634800"}}, "StreamReader": {"kind": "ClassDef", "type": {"nodeId": "140042569635136"}}, "StreamReaderWriter": {"kind": "ClassDef", "type": {"nodeId": "140042569635472"}}, "StreamRecoder": {"kind": "ClassDef", "type": {"nodeId": "140042568800896"}}}, "importlib": {"Loader": {"kind": "ClassDef", "type": {"nodeId": "140042573228944"}}}, "importlib.metadata": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140042573224576"}}, "PackageNotFoundError": {"kind": "ClassDef", "type": {"nodeId": "140042573225248"}}, "EntryPoint": {"kind": "ClassDef", "type": {"nodeId": "140042573225920"}}, "EntryPoints": {"kind": "ClassDef", "type": {"nodeId": "140042573226256"}}, "SelectableGroups": {"kind": "ClassDef", "type": {"nodeId": "140042573226592"}}, "PackagePath": {"kind": "ClassDef", "type": {"nodeId": "140042569638160"}}, "FileHash": {"kind": "ClassDef", "type": {"nodeId": "140042573226928"}}, "Distribution": {"kind": "ClassDef", "type": {"nodeId": "140042573227264"}}, "DistributionFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569349968"}}, "MetadataPathFinder": {"kind": "ClassDef", "type": {"nodeId": "140042569350640"}}, "PathDistribution": {"kind": "ClassDef", "type": {"nodeId": "140042573227600"}}}, "functools": {"_lru_cache_wrapper": {"kind": "ClassDef", "type": {"nodeId": "140042498327600"}}, "partial": {"kind": "ClassDef", "type": {"nodeId": "140042498327936"}}, "partialmethod": {"kind": "ClassDef", "type": {"nodeId": "140042498328272"}}, "_SingleDispatchCallable": {"kind": "ClassDef", "type": {"nodeId": "140042498328608"}}, "singledispatchmethod": {"kind": "ClassDef", "type": {"nodeId": "140042498328944"}}, "cached_property": {"kind": "ClassDef", "type": {"nodeId": "140042498329280"}}}, "numpy.polynomial._polybase": {"ABCPolyBase": {"kind": "ClassDef", "type": {"nodeId": "140042498326928"}}}, "numpy.polynomial.polyutils": {"RankWarning": {"kind": "ClassDef", "type": {"nodeId": "140042498326592"}}}, "threading": {"ThreadError": {"kind": "ClassDef", "type": {"nodeId": "140042569641184"}}, "local": {"kind": "ClassDef", "type": {"nodeId": "140042569641520"}}, "Thread": {"kind": "ClassDef", "type": {"nodeId": "140042569641856"}}, "_DummyThread": {"kind": "ClassDef", "type": {"nodeId": "140042569642192"}}, "Lock": {"kind": "ClassDef", "type": {"nodeId": "140042569642528"}}, "_RLock": {"kind": "ClassDef", "type": {"nodeId": "140042569642864"}}, "Condition": {"kind": "ClassDef", "type": {"nodeId": "140042569643200"}}, "Semaphore": {"kind": "ClassDef", "type": {"nodeId": "140042569643536"}}, "BoundedSemaphore": {"kind": "ClassDef", "type": {"nodeId": "140042569643872"}}, "Event": {"kind": "ClassDef", "type": {"nodeId": "140042569644208"}}, "Timer": {"kind": "ClassDef", "type": {"nodeId": "140042569644544"}}, "Barrier": {"kind": "ClassDef", "type": {"nodeId": "140042569644880"}}, "BrokenBarrierError": {"kind": "ClassDef", "type": {"nodeId": "140042569645216"}}}, "unittest.case": {"_BaseTestCaseContext": {"kind": "ClassDef", "type": {"nodeId": "140042480722864"}}, "SkipTest": {"kind": "ClassDef", "type": {"nodeId": "140042480723200"}}, "_SupportsAbsAndDunderGE": {"kind": "ClassDef", "type": {"nodeId": "140042480723536"}}, "TestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480723872"}}, "FunctionTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480724208"}}, "_AssertRaisesContext": {"kind": "ClassDef", "type": {"nodeId": "140042480724544"}}, "_AssertWarnsContext": {"kind": "ClassDef", "type": {"nodeId": "140042480724880"}}}, "warnings": {"_OptionError": {"kind": "ClassDef", "type": {"nodeId": "140042480718160"}}, "WarningMessage": {"kind": "ClassDef", "type": {"nodeId": "140042480718496"}}, "catch_warnings": {"kind": "ClassDef", "type": {"nodeId": "140042480718832"}}}, "unittest.loader": {"TestLoader": {"kind": "ClassDef", "type": {"nodeId": "140042480726224"}}}, "unittest.main": {"_TestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480726560"}}, "TestProgram": {"kind": "ClassDef", "type": {"nodeId": "140042480726896"}}}, "unittest.result": {"TestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480722192"}}}, "unittest.runner": {"TextTestResult": {"kind": "ClassDef", "type": {"nodeId": "140042480725552"}}, "TextTestRunner": {"kind": "ClassDef", "type": {"nodeId": "140042480725888"}}}, "unittest.suite": {"BaseTestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727568"}}, "TestSuite": {"kind": "ClassDef", "type": {"nodeId": "140042480727904"}}}, "unittest.async_case": {"IsolatedAsyncioTestCase": {"kind": "ClassDef", "type": {"nodeId": "140042480725216"}}}, "json": {"JSONDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042569640176"}}, "JSONDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569640512"}}, "JSONEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569639840"}}}, "sre_parse": {"Verbose": {"kind": "ClassDef", "type": {"nodeId": "140042578063568"}}, "_State": {"kind": "ClassDef", "type": {"nodeId": "140042578063904"}}, "SubPattern": {"kind": "ClassDef", "type": {"nodeId": "140042578064240"}}, "Tokenizer": {"kind": "ClassDef", "type": {"nodeId": "140042578064576"}}}, "_codecs": {"_EncodingMap": {"kind": "ClassDef", "type": {"nodeId": "140042569040608"}}}, "importlib.metadata._meta": {"PackageMetadata": {"kind": "ClassDef", "type": {"nodeId": "140042573224576"}}, "SimplePath": {"kind": "ClassDef", "type": {"nodeId": "140042573224912"}}}, "email.message": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140042573727440"}}, "MIMEPart": {"kind": "ClassDef", "type": {"nodeId": "140042573727776"}}, "EmailMessage": {"kind": "ClassDef", "type": {"nodeId": "140042573728112"}}}, "pathlib": {"PurePath": {"kind": "ClassDef", "type": {"nodeId": "140042569635808"}}, "PurePosixPath": {"kind": "ClassDef", "type": {"nodeId": "140042569636144"}}, "PureWindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140042569636480"}}, "Path": {"kind": "ClassDef", "type": {"nodeId": "140042569636816"}}, "PosixPath": {"kind": "ClassDef", "type": {"nodeId": "140042569637152"}}, "WindowsPath": {"kind": "ClassDef", "type": {"nodeId": "140042569637488"}}}, "numpy.compat": {"contextlib_nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042569639504"}}}, "_thread": {"LockType": {"kind": "ClassDef", "type": {"nodeId": "140042569640848"}}, "_ExceptHookArgs": {"kind": "ClassDef", "type": {"nodeId": "140042569645552"}}}, "unittest._log": {"_AssertLogsContext": {"kind": "ClassDef", "type": {"nodeId": "140042480727232"}}}, "logging": {"Filterer": {"kind": "ClassDef", "type": {"nodeId": "140042498341376"}}, "Manager": {"kind": "ClassDef", "type": {"nodeId": "140042498341712"}}, "Logger": {"kind": "ClassDef", "type": {"nodeId": "140042498342048"}}, "Handler": {"kind": "ClassDef", "type": {"nodeId": "140042498342384"}}, "Formatter": {"kind": "ClassDef", "type": {"nodeId": "140042480713792"}}, "BufferingFormatter": {"kind": "ClassDef", "type": {"nodeId": "140042480714128"}}, "Filter": {"kind": "ClassDef", "type": {"nodeId": "140042480714464"}}, "LogRecord": {"kind": "ClassDef", "type": {"nodeId": "140042480714800"}}, "LoggerAdapter": {"kind": "ClassDef", "type": {"nodeId": "140042480717824"}}, "StreamHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715136"}}, "FileHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715472"}}, "NullHandler": {"kind": "ClassDef", "type": {"nodeId": "140042480715808"}}, "PlaceHolder": {"kind": "ClassDef", "type": {"nodeId": "140042480716144"}}, "RootLogger": {"kind": "ClassDef", "type": {"nodeId": "140042480716480"}}, "PercentStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480716816"}}, "StrFormatStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480717152"}}, "StringTemplateStyle": {"kind": "ClassDef", "type": {"nodeId": "140042480717488"}}}, "json.decoder": {"JSONDecodeError": {"kind": "ClassDef", "type": {"nodeId": "140042569640176"}}, "JSONDecoder": {"kind": "ClassDef", "type": {"nodeId": "140042569640512"}}}, "json.encoder": {"JSONEncoder": {"kind": "ClassDef", "type": {"nodeId": "140042569639840"}}}, "email": {"Message": {"kind": "ClassDef", "type": {"nodeId": "140042573727440"}}, "Policy": {"kind": "ClassDef", "type": {"nodeId": "140042573726432"}}}, "email.charset": {"Charset": {"kind": "ClassDef", "type": {"nodeId": "140042573737856"}}}, "email.contentmanager": {"ContentManager": {"kind": "ClassDef", "type": {"nodeId": "140042573737520"}}}, "email.errors": {"MessageError": {"kind": "ClassDef", "type": {"nodeId": "140042573728784"}}, "MessageParseError": {"kind": "ClassDef", "type": {"nodeId": "140042573729120"}}, "HeaderParseError": {"kind": "ClassDef", "type": {"nodeId": "140042573729456"}}, "BoundaryError": {"kind": "ClassDef", "type": {"nodeId": "140042573729792"}}, "MultipartConversionError": {"kind": "ClassDef", "type": {"nodeId": "140042573730128"}}, "CharsetError": {"kind": "ClassDef", "type": {"nodeId": "140042573730464"}}, "MessageDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573730800"}}, "NoBoundaryInMultipartDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731136"}}, "StartBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731472"}}, "FirstHeaderLineIsContinuationDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573731808"}}, "MisplacedEnvelopeHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732144"}}, "MultipartInvariantViolationDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732480"}}, "InvalidMultipartContentTransferEncodingDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573732816"}}, "UndecodableBytesDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733152"}}, "InvalidBase64PaddingDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733488"}}, "InvalidBase64CharactersDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573733824"}}, "InvalidBase64LengthDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734160"}}, "CloseBoundaryNotFoundDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734496"}}, "MissingHeaderBodySeparatorDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573734832"}}, "HeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573735168"}}, "InvalidHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573735504"}}, "HeaderMissingRequiredValue": {"kind": "ClassDef", "type": {"nodeId": "140042573735840"}}, "NonPrintableDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736176"}}, "ObsoleteHeaderDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736512"}}, "NonASCIILocalPartDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573736848"}}, "InvalidDateDefect": {"kind": "ClassDef", "type": {"nodeId": "140042573737184"}}}, "email.policy": {"Policy": {"kind": "ClassDef", "type": {"nodeId": "140042573726432"}}, "Compat32": {"kind": "ClassDef", "type": {"nodeId": "140042573726768"}}, "EmailPolicy": {"kind": "ClassDef", "type": {"nodeId": "140042573727104"}}}, "numpy.compat.py3k": {"contextlib_nullcontext": {"kind": "ClassDef", "type": {"nodeId": "140042569639504"}}}, "textwrap": {"TextWrapper": {"kind": "ClassDef", "type": {"nodeId": "140042569639168"}}}, "string": {"Template": {"kind": "ClassDef", "type": {"nodeId": "140042569638496"}}, "Formatter": {"kind": "ClassDef", "type": {"nodeId": "140042569638832"}}}, "email.header": {"Header": {"kind": "ClassDef", "type": {"nodeId": "140042573728448"}}}}, "names": {"subtypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "numpy", "kind": "Module", "fullname": "numpy"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing.ParamSpec"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "ForwardRef", "kind": "ImportedType", "fullname": "typing.ForwardRef"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "P", "kind": "LocalType"}, {"name": "S", "kind": "LocalType"}, {"name": "S1", "kind": "LocalType"}, {"name": "func_for_P", "kind": "Other"}, {"name": "R", "kind": "LocalType"}, {"name": "RImpl", "kind": "LocalType"}, {"name": "func_for_R", "kind": "Other"}, {"name": "a", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "func_abs", "kind": "Other"}, {"name": "b", "kind": "Other"}], "collections": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "Callable", "kind": "Other"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "namedtuple", "kind": "Other"}, {"name": "UserDict", "kind": "LocalType"}, {"name": "UserList", "kind": "LocalType"}, {"name": "UserString", "kind": "LocalType"}, {"name": "deque", "kind": "LocalType"}, {"name": "Counter", "kind": "LocalType"}, {"name": "_OrderedDictKeysView", "kind": "LocalType"}, {"name": "_OrderedDictItemsView", "kind": "LocalType"}, {"name": "_OrderedDictValuesView", "kind": "LocalType"}, {"name": "_odict_keys", "kind": "LocalType"}, {"name": "_odict_items", "kind": "LocalType"}, {"name": "_odict_values", "kind": "LocalType"}, {"name": "OrderedDict", "kind": "LocalType"}, {"name": "defaultdict", "kind": "LocalType"}, {"name": "ChainMap", "kind": "LocalType"}], "numpy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "ct", "kind": "Module", "fullname": "ctypes"}, {"name": "_array", "kind": "Module", "fullname": "array"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "ContextDecorator", "kind": "ImportedType", "fullname": "contextlib.ContextDecorator"}, {"name": "contextmanager", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "PytestTester", "kind": "LocalType"}, {"name": "_ctypes", "kind": "LocalType"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_NestedSequence", "kind": "LocalType"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "NBitBase", "kind": "LocalType"}, {"name": "_256Bit", "kind": "LocalType"}, {"name": "_128Bit", "kind": "LocalType"}, {"name": "_96Bit", "kind": "LocalType"}, {"name": "_80Bit", "kind": "LocalType"}, {"name": "_64Bit", "kind": "LocalType"}, {"name": "_32Bit", "kind": "LocalType"}, {"name": "_16Bit", "kind": "LocalType"}, {"name": "_8Bit", "kind": "LocalType"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_BoolOp", "kind": "LocalType"}, {"name": "_BoolBitOp", "kind": "LocalType"}, {"name": "_BoolSub", "kind": "LocalType"}, {"name": "_BoolTrueDiv", "kind": "LocalType"}, {"name": "_BoolMod", "kind": "LocalType"}, {"name": "_BoolDivMod", "kind": "LocalType"}, {"name": "_TD64Div", "kind": "LocalType"}, {"name": "_IntTrueDiv", "kind": "LocalType"}, {"name": "_UnsignedIntOp", "kind": "LocalType"}, {"name": "_UnsignedIntBitOp", "kind": "LocalType"}, {"name": "_UnsignedIntMod", "kind": "LocalType"}, {"name": "_UnsignedIntDivMod", "kind": "LocalType"}, {"name": "_SignedIntOp", "kind": "LocalType"}, {"name": "_SignedIntBitOp", "kind": "LocalType"}, {"name": "_SignedIntMod", "kind": "LocalType"}, {"name": "_SignedIntDivMod", "kind": "LocalType"}, {"name": "_FloatOp", "kind": "LocalType"}, {"name": "_FloatMod", "kind": "LocalType"}, {"name": "_FloatDivMod", "kind": "LocalType"}, {"name": "_ComplexOp", "kind": "LocalType"}, {"name": "_NumberOp", "kind": "LocalType"}, {"name": "_ComparisonOp", "kind": "LocalType"}, {"name": "uint128", "kind": "Other"}, {"name": "uint256", "kind": "Other"}, {"name": "int128", "kind": "Other"}, {"name": "int256", "kind": "Other"}, {"name": "float80", "kind": "Other"}, {"name": "float96", "kind": "Other"}, {"name": "float128", "kind": "Other"}, {"name": "float256", "kind": "Other"}, {"name": "complex160", "kind": "Other"}, {"name": "complex192", "kind": "Other"}, {"name": "complex256", "kind": "Other"}, {"name": "complex512", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsComplex", "kind": "ImportedType", "fullname": "typing.SupportsComplex"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ctypeslib", "kind": "Module", "fullname": "numpy.ctypeslib"}, {"name": "fft", "kind": "Module", "fullname": "numpy.fft"}, {"name": "lib", "kind": "Module", "fullname": "numpy.lib"}, {"name": "linalg", "kind": "Module", "fullname": "numpy.linalg"}, {"name": "ma", "kind": "Module", "fullname": "numpy.ma"}, {"name": "polynomial", "kind": "Module", "fullname": "numpy.polynomial"}, {"name": "random", "kind": "Module", "fullname": "numpy.random"}, {"name": "testing", "kind": "Module", "fullname": "numpy.testing"}, {"name": "version", "kind": "Module", "fullname": "numpy.version"}, {"name": "defchararray", "kind": "Module", "fullname": "numpy.core.defchararray"}, {"name": "records", "kind": "Module", "fullname": "numpy.core.records"}, {"name": "char", "kind": "Module", "fullname": "numpy.core.defchararray"}, {"name": "rec", "kind": "Module", "fullname": "numpy.core.records"}, {"name": "linspace", "kind": "Other"}, {"name": "logspace", "kind": "Other"}, {"name": "geomspace", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "argpartition", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "searchsorted", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "require", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "seterr", "kind": "Other"}, {"name": "geterr", "kind": "Other"}, {"name": "setbufsize", "kind": "Other"}, {"name": "getbufsize", "kind": "Other"}, {"name": "seterrcall", "kind": "Other"}, {"name": "geterrcall", "kind": "Other"}, {"name": "_ErrKind", "kind": "Other"}, {"name": "_ErrFunc", "kind": "Other"}, {"name": "_ErrDictOptional", "kind": "LocalType"}, {"name": "set_printoptions", "kind": "Other"}, {"name": "get_printoptions", "kind": "Other"}, {"name": "array2string", "kind": "Other"}, {"name": "format_float_scientific", "kind": "Other"}, {"name": "format_float_positional", "kind": "Other"}, {"name": "array_repr", "kind": "Other"}, {"name": "array_str", "kind": "Other"}, {"name": "set_string_function", "kind": "Other"}, {"name": "printoptions", "kind": "Other"}, {"name": "einsum", "kind": "Other"}, {"name": "einsum_path", "kind": "Other"}, {"name": "ALLOW_THREADS", "kind": "Other"}, {"name": "BUFSIZE", "kind": "Other"}, {"name": "CLIP", "kind": "Other"}, {"name": "MAXDIMS", "kind": "Other"}, {"name": "MAY_SHARE_BOUNDS", "kind": "Other"}, {"name": "MAY_SHARE_EXACT", "kind": "Other"}, {"name": "RAISE", "kind": "Other"}, {"name": "WRAP", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "lexsort", "kind": "Other"}, {"name": "can_cast", "kind": "Other"}, {"name": "min_scalar_type", "kind": "Other"}, {"name": "result_type", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "vdot", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "copyto", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "shares_memory", "kind": "Other"}, {"name": "may_share_memory", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "ascontiguousarray", "kind": "Other"}, {"name": "asfortranarray", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "busday_count", "kind": "Other"}, {"name": "busday_offset", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "datetime_as_string", "kind": "Other"}, {"name": "datetime_data", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "fromiter", "kind": "Other"}, {"name": "is_busday", "kind": "Other"}, {"name": "promote_types", "kind": "Other"}, {"name": "seterrobj", "kind": "Other"}, {"name": "geterrobj", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "frompyfunc", "kind": "Other"}, {"name": "nested_iters", "kind": "Other"}, {"name": "flagsobj", "kind": "LocalType"}, {"name": "zeros_like", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "full", "kind": "Other"}, {"name": "full_like", "kind": "Other"}, {"name": "count_nonzero", "kind": "Other"}, {"name": "isfortran", "kind": "Other"}, {"name": "argwhere", "kind": "Other"}, {"name": "flatnonzero", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "tensordot", "kind": "Other"}, {"name": "roll", "kind": "Other"}, {"name": "rollaxis", "kind": "Other"}, {"name": "moveaxis", "kind": "Other"}, {"name": "cross", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "isscalar", "kind": "Other"}, {"name": "binary_repr", "kind": "Other"}, {"name": "base_repr", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "array_equal", "kind": "Other"}, {"name": "array_equiv", "kind": "Other"}, {"name": "maximum_sctype", "kind": "Other"}, {"name": "issctype", "kind": "Other"}, {"name": "obj2sctype", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "sctype2char", "kind": "Other"}, {"name": "find_common_type", "kind": "Other"}, {"name": "nbytes", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "block", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "emath", "kind": "Module", "fullname": "numpy.lib.scimath"}, {"name": "pad", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}, {"name": "select", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "digitize", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "msort", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "mgrid", "kind": "Other"}, {"name": "ogrid", "kind": "Other"}, {"name": "r_", "kind": "Other"}, {"name": "c_", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "index_exp", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "get_include", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "mat", "kind": "Other"}, {"name": "bmat", "kind": "Other"}, {"name": "_AnyStr_contra", "kind": "Other"}, {"name": "_IOProtocol", "kind": "LocalType"}, {"name": "_MemMapIOProtocol", "kind": "LocalType"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "__git_version__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "cumproduct", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "show_config", "kind": "Other"}, {"name": "_NdArraySubClass", "kind": "Other"}, {"name": "_DTypeScalar_co", "kind": "Other"}, {"name": "_ByteOrder", "kind": "Other"}, {"name": "dtype", "kind": "LocalType"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_FlatIterSelf", "kind": "Other"}, {"name": "flatiter", "kind": "LocalType"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_PartitionKind", "kind": "Other"}, {"name": "_SortKind", "kind": "Other"}, {"name": "_SortSide", "kind": "Other"}, {"name": "_ArraySelf", "kind": "Other"}, {"name": "_ArrayOrScalarCommon", "kind": "LocalType"}, {"name": "_DType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_FlexDType", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_ShapeType2", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_ArrayUInt_co", "kind": "Other"}, {"name": "_ArrayInt_co", "kind": "Other"}, {"name": "_ArrayFloat_co", "kind": "Other"}, {"name": "_ArrayComplex_co", "kind": "Other"}, {"name": "_ArrayNumber_co", "kind": "Other"}, {"name": "_ArrayTD64_co", "kind": "Other"}, {"name": "_dtype", "kind": "Other"}, {"name": "_PyCapsule", "kind": "Other"}, {"name": "_SupportsItem", "kind": "LocalType"}, {"name": "_SupportsReal", "kind": "LocalType"}, {"name": "_SupportsImag", "kind": "LocalType"}, {"name": "ndarray", "kind": "LocalType"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "generic", "kind": "LocalType"}, {"name": "number", "kind": "LocalType"}, {"name": "bool_", "kind": "LocalType"}, {"name": "object_", "kind": "LocalType"}, {"name": "_DatetimeScalar", "kind": "LocalType"}, {"name": "datetime64", "kind": "LocalType"}, {"name": "_IntValue", "kind": "Other"}, {"name": "_FloatValue", "kind": "Other"}, {"name": "_ComplexValue", "kind": "Other"}, {"name": "integer", "kind": "LocalType"}, {"name": "signedinteger", "kind": "LocalType"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "timedelta64", "kind": "LocalType"}, {"name": "unsignedinteger", "kind": "LocalType"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uintp", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "inexact", "kind": "LocalType"}, {"name": "_IntType", "kind": "Other"}, {"name": "_FloatType", "kind": "Other"}, {"name": "floating", "kind": "LocalType"}, {"name": "float16", "kind": "Other"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "longfloat", "kind": "Other"}, {"name": "complexfloating", "kind": "LocalType"}, {"name": "complex64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "singlecomplex", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "complex_", "kind": "Other"}, {"name": "cfloat", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "clongfloat", "kind": "Other"}, {"name": "longcomplex", "kind": "Other"}, {"name": "flexible", "kind": "LocalType"}, {"name": "void", "kind": "LocalType"}, {"name": "character", "kind": "LocalType"}, {"name": "bytes_", "kind": "LocalType"}, {"name": "string_", "kind": "Other"}, {"name": "str_", "kind": "LocalType"}, {"name": "unicode_", "kind": "Other"}, {"name": "Inf", "kind": "Other"}, {"name": "Infinity", "kind": "Other"}, {"name": "NAN", "kind": "Other"}, {"name": "NINF", "kind": "Other"}, {"name": "NZERO", "kind": "Other"}, {"name": "NaN", "kind": "Other"}, {"name": "PINF", "kind": "Other"}, {"name": "PZERO", "kind": "Other"}, {"name": "e", "kind": "Other"}, {"name": "euler_gamma", "kind": "Other"}, {"name": "inf", "kind": "Other"}, {"name": "infty", "kind": "Other"}, {"name": "nan", "kind": "Other"}, {"name": "pi", "kind": "Other"}, {"name": "ERR_IGNORE", "kind": "Other"}, {"name": "ERR_WARN", "kind": "Other"}, {"name": "ERR_RAISE", "kind": "Other"}, {"name": "ERR_CALL", "kind": "Other"}, {"name": "ERR_PRINT", "kind": "Other"}, {"name": "ERR_LOG", "kind": "Other"}, {"name": "ERR_DEFAULT", "kind": "Other"}, {"name": "SHIFT_DIVIDEBYZERO", "kind": "Other"}, {"name": "SHIFT_OVERFLOW", "kind": "Other"}, {"name": "SHIFT_UNDERFLOW", "kind": "Other"}, {"name": "SHIFT_INVALID", "kind": "Other"}, {"name": "FPE_DIVIDEBYZERO", "kind": "Other"}, {"name": "FPE_OVERFLOW", "kind": "Other"}, {"name": "FPE_UNDERFLOW", "kind": "Other"}, {"name": "FPE_INVALID", "kind": "Other"}, {"name": "FLOATING_POINT_SUPPORT", "kind": "Other"}, {"name": "UFUNC_BUFSIZE_DEFAULT", "kind": "Other"}, {"name": "little_endian", "kind": "Other"}, {"name": "True_", "kind": "Other"}, {"name": "False_", "kind": "Other"}, {"name": "UFUNC_PYVALS_NAME", "kind": "Other"}, {"name": "newaxis", "kind": "Other"}, {"name": "ufunc", "kind": "LocalType"}, {"name": "absolute", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_not", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "cbrt", "kind": "Other"}, {"name": "ceil", "kind": "Other"}, {"name": "conj", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "copysign", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "deg2rad", "kind": "Other"}, {"name": "degrees", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "exp2", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expm1", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "float_power", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "fmax", "kind": "Other"}, {"name": "fmin", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frexp", "kind": "Other"}, {"name": "gcd", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "heaviside", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "invert", "kind": "Other"}, {"name": "isfinite", "kind": "Other"}, {"name": "isinf", "kind": "Other"}, {"name": "isnan", "kind": "Other"}, {"name": "isnat", "kind": "Other"}, {"name": "lcm", "kind": "Other"}, {"name": "ldexp", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log1p", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "logaddexp2", "kind": "Other"}, {"name": "logaddexp", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "matmul", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "modf", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "nextafter", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "positive", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rad2deg", "kind": "Other"}, {"name": "radians", "kind": "Other"}, {"name": "reciprocal", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "rint", "kind": "Other"}, {"name": "sign", "kind": "Other"}, {"name": "signbit", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "spacing", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "square", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "trunc", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "_CopyMode", "kind": "LocalType"}, {"name": "ModuleDeprecationWarning", "kind": "LocalType"}, {"name": "VisibleDeprecationWarning", "kind": "LocalType"}, {"name": "ComplexWarning", "kind": "LocalType"}, {"name": "RankWarning", "kind": "LocalType"}, {"name": "TooHardError", "kind": "LocalType"}, {"name": "AxisError", "kind": "LocalType"}, {"name": "_CallType", "kind": "Other"}, {"name": "errstate", "kind": "LocalType"}, {"name": "_no_nep50_warning", "kind": "Other"}, {"name": "_get_promotion_state", "kind": "Other"}, {"name": "_set_promotion_state", "kind": "Other"}, {"name": "ndenumerate", "kind": "LocalType"}, {"name": "ndindex", "kind": "LocalType"}, {"name": "DataSource", "kind": "LocalType"}, {"name": "broadcast", "kind": "LocalType"}, {"name": "busdaycalendar", "kind": "LocalType"}, {"name": "finfo", "kind": "LocalType"}, {"name": "iinfo", "kind": "LocalType"}, {"name": "format_parser", "kind": "LocalType"}, {"name": "recarray", "kind": "LocalType"}, {"name": "record", "kind": "LocalType"}, {"name": "_NDIterFlagsKind", "kind": "Other"}, {"name": "_NDIterOpFlagsKind", "kind": "Other"}, {"name": "nditer", "kind": "LocalType"}, {"name": "_MemMapModeKind", "kind": "Other"}, {"name": "memmap", "kind": "LocalType"}, {"name": "vectorize", "kind": "LocalType"}, {"name": "poly1d", "kind": "LocalType"}, {"name": "matrix", "kind": "LocalType"}, {"name": "_CharType", "kind": "Other"}, {"name": "_CharDType", "kind": "Other"}, {"name": "_CharArray", "kind": "Other"}, {"name": "chararray", "kind": "LocalType"}, {"name": "_SupportsDLPack", "kind": "LocalType"}, {"name": "from_dlpack", "kind": "Other"}], "typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AbstractAsyncContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractAsyncContextManager"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "BuiltinFunctionType", "kind": "ImportedType", "fullname": "types.BuiltinFunctionType"}, {"name": "CodeType", "kind": "ImportedType", "fullname": "types.CodeType"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "types.FunctionType"}, {"name": "MethodDescriptorType", "kind": "ImportedType", "fullname": "types.MethodDescriptorType"}, {"name": "MethodType", "kind": "ImportedType", "fullname": "types.MethodType"}, {"name": "MethodWrapperType", "kind": "ImportedType", "fullname": "types.MethodWrapperType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "WrapperDescriptorType", "kind": "ImportedType", "fullname": "types.WrapperDescriptorType"}, {"name": "_Never", "kind": "Other"}, {"name": "_ParamSpec", "kind": "LocalType"}, {"name": "_final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "_promote", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Optional", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "LocalType"}, {"name": "ParamSpecKwargs", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "NewType", "kind": "LocalType"}, {"name": "_S", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "no_type_check", "kind": "Other"}, {"name": "no_type_check_decorator", "kind": "Other"}, {"name": "_Alias", "kind": "LocalType"}, {"name": "Annotated", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "_ProtocolMeta", "kind": "LocalType"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "SupportsInt", "kind": "LocalType"}, {"name": "SupportsFloat", "kind": "LocalType"}, {"name": "SupportsComplex", "kind": "LocalType"}, {"name": "SupportsBytes", "kind": "LocalType"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "SupportsAbs", "kind": "LocalType"}, {"name": "SupportsRound", "kind": "LocalType"}, {"name": "Sized", "kind": "LocalType"}, {"name": "Hashable", "kind": "LocalType"}, {"name": "Iterable", "kind": "LocalType"}, {"name": "Iterator", "kind": "LocalType"}, {"name": "Reversible", "kind": "LocalType"}, {"name": "Generator", "kind": "LocalType"}, {"name": "Awaitable", "kind": "LocalType"}, {"name": "Coroutine", "kind": "LocalType"}, {"name": "AwaitableGenerator", "kind": "LocalType"}, {"name": "AsyncIterable", "kind": "LocalType"}, {"name": "AsyncIterator", "kind": "LocalType"}, {"name": "AsyncGenerator", "kind": "LocalType"}, {"name": "Container", "kind": "LocalType"}, {"name": "Collection", "kind": "LocalType"}, {"name": "Sequence", "kind": "LocalType"}, {"name": "MutableSequence", "kind": "LocalType"}, {"name": "AbstractSet", "kind": "LocalType"}, {"name": "MutableSet", "kind": "LocalType"}, {"name": "MappingView", "kind": "LocalType"}, {"name": "ItemsView", "kind": "LocalType"}, {"name": "KeysView", "kind": "LocalType"}, {"name": "ValuesView", "kind": "LocalType"}, {"name": "Mapping", "kind": "LocalType"}, {"name": "MutableMapping", "kind": "LocalType"}, {"name": "Text", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "IO", "kind": "LocalType"}, {"name": "BinaryIO", "kind": "LocalType"}, {"name": "TextIO", "kind": "LocalType"}, {"name": "ByteString", "kind": "LocalType"}, {"name": "_get_type_hints_obj_allowed_types", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "ForwardRef", "kind": "LocalType"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "_type_repr", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Dict", "kind": "Other"}, {"name": "Set", "kind": "Other"}, {"name": "FrozenSet", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "builtins": [{"name": "object", "kind": "LocalType"}, {"name": "bool", "kind": "LocalType"}, {"name": "function", "kind": "LocalType"}, {"name": "None", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "reveal_locals", "kind": "Other"}, {"name": "True", "kind": "Other"}, {"name": "False", "kind": "Other"}, {"name": "__debug__", "kind": "Other"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T3", "kind": "Other"}, {"name": "_T4", "kind": "Other"}, {"name": "_T5", "kind": "Other"}, {"name": "_SupportsNextT", "kind": "Other"}, {"name": "_SupportsAnextT", "kind": "Other"}, {"name": "_AwaitableT", "kind": "Other"}, {"name": "_AwaitableT_co", "kind": "Other"}, {"name": "staticmethod", "kind": "LocalType"}, {"name": "classmethod", "kind": "LocalType"}, {"name": "type", "kind": "LocalType"}, {"name": "super", "kind": "LocalType"}, {"name": "_PositiveInteger", "kind": "Other"}, {"name": "_NegativeInteger", "kind": "Other"}, {"name": "_LiteralInteger", "kind": "Other"}, {"name": "int", "kind": "LocalType"}, {"name": "float", "kind": "LocalType"}, {"name": "complex", "kind": "LocalType"}, {"name": "_FormatMapMapping", "kind": "LocalType"}, {"name": "_TranslateTable", "kind": "LocalType"}, {"name": "str", "kind": "LocalType"}, {"name": "bytes", "kind": "LocalType"}, {"name": "bytearray", "kind": "LocalType"}, {"name": "memoryview", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "tuple", "kind": "LocalType"}, {"name": "list", "kind": "LocalType"}, {"name": "dict", "kind": "LocalType"}, {"name": "set", "kind": "LocalType"}, {"name": "frozenset", "kind": "LocalType"}, {"name": "enumerate", "kind": "LocalType"}, {"name": "range", "kind": "LocalType"}, {"name": "property", "kind": "LocalType"}, {"name": "_NotImplementedType", "kind": "LocalType"}, {"name": "NotImplemented", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "ascii", "kind": "Other"}, {"name": "bin", "kind": "Other"}, {"name": "breakpoint", "kind": "Other"}, {"name": "callable", "kind": "Other"}, {"name": "chr", "kind": "Other"}, {"name": "_PathLike", "kind": "LocalType"}, {"name": "aiter", "kind": "Other"}, {"name": "_SupportsSynchronousAnext", "kind": "LocalType"}, {"name": "anext", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "credits", "kind": "Other"}, {"name": "delattr", "kind": "Other"}, {"name": "dir", "kind": "Other"}, {"name": "divmod", "kind": "Other"}, {"name": "eval", "kind": "Other"}, {"name": "exec", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "filter", "kind": "LocalType"}, {"name": "format", "kind": "Other"}, {"name": "getattr", "kind": "Other"}, {"name": "globals", "kind": "Other"}, {"name": "hasattr", "kind": "Other"}, {"name": "hash", "kind": "Other"}, {"name": "help", "kind": "Other"}, {"name": "hex", "kind": "Other"}, {"name": "id", "kind": "Other"}, {"name": "input", "kind": "Other"}, {"name": "_GetItemIterable", "kind": "LocalType"}, {"name": "iter", "kind": "Other"}, {"name": "_ClassInfo", "kind": "Other"}, {"name": "isinstance", "kind": "Other"}, {"name": "issubclass", "kind": "Other"}, {"name": "len", "kind": "Other"}, {"name": "license", "kind": "Other"}, {"name": "locals", "kind": "Other"}, {"name": "map", "kind": "LocalType"}, {"name": "max", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "next", "kind": "Other"}, {"name": "oct", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "ord", "kind": "Other"}, {"name": "_SupportsWriteAndFlush", "kind": "LocalType"}, {"name": "print", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_M", "kind": "Other"}, {"name": "_SupportsPow2", "kind": "LocalType"}, {"name": "_SupportsPow3NoneOnly", "kind": "LocalType"}, {"name": "_SupportsPow3", "kind": "LocalType"}, {"name": "_SupportsSomeKindOfPow", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "quit", "kind": "Other"}, {"name": "reversed", "kind": "LocalType"}, {"name": "repr", "kind": "Other"}, {"name": "_SupportsRound1", "kind": "LocalType"}, {"name": "_SupportsRound2", "kind": "LocalType"}, {"name": "round", "kind": "Other"}, {"name": "setattr", "kind": "Other"}, {"name": "sorted", "kind": "Other"}, {"name": "_AddableT1", "kind": "Other"}, {"name": "_AddableT2", "kind": "Other"}, {"name": "_SupportsSumWithNoDefaultGiven", "kind": "LocalType"}, {"name": "_SupportsSumNoDefaultT", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "vars", "kind": "Other"}, {"name": "zip", "kind": "LocalType"}, {"name": "__import__", "kind": "Other"}, {"name": "__build_class__", "kind": "Other"}, {"name": "ellipsis", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "Other"}, {"name": "BaseException", "kind": "LocalType"}, {"name": "GeneratorExit", "kind": "LocalType"}, {"name": "KeyboardInterrupt", "kind": "LocalType"}, {"name": "SystemExit", "kind": "LocalType"}, {"name": "Exception", "kind": "LocalType"}, {"name": "StopIteration", "kind": "LocalType"}, {"name": "OSError", "kind": "LocalType"}, {"name": "EnvironmentError", "kind": "Other"}, {"name": "IOError", "kind": "Other"}, {"name": "ArithmeticError", "kind": "LocalType"}, {"name": "AssertionError", "kind": "LocalType"}, {"name": "AttributeError", "kind": "LocalType"}, {"name": "BufferError", "kind": "LocalType"}, {"name": "EOFError", "kind": "LocalType"}, {"name": "ImportError", "kind": "LocalType"}, {"name": "LookupError", "kind": "LocalType"}, {"name": "MemoryError", "kind": "LocalType"}, {"name": "NameError", "kind": "LocalType"}, {"name": "ReferenceError", "kind": "LocalType"}, {"name": "RuntimeError", "kind": "LocalType"}, {"name": "StopAsyncIteration", "kind": "LocalType"}, {"name": "SyntaxError", "kind": "LocalType"}, {"name": "SystemError", "kind": "LocalType"}, {"name": "TypeError", "kind": "LocalType"}, {"name": "ValueError", "kind": "LocalType"}, {"name": "FloatingPointError", "kind": "LocalType"}, {"name": "OverflowError", "kind": "LocalType"}, {"name": "ZeroDivisionError", "kind": "LocalType"}, {"name": "ModuleNotFoundError", "kind": "LocalType"}, {"name": "IndexError", "kind": "LocalType"}, {"name": "KeyError", "kind": "LocalType"}, {"name": "UnboundLocalError", "kind": "LocalType"}, {"name": "BlockingIOError", "kind": "LocalType"}, {"name": "ChildProcessError", "kind": "LocalType"}, {"name": "ConnectionError", "kind": "LocalType"}, {"name": "BrokenPipeError", "kind": "LocalType"}, {"name": "ConnectionAbortedError", "kind": "LocalType"}, {"name": "ConnectionRefusedError", "kind": "LocalType"}, {"name": "ConnectionResetError", "kind": "LocalType"}, {"name": "FileExistsError", "kind": "LocalType"}, {"name": "FileNotFoundError", "kind": "LocalType"}, {"name": "InterruptedError", "kind": "LocalType"}, {"name": "IsADirectoryError", "kind": "LocalType"}, {"name": "NotADirectoryError", "kind": "LocalType"}, {"name": "PermissionError", "kind": "LocalType"}, {"name": "ProcessLookupError", "kind": "LocalType"}, {"name": "TimeoutError", "kind": "LocalType"}, {"name": "NotImplementedError", "kind": "LocalType"}, {"name": "RecursionError", "kind": "LocalType"}, {"name": "IndentationError", "kind": "LocalType"}, {"name": "TabError", "kind": "LocalType"}, {"name": "UnicodeError", "kind": "LocalType"}, {"name": "UnicodeDecodeError", "kind": "LocalType"}, {"name": "UnicodeEncodeError", "kind": "LocalType"}, {"name": "UnicodeTranslateError", "kind": "LocalType"}, {"name": "Warning", "kind": "LocalType"}, {"name": "UserWarning", "kind": "LocalType"}, {"name": "DeprecationWarning", "kind": "LocalType"}, {"name": "SyntaxWarning", "kind": "LocalType"}, {"name": "RuntimeWarning", "kind": "LocalType"}, {"name": "FutureWarning", "kind": "LocalType"}, {"name": "PendingDeprecationWarning", "kind": "LocalType"}, {"name": "ImportWarning", "kind": "LocalType"}, {"name": "UnicodeWarning", "kind": "LocalType"}, {"name": "BytesWarning", "kind": "LocalType"}, {"name": "ResourceWarning", "kind": "LocalType"}, {"name": "EncodingWarning", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "collections.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "__all__", "kind": "Other"}], "sys": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "_object", "kind": "ImportedType", "fullname": "builtins.object"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "PathEntryFinder", "kind": "ImportedType", "fullname": "importlib.abc.PathEntryFinder"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ExitCode", "kind": "Other"}, {"name": "_OptExcInfo", "kind": "Other"}, {"name": "_MetaPathFinder", "kind": "LocalType"}, {"name": "abiflags", "kind": "Other"}, {"name": "argv", "kind": "Other"}, {"name": "base_exec_prefix", "kind": "Other"}, {"name": "base_prefix", "kind": "Other"}, {"name": "byteorder", "kind": "Other"}, {"name": "builtin_module_names", "kind": "Other"}, {"name": "copyright", "kind": "Other"}, {"name": "dont_write_bytecode", "kind": "Other"}, {"name": "displayhook", "kind": "Other"}, {"name": "excepthook", "kind": "Other"}, {"name": "exec_prefix", "kind": "Other"}, {"name": "executable", "kind": "Other"}, {"name": "float_repr_style", "kind": "Other"}, {"name": "hexversion", "kind": "Other"}, {"name": "last_type", "kind": "Other"}, {"name": "last_value", "kind": "Other"}, {"name": "last_traceback", "kind": "Other"}, {"name": "maxsize", "kind": "Other"}, {"name": "maxunicode", "kind": "Other"}, {"name": "meta_path", "kind": "Other"}, {"name": "modules", "kind": "Other"}, {"name": "orig_argv", "kind": "Other"}, {"name": "path", "kind": "Other"}, {"name": "path_hooks", "kind": "Other"}, {"name": "path_importer_cache", "kind": "Other"}, {"name": "platform", "kind": "Other"}, {"name": "platlibdir", "kind": "Other"}, {"name": "prefix", "kind": "Other"}, {"name": "pycache_prefix", "kind": "Other"}, {"name": "ps1", "kind": "Other"}, {"name": "ps2", "kind": "Other"}, {"name": "stdin", "kind": "Other"}, {"name": "stdout", "kind": "Other"}, {"name": "stderr", "kind": "Other"}, {"name": "stdlib_module_names", "kind": "Other"}, {"name": "__stdin__", "kind": "Other"}, {"name": "__stdout__", "kind": "Other"}, {"name": "__stderr__", "kind": "Other"}, {"name": "tracebacklimit", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "api_version", "kind": "Other"}, {"name": "warnoptions", "kind": "Other"}, {"name": "_xoptions", "kind": "Other"}, {"name": "_UninstantiableStructseq", "kind": "Other"}, {"name": "flags", "kind": "Other"}, {"name": "_FlagTuple", "kind": "Other"}, {"name": "_flags", "kind": "LocalType"}, {"name": "float_info", "kind": "Other"}, {"name": "_float_info", "kind": "LocalType"}, {"name": "hash_info", "kind": "Other"}, {"name": "_hash_info", "kind": "LocalType"}, {"name": "implementation", "kind": "Other"}, {"name": "_implementation", "kind": "LocalType"}, {"name": "int_info", "kind": "Other"}, {"name": "_int_info", "kind": "LocalType"}, {"name": "_version_info", "kind": "LocalType"}, {"name": "version_info", "kind": "Other"}, {"name": "call_tracing", "kind": "Other"}, {"name": "_clear_type_cache", "kind": "Other"}, {"name": "_current_frames", "kind": "Other"}, {"name": "_getframe", "kind": "Other"}, {"name": "_debugmallocstats", "kind": "Other"}, {"name": "__displayhook__", "kind": "Other"}, {"name": "__excepthook__", "kind": "Other"}, {"name": "exc_info", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "getallocatedblocks", "kind": "Other"}, {"name": "getdefaultencoding", "kind": "Other"}, {"name": "getdlopenflags", "kind": "Other"}, {"name": "getfilesystemencoding", "kind": "Other"}, {"name": "getfilesystemencodeerrors", "kind": "Other"}, {"name": "getrefcount", "kind": "Other"}, {"name": "getrecursionlimit", "kind": "Other"}, {"name": "getsizeof", "kind": "Other"}, {"name": "getswitchinterval", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "intern", "kind": "Other"}, {"name": "is_finalizing", "kind": "Other"}, {"name": "__breakpointhook__", "kind": "Other"}, {"name": "breakpointhook", "kind": "Other"}, {"name": "setdlopenflags", "kind": "Other"}, {"name": "setrecursionlimit", "kind": "Other"}, {"name": "setswitchinterval", "kind": "Other"}, {"name": "gettotalrefcount", "kind": "Other"}, {"name": "UnraisableHookArgs", "kind": "LocalType"}, {"name": "unraisablehook", "kind": "Other"}, {"name": "__unraisablehook__", "kind": "Other"}, {"name": "addaudithook", "kind": "Other"}, {"name": "audit", "kind": "Other"}, {"name": "_AsyncgenHook", "kind": "Other"}, {"name": "_asyncgen_hooks", "kind": "LocalType"}, {"name": "get_asyncgen_hooks", "kind": "Other"}, {"name": "set_asyncgen_hooks", "kind": "Other"}, {"name": "get_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_coroutine_origin_tracking_depth", "kind": "Other"}, {"name": "set_int_max_str_digits", "kind": "Other"}, {"name": "get_int_max_str_digits", "kind": "Other"}], "_collections_abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MappingProxyType", "kind": "ImportedType", "fullname": "types.MappingProxyType"}, {"name": "Set", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "ByteString", "kind": "ImportedType", "fullname": "typing.ByteString"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Generic", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MappingView", "kind": "ImportedType", "fullname": "typing.MappingView"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "MutableSet", "kind": "ImportedType", "fullname": "typing.MutableSet"}, {"name": "Reversible", "kind": "ImportedType", "fullname": "typing.Reversible"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "dict_keys", "kind": "LocalType"}, {"name": "dict_values", "kind": "LocalType"}, {"name": "dict_items", "kind": "LocalType"}, {"name": "__annotations__", "kind": "Other"}], "_typeshed": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "array", "kind": "Module", "fullname": "array"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "mmap", "kind": "Module", "fullname": "mmap"}, {"name": "pickle", "kind": "Module", "fullname": "pickle"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_KT_co", "kind": "Other"}, {"name": "_KT_contra", "kind": "Other"}, {"name": "_VT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Unused", "kind": "Other"}, {"name": "IdentityFunction", "kind": "LocalType"}, {"name": "SupportsNext", "kind": "LocalType"}, {"name": "SupportsAnext", "kind": "LocalType"}, {"name": "SupportsDunderLT", "kind": "LocalType"}, {"name": "SupportsDunderGT", "kind": "LocalType"}, {"name": "SupportsDunderLE", "kind": "LocalType"}, {"name": "SupportsDunderGE", "kind": "LocalType"}, {"name": "SupportsAllComparisons", "kind": "LocalType"}, {"name": "SupportsRichComparison", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "SupportsAdd", "kind": "LocalType"}, {"name": "SupportsRAdd", "kind": "LocalType"}, {"name": "SupportsSub", "kind": "LocalType"}, {"name": "SupportsRSub", "kind": "LocalType"}, {"name": "SupportsDivMod", "kind": "LocalType"}, {"name": "SupportsRDivMod", "kind": "LocalType"}, {"name": "SupportsIter", "kind": "LocalType"}, {"name": "SupportsAiter", "kind": "LocalType"}, {"name": "SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "SupportsTrunc", "kind": "LocalType"}, {"name": "SupportsItems", "kind": "LocalType"}, {"name": "SupportsKeysAndGetItem", "kind": "LocalType"}, {"name": "SupportsGetItem", "kind": "LocalType"}, {"name": "SupportsItemAccess", "kind": "LocalType"}, {"name": "StrPath", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "OpenTextModeUpdating", "kind": "Other"}, {"name": "OpenTextModeWriting", "kind": "Other"}, {"name": "OpenTextModeReading", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "HasFileno", "kind": "LocalType"}, {"name": "FileDescriptor", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "SupportsRead", "kind": "LocalType"}, {"name": "SupportsReadline", "kind": "LocalType"}, {"name": "SupportsNoArgReadline", "kind": "LocalType"}, {"name": "SupportsWrite", "kind": "LocalType"}, {"name": "ReadOnlyBuffer", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "SliceableBuffer", "kind": "Other"}, {"name": "IndexableBuffer", "kind": "Other"}, {"name": "ExcInfo", "kind": "Other"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "NoneType", "kind": "ImportedType", "fullname": "types.NoneType"}, {"name": "structseq", "kind": "LocalType"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}], "typing_extensions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_typeshed", "kind": "Module", "fullname": "_typeshed"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "typing", "kind": "Module", "fullname": "typing"}, {"name": "dict_items", "kind": "ImportedType", "fullname": "_collections_abc.dict_items"}, {"name": "dict_keys", "kind": "ImportedType", "fullname": "_collections_abc.dict_keys"}, {"name": "dict_values", "kind": "ImportedType", "fullname": "_collections_abc.dict_values"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Incomplete", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AsyncContextManager", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterable", "kind": "ImportedType", "fullname": "typing.AsyncIterable"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "ChainMap", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ContextManager", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Counter", "kind": "Other"}, {"name": "DefaultDict", "kind": "Other"}, {"name": "Deque", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "NewType", "kind": "ImportedType", "fullname": "typing.NewType"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Text", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "_Alias", "kind": "ImportedType", "fullname": "typing._Alias"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_TC", "kind": "Other"}, {"name": "_SpecialForm", "kind": "LocalType"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "runtime", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "IntVar", "kind": "Other"}, {"name": "_TypedDict", "kind": "LocalType"}, {"name": "TypedDict", "kind": "Other"}, {"name": "get_type_hints", "kind": "Other"}, {"name": "get_args", "kind": "Other"}, {"name": "get_origin", "kind": "Other"}, {"name": "Annotated", "kind": "Other"}, {"name": "_AnnotatedAlias", "kind": "Other"}, {"name": "SupportsIndex", "kind": "LocalType"}, {"name": "Concatenate", "kind": "Other"}, {"name": "ParamSpecArgs", "kind": "ImportedType", "fullname": "typing.ParamSpecArgs"}, {"name": "ParamSpecKwargs", "kind": "ImportedType", "fullname": "typing.ParamSpecKwargs"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "is_typeddict", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Never", "kind": "Other"}, {"name": "reveal_type", "kind": "Other"}, {"name": "assert_never", "kind": "Other"}, {"name": "assert_type", "kind": "Other"}, {"name": "clear_overloads", "kind": "Other"}, {"name": "get_overloads", "kind": "Other"}, {"name": "Required", "kind": "Other"}, {"name": "NotRequired", "kind": "Other"}, {"name": "Unpack", "kind": "Other"}, {"name": "dataclass_transform", "kind": "Other"}, {"name": "NamedTuple", "kind": "LocalType"}, {"name": "TypeVar", "kind": "LocalType"}, {"name": "ParamSpec", "kind": "LocalType"}, {"name": "TypeVarTuple", "kind": "LocalType"}, {"name": "override", "kind": "Other"}, {"name": "OrderedDict", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}], "types": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Coroutine", "kind": "ImportedType", "fullname": "typing.Coroutine"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "ItemsView", "kind": "ImportedType", "fullname": "typing.ItemsView"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "KeysView", "kind": "ImportedType", "fullname": "typing.KeysView"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "ValuesView", "kind": "ImportedType", "fullname": "typing.ValuesView"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_KT", "kind": "Other"}, {"name": "_VT_co", "kind": "Other"}, {"name": "_V_co", "kind": "Other"}, {"name": "_Cell", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "LambdaType", "kind": "Other"}, {"name": "CodeType", "kind": "LocalType"}, {"name": "MappingProxyType", "kind": "LocalType"}, {"name": "SimpleNamespace", "kind": "LocalType"}, {"name": "_LoaderProtocol", "kind": "LocalType"}, {"name": "ModuleType", "kind": "LocalType"}, {"name": "GeneratorType", "kind": "LocalType"}, {"name": "AsyncGeneratorType", "kind": "LocalType"}, {"name": "CoroutineType", "kind": "LocalType"}, {"name": "_StaticFunctionType", "kind": "LocalType"}, {"name": "MethodType", "kind": "LocalType"}, {"name": "BuiltinFunctionType", "kind": "LocalType"}, {"name": "BuiltinMethodType", "kind": "Other"}, {"name": "WrapperDescriptorType", "kind": "LocalType"}, {"name": "MethodWrapperType", "kind": "LocalType"}, {"name": "MethodDescriptorType", "kind": "LocalType"}, {"name": "ClassMethodDescriptorType", "kind": "LocalType"}, {"name": "TracebackType", "kind": "LocalType"}, {"name": "FrameType", "kind": "LocalType"}, {"name": "GetSetDescriptorType", "kind": "LocalType"}, {"name": "MemberDescriptorType", "kind": "LocalType"}, {"name": "new_class", "kind": "Other"}, {"name": "resolve_bases", "kind": "Other"}, {"name": "prepare_class", "kind": "Other"}, {"name": "DynamicClassAttribute", "kind": "Other"}, {"name": "_Fn", "kind": "Other"}, {"name": "_R", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "coroutine", "kind": "Other"}, {"name": "CellType", "kind": "Other"}, {"name": "GenericAlias", "kind": "LocalType"}, {"name": "NoneType", "kind": "LocalType"}, {"name": "EllipsisType", "kind": "Other"}, {"name": "_NotImplementedType", "kind": "ImportedType", "fullname": "builtins._NotImplementedType"}, {"name": "NotImplementedType", "kind": "Other"}, {"name": "UnionType", "kind": "LocalType"}], "numpy.core._internal": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "ct", "kind": "Module", "fullname": "ctypes"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "c_intp", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "_PT", "kind": "Other"}, {"name": "_ctypes", "kind": "LocalType"}], "numpy._typing._callable": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "int8", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "float64", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "complex128", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "_T1_contra", "kind": "Other"}, {"name": "_T2_contra", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "_IntType", "kind": "Other"}, {"name": "_FloatType", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_NumberType_co", "kind": "Other"}, {"name": "_GenericType_co", "kind": "Other"}, {"name": "_BoolOp", "kind": "LocalType"}, {"name": "_BoolBitOp", "kind": "LocalType"}, {"name": "_BoolSub", "kind": "LocalType"}, {"name": "_BoolTrueDiv", "kind": "LocalType"}, {"name": "_BoolMod", "kind": "LocalType"}, {"name": "_BoolDivMod", "kind": "LocalType"}, {"name": "_TD64Div", "kind": "LocalType"}, {"name": "_IntTrueDiv", "kind": "LocalType"}, {"name": "_UnsignedIntOp", "kind": "LocalType"}, {"name": "_UnsignedIntBitOp", "kind": "LocalType"}, {"name": "_UnsignedIntMod", "kind": "LocalType"}, {"name": "_UnsignedIntDivMod", "kind": "LocalType"}, {"name": "_SignedIntOp", "kind": "LocalType"}, {"name": "_SignedIntBitOp", "kind": "LocalType"}, {"name": "_SignedIntMod", "kind": "LocalType"}, {"name": "_SignedIntDivMod", "kind": "LocalType"}, {"name": "_FloatOp", "kind": "LocalType"}, {"name": "_FloatMod", "kind": "LocalType"}, {"name": "_FloatDivMod", "kind": "LocalType"}, {"name": "_ComplexOp", "kind": "LocalType"}, {"name": "_NumberOp", "kind": "LocalType"}, {"name": "_SupportsLT", "kind": "LocalType"}, {"name": "_SupportsGT", "kind": "LocalType"}, {"name": "_ComparisonOp", "kind": "LocalType"}], "numpy._typing._extended_precision": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_80Bit", "kind": "ImportedType", "fullname": "numpy._typing._80Bit"}, {"name": "_96Bit", "kind": "ImportedType", "fullname": "numpy._typing._96Bit"}, {"name": "_128Bit", "kind": "ImportedType", "fullname": "numpy._typing._128Bit"}, {"name": "_256Bit", "kind": "ImportedType", "fullname": "numpy._typing._256Bit"}, {"name": "uint128", "kind": "Other"}, {"name": "uint256", "kind": "Other"}, {"name": "int128", "kind": "Other"}, {"name": "int256", "kind": "Other"}, {"name": "float80", "kind": "Other"}, {"name": "float96", "kind": "Other"}, {"name": "float128", "kind": "Other"}, {"name": "float256", "kind": "Other"}, {"name": "complex160", "kind": "Other"}, {"name": "complex192", "kind": "Other"}, {"name": "complex256", "kind": "Other"}, {"name": "complex512", "kind": "Other"}], "numpy.core.defchararray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "chararray", "kind": "ImportedType", "fullname": "numpy.chararray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "int_", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "U_co", "kind": "Other"}, {"name": "S_co", "kind": "Other"}, {"name": "i_co", "kind": "Other"}, {"name": "b_co", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CharArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "capitalize", "kind": "Other"}, {"name": "center", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "expandtabs", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "ljust", "kind": "Other"}, {"name": "lower", "kind": "Other"}, {"name": "lstrip", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rjust", "kind": "Other"}, {"name": "rpartition", "kind": "Other"}, {"name": "rsplit", "kind": "Other"}, {"name": "rstrip", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitlines", "kind": "Other"}, {"name": "strip", "kind": "Other"}, {"name": "swapcase", "kind": "Other"}, {"name": "title", "kind": "Other"}, {"name": "translate", "kind": "Other"}, {"name": "upper", "kind": "Other"}, {"name": "zfill", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "endswith", "kind": "Other"}, {"name": "find", "kind": "Other"}, {"name": "index", "kind": "Other"}, {"name": "isalpha", "kind": "Other"}, {"name": "isalnum", "kind": "Other"}, {"name": "isdecimal", "kind": "Other"}, {"name": "isdigit", "kind": "Other"}, {"name": "islower", "kind": "Other"}, {"name": "isnumeric", "kind": "Other"}, {"name": "isspace", "kind": "Other"}, {"name": "istitle", "kind": "Other"}, {"name": "isupper", "kind": "Other"}, {"name": "rfind", "kind": "Other"}, {"name": "rindex", "kind": "Other"}, {"name": "startswith", "kind": "Other"}, {"name": "str_len", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "asarray", "kind": "Other"}], "numpy.core.records": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "format_parser", "kind": "ImportedType", "fullname": "numpy.format_parser"}, {"name": "record", "kind": "ImportedType", "fullname": "numpy.record"}, {"name": "recarray", "kind": "ImportedType", "fullname": "numpy.recarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "_ByteOrder", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_SCT", "kind": "Other"}, {"name": "_RecArray", "kind": "Other"}, {"name": "_SupportsReadInto", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "fromarrays", "kind": "Other"}, {"name": "fromrecords", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "array", "kind": "Other"}], "numpy.core.function_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "NDArray", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "linspace", "kind": "Other"}, {"name": "logspace", "kind": "Other"}, {"name": "geomspace", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}], "numpy.core.fromnumeric": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Union", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "uint64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float16", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderACF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_PartitionKind", "kind": "Other"}, {"name": "_SortKind", "kind": "Other"}, {"name": "_SortSide", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_SCT_uifcO", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "partition", "kind": "Other"}, {"name": "argpartition", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "searchsorted", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "var", "kind": "Other"}], "numpy.core._asarray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_Requirements", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_RequirementsWithE", "kind": "Other"}, {"name": "require", "kind": "Other"}], "numpy.core._type_aliases": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "_SCTypes", "kind": "LocalType"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}], "numpy.core._ufunc_config": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "_SupportsWrite", "kind": "ImportedType", "fullname": "numpy._SupportsWrite"}, {"name": "_ErrKind", "kind": "Other"}, {"name": "_ErrFunc", "kind": "Other"}, {"name": "_ErrDict", "kind": "LocalType"}, {"name": "_ErrDictOptional", "kind": "LocalType"}, {"name": "seterr", "kind": "Other"}, {"name": "geterr", "kind": "Other"}, {"name": "setbufsize", "kind": "Other"}, {"name": "getbufsize", "kind": "Other"}, {"name": "seterrcall", "kind": "Other"}, {"name": "geterrcall", "kind": "Other"}], "numpy.core.arrayprint": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_GeneratorContextManager", "kind": "ImportedType", "fullname": "contextlib._GeneratorContextManager"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "longdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_FloatMode", "kind": "Other"}, {"name": "_FormatDict", "kind": "LocalType"}, {"name": "_FormatOptions", "kind": "LocalType"}, {"name": "set_printoptions", "kind": "Other"}, {"name": "get_printoptions", "kind": "Other"}, {"name": "array2string", "kind": "Other"}, {"name": "format_float_scientific", "kind": "Other"}, {"name": "format_float_positional", "kind": "Other"}, {"name": "array_repr", "kind": "Other"}, {"name": "array_str", "kind": "Other"}, {"name": "set_string_function", "kind": "Other"}, {"name": "printoptions", "kind": "Other"}], "numpy.core.einsumfunc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_OptimizeKind", "kind": "Other"}, {"name": "_CastingSafe", "kind": "Other"}, {"name": "_CastingUnsafe", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "einsum", "kind": "Other"}, {"name": "einsum_path", "kind": "Other"}], "numpy.core.multiarray": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "dt", "kind": "Module", "fullname": "datetime"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "final", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "busdaycalendar", "kind": "ImportedType", "fullname": "numpy.busdaycalendar"}, {"name": "broadcast", "kind": "ImportedType", "fullname": "numpy.broadcast"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "nditer", "kind": "ImportedType", "fullname": "numpy.nditer"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "uint8", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "_SupportsBuffer", "kind": "Other"}, {"name": "_IOProtocol", "kind": "ImportedType", "fullname": "numpy._IOProtocol"}, {"name": "_CopyMode", "kind": "ImportedType", "fullname": "numpy._CopyMode"}, {"name": "_NDIterFlagsKind", "kind": "Other"}, {"name": "_NDIterOpFlagsKind", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_UnitKind", "kind": "Other"}, {"name": "_RollKind", "kind": "Other"}, {"name": "_SupportsLenAndGetItem", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "ALLOW_THREADS", "kind": "Other"}, {"name": "BUFSIZE", "kind": "Other"}, {"name": "CLIP", "kind": "Other"}, {"name": "WRAP", "kind": "Other"}, {"name": "RAISE", "kind": "Other"}, {"name": "MAXDIMS", "kind": "Other"}, {"name": "MAY_SHARE_BOUNDS", "kind": "Other"}, {"name": "MAY_SHARE_EXACT", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "lexsort", "kind": "Other"}, {"name": "can_cast", "kind": "Other"}, {"name": "min_scalar_type", "kind": "Other"}, {"name": "result_type", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "vdot", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "copyto", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "shares_memory", "kind": "Other"}, {"name": "may_share_memory", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "ascontiguousarray", "kind": "Other"}, {"name": "asfortranarray", "kind": "Other"}, {"name": "geterrobj", "kind": "Other"}, {"name": "seterrobj", "kind": "Other"}, {"name": "promote_types", "kind": "Other"}, {"name": "fromstring", "kind": "Other"}, {"name": "frompyfunc", "kind": "Other"}, {"name": "fromfile", "kind": "Other"}, {"name": "fromiter", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "datetime_data", "kind": "Other"}, {"name": "busday_count", "kind": "Other"}, {"name": "busday_offset", "kind": "Other"}, {"name": "is_busday", "kind": "Other"}, {"name": "datetime_as_string", "kind": "Other"}, {"name": "compare_chararrays", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "_GetItemKeys", "kind": "Other"}, {"name": "_SetItemKeys", "kind": "Other"}, {"name": "flagsobj", "kind": "LocalType"}, {"name": "nested_iters", "kind": "Other"}], "numpy.core.numeric": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "ComplexWarning", "kind": "ImportedType", "fullname": "numpy.ComplexWarning"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_CorrelateMode", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "zeros_like", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "full", "kind": "Other"}, {"name": "full_like", "kind": "Other"}, {"name": "count_nonzero", "kind": "Other"}, {"name": "isfortran", "kind": "Other"}, {"name": "argwhere", "kind": "Other"}, {"name": "flatnonzero", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "tensordot", "kind": "Other"}, {"name": "roll", "kind": "Other"}, {"name": "rollaxis", "kind": "Other"}, {"name": "moveaxis", "kind": "Other"}, {"name": "cross", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "isscalar", "kind": "Other"}, {"name": "binary_repr", "kind": "Other"}, {"name": "base_repr", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "array_equal", "kind": "Other"}, {"name": "array_equiv", "kind": "Other"}], "numpy.core.numerictypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "sctypeDict", "kind": "Other"}, {"name": "sctypes", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CastFunc", "kind": "LocalType"}, {"name": "_TypeCodes", "kind": "LocalType"}, {"name": "_typedict", "kind": "LocalType"}, {"name": "_TypeTuple", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "maximum_sctype", "kind": "Other"}, {"name": "issctype", "kind": "Other"}, {"name": "obj2sctype", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "sctype2char", "kind": "Other"}, {"name": "find_common_type", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "nbytes", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}], "numpy.core.shape_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "block", "kind": "Other"}], "numpy.lib.arraypad": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ModeFunc", "kind": "LocalType"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "pad", "kind": "Other"}], "numpy.lib.arraysetops": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ushort", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "byte", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "half", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "csingle", "kind": "Other"}, {"name": "cdouble", "kind": "Other"}, {"name": "clongdouble", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_NumberType", "kind": "Other"}, {"name": "_SCTNoCast", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}], "numpy.lib.arrayterator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_Index", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}], "numpy.lib.function_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "TypeGuard", "kind": "Other"}, {"name": "vectorize", "kind": "ImportedType", "fullname": "numpy.vectorize"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "_add_newdoc_ufunc", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_TrimZerosSequence", "kind": "LocalType"}, {"name": "_SupportsWriteFlush", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "select", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "_MethodKind", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "digitize", "kind": "Other"}], "numpy.lib.histograms": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_BinKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}], "numpy.lib.index_tricks": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_Matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "ndenumerate", "kind": "ImportedType", "fullname": "numpy.ndenumerate"}, {"name": "ndindex", "kind": "ImportedType", "fullname": "numpy.ndindex"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int_", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "complex_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_BoolType", "kind": "Other"}, {"name": "_TupType", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "nd_grid", "kind": "LocalType"}, {"name": "MGridClass", "kind": "LocalType"}, {"name": "mgrid", "kind": "Other"}, {"name": "OGridClass", "kind": "LocalType"}, {"name": "ogrid", "kind": "Other"}, {"name": "AxisConcatenator", "kind": "LocalType"}, {"name": "RClass", "kind": "LocalType"}, {"name": "r_", "kind": "Other"}, {"name": "CClass", "kind": "LocalType"}, {"name": "c_", "kind": "Other"}, {"name": "IndexExpression", "kind": "LocalType"}, {"name": "index_exp", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}], "numpy.lib.nanfunctions": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}], "numpy.lib.npyio": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "zipfile", "kind": "Module", "fullname": "zipfile"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "overload", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "DataSource", "kind": "ImportedType", "fullname": "numpy.DataSource"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "recarray", "kind": "ImportedType", "fullname": "numpy.recarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "float64", "kind": "Other"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "record", "kind": "ImportedType", "fullname": "numpy.record"}, {"name": "MaskedRecords", "kind": "ImportedType", "fullname": "numpy.ma.mrecords.MaskedRecords"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_CharType_co", "kind": "Other"}, {"name": "_CharType_contra", "kind": "Other"}, {"name": "_SupportsGetItem", "kind": "LocalType"}, {"name": "_SupportsRead", "kind": "LocalType"}, {"name": "_SupportsReadSeek", "kind": "LocalType"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "BagObj", "kind": "LocalType"}, {"name": "NpzFile", "kind": "LocalType"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}], "numpy.lib.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "NoReturn", "kind": "Other"}, {"name": "RankWarning", "kind": "ImportedType", "fullname": "numpy.RankWarning"}, {"name": "poly1d", "kind": "ImportedType", "fullname": "numpy.poly1d"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_2Tup", "kind": "Other"}, {"name": "_5Tup", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}], "numpy.lib.shape_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Protocol", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_ArrayWrap", "kind": "LocalType"}, {"name": "_ArrayPrepare", "kind": "LocalType"}, {"name": "_SupportsArrayWrap", "kind": "LocalType"}, {"name": "_SupportsArrayPrepare", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "get_array_prepare", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}], "numpy.lib.stride_tricks": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DummyArray", "kind": "LocalType"}, {"name": "as_strided", "kind": "Other"}, {"name": "sliding_window_view", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}], "numpy.lib.twodim_base": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "int_", "kind": "Other"}, {"name": "intp", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "signedinteger", "kind": "ImportedType", "fullname": "numpy.signedinteger"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "_OrderCF", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_SupportsArrayFunc", "kind": "ImportedType", "fullname": "numpy._typing._array_like._SupportsArrayFunc"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_MaskFunc", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}], "numpy.lib.type_check": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "float64", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "_64Bit", "kind": "ImportedType", "fullname": "numpy._typing._64Bit"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_NBit1", "kind": "Other"}, {"name": "_NBit2", "kind": "Other"}, {"name": "_SupportsReal", "kind": "LocalType"}, {"name": "_SupportsImag", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}], "numpy.lib.ufunclike": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "NDArray", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}], "numpy.lib.utils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "AST", "kind": "ImportedType", "fullname": "_ast.AST"}, {"name": "Callable", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "_T_contra", "kind": "Other"}, {"name": "_FuncType", "kind": "Other"}, {"name": "_SupportsWrite", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "_Deprecate", "kind": "LocalType"}, {"name": "get_include", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}], "numpy._pytesttester": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PytestTester", "kind": "LocalType"}], "numpy._typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "set_module", "kind": "Other"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "NBitBase", "kind": "LocalType"}, {"name": "_256Bit", "kind": "LocalType"}, {"name": "_128Bit", "kind": "LocalType"}, {"name": "_96Bit", "kind": "LocalType"}, {"name": "_80Bit", "kind": "LocalType"}, {"name": "_64Bit", "kind": "LocalType"}, {"name": "_32Bit", "kind": "LocalType"}, {"name": "_16Bit", "kind": "LocalType"}, {"name": "_8Bit", "kind": "LocalType"}, {"name": "_NestedSequence", "kind": "LocalType"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_UIntLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_VoidLike_co", "kind": "Other"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeTD64", "kind": "Other"}, {"name": "_DTypeLikeDT64", "kind": "Other"}, {"name": "_DTypeLikeObject", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_DTypeLikeStr", "kind": "Other"}, {"name": "_DTypeLikeBytes", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_SupportsArrayFunc", "kind": "LocalType"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "NDArray", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_GenericAlias", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}], "numpy.ctypeslib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_c_intp", "kind": "ImportedType", "fullname": "ctypes.c_int64"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ctypes", "kind": "Module", "fullname": "ctypes"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "byte", "kind": "Other"}, {"name": "short", "kind": "Other"}, {"name": "intc", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "longlong", "kind": "Other"}, {"name": "ubyte", "kind": "Other"}, {"name": "ushort", "kind": "Other"}, {"name": "uintc", "kind": "Other"}, {"name": "uint", "kind": "Other"}, {"name": "ulonglong", "kind": "Other"}, {"name": "single", "kind": "Other"}, {"name": "double", "kind": "Other"}, {"name": "longdouble", "kind": "Other"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "_ctypes", "kind": "ImportedType", "fullname": "numpy.core._internal._ctypes"}, {"name": "flagsobj", "kind": "ImportedType", "fullname": "numpy.core.multiarray.flagsobj"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_DTypeOptional", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_FlagsKind", "kind": "Other"}, {"name": "_ndptr", "kind": "LocalType"}, {"name": "_concrete_ndptr", "kind": "LocalType"}, {"name": "load_library", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "c_intp", "kind": "Other"}, {"name": "ndpointer", "kind": "Other"}, {"name": "as_ctypes_type", "kind": "Other"}, {"name": "as_array", "kind": "Other"}, {"name": "as_ctypes", "kind": "Other"}], "numpy.fft": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "fft", "kind": "Other"}, {"name": "ifft", "kind": "Other"}, {"name": "rfft", "kind": "Other"}, {"name": "irfft", "kind": "Other"}, {"name": "hfft", "kind": "Other"}, {"name": "ihfft", "kind": "Other"}, {"name": "rfftn", "kind": "Other"}, {"name": "irfftn", "kind": "Other"}, {"name": "rfft2", "kind": "Other"}, {"name": "irfft2", "kind": "Other"}, {"name": "fft2", "kind": "Other"}, {"name": "ifft2", "kind": "Other"}, {"name": "fftn", "kind": "Other"}, {"name": "ifftn", "kind": "Other"}, {"name": "fftshift", "kind": "Other"}, {"name": "ifftshift", "kind": "Other"}, {"name": "fftfreq", "kind": "Other"}, {"name": "rfftfreq", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.lib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "math", "kind": "Module", "fullname": "math"}, {"name": "Any", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "ndenumerate", "kind": "ImportedType", "fullname": "numpy.ndenumerate"}, {"name": "ndindex", "kind": "ImportedType", "fullname": "numpy.ndindex"}, {"name": "version", "kind": "Other"}, {"name": "format", "kind": "Module", "fullname": "numpy.lib.format"}, {"name": "mixins", "kind": "Module", "fullname": "numpy.lib.mixins"}, {"name": "scimath", "kind": "Module", "fullname": "numpy.lib.scimath"}, {"name": "stride_tricks", "kind": "Module", "fullname": "numpy.lib.stride_tricks"}, {"name": "NumpyVersion", "kind": "LocalType"}, {"name": "pad", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "Arrayterator", "kind": "LocalType"}, {"name": "select", "kind": "Other"}, {"name": "piecewise", "kind": "Other"}, {"name": "trim_zeros", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "iterable", "kind": "Other"}, {"name": "percentile", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "gradient", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "unwrap", "kind": "Other"}, {"name": "sort_complex", "kind": "Other"}, {"name": "disp", "kind": "Other"}, {"name": "flip", "kind": "Other"}, {"name": "rot90", "kind": "Other"}, {"name": "extract", "kind": "Other"}, {"name": "place", "kind": "Other"}, {"name": "vectorize", "kind": "ImportedType", "fullname": "numpy.vectorize"}, {"name": "asarray_chkfinite", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "bincount", "kind": "Other"}, {"name": "digitize", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "msort", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "sinc", "kind": "Other"}, {"name": "hamming", "kind": "Other"}, {"name": "hanning", "kind": "Other"}, {"name": "bartlett", "kind": "Other"}, {"name": "blackman", "kind": "Other"}, {"name": "kaiser", "kind": "Other"}, {"name": "trapz", "kind": "Other"}, {"name": "i0", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "add_docstring", "kind": "Other"}, {"name": "meshgrid", "kind": "Other"}, {"name": "delete", "kind": "Other"}, {"name": "insert", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "interp", "kind": "Other"}, {"name": "add_newdoc_ufunc", "kind": "Other"}, {"name": "quantile", "kind": "Other"}, {"name": "histogram_bin_edges", "kind": "Other"}, {"name": "histogram", "kind": "Other"}, {"name": "histogramdd", "kind": "Other"}, {"name": "ravel_multi_index", "kind": "Other"}, {"name": "unravel_index", "kind": "Other"}, {"name": "mgrid", "kind": "Other"}, {"name": "ogrid", "kind": "Other"}, {"name": "r_", "kind": "Other"}, {"name": "c_", "kind": "Other"}, {"name": "s_", "kind": "Other"}, {"name": "index_exp", "kind": "Other"}, {"name": "ix_", "kind": "Other"}, {"name": "fill_diagonal", "kind": "Other"}, {"name": "diag_indices", "kind": "Other"}, {"name": "diag_indices_from", "kind": "Other"}, {"name": "nansum", "kind": "Other"}, {"name": "nanmax", "kind": "Other"}, {"name": "nanmin", "kind": "Other"}, {"name": "nanargmax", "kind": "Other"}, {"name": "nanargmin", "kind": "Other"}, {"name": "nanmean", "kind": "Other"}, {"name": "nanmedian", "kind": "Other"}, {"name": "nanpercentile", "kind": "Other"}, {"name": "nanvar", "kind": "Other"}, {"name": "nanstd", "kind": "Other"}, {"name": "nanprod", "kind": "Other"}, {"name": "nancumsum", "kind": "Other"}, {"name": "nancumprod", "kind": "Other"}, {"name": "nanquantile", "kind": "Other"}, {"name": "savetxt", "kind": "Other"}, {"name": "loadtxt", "kind": "Other"}, {"name": "genfromtxt", "kind": "Other"}, {"name": "recfromtxt", "kind": "Other"}, {"name": "recfromcsv", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "save", "kind": "Other"}, {"name": "savez", "kind": "Other"}, {"name": "savez_compressed", "kind": "Other"}, {"name": "packbits", "kind": "Other"}, {"name": "unpackbits", "kind": "Other"}, {"name": "fromregex", "kind": "Other"}, {"name": "DataSource", "kind": "ImportedType", "fullname": "numpy.DataSource"}, {"name": "poly", "kind": "Other"}, {"name": "roots", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "RankWarning", "kind": "ImportedType", "fullname": "numpy.RankWarning"}, {"name": "poly1d", "kind": "ImportedType", "fullname": "numpy.poly1d"}, {"name": "column_stack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "array_split", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "vsplit", "kind": "Other"}, {"name": "dsplit", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "kron", "kind": "Other"}, {"name": "tile", "kind": "Other"}, {"name": "get_array_wrap", "kind": "Other"}, {"name": "take_along_axis", "kind": "Other"}, {"name": "put_along_axis", "kind": "Other"}, {"name": "broadcast_to", "kind": "Other"}, {"name": "broadcast_arrays", "kind": "Other"}, {"name": "broadcast_shapes", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "eye", "kind": "Other"}, {"name": "fliplr", "kind": "Other"}, {"name": "flipud", "kind": "Other"}, {"name": "tri", "kind": "Other"}, {"name": "triu", "kind": "Other"}, {"name": "tril", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "histogram2d", "kind": "Other"}, {"name": "mask_indices", "kind": "Other"}, {"name": "tril_indices", "kind": "Other"}, {"name": "tril_indices_from", "kind": "Other"}, {"name": "triu_indices", "kind": "Other"}, {"name": "triu_indices_from", "kind": "Other"}, {"name": "mintypecode", "kind": "Other"}, {"name": "asfarray", "kind": "Other"}, {"name": "real", "kind": "Other"}, {"name": "imag", "kind": "Other"}, {"name": "iscomplex", "kind": "Other"}, {"name": "isreal", "kind": "Other"}, {"name": "iscomplexobj", "kind": "Other"}, {"name": "isrealobj", "kind": "Other"}, {"name": "nan_to_num", "kind": "Other"}, {"name": "real_if_close", "kind": "Other"}, {"name": "typename", "kind": "Other"}, {"name": "common_type", "kind": "Other"}, {"name": "fix", "kind": "Other"}, {"name": "isposinf", "kind": "Other"}, {"name": "isneginf", "kind": "Other"}, {"name": "issubclass_", "kind": "Other"}, {"name": "issubsctype", "kind": "Other"}, {"name": "issubdtype", "kind": "Other"}, {"name": "deprecate", "kind": "Other"}, {"name": "deprecate_with_doc", "kind": "Other"}, {"name": "get_include", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "source", "kind": "Other"}, {"name": "who", "kind": "Other"}, {"name": "lookfor", "kind": "Other"}, {"name": "byte_bounds", "kind": "Other"}, {"name": "safe_eval", "kind": "Other"}, {"name": "show_runtime", "kind": "Other"}, {"name": "tracemalloc_domain", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "emath", "kind": "Module", "fullname": "numpy.lib.scimath"}], "numpy.linalg": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "matrix_power", "kind": "Other"}, {"name": "solve", "kind": "Other"}, {"name": "tensorsolve", "kind": "Other"}, {"name": "tensorinv", "kind": "Other"}, {"name": "inv", "kind": "Other"}, {"name": "cholesky", "kind": "Other"}, {"name": "eigvals", "kind": "Other"}, {"name": "eigvalsh", "kind": "Other"}, {"name": "pinv", "kind": "Other"}, {"name": "slogdet", "kind": "Other"}, {"name": "det", "kind": "Other"}, {"name": "svd", "kind": "Other"}, {"name": "eig", "kind": "Other"}, {"name": "eigh", "kind": "Other"}, {"name": "lstsq", "kind": "Other"}, {"name": "norm", "kind": "Other"}, {"name": "qr", "kind": "Other"}, {"name": "cond", "kind": "Other"}, {"name": "matrix_rank", "kind": "Other"}, {"name": "multi_dot", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "LinAlgError", "kind": "LocalType"}], "numpy.ma": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "extras", "kind": "Module", "fullname": "numpy.ma.extras"}, {"name": "MAError", "kind": "LocalType"}, {"name": "MaskError", "kind": "LocalType"}, {"name": "MaskType", "kind": "Other"}, {"name": "MaskedArray", "kind": "LocalType"}, {"name": "abs", "kind": "Other"}, {"name": "absolute", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "all", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "allequal", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "anom", "kind": "Other"}, {"name": "anomalies", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "arange", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "ceil", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "common_fill_value", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "compressed", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "default_fill_value", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expand_dims", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "filled", "kind": "Other"}, {"name": "fix_invalid", "kind": "Other"}, {"name": "flatten_mask", "kind": "Other"}, {"name": "flatten_structured_array", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromflex", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "getdata", "kind": "Other"}, {"name": "getmask", "kind": "Other"}, {"name": "getmaskarray", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "harden_mask", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "ids", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "innerproduct", "kind": "Other"}, {"name": "isMA", "kind": "Other"}, {"name": "isMaskedArray", "kind": "Other"}, {"name": "is_mask", "kind": "Other"}, {"name": "is_masked", "kind": "Other"}, {"name": "isarray", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "make_mask", "kind": "Other"}, {"name": "make_mask_descr", "kind": "Other"}, {"name": "make_mask_none", "kind": "Other"}, {"name": "mask_or", "kind": "Other"}, {"name": "masked", "kind": "Other"}, {"name": "masked_array", "kind": "Other"}, {"name": "masked_equal", "kind": "Other"}, {"name": "masked_greater", "kind": "Other"}, {"name": "masked_greater_equal", "kind": "Other"}, {"name": "masked_inside", "kind": "Other"}, {"name": "masked_invalid", "kind": "Other"}, {"name": "masked_less", "kind": "Other"}, {"name": "masked_less_equal", "kind": "Other"}, {"name": "masked_not_equal", "kind": "Other"}, {"name": "masked_object", "kind": "Other"}, {"name": "masked_outside", "kind": "Other"}, {"name": "masked_print_option", "kind": "Other"}, {"name": "masked_singleton", "kind": "Other"}, {"name": "masked_values", "kind": "Other"}, {"name": "masked_where", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "maximum_fill_value", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "min", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "minimum_fill_value", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "mvoid", "kind": "LocalType"}, {"name": "ndim", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "nomask", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "outerproduct", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "set_fill_value", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "soften_mask", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "clump_masked", "kind": "Other"}, {"name": "clump_unmasked", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "compress_cols", "kind": "Other"}, {"name": "compress_nd", "kind": "Other"}, {"name": "compress_rowcols", "kind": "Other"}, {"name": "compress_rows", "kind": "Other"}, {"name": "count_masked", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "flatnotmasked_contiguous", "kind": "Other"}, {"name": "flatnotmasked_edges", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "mask_cols", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}, {"name": "mask_rows", "kind": "Other"}, {"name": "masked_all", "kind": "Other"}, {"name": "masked_all_like", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "mr_", "kind": "Other"}, {"name": "ndenumerate", "kind": "Other"}, {"name": "notmasked_contiguous", "kind": "Other"}, {"name": "notmasked_edges", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "chebyshev", "kind": "Module", "fullname": "numpy.polynomial.chebyshev"}, {"name": "hermite", "kind": "Module", "fullname": "numpy.polynomial.hermite"}, {"name": "hermite_e", "kind": "Module", "fullname": "numpy.polynomial.hermite_e"}, {"name": "laguerre", "kind": "Module", "fullname": "numpy.polynomial.laguerre"}, {"name": "legendre", "kind": "Module", "fullname": "numpy.polynomial.legendre"}, {"name": "polynomial", "kind": "Module", "fullname": "numpy.polynomial.polynomial"}, {"name": "Chebyshev", "kind": "LocalType"}, {"name": "Hermite", "kind": "LocalType"}, {"name": "HermiteE", "kind": "LocalType"}, {"name": "Laguerre", "kind": "LocalType"}, {"name": "Legendre", "kind": "LocalType"}, {"name": "Polynomial", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "set_default_printstyle", "kind": "Other"}], "numpy.random": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "Generator", "kind": "LocalType"}, {"name": "default_rng", "kind": "Other"}, {"name": "MT19937", "kind": "LocalType"}, {"name": "PCG64", "kind": "LocalType"}, {"name": "PCG64DXSM", "kind": "LocalType"}, {"name": "Philox", "kind": "LocalType"}, {"name": "SFC64", "kind": "LocalType"}, {"name": "BitGenerator", "kind": "LocalType"}, {"name": "SeedSequence", "kind": "LocalType"}, {"name": "RandomState", "kind": "LocalType"}, {"name": "beta", "kind": "Other"}, {"name": "binomial", "kind": "Other"}, {"name": "bytes", "kind": "Other"}, {"name": "chisquare", "kind": "Other"}, {"name": "choice", "kind": "Other"}, {"name": "dirichlet", "kind": "Other"}, {"name": "exponential", "kind": "Other"}, {"name": "f", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "geometric", "kind": "Other"}, {"name": "get_bit_generator", "kind": "Other"}, {"name": "get_state", "kind": "Other"}, {"name": "gumbel", "kind": "Other"}, {"name": "hypergeometric", "kind": "Other"}, {"name": "laplace", "kind": "Other"}, {"name": "logistic", "kind": "Other"}, {"name": "lognormal", "kind": "Other"}, {"name": "logseries", "kind": "Other"}, {"name": "multinomial", "kind": "Other"}, {"name": "multivariate_normal", "kind": "Other"}, {"name": "negative_binomial", "kind": "Other"}, {"name": "noncentral_chisquare", "kind": "Other"}, {"name": "noncentral_f", "kind": "Other"}, {"name": "normal", "kind": "Other"}, {"name": "pareto", "kind": "Other"}, {"name": "permutation", "kind": "Other"}, {"name": "poisson", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rand", "kind": "Other"}, {"name": "randint", "kind": "Other"}, {"name": "randn", "kind": "Other"}, {"name": "random", "kind": "Other"}, {"name": "random_integers", "kind": "Other"}, {"name": "random_sample", "kind": "Other"}, {"name": "ranf", "kind": "Other"}, {"name": "rayleigh", "kind": "Other"}, {"name": "sample", "kind": "Other"}, {"name": "seed", "kind": "Other"}, {"name": "set_bit_generator", "kind": "Other"}, {"name": "set_state", "kind": "Other"}, {"name": "shuffle", "kind": "Other"}, {"name": "standard_cauchy", "kind": "Other"}, {"name": "standard_exponential", "kind": "Other"}, {"name": "standard_gamma", "kind": "Other"}, {"name": "standard_normal", "kind": "Other"}, {"name": "standard_t", "kind": "Other"}, {"name": "triangular", "kind": "Other"}, {"name": "uniform", "kind": "Other"}, {"name": "vonmises", "kind": "Other"}, {"name": "wald", "kind": "Other"}, {"name": "weibull", "kind": "Other"}, {"name": "zipf", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "numpy.testing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "assert_equal", "kind": "Other"}, {"name": "assert_almost_equal", "kind": "Other"}, {"name": "assert_approx_equal", "kind": "Other"}, {"name": "assert_array_equal", "kind": "Other"}, {"name": "assert_array_less", "kind": "Other"}, {"name": "assert_string_equal", "kind": "Other"}, {"name": "assert_array_almost_equal", "kind": "Other"}, {"name": "assert_raises", "kind": "Other"}, {"name": "build_err_msg", "kind": "Other"}, {"name": "decorate_methods", "kind": "Other"}, {"name": "jiffies", "kind": "Other"}, {"name": "memusage", "kind": "Other"}, {"name": "print_assert_equal", "kind": "Other"}, {"name": "raises", "kind": "Other"}, {"name": "rundocs", "kind": "Other"}, {"name": "runstring", "kind": "Other"}, {"name": "verbose", "kind": "Other"}, {"name": "measure", "kind": "Other"}, {"name": "assert_", "kind": "Other"}, {"name": "assert_array_almost_equal_nulp", "kind": "Other"}, {"name": "assert_raises_regex", "kind": "Other"}, {"name": "assert_array_max_ulp", "kind": "Other"}, {"name": "assert_warns", "kind": "Other"}, {"name": "assert_no_warnings", "kind": "Other"}, {"name": "assert_allclose", "kind": "Other"}, {"name": "IgnoreException", "kind": "LocalType"}, {"name": "clear_and_catch_warnings", "kind": "LocalType"}, {"name": "SkipTest", "kind": "ImportedType", "fullname": "unittest.case.SkipTest"}, {"name": "KnownFailureException", "kind": "LocalType"}, {"name": "temppath", "kind": "Other"}, {"name": "tempdir", "kind": "Other"}, {"name": "IS_PYPY", "kind": "Other"}, {"name": "IS_PYSTON", "kind": "Other"}, {"name": "HAS_REFCOUNT", "kind": "Other"}, {"name": "suppress_warnings", "kind": "LocalType"}, {"name": "assert_array_compare", "kind": "Other"}, {"name": "assert_no_gc_cycles", "kind": "Other"}, {"name": "break_cycles", "kind": "Other"}, {"name": "HAS_LAPACK64", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}, {"name": "run_module_suite", "kind": "Other"}], "numpy.version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "get_versions", "kind": "Other"}, {"name": "__ALL__", "kind": "Other"}, {"name": "vinfo", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "__version__", "kind": "Other"}, {"name": "full_version", "kind": "Other"}, {"name": "git_revision", "kind": "Other"}, {"name": "release", "kind": "Other"}, {"name": "short_version", "kind": "Other"}], "numpy.core": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "numpy.matrixlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "bmat", "kind": "Other"}, {"name": "mat", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "test", "kind": "Other"}], "os": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyStr_co", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorLike", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "GenericPath", "kind": "Other"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsLenAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsLenAndGetItem"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "OSError", "kind": "ImportedType", "fullname": "builtins.OSError"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "_TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Popen", "kind": "ImportedType", "fullname": "subprocess.Popen"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Generic", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_path", "kind": "Module", "fullname": "os.path"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "path", "kind": "Module", "fullname": "os.path"}, {"name": "_T", "kind": "Other"}, {"name": "_T1", "kind": "Other"}, {"name": "_T2", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "supports_bytes_environ", "kind": "Other"}, {"name": "supports_dir_fd", "kind": "Other"}, {"name": "supports_fd", "kind": "Other"}, {"name": "supports_effective_ids", "kind": "Other"}, {"name": "supports_follow_symlinks", "kind": "Other"}, {"name": "PRIO_PROCESS", "kind": "Other"}, {"name": "PRIO_PGRP", "kind": "Other"}, {"name": "PRIO_USER", "kind": "Other"}, {"name": "F_LOCK", "kind": "Other"}, {"name": "F_TLOCK", "kind": "Other"}, {"name": "F_ULOCK", "kind": "Other"}, {"name": "F_TEST", "kind": "Other"}, {"name": "POSIX_FADV_NORMAL", "kind": "Other"}, {"name": "POSIX_FADV_SEQUENTIAL", "kind": "Other"}, {"name": "POSIX_FADV_RANDOM", "kind": "Other"}, {"name": "POSIX_FADV_NOREUSE", "kind": "Other"}, {"name": "POSIX_FADV_WILLNEED", "kind": "Other"}, {"name": "POSIX_FADV_DONTNEED", "kind": "Other"}, {"name": "SF_NODISKIO", "kind": "Other"}, {"name": "SF_MNOWAIT", "kind": "Other"}, {"name": "SF_SYNC", "kind": "Other"}, {"name": "XATTR_SIZE_MAX", "kind": "Other"}, {"name": "XATTR_CREATE", "kind": "Other"}, {"name": "XATTR_REPLACE", "kind": "Other"}, {"name": "P_PID", "kind": "Other"}, {"name": "P_PGID", "kind": "Other"}, {"name": "P_ALL", "kind": "Other"}, {"name": "P_PIDFD", "kind": "Other"}, {"name": "WEXITED", "kind": "Other"}, {"name": "WSTOPPED", "kind": "Other"}, {"name": "WNOWAIT", "kind": "Other"}, {"name": "CLD_EXITED", "kind": "Other"}, {"name": "CLD_DUMPED", "kind": "Other"}, {"name": "CLD_TRAPPED", "kind": "Other"}, {"name": "CLD_CONTINUED", "kind": "Other"}, {"name": "CLD_KILLED", "kind": "Other"}, {"name": "CLD_STOPPED", "kind": "Other"}, {"name": "SCHED_OTHER", "kind": "Other"}, {"name": "SCHED_BATCH", "kind": "Other"}, {"name": "SCHED_IDLE", "kind": "Other"}, {"name": "SCHED_SPORADIC", "kind": "Other"}, {"name": "SCHED_FIFO", "kind": "Other"}, {"name": "SCHED_RR", "kind": "Other"}, {"name": "SCHED_RESET_ON_FORK", "kind": "Other"}, {"name": "RTLD_LAZY", "kind": "Other"}, {"name": "RTLD_NOW", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "RTLD_NODELETE", "kind": "Other"}, {"name": "RTLD_NOLOAD", "kind": "Other"}, {"name": "RTLD_DEEPBIND", "kind": "Other"}, {"name": "GRND_NONBLOCK", "kind": "Other"}, {"name": "GRND_RANDOM", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "SEEK_DATA", "kind": "Other"}, {"name": "SEEK_HOLE", "kind": "Other"}, {"name": "O_RDONLY", "kind": "Other"}, {"name": "O_WRONLY", "kind": "Other"}, {"name": "O_RDWR", "kind": "Other"}, {"name": "O_APPEND", "kind": "Other"}, {"name": "O_CREAT", "kind": "Other"}, {"name": "O_EXCL", "kind": "Other"}, {"name": "O_TRUNC", "kind": "Other"}, {"name": "O_DSYNC", "kind": "Other"}, {"name": "O_RSYNC", "kind": "Other"}, {"name": "O_SYNC", "kind": "Other"}, {"name": "O_NDELAY", "kind": "Other"}, {"name": "O_NONBLOCK", "kind": "Other"}, {"name": "O_NOCTTY", "kind": "Other"}, {"name": "O_CLOEXEC", "kind": "Other"}, {"name": "O_SHLOCK", "kind": "Other"}, {"name": "O_EXLOCK", "kind": "Other"}, {"name": "O_BINARY", "kind": "Other"}, {"name": "O_NOINHERIT", "kind": "Other"}, {"name": "O_SHORT_LIVED", "kind": "Other"}, {"name": "O_TEMPORARY", "kind": "Other"}, {"name": "O_RANDOM", "kind": "Other"}, {"name": "O_SEQUENTIAL", "kind": "Other"}, {"name": "O_TEXT", "kind": "Other"}, {"name": "O_ASYNC", "kind": "Other"}, {"name": "O_DIRECT", "kind": "Other"}, {"name": "O_DIRECTORY", "kind": "Other"}, {"name": "O_NOFOLLOW", "kind": "Other"}, {"name": "O_NOATIME", "kind": "Other"}, {"name": "O_PATH", "kind": "Other"}, {"name": "O_TMPFILE", "kind": "Other"}, {"name": "O_LARGEFILE", "kind": "Other"}, {"name": "O_ACCMODE", "kind": "Other"}, {"name": "ST_APPEND", "kind": "Other"}, {"name": "ST_MANDLOCK", "kind": "Other"}, {"name": "ST_NOATIME", "kind": "Other"}, {"name": "ST_NODEV", "kind": "Other"}, {"name": "ST_NODIRATIME", "kind": "Other"}, {"name": "ST_NOEXEC", "kind": "Other"}, {"name": "ST_RELATIME", "kind": "Other"}, {"name": "ST_SYNCHRONOUS", "kind": "Other"}, {"name": "ST_WRITE", "kind": "Other"}, {"name": "NGROUPS_MAX", "kind": "Other"}, {"name": "ST_NOSUID", "kind": "Other"}, {"name": "ST_RDONLY", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "linesep", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "name", "kind": "Other"}, {"name": "F_OK", "kind": "Other"}, {"name": "R_OK", "kind": "Other"}, {"name": "W_OK", "kind": "Other"}, {"name": "X_OK", "kind": "Other"}, {"name": "_EnvironCodeFunc", "kind": "Other"}, {"name": "_Environ", "kind": "LocalType"}, {"name": "environ", "kind": "Other"}, {"name": "environb", "kind": "Other"}, {"name": "confstr_names", "kind": "Other"}, {"name": "pathconf_names", "kind": "Other"}, {"name": "sysconf_names", "kind": "Other"}, {"name": "EX_OK", "kind": "Other"}, {"name": "EX_USAGE", "kind": "Other"}, {"name": "EX_DATAERR", "kind": "Other"}, {"name": "EX_NOINPUT", "kind": "Other"}, {"name": "EX_NOUSER", "kind": "Other"}, {"name": "EX_NOHOST", "kind": "Other"}, {"name": "EX_UNAVAILABLE", "kind": "Other"}, {"name": "EX_SOFTWARE", "kind": "Other"}, {"name": "EX_OSERR", "kind": "Other"}, {"name": "EX_OSFILE", "kind": "Other"}, {"name": "EX_CANTCREAT", "kind": "Other"}, {"name": "EX_IOERR", "kind": "Other"}, {"name": "EX_TEMPFAIL", "kind": "Other"}, {"name": "EX_PROTOCOL", "kind": "Other"}, {"name": "EX_NOPERM", "kind": "Other"}, {"name": "EX_CONFIG", "kind": "Other"}, {"name": "EX_NOTFOUND", "kind": "Other"}, {"name": "P_NOWAIT", "kind": "Other"}, {"name": "P_NOWAITO", "kind": "Other"}, {"name": "P_WAIT", "kind": "Other"}, {"name": "WNOHANG", "kind": "Other"}, {"name": "WCONTINUED", "kind": "Other"}, {"name": "WUNTRACED", "kind": "Other"}, {"name": "TMP_MAX", "kind": "Other"}, {"name": "stat_result", "kind": "LocalType"}, {"name": "PathLike", "kind": "LocalType"}, {"name": "listdir", "kind": "Other"}, {"name": "DirEntry", "kind": "LocalType"}, {"name": "statvfs_result", "kind": "LocalType"}, {"name": "fsencode", "kind": "Other"}, {"name": "fsdecode", "kind": "Other"}, {"name": "fspath", "kind": "Other"}, {"name": "get_exec_path", "kind": "Other"}, {"name": "getlogin", "kind": "Other"}, {"name": "getpid", "kind": "Other"}, {"name": "getppid", "kind": "Other"}, {"name": "strerror", "kind": "Other"}, {"name": "umask", "kind": "Other"}, {"name": "uname_result", "kind": "LocalType"}, {"name": "ctermid", "kind": "Other"}, {"name": "getegid", "kind": "Other"}, {"name": "geteuid", "kind": "Other"}, {"name": "getgid", "kind": "Other"}, {"name": "getgrouplist", "kind": "Other"}, {"name": "getgroups", "kind": "Other"}, {"name": "initgroups", "kind": "Other"}, {"name": "getpgid", "kind": "Other"}, {"name": "getpgrp", "kind": "Other"}, {"name": "getpriority", "kind": "Other"}, {"name": "setpriority", "kind": "Other"}, {"name": "getresuid", "kind": "Other"}, {"name": "getresgid", "kind": "Other"}, {"name": "getuid", "kind": "Other"}, {"name": "setegid", "kind": "Other"}, {"name": "seteuid", "kind": "Other"}, {"name": "setgid", "kind": "Other"}, {"name": "setgroups", "kind": "Other"}, {"name": "setpgrp", "kind": "Other"}, {"name": "setpgid", "kind": "Other"}, {"name": "setregid", "kind": "Other"}, {"name": "setresgid", "kind": "Other"}, {"name": "setresuid", "kind": "Other"}, {"name": "setreuid", "kind": "Other"}, {"name": "getsid", "kind": "Other"}, {"name": "setsid", "kind": "Other"}, {"name": "setuid", "kind": "Other"}, {"name": "uname", "kind": "Other"}, {"name": "getenv", "kind": "Other"}, {"name": "getenvb", "kind": "Other"}, {"name": "putenv", "kind": "Other"}, {"name": "unsetenv", "kind": "Other"}, {"name": "_Opener", "kind": "Other"}, {"name": "fdopen", "kind": "Other"}, {"name": "close", "kind": "Other"}, {"name": "closerange", "kind": "Other"}, {"name": "device_encoding", "kind": "Other"}, {"name": "dup", "kind": "Other"}, {"name": "dup2", "kind": "Other"}, {"name": "fstat", "kind": "Other"}, {"name": "ftruncate", "kind": "Other"}, {"name": "fsync", "kind": "Other"}, {"name": "isatty", "kind": "Other"}, {"name": "lseek", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "pipe", "kind": "Other"}, {"name": "read", "kind": "Other"}, {"name": "fchmod", "kind": "Other"}, {"name": "fchown", "kind": "Other"}, {"name": "fpathconf", "kind": "Other"}, {"name": "fstatvfs", "kind": "Other"}, {"name": "get_blocking", "kind": "Other"}, {"name": "set_blocking", "kind": "Other"}, {"name": "lockf", "kind": "Other"}, {"name": "openpty", "kind": "Other"}, {"name": "fdatasync", "kind": "Other"}, {"name": "pipe2", "kind": "Other"}, {"name": "posix_fallocate", "kind": "Other"}, {"name": "posix_fadvise", "kind": "Other"}, {"name": "pread", "kind": "Other"}, {"name": "pwrite", "kind": "Other"}, {"name": "preadv", "kind": "Other"}, {"name": "pwritev", "kind": "Other"}, {"name": "RWF_APPEND", "kind": "Other"}, {"name": "RWF_DSYNC", "kind": "Other"}, {"name": "RWF_SYNC", "kind": "Other"}, {"name": "RWF_HIPRI", "kind": "Other"}, {"name": "RWF_NOWAIT", "kind": "Other"}, {"name": "sendfile", "kind": "Other"}, {"name": "readv", "kind": "Other"}, {"name": "writev", "kind": "Other"}, {"name": "terminal_size", "kind": "LocalType"}, {"name": "get_terminal_size", "kind": "Other"}, {"name": "get_inheritable", "kind": "Other"}, {"name": "set_inheritable", "kind": "Other"}, {"name": "tcgetpgrp", "kind": "Other"}, {"name": "tcsetpgrp", "kind": "Other"}, {"name": "ttyname", "kind": "Other"}, {"name": "write", "kind": "Other"}, {"name": "access", "kind": "Other"}, {"name": "chdir", "kind": "Other"}, {"name": "fchdir", "kind": "Other"}, {"name": "getcwd", "kind": "Other"}, {"name": "getcwdb", "kind": "Other"}, {"name": "chmod", "kind": "Other"}, {"name": "chroot", "kind": "Other"}, {"name": "chown", "kind": "Other"}, {"name": "lchown", "kind": "Other"}, {"name": "link", "kind": "Other"}, {"name": "lstat", "kind": "Other"}, {"name": "mkdir", "kind": "Other"}, {"name": "mkfifo", "kind": "Other"}, {"name": "makedirs", "kind": "Other"}, {"name": "mknod", "kind": "Other"}, {"name": "major", "kind": "Other"}, {"name": "minor", "kind": "Other"}, {"name": "makedev", "kind": "Other"}, {"name": "pathconf", "kind": "Other"}, {"name": "readlink", "kind": "Other"}, {"name": "remove", "kind": "Other"}, {"name": "removedirs", "kind": "Other"}, {"name": "rename", "kind": "Other"}, {"name": "renames", "kind": "Other"}, {"name": "replace", "kind": "Other"}, {"name": "rmdir", "kind": "Other"}, {"name": "_ScandirIterator", "kind": "LocalType"}, {"name": "scandir", "kind": "Other"}, {"name": "stat", "kind": "Other"}, {"name": "statvfs", "kind": "Other"}, {"name": "symlink", "kind": "Other"}, {"name": "sync", "kind": "Other"}, {"name": "truncate", "kind": "Other"}, {"name": "unlink", "kind": "Other"}, {"name": "utime", "kind": "Other"}, {"name": "_OnError", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "fwalk", "kind": "Other"}, {"name": "getxattr", "kind": "Other"}, {"name": "listxattr", "kind": "Other"}, {"name": "removexattr", "kind": "Other"}, {"name": "setxattr", "kind": "Other"}, {"name": "abort", "kind": "Other"}, {"name": "execl", "kind": "Other"}, {"name": "execlp", "kind": "Other"}, {"name": "execle", "kind": "Other"}, {"name": "execlpe", "kind": "Other"}, {"name": "_ExecVArgs", "kind": "Other"}, {"name": "_ExecEnv", "kind": "Other"}, {"name": "execv", "kind": "Other"}, {"name": "execve", "kind": "Other"}, {"name": "execvp", "kind": "Other"}, {"name": "execvpe", "kind": "Other"}, {"name": "_exit", "kind": "Other"}, {"name": "kill", "kind": "Other"}, {"name": "fork", "kind": "Other"}, {"name": "forkpty", "kind": "Other"}, {"name": "killpg", "kind": "Other"}, {"name": "nice", "kind": "Other"}, {"name": "plock", "kind": "Other"}, {"name": "_wrap_close", "kind": "LocalType"}, {"name": "popen", "kind": "Other"}, {"name": "spawnl", "kind": "Other"}, {"name": "spawnle", "kind": "Other"}, {"name": "spawnv", "kind": "Other"}, {"name": "spawnve", "kind": "Other"}, {"name": "system", "kind": "Other"}, {"name": "times_result", "kind": "LocalType"}, {"name": "times", "kind": "Other"}, {"name": "waitpid", "kind": "Other"}, {"name": "spawnlp", "kind": "Other"}, {"name": "spawnlpe", "kind": "Other"}, {"name": "spawnvp", "kind": "Other"}, {"name": "spawnvpe", "kind": "Other"}, {"name": "wait", "kind": "Other"}, {"name": "waitid_result", "kind": "LocalType"}, {"name": "waitid", "kind": "Other"}, {"name": "wait3", "kind": "Other"}, {"name": "wait4", "kind": "Other"}, {"name": "WCOREDUMP", "kind": "Other"}, {"name": "WIFCONTINUED", "kind": "Other"}, {"name": "WIFSTOPPED", "kind": "Other"}, {"name": "WIFSIGNALED", "kind": "Other"}, {"name": "WIFEXITED", "kind": "Other"}, {"name": "WEXITSTATUS", "kind": "Other"}, {"name": "WSTOPSIG", "kind": "Other"}, {"name": "WTERMSIG", "kind": "Other"}, {"name": "posix_spawn", "kind": "Other"}, {"name": "posix_spawnp", "kind": "Other"}, {"name": "POSIX_SPAWN_OPEN", "kind": "Other"}, {"name": "POSIX_SPAWN_CLOSE", "kind": "Other"}, {"name": "POSIX_SPAWN_DUP2", "kind": "Other"}, {"name": "sched_param", "kind": "LocalType"}, {"name": "sched_get_priority_min", "kind": "Other"}, {"name": "sched_get_priority_max", "kind": "Other"}, {"name": "sched_yield", "kind": "Other"}, {"name": "sched_setscheduler", "kind": "Other"}, {"name": "sched_getscheduler", "kind": "Other"}, {"name": "sched_rr_get_interval", "kind": "Other"}, {"name": "sched_setparam", "kind": "Other"}, {"name": "sched_getparam", "kind": "Other"}, {"name": "sched_setaffinity", "kind": "Other"}, {"name": "sched_getaffinity", "kind": "Other"}, {"name": "cpu_count", "kind": "Other"}, {"name": "confstr", "kind": "Other"}, {"name": "getloadavg", "kind": "Other"}, {"name": "sysconf", "kind": "Other"}, {"name": "getrandom", "kind": "Other"}, {"name": "urandom", "kind": "Other"}, {"name": "register_at_fork", "kind": "Other"}, {"name": "MFD_CLOEXEC", "kind": "Other"}, {"name": "MFD_ALLOW_SEALING", "kind": "Other"}, {"name": "MFD_HUGETLB", "kind": "Other"}, {"name": "MFD_HUGE_SHIFT", "kind": "Other"}, {"name": "MFD_HUGE_MASK", "kind": "Other"}, {"name": "MFD_HUGE_64KB", "kind": "Other"}, {"name": "MFD_HUGE_512KB", "kind": "Other"}, {"name": "MFD_HUGE_1MB", "kind": "Other"}, {"name": "MFD_HUGE_2MB", "kind": "Other"}, {"name": "MFD_HUGE_8MB", "kind": "Other"}, {"name": "MFD_HUGE_16MB", "kind": "Other"}, {"name": "MFD_HUGE_32MB", "kind": "Other"}, {"name": "MFD_HUGE_256MB", "kind": "Other"}, {"name": "MFD_HUGE_512MB", "kind": "Other"}, {"name": "MFD_HUGE_1GB", "kind": "Other"}, {"name": "MFD_HUGE_2GB", "kind": "Other"}, {"name": "MFD_HUGE_16GB", "kind": "Other"}, {"name": "memfd_create", "kind": "Other"}, {"name": "copy_file_range", "kind": "Other"}, {"name": "waitstatus_to_exitcode", "kind": "Other"}, {"name": "pidfd_open", "kind": "Other"}], "mmap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ACCESS_DEFAULT", "kind": "Other"}, {"name": "ACCESS_READ", "kind": "Other"}, {"name": "ACCESS_WRITE", "kind": "Other"}, {"name": "ACCESS_COPY", "kind": "Other"}, {"name": "ALLOCATIONGRANULARITY", "kind": "Other"}, {"name": "MAP_DENYWRITE", "kind": "Other"}, {"name": "MAP_EXECUTABLE", "kind": "Other"}, {"name": "MAP_POPULATE", "kind": "Other"}, {"name": "MAP_ANON", "kind": "Other"}, {"name": "MAP_ANONYMOUS", "kind": "Other"}, {"name": "MAP_PRIVATE", "kind": "Other"}, {"name": "MAP_SHARED", "kind": "Other"}, {"name": "PROT_EXEC", "kind": "Other"}, {"name": "PROT_READ", "kind": "Other"}, {"name": "PROT_WRITE", "kind": "Other"}, {"name": "PAGESIZE", "kind": "Other"}, {"name": "mmap", "kind": "LocalType"}, {"name": "MADV_NORMAL", "kind": "Other"}, {"name": "MADV_RANDOM", "kind": "Other"}, {"name": "MADV_SEQUENTIAL", "kind": "Other"}, {"name": "MADV_WILLNEED", "kind": "Other"}, {"name": "MADV_DONTNEED", "kind": "Other"}, {"name": "MADV_FREE", "kind": "Other"}, {"name": "MADV_REMOVE", "kind": "Other"}, {"name": "MADV_DONTFORK", "kind": "Other"}, {"name": "MADV_DOFORK", "kind": "Other"}, {"name": "MADV_HWPOISON", "kind": "Other"}, {"name": "MADV_MERGEABLE", "kind": "Other"}, {"name": "MADV_UNMERGEABLE", "kind": "Other"}, {"name": "MADV_HUGEPAGE", "kind": "Other"}, {"name": "MADV_NOHUGEPAGE", "kind": "Other"}, {"name": "MADV_DONTDUMP", "kind": "Other"}, {"name": "MADV_DODUMP", "kind": "Other"}], "ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_UnionT", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "_T", "kind": "Other"}, {"name": "_DLLT", "kind": "Other"}, {"name": "_CT", "kind": "Other"}, {"name": "DEFAULT_MODE", "kind": "Other"}, {"name": "CDLL", "kind": "LocalType"}, {"name": "PyDLL", "kind": "LocalType"}, {"name": "LibraryLoader", "kind": "LocalType"}, {"name": "cdll", "kind": "Other"}, {"name": "pydll", "kind": "Other"}, {"name": "pythonapi", "kind": "Other"}, {"name": "_CDataMeta", "kind": "LocalType"}, {"name": "_CData", "kind": "LocalType"}, {"name": "_CanCastTo", "kind": "LocalType"}, {"name": "_PointerLike", "kind": "LocalType"}, {"name": "_ECT", "kind": "Other"}, {"name": "_PF", "kind": "Other"}, {"name": "_FuncPointer", "kind": "LocalType"}, {"name": "_NamedFuncPointer", "kind": "LocalType"}, {"name": "ArgumentError", "kind": "LocalType"}, {"name": "CFUNCTYPE", "kind": "Other"}, {"name": "PYFUNCTYPE", "kind": "Other"}, {"name": "_CArgObject", "kind": "LocalType"}, {"name": "_CVoidPLike", "kind": "Other"}, {"name": "_CVoidConstPLike", "kind": "Other"}, {"name": "addressof", "kind": "Other"}, {"name": "alignment", "kind": "Other"}, {"name": "byref", "kind": "Other"}, {"name": "_CastT", "kind": "Other"}, {"name": "cast", "kind": "Other"}, {"name": "create_string_buffer", "kind": "Other"}, {"name": "c_buffer", "kind": "Other"}, {"name": "create_unicode_buffer", "kind": "Other"}, {"name": "get_errno", "kind": "Other"}, {"name": "memmove", "kind": "Other"}, {"name": "memset", "kind": "Other"}, {"name": "POINTER", "kind": "Other"}, {"name": "_Pointer", "kind": "LocalType"}, {"name": "pointer", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "set_errno", "kind": "Other"}, {"name": "sizeof", "kind": "Other"}, {"name": "string_at", "kind": "Other"}, {"name": "wstring_at", "kind": "Other"}, {"name": "_SimpleCData", "kind": "LocalType"}, {"name": "c_byte", "kind": "LocalType"}, {"name": "c_char", "kind": "LocalType"}, {"name": "c_char_p", "kind": "LocalType"}, {"name": "c_double", "kind": "LocalType"}, {"name": "c_longdouble", "kind": "LocalType"}, {"name": "c_float", "kind": "LocalType"}, {"name": "c_int", "kind": "LocalType"}, {"name": "c_int8", "kind": "LocalType"}, {"name": "c_int16", "kind": "LocalType"}, {"name": "c_int32", "kind": "LocalType"}, {"name": "c_int64", "kind": "LocalType"}, {"name": "c_long", "kind": "LocalType"}, {"name": "c_longlong", "kind": "LocalType"}, {"name": "c_short", "kind": "LocalType"}, {"name": "c_size_t", "kind": "LocalType"}, {"name": "c_ssize_t", "kind": "LocalType"}, {"name": "c_ubyte", "kind": "LocalType"}, {"name": "c_uint", "kind": "LocalType"}, {"name": "c_uint8", "kind": "LocalType"}, {"name": "c_uint16", "kind": "LocalType"}, {"name": "c_uint32", "kind": "LocalType"}, {"name": "c_uint64", "kind": "LocalType"}, {"name": "c_ulong", "kind": "LocalType"}, {"name": "c_ulonglong", "kind": "LocalType"}, {"name": "c_ushort", "kind": "LocalType"}, {"name": "c_void_p", "kind": "LocalType"}, {"name": "c_wchar", "kind": "LocalType"}, {"name": "c_wchar_p", "kind": "LocalType"}, {"name": "c_bool", "kind": "LocalType"}, {"name": "py_object", "kind": "LocalType"}, {"name": "_CField", "kind": "LocalType"}, {"name": "_StructUnionMeta", "kind": "LocalType"}, {"name": "_StructUnionBase", "kind": "LocalType"}, {"name": "Union", "kind": "LocalType"}, {"name": "Structure", "kind": "LocalType"}, {"name": "BigEndianStructure", "kind": "LocalType"}, {"name": "LittleEndianStructure", "kind": "LocalType"}, {"name": "Array", "kind": "LocalType"}], "array": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "MutableSequence", "kind": "ImportedType", "fullname": "typing.MutableSequence"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_IntTypeCode", "kind": "Other"}, {"name": "_FloatTypeCode", "kind": "Other"}, {"name": "_UnicodeTypeCode", "kind": "Other"}, {"name": "_TypeCode", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "typecodes", "kind": "Other"}, {"name": "array", "kind": "LocalType"}, {"name": "ArrayType", "kind": "Other"}], "datetime": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_D", "kind": "Other"}, {"name": "MINYEAR", "kind": "Other"}, {"name": "MAXYEAR", "kind": "Other"}, {"name": "tzinfo", "kind": "LocalType"}, {"name": "_TzInfo", "kind": "Other"}, {"name": "timezone", "kind": "LocalType"}, {"name": "_IsoCalendarDate", "kind": "LocalType"}, {"name": "date", "kind": "LocalType"}, {"name": "time", "kind": "LocalType"}, {"name": "_Date", "kind": "Other"}, {"name": "_Time", "kind": "Other"}, {"name": "timedelta", "kind": "LocalType"}, {"name": "datetime", "kind": "LocalType"}], "enum": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsKeysAndGetItem", "kind": "ImportedType", "fullname": "_typeshed.SupportsKeysAndGetItem"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "_builtins_property", "kind": "ImportedType", "fullname": "builtins.property"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_EnumMemberT", "kind": "Other"}, {"name": "_EnumerationT", "kind": "Other"}, {"name": "_EnumNames", "kind": "Other"}, {"name": "_EnumDict", "kind": "LocalType"}, {"name": "EnumMeta", "kind": "LocalType"}, {"name": "_magic_enum_attr", "kind": "Other"}, {"name": "Enum", "kind": "LocalType"}, {"name": "_IntEnumBase", "kind": "Other"}, {"name": "IntEnum", "kind": "LocalType"}, {"name": "unique", "kind": "Other"}, {"name": "_auto_null", "kind": "Other"}, {"name": "auto", "kind": "LocalType"}, {"name": "Flag", "kind": "LocalType"}, {"name": "IntFlag", "kind": "LocalType"}], "abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_R_co", "kind": "Other"}, {"name": "_FuncT", "kind": "Other"}, {"name": "ABCMeta", "kind": "LocalType"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "abstractclassmethod", "kind": "LocalType"}, {"name": "abstractstaticmethod", "kind": "LocalType"}, {"name": "abstractproperty", "kind": "LocalType"}, {"name": "ABC", "kind": "LocalType"}, {"name": "get_cache_token", "kind": "Other"}, {"name": "update_abstractmethods", "kind": "Other"}], "contextlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "AsyncGenerator", "kind": "ImportedType", "fullname": "typing.AsyncGenerator"}, {"name": "AsyncIterator", "kind": "ImportedType", "fullname": "typing.AsyncIterator"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_T_io", "kind": "Other"}, {"name": "_F", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "_ExitFunc", "kind": "Other"}, {"name": "_CM_EF", "kind": "Other"}, {"name": "AbstractContextManager", "kind": "LocalType"}, {"name": "AbstractAsyncContextManager", "kind": "LocalType"}, {"name": "ContextDecorator", "kind": "LocalType"}, {"name": "_GeneratorContextManager", "kind": "LocalType"}, {"name": "contextmanager", "kind": "Other"}, {"name": "_AF", "kind": "Other"}, {"name": "AsyncContextDecorator", "kind": "LocalType"}, {"name": "_AsyncGeneratorContextManager", "kind": "LocalType"}, {"name": "asynccontextmanager", "kind": "Other"}, {"name": "_SupportsClose", "kind": "LocalType"}, {"name": "_SupportsCloseT", "kind": "Other"}, {"name": "closing", "kind": "LocalType"}, {"name": "_SupportsAclose", "kind": "LocalType"}, {"name": "_SupportsAcloseT", "kind": "Other"}, {"name": "aclosing", "kind": "LocalType"}, {"name": "suppress", "kind": "LocalType"}, {"name": "_RedirectStream", "kind": "LocalType"}, {"name": "redirect_stdout", "kind": "LocalType"}, {"name": "redirect_stderr", "kind": "LocalType"}, {"name": "ExitStack", "kind": "LocalType"}, {"name": "_ExitCoroFunc", "kind": "Other"}, {"name": "_ACM_EF", "kind": "Other"}, {"name": "AsyncExitStack", "kind": "LocalType"}, {"name": "nullcontext", "kind": "LocalType"}], "re": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "enum", "kind": "Module", "fullname": "enum"}, {"name": "sre_compile", "kind": "Module", "fullname": "sre_compile"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "Match", "kind": "LocalType"}, {"name": "Pattern", "kind": "LocalType"}, {"name": "RegexFlag", "kind": "LocalType"}, {"name": "A", "kind": "Other"}, {"name": "ASCII", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "I", "kind": "Other"}, {"name": "IGNORECASE", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "LOCALE", "kind": "Other"}, {"name": "M", "kind": "Other"}, {"name": "MULTILINE", "kind": "Other"}, {"name": "S", "kind": "Other"}, {"name": "DOTALL", "kind": "Other"}, {"name": "X", "kind": "Other"}, {"name": "VERBOSE", "kind": "Other"}, {"name": "U", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "T", "kind": "Other"}, {"name": "TEMPLATE", "kind": "Other"}, {"name": "_FlagsType", "kind": "Other"}, {"name": "compile", "kind": "Other"}, {"name": "search", "kind": "Other"}, {"name": "match", "kind": "Other"}, {"name": "fullmatch", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "findall", "kind": "Other"}, {"name": "finditer", "kind": "Other"}, {"name": "sub", "kind": "Other"}, {"name": "subn", "kind": "Other"}, {"name": "escape", "kind": "Other"}, {"name": "purge", "kind": "Other"}, {"name": "template", "kind": "Other"}], "_ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "_Identifier", "kind": "Other"}, {"name": "AST", "kind": "LocalType"}, {"name": "mod", "kind": "LocalType"}, {"name": "type_ignore", "kind": "LocalType"}, {"name": "TypeIgnore", "kind": "LocalType"}, {"name": "FunctionType", "kind": "LocalType"}, {"name": "Module", "kind": "LocalType"}, {"name": "Interactive", "kind": "LocalType"}, {"name": "Expression", "kind": "LocalType"}, {"name": "stmt", "kind": "LocalType"}, {"name": "FunctionDef", "kind": "LocalType"}, {"name": "AsyncFunctionDef", "kind": "LocalType"}, {"name": "ClassDef", "kind": "LocalType"}, {"name": "Return", "kind": "LocalType"}, {"name": "Delete", "kind": "LocalType"}, {"name": "Assign", "kind": "LocalType"}, {"name": "AugAssign", "kind": "LocalType"}, {"name": "AnnAssign", "kind": "LocalType"}, {"name": "For", "kind": "LocalType"}, {"name": "AsyncFor", "kind": "LocalType"}, {"name": "While", "kind": "LocalType"}, {"name": "If", "kind": "LocalType"}, {"name": "With", "kind": "LocalType"}, {"name": "AsyncWith", "kind": "LocalType"}, {"name": "Raise", "kind": "LocalType"}, {"name": "Try", "kind": "LocalType"}, {"name": "Assert", "kind": "LocalType"}, {"name": "Import", "kind": "LocalType"}, {"name": "ImportFrom", "kind": "LocalType"}, {"name": "Global", "kind": "LocalType"}, {"name": "Nonlocal", "kind": "LocalType"}, {"name": "Expr", "kind": "LocalType"}, {"name": "Pass", "kind": "LocalType"}, {"name": "Break", "kind": "LocalType"}, {"name": "Continue", "kind": "LocalType"}, {"name": "expr", "kind": "LocalType"}, {"name": "BoolOp", "kind": "LocalType"}, {"name": "BinOp", "kind": "LocalType"}, {"name": "UnaryOp", "kind": "LocalType"}, {"name": "Lambda", "kind": "LocalType"}, {"name": "IfExp", "kind": "LocalType"}, {"name": "Dict", "kind": "LocalType"}, {"name": "Set", "kind": "LocalType"}, {"name": "ListComp", "kind": "LocalType"}, {"name": "SetComp", "kind": "LocalType"}, {"name": "DictComp", "kind": "LocalType"}, {"name": "GeneratorExp", "kind": "LocalType"}, {"name": "Await", "kind": "LocalType"}, {"name": "Yield", "kind": "LocalType"}, {"name": "YieldFrom", "kind": "LocalType"}, {"name": "Compare", "kind": "LocalType"}, {"name": "Call", "kind": "LocalType"}, {"name": "FormattedValue", "kind": "LocalType"}, {"name": "JoinedStr", "kind": "LocalType"}, {"name": "Constant", "kind": "LocalType"}, {"name": "NamedExpr", "kind": "LocalType"}, {"name": "Attribute", "kind": "LocalType"}, {"name": "_Slice", "kind": "Other"}, {"name": "Slice", "kind": "LocalType"}, {"name": "Subscript", "kind": "LocalType"}, {"name": "Starred", "kind": "LocalType"}, {"name": "Name", "kind": "LocalType"}, {"name": "List", "kind": "LocalType"}, {"name": "Tuple", "kind": "LocalType"}, {"name": "expr_context", "kind": "LocalType"}, {"name": "Del", "kind": "LocalType"}, {"name": "Load", "kind": "LocalType"}, {"name": "Store", "kind": "LocalType"}, {"name": "boolop", "kind": "LocalType"}, {"name": "And", "kind": "LocalType"}, {"name": "Or", "kind": "LocalType"}, {"name": "operator", "kind": "LocalType"}, {"name": "Add", "kind": "LocalType"}, {"name": "BitAnd", "kind": "LocalType"}, {"name": "BitOr", "kind": "LocalType"}, {"name": "BitXor", "kind": "LocalType"}, {"name": "Div", "kind": "LocalType"}, {"name": "FloorDiv", "kind": "LocalType"}, {"name": "LShift", "kind": "LocalType"}, {"name": "Mod", "kind": "LocalType"}, {"name": "Mult", "kind": "LocalType"}, {"name": "MatMult", "kind": "LocalType"}, {"name": "Pow", "kind": "LocalType"}, {"name": "RShift", "kind": "LocalType"}, {"name": "Sub", "kind": "LocalType"}, {"name": "unaryop", "kind": "LocalType"}, {"name": "Invert", "kind": "LocalType"}, {"name": "Not", "kind": "LocalType"}, {"name": "UAdd", "kind": "LocalType"}, {"name": "USub", "kind": "LocalType"}, {"name": "cmpop", "kind": "LocalType"}, {"name": "Eq", "kind": "LocalType"}, {"name": "Gt", "kind": "LocalType"}, {"name": "GtE", "kind": "LocalType"}, {"name": "In", "kind": "LocalType"}, {"name": "Is", "kind": "LocalType"}, {"name": "IsNot", "kind": "LocalType"}, {"name": "Lt", "kind": "LocalType"}, {"name": "LtE", "kind": "LocalType"}, {"name": "NotEq", "kind": "LocalType"}, {"name": "NotIn", "kind": "LocalType"}, {"name": "comprehension", "kind": "LocalType"}, {"name": "excepthandler", "kind": "LocalType"}, {"name": "ExceptHandler", "kind": "LocalType"}, {"name": "arguments", "kind": "LocalType"}, {"name": "arg", "kind": "LocalType"}, {"name": "keyword", "kind": "LocalType"}, {"name": "alias", "kind": "LocalType"}, {"name": "withitem", "kind": "LocalType"}, {"name": "Match", "kind": "LocalType"}, {"name": "pattern", "kind": "LocalType"}, {"name": "_Pattern", "kind": "Other"}, {"name": "match_case", "kind": "LocalType"}, {"name": "MatchValue", "kind": "LocalType"}, {"name": "MatchSingleton", "kind": "LocalType"}, {"name": "MatchSequence", "kind": "LocalType"}, {"name": "MatchStar", "kind": "LocalType"}, {"name": "MatchMapping", "kind": "LocalType"}, {"name": "MatchClass", "kind": "LocalType"}, {"name": "MatchAs", "kind": "LocalType"}, {"name": "MatchOr", "kind": "LocalType"}], "io": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "builtins", "kind": "Module", "fullname": "builtins"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "WriteableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "_Opener", "kind": "Other"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "DEFAULT_BUFFER_SIZE", "kind": "Other"}, {"name": "SEEK_SET", "kind": "Other"}, {"name": "SEEK_CUR", "kind": "Other"}, {"name": "SEEK_END", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "open_code", "kind": "Other"}, {"name": "BlockingIOError", "kind": "Other"}, {"name": "UnsupportedOperation", "kind": "LocalType"}, {"name": "IOBase", "kind": "LocalType"}, {"name": "RawIOBase", "kind": "LocalType"}, {"name": "BufferedIOBase", "kind": "LocalType"}, {"name": "FileIO", "kind": "LocalType"}, {"name": "BytesIO", "kind": "LocalType"}, {"name": "BufferedReader", "kind": "LocalType"}, {"name": "BufferedWriter", "kind": "LocalType"}, {"name": "BufferedRandom", "kind": "LocalType"}, {"name": "BufferedRWPair", "kind": "LocalType"}, {"name": "TextIOBase", "kind": "LocalType"}, {"name": "TextIOWrapper", "kind": "LocalType"}, {"name": "StringIO", "kind": "LocalType"}, {"name": "IncrementalNewlineDecoder", "kind": "LocalType"}], "importlib.abc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleSpec", "kind": "ImportedType", "fullname": "importlib.machinery.ModuleSpec"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Finder", "kind": "LocalType"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ResourceLoader", "kind": "LocalType"}, {"name": "InspectLoader", "kind": "LocalType"}, {"name": "ExecutionLoader", "kind": "LocalType"}, {"name": "SourceLoader", "kind": "LocalType"}, {"name": "MetaPathFinder", "kind": "LocalType"}, {"name": "PathEntryFinder", "kind": "LocalType"}, {"name": "FileLoader", "kind": "LocalType"}, {"name": "ResourceReader", "kind": "LocalType"}, {"name": "Traversable", "kind": "LocalType"}, {"name": "TraversableResources", "kind": "LocalType"}], "importlib.machinery": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "importlib", "kind": "Module", "fullname": "importlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "DistributionFinder", "kind": "ImportedType", "fullname": "importlib.metadata.DistributionFinder"}, {"name": "PathDistribution", "kind": "ImportedType", "fullname": "importlib.metadata.PathDistribution"}, {"name": "ModuleSpec", "kind": "LocalType"}, {"name": "BuiltinImporter", "kind": "LocalType"}, {"name": "FrozenImporter", "kind": "LocalType"}, {"name": "WindowsRegistryFinder", "kind": "LocalType"}, {"name": "PathFinder", "kind": "LocalType"}, {"name": "SOURCE_SUFFIXES", "kind": "Other"}, {"name": "DEBUG_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "OPTIMIZED_BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "BYTECODE_SUFFIXES", "kind": "Other"}, {"name": "EXTENSION_SUFFIXES", "kind": "Other"}, {"name": "all_suffixes", "kind": "Other"}, {"name": "FileFinder", "kind": "LocalType"}, {"name": "SourceFileLoader", "kind": "LocalType"}, {"name": "SourcelessFileLoader", "kind": "LocalType"}, {"name": "ExtensionFileLoader", "kind": "LocalType"}], "pickle": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsBytes", "kind": "ImportedType", "fullname": "typing.SupportsBytes"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "HIGHEST_PROTOCOL", "kind": "Other"}, {"name": "DEFAULT_PROTOCOL", "kind": "Other"}, {"name": "bytes_types", "kind": "Other"}, {"name": "_ReadableFileobj", "kind": "LocalType"}, {"name": "PickleBuffer", "kind": "LocalType"}, {"name": "_BufferCallback", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "PickleError", "kind": "LocalType"}, {"name": "PicklingError", "kind": "LocalType"}, {"name": "UnpicklingError", "kind": "LocalType"}, {"name": "_ReducedType", "kind": "Other"}, {"name": "Pickler", "kind": "LocalType"}, {"name": "Unpickler", "kind": "LocalType"}, {"name": "MARK", "kind": "Other"}, {"name": "STOP", "kind": "Other"}, {"name": "POP", "kind": "Other"}, {"name": "POP_MARK", "kind": "Other"}, {"name": "DUP", "kind": "Other"}, {"name": "FLOAT", "kind": "Other"}, {"name": "INT", "kind": "Other"}, {"name": "BININT", "kind": "Other"}, {"name": "BININT1", "kind": "Other"}, {"name": "LONG", "kind": "Other"}, {"name": "BININT2", "kind": "Other"}, {"name": "NONE", "kind": "Other"}, {"name": "PERSID", "kind": "Other"}, {"name": "BINPERSID", "kind": "Other"}, {"name": "REDUCE", "kind": "Other"}, {"name": "STRING", "kind": "Other"}, {"name": "BINSTRING", "kind": "Other"}, {"name": "SHORT_BINSTRING", "kind": "Other"}, {"name": "UNICODE", "kind": "Other"}, {"name": "BINUNICODE", "kind": "Other"}, {"name": "APPEND", "kind": "Other"}, {"name": "BUILD", "kind": "Other"}, {"name": "GLOBAL", "kind": "Other"}, {"name": "DICT", "kind": "Other"}, {"name": "EMPTY_DICT", "kind": "Other"}, {"name": "APPENDS", "kind": "Other"}, {"name": "GET", "kind": "Other"}, {"name": "BINGET", "kind": "Other"}, {"name": "INST", "kind": "Other"}, {"name": "LONG_BINGET", "kind": "Other"}, {"name": "LIST", "kind": "Other"}, {"name": "EMPTY_LIST", "kind": "Other"}, {"name": "OBJ", "kind": "Other"}, {"name": "PUT", "kind": "Other"}, {"name": "BINPUT", "kind": "Other"}, {"name": "LONG_BINPUT", "kind": "Other"}, {"name": "SETITEM", "kind": "Other"}, {"name": "TUPLE", "kind": "Other"}, {"name": "EMPTY_TUPLE", "kind": "Other"}, {"name": "SETITEMS", "kind": "Other"}, {"name": "BINFLOAT", "kind": "Other"}, {"name": "TRUE", "kind": "Other"}, {"name": "FALSE", "kind": "Other"}, {"name": "PROTO", "kind": "Other"}, {"name": "NEWOBJ", "kind": "Other"}, {"name": "EXT1", "kind": "Other"}, {"name": "EXT2", "kind": "Other"}, {"name": "EXT4", "kind": "Other"}, {"name": "TUPLE1", "kind": "Other"}, {"name": "TUPLE2", "kind": "Other"}, {"name": "TUPLE3", "kind": "Other"}, {"name": "NEWTRUE", "kind": "Other"}, {"name": "NEWFALSE", "kind": "Other"}, {"name": "LONG1", "kind": "Other"}, {"name": "LONG4", "kind": "Other"}, {"name": "BINBYTES", "kind": "Other"}, {"name": "SHORT_BINBYTES", "kind": "Other"}, {"name": "SHORT_BINUNICODE", "kind": "Other"}, {"name": "BINUNICODE8", "kind": "Other"}, {"name": "BINBYTES8", "kind": "Other"}, {"name": "EMPTY_SET", "kind": "Other"}, {"name": "ADDITEMS", "kind": "Other"}, {"name": "FROZENSET", "kind": "Other"}, {"name": "NEWOBJ_EX", "kind": "Other"}, {"name": "STACK_GLOBAL", "kind": "Other"}, {"name": "MEMOIZE", "kind": "Other"}, {"name": "FRAME", "kind": "Other"}, {"name": "BYTEARRAY8", "kind": "Other"}, {"name": "NEXT_BUFFER", "kind": "Other"}, {"name": "READONLY_BUFFER", "kind": "Other"}, {"name": "encode_long", "kind": "Other"}, {"name": "decode_long", "kind": "Other"}, {"name": "_Pickler", "kind": "Other"}, {"name": "_Unpickler", "kind": "Other"}], "numpy._typing._nbit": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "_NBitByte", "kind": "Other"}, {"name": "_NBitShort", "kind": "Other"}, {"name": "_NBitIntC", "kind": "Other"}, {"name": "_NBitIntP", "kind": "Other"}, {"name": "_NBitInt", "kind": "Other"}, {"name": "_NBitLongLong", "kind": "Other"}, {"name": "_NBitHalf", "kind": "Other"}, {"name": "_NBitSingle", "kind": "Other"}, {"name": "_NBitDouble", "kind": "Other"}, {"name": "_NBitLongDouble", "kind": "Other"}], "numpy._typing._scalars": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Tuple", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_CharLike_co", "kind": "Other"}, {"name": "_BoolLike_co", "kind": "Other"}, {"name": "_UIntLike_co", "kind": "Other"}, {"name": "_IntLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_TD64Like_co", "kind": "Other"}, {"name": "_NumberLike_co", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "_VoidLike_co", "kind": "Other"}], "numpy._typing._generic_alias": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "TYPE_CHECKING", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_to_str", "kind": "Other"}, {"name": "_parse_parameters", "kind": "Other"}, {"name": "_reconstruct_alias", "kind": "Other"}, {"name": "_GenericAlias", "kind": "LocalType"}, {"name": "_GENERIC_ALIAS_TYPE", "kind": "Other"}, {"name": "ScalarType", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}], "numpy._typing._nested_sequence": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_NestedSequence", "kind": "LocalType"}], "__future__": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_VersionInfo", "kind": "Other"}, {"name": "_Feature", "kind": "LocalType"}, {"name": "absolute_import", "kind": "Other"}, {"name": "division", "kind": "Other"}, {"name": "generators", "kind": "Other"}, {"name": "nested_scopes", "kind": "Other"}, {"name": "print_function", "kind": "Other"}, {"name": "unicode_literals", "kind": "Other"}, {"name": "with_statement", "kind": "Other"}, {"name": "barry_as_FLUFL", "kind": "Other"}, {"name": "generator_stop", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "all_feature_names", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy.core.umath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_multiarray_umath", "kind": "Other"}, {"name": "_UFUNC_API", "kind": "Other"}, {"name": "_add_newdoc_ufunc", "kind": "Other"}, {"name": "_ones_like", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy.ma.mrecords": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "MaskedArray", "kind": "ImportedType", "fullname": "numpy.ma.core.MaskedArray"}, {"name": "__all__", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "MaskedRecords", "kind": "LocalType"}, {"name": "mrecarray", "kind": "Other"}, {"name": "fromarrays", "kind": "Other"}, {"name": "fromrecords", "kind": "Other"}, {"name": "fromtextfile", "kind": "Other"}, {"name": "addfield", "kind": "Other"}], "zipfile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "io", "kind": "Module", "fullname": "io"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "_BufferWithLen", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_DateTuple", "kind": "Other"}, {"name": "_ReadWriteMode", "kind": "Other"}, {"name": "_ReadWriteBinaryMode", "kind": "Other"}, {"name": "_ZipFileMode", "kind": "Other"}, {"name": "BadZipFile", "kind": "LocalType"}, {"name": "BadZipfile", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "LargeZipFile", "kind": "LocalType"}, {"name": "_ZipStream", "kind": "LocalType"}, {"name": "_SupportsReadSeekTell", "kind": "LocalType"}, {"name": "_ClosableZipStream", "kind": "LocalType"}, {"name": "ZipExtFile", "kind": "LocalType"}, {"name": "_Writer", "kind": "LocalType"}, {"name": "ZipFile", "kind": "LocalType"}, {"name": "PyZipFile", "kind": "LocalType"}, {"name": "ZipInfo", "kind": "LocalType"}, {"name": "_PathOpenProtocol", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "is_zipfile", "kind": "Other"}, {"name": "ZIP_STORED", "kind": "Other"}, {"name": "ZIP_DEFLATED", "kind": "Other"}, {"name": "ZIP64_LIMIT", "kind": "Other"}, {"name": "ZIP_FILECOUNT_LIMIT", "kind": "Other"}, {"name": "ZIP_MAX_COMMENT", "kind": "Other"}, {"name": "ZIP_BZIP2", "kind": "Other"}, {"name": "ZIP_LZMA", "kind": "Other"}], "ast": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "PyCF_ONLY_AST", "kind": "Other"}, {"name": "PyCF_TYPE_COMMENTS", "kind": "Other"}, {"name": "PyCF_ALLOW_TOP_LEVEL_AWAIT", "kind": "Other"}, {"name": "AST", "kind": "ImportedType", "fullname": "_ast.AST"}, {"name": "mod", "kind": "ImportedType", "fullname": "_ast.mod"}, {"name": "type_ignore", "kind": "ImportedType", "fullname": "_ast.type_ignore"}, {"name": "TypeIgnore", "kind": "ImportedType", "fullname": "_ast.TypeIgnore"}, {"name": "FunctionType", "kind": "ImportedType", "fullname": "_ast.FunctionType"}, {"name": "Module", "kind": "ImportedType", "fullname": "_ast.Module"}, {"name": "Interactive", "kind": "ImportedType", "fullname": "_ast.Interactive"}, {"name": "Expression", "kind": "ImportedType", "fullname": "_ast.Expression"}, {"name": "stmt", "kind": "ImportedType", "fullname": "_ast.stmt"}, {"name": "FunctionDef", "kind": "ImportedType", "fullname": "_ast.FunctionDef"}, {"name": "AsyncFunctionDef", "kind": "ImportedType", "fullname": "_ast.AsyncFunctionDef"}, {"name": "ClassDef", "kind": "ImportedType", "fullname": "_ast.ClassDef"}, {"name": "Return", "kind": "ImportedType", "fullname": "_ast.Return"}, {"name": "Delete", "kind": "ImportedType", "fullname": "_ast.Delete"}, {"name": "Assign", "kind": "ImportedType", "fullname": "_ast.Assign"}, {"name": "AugAssign", "kind": "ImportedType", "fullname": "_ast.AugAssign"}, {"name": "AnnAssign", "kind": "ImportedType", "fullname": "_ast.AnnAssign"}, {"name": "For", "kind": "ImportedType", "fullname": "_ast.For"}, {"name": "AsyncFor", "kind": "ImportedType", "fullname": "_ast.AsyncFor"}, {"name": "While", "kind": "ImportedType", "fullname": "_ast.While"}, {"name": "If", "kind": "ImportedType", "fullname": "_ast.If"}, {"name": "With", "kind": "ImportedType", "fullname": "_ast.With"}, {"name": "AsyncWith", "kind": "ImportedType", "fullname": "_ast.AsyncWith"}, {"name": "Raise", "kind": "ImportedType", "fullname": "_ast.Raise"}, {"name": "Try", "kind": "ImportedType", "fullname": "_ast.Try"}, {"name": "Assert", "kind": "ImportedType", "fullname": "_ast.Assert"}, {"name": "Import", "kind": "ImportedType", "fullname": "_ast.Import"}, {"name": "ImportFrom", "kind": "ImportedType", "fullname": "_ast.ImportFrom"}, {"name": "Global", "kind": "ImportedType", "fullname": "_ast.Global"}, {"name": "Nonlocal", "kind": "ImportedType", "fullname": "_ast.Nonlocal"}, {"name": "Expr", "kind": "ImportedType", "fullname": "_ast.Expr"}, {"name": "Pass", "kind": "ImportedType", "fullname": "_ast.Pass"}, {"name": "Break", "kind": "ImportedType", "fullname": "_ast.Break"}, {"name": "Continue", "kind": "ImportedType", "fullname": "_ast.Continue"}, {"name": "expr", "kind": "ImportedType", "fullname": "_ast.expr"}, {"name": "BoolOp", "kind": "ImportedType", "fullname": "_ast.BoolOp"}, {"name": "BinOp", "kind": "ImportedType", "fullname": "_ast.BinOp"}, {"name": "UnaryOp", "kind": "ImportedType", "fullname": "_ast.UnaryOp"}, {"name": "Lambda", "kind": "ImportedType", "fullname": "_ast.Lambda"}, {"name": "IfExp", "kind": "ImportedType", "fullname": "_ast.IfExp"}, {"name": "Dict", "kind": "ImportedType", "fullname": "_ast.Dict"}, {"name": "Set", "kind": "ImportedType", "fullname": "_ast.Set"}, {"name": "ListComp", "kind": "ImportedType", "fullname": "_ast.ListComp"}, {"name": "SetComp", "kind": "ImportedType", "fullname": "_ast.SetComp"}, {"name": "DictComp", "kind": "ImportedType", "fullname": "_ast.DictComp"}, {"name": "GeneratorExp", "kind": "ImportedType", "fullname": "_ast.GeneratorExp"}, {"name": "Await", "kind": "ImportedType", "fullname": "_ast.Await"}, {"name": "Yield", "kind": "ImportedType", "fullname": "_ast.Yield"}, {"name": "YieldFrom", "kind": "ImportedType", "fullname": "_ast.YieldFrom"}, {"name": "Compare", "kind": "ImportedType", "fullname": "_ast.Compare"}, {"name": "Call", "kind": "ImportedType", "fullname": "_ast.Call"}, {"name": "FormattedValue", "kind": "ImportedType", "fullname": "_ast.FormattedValue"}, {"name": "JoinedStr", "kind": "ImportedType", "fullname": "_ast.JoinedStr"}, {"name": "Constant", "kind": "ImportedType", "fullname": "_ast.Constant"}, {"name": "NamedExpr", "kind": "ImportedType", "fullname": "_ast.NamedExpr"}, {"name": "Attribute", "kind": "ImportedType", "fullname": "_ast.Attribute"}, {"name": "Slice", "kind": "ImportedType", "fullname": "_ast.Slice"}, {"name": "Subscript", "kind": "ImportedType", "fullname": "_ast.Subscript"}, {"name": "Starred", "kind": "ImportedType", "fullname": "_ast.Starred"}, {"name": "Name", "kind": "ImportedType", "fullname": "_ast.Name"}, {"name": "List", "kind": "ImportedType", "fullname": "_ast.List"}, {"name": "Tuple", "kind": "ImportedType", "fullname": "_ast.Tuple"}, {"name": "expr_context", "kind": "ImportedType", "fullname": "_ast.expr_context"}, {"name": "Del", "kind": "ImportedType", "fullname": "_ast.Del"}, {"name": "Load", "kind": "ImportedType", "fullname": "_ast.Load"}, {"name": "Store", "kind": "ImportedType", "fullname": "_ast.Store"}, {"name": "boolop", "kind": "ImportedType", "fullname": "_ast.boolop"}, {"name": "And", "kind": "ImportedType", "fullname": "_ast.And"}, {"name": "Or", "kind": "ImportedType", "fullname": "_ast.Or"}, {"name": "operator", "kind": "ImportedType", "fullname": "_ast.operator"}, {"name": "Add", "kind": "ImportedType", "fullname": "_ast.Add"}, {"name": "BitAnd", "kind": "ImportedType", "fullname": "_ast.BitAnd"}, {"name": "BitOr", "kind": "ImportedType", "fullname": "_ast.BitOr"}, {"name": "BitXor", "kind": "ImportedType", "fullname": "_ast.BitXor"}, {"name": "Div", "kind": "ImportedType", "fullname": "_ast.Div"}, {"name": "FloorDiv", "kind": "ImportedType", "fullname": "_ast.FloorDiv"}, {"name": "LShift", "kind": "ImportedType", "fullname": "_ast.LShift"}, {"name": "Mod", "kind": "ImportedType", "fullname": "_ast.Mod"}, {"name": "Mult", "kind": "ImportedType", "fullname": "_ast.Mult"}, {"name": "MatMult", "kind": "ImportedType", "fullname": "_ast.MatMult"}, {"name": "Pow", "kind": "ImportedType", "fullname": "_ast.Pow"}, {"name": "RShift", "kind": "ImportedType", "fullname": "_ast.RShift"}, {"name": "Sub", "kind": "ImportedType", "fullname": "_ast.Sub"}, {"name": "unaryop", "kind": "ImportedType", "fullname": "_ast.unaryop"}, {"name": "Invert", "kind": "ImportedType", "fullname": "_ast.Invert"}, {"name": "Not", "kind": "ImportedType", "fullname": "_ast.Not"}, {"name": "UAdd", "kind": "ImportedType", "fullname": "_ast.UAdd"}, {"name": "USub", "kind": "ImportedType", "fullname": "_ast.USub"}, {"name": "cmpop", "kind": "ImportedType", "fullname": "_ast.cmpop"}, {"name": "Eq", "kind": "ImportedType", "fullname": "_ast.Eq"}, {"name": "Gt", "kind": "ImportedType", "fullname": "_ast.Gt"}, {"name": "GtE", "kind": "ImportedType", "fullname": "_ast.GtE"}, {"name": "In", "kind": "ImportedType", "fullname": "_ast.In"}, {"name": "Is", "kind": "ImportedType", "fullname": "_ast.Is"}, {"name": "IsNot", "kind": "ImportedType", "fullname": "_ast.IsNot"}, {"name": "Lt", "kind": "ImportedType", "fullname": "_ast.Lt"}, {"name": "LtE", "kind": "ImportedType", "fullname": "_ast.LtE"}, {"name": "NotEq", "kind": "ImportedType", "fullname": "_ast.NotEq"}, {"name": "NotIn", "kind": "ImportedType", "fullname": "_ast.NotIn"}, {"name": "comprehension", "kind": "ImportedType", "fullname": "_ast.comprehension"}, {"name": "excepthandler", "kind": "ImportedType", "fullname": "_ast.excepthandler"}, {"name": "ExceptHandler", "kind": "ImportedType", "fullname": "_ast.ExceptHandler"}, {"name": "arguments", "kind": "ImportedType", "fullname": "_ast.arguments"}, {"name": "arg", "kind": "ImportedType", "fullname": "_ast.arg"}, {"name": "keyword", "kind": "ImportedType", "fullname": "_ast.keyword"}, {"name": "alias", "kind": "ImportedType", "fullname": "_ast.alias"}, {"name": "withitem", "kind": "ImportedType", "fullname": "_ast.withitem"}, {"name": "Match", "kind": "ImportedType", "fullname": "_ast.Match"}, {"name": "pattern", "kind": "ImportedType", "fullname": "_ast.pattern"}, {"name": "match_case", "kind": "ImportedType", "fullname": "_ast.match_case"}, {"name": "MatchValue", "kind": "ImportedType", "fullname": "_ast.MatchValue"}, {"name": "MatchSingleton", "kind": "ImportedType", "fullname": "_ast.MatchSingleton"}, {"name": "MatchSequence", "kind": "ImportedType", "fullname": "_ast.MatchSequence"}, {"name": "MatchStar", "kind": "ImportedType", "fullname": "_ast.MatchStar"}, {"name": "MatchMapping", "kind": "ImportedType", "fullname": "_ast.MatchMapping"}, {"name": "MatchClass", "kind": "ImportedType", "fullname": "_ast.MatchClass"}, {"name": "MatchAs", "kind": "ImportedType", "fullname": "_ast.MatchAs"}, {"name": "MatchOr", "kind": "ImportedType", "fullname": "_ast.MatchOr"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "_ABC", "kind": "LocalType"}, {"name": "Num", "kind": "LocalType"}, {"name": "Str", "kind": "LocalType"}, {"name": "Bytes", "kind": "LocalType"}, {"name": "NameConstant", "kind": "LocalType"}, {"name": "Ellipsis", "kind": "LocalType"}, {"name": "slice", "kind": "LocalType"}, {"name": "ExtSlice", "kind": "LocalType"}, {"name": "Index", "kind": "LocalType"}, {"name": "Suite", "kind": "LocalType"}, {"name": "AugLoad", "kind": "LocalType"}, {"name": "AugStore", "kind": "LocalType"}, {"name": "Param", "kind": "LocalType"}, {"name": "NodeVisitor", "kind": "LocalType"}, {"name": "NodeTransformer", "kind": "LocalType"}, {"name": "_T", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "unparse", "kind": "Other"}, {"name": "copy_location", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "fix_missing_locations", "kind": "Other"}, {"name": "get_docstring", "kind": "Other"}, {"name": "increment_lineno", "kind": "Other"}, {"name": "iter_child_nodes", "kind": "Other"}, {"name": "iter_fields", "kind": "Other"}, {"name": "literal_eval", "kind": "Other"}, {"name": "get_source_segment", "kind": "Other"}, {"name": "walk", "kind": "Other"}, {"name": "main", "kind": "Other"}], "numpy.core.overrides": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "collections", "kind": "Module", "fullname": "collections"}, {"name": "functools", "kind": "Module", "fullname": "functools"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "add_docstring", "kind": "Other"}, {"name": "implement_array_function", "kind": "Other"}, {"name": "_get_implementing_args", "kind": "Other"}, {"name": "getargspec", "kind": "Other"}, {"name": "ARRAY_FUNCTION_ENABLED", "kind": "Other"}, {"name": "array_function_like_doc", "kind": "Other"}, {"name": "set_array_function_like_doc", "kind": "Other"}, {"name": "ArgSpec", "kind": "LocalType"}, {"name": "verify_matching_signatures", "kind": "Other"}, {"name": "set_module", "kind": "Other"}, {"name": "array_function_dispatch", "kind": "Other"}, {"name": "array_function_from_dispatcher", "kind": "Other"}], "numpy._typing._char_codes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}], "numpy._typing._shape": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Tuple", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "_Shape", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}], "numpy._typing._dtype_like": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "List", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Tuple", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "Type", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "np", "kind": "Module", "fullname": "numpy"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "DType", "kind": "Other"}, {"name": "_BoolCodes", "kind": "Other"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_Float16Codes", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Complex64Codes", "kind": "Other"}, {"name": "_Complex128Codes", "kind": "Other"}, {"name": "_ByteCodes", "kind": "Other"}, {"name": "_ShortCodes", "kind": "Other"}, {"name": "_IntCCodes", "kind": "Other"}, {"name": "_IntPCodes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_LongLongCodes", "kind": "Other"}, {"name": "_UByteCodes", "kind": "Other"}, {"name": "_UShortCodes", "kind": "Other"}, {"name": "_UIntCCodes", "kind": "Other"}, {"name": "_UIntPCodes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ULongLongCodes", "kind": "Other"}, {"name": "_HalfCodes", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_LongDoubleCodes", "kind": "Other"}, {"name": "_CSingleCodes", "kind": "Other"}, {"name": "_CDoubleCodes", "kind": "Other"}, {"name": "_CLongDoubleCodes", "kind": "Other"}, {"name": "_DT64Codes", "kind": "Other"}, {"name": "_TD64Codes", "kind": "Other"}, {"name": "_StrCodes", "kind": "Other"}, {"name": "_BytesCodes", "kind": "Other"}, {"name": "_VoidCodes", "kind": "Other"}, {"name": "_ObjectCodes", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_DTypeLikeNested", "kind": "Other"}, {"name": "_DTypeDictBase", "kind": "LocalType"}, {"name": "_DTypeDict", "kind": "LocalType"}, {"name": "_SupportsDType", "kind": "LocalType"}, {"name": "_DTypeLike", "kind": "Other"}, {"name": "_VoidDTypeLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeFloat", "kind": "Other"}, {"name": "_DTypeLikeComplex", "kind": "Other"}, {"name": "_DTypeLikeDT64", "kind": "Other"}, {"name": "_DTypeLikeTD64", "kind": "Other"}, {"name": "_DTypeLikeStr", "kind": "Other"}, {"name": "_DTypeLikeBytes", "kind": "Other"}, {"name": "_DTypeLikeVoid", "kind": "Other"}, {"name": "_DTypeLikeObject", "kind": "Other"}, {"name": "_DTypeLikeComplex_co", "kind": "Other"}], "numpy._typing._array_like": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "annotations", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Protocol", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "runtime_checkable", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "unsignedinteger", "kind": "ImportedType", "fullname": "numpy.unsignedinteger"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "timedelta64", "kind": "ImportedType", "fullname": "numpy.timedelta64"}, {"name": "datetime64", "kind": "ImportedType", "fullname": "numpy.datetime64"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "void", "kind": "ImportedType", "fullname": "numpy.void"}, {"name": "str_", "kind": "ImportedType", "fullname": "numpy.str_"}, {"name": "bytes_", "kind": "ImportedType", "fullname": "numpy.bytes_"}, {"name": "_NestedSequence", "kind": "ImportedType", "fullname": "numpy._typing._nested_sequence._NestedSequence"}, {"name": "_T", "kind": "Other"}, {"name": "_ScalarType", "kind": "Other"}, {"name": "_DType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "_SupportsArray", "kind": "LocalType"}, {"name": "_SupportsArrayFunc", "kind": "LocalType"}, {"name": "_FiniteNestedSequence", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_DualArrayLike", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeUInt_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeVoid_co", "kind": "Other"}, {"name": "_ArrayLikeStr_co", "kind": "Other"}, {"name": "_ArrayLikeBytes_co", "kind": "Other"}, {"name": "_ArrayLikeInt", "kind": "Other"}, {"name": "_UnknownType", "kind": "LocalType"}, {"name": "_ArrayLikeUnknown", "kind": "Other"}], "numpy._typing._ufunc": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "Protocol", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "_CastingKind", "kind": "Other"}, {"name": "_OrderKACF", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ScalarLike_co", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeBool_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_3Tuple", "kind": "Other"}, {"name": "_4Tuple", "kind": "Other"}, {"name": "_NTypes", "kind": "Other"}, {"name": "_IDType", "kind": "Other"}, {"name": "_NameType", "kind": "Other"}, {"name": "_SupportsArrayUFunc", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout1", "kind": "LocalType"}, {"name": "_UFunc_Nin1_Nout2", "kind": "LocalType"}, {"name": "_UFunc_Nin2_Nout2", "kind": "LocalType"}, {"name": "_GUFunc_Nin2_Nout1", "kind": "LocalType"}], "numpy.fft._pocketfft": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_NormKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fft", "kind": "Other"}, {"name": "ifft", "kind": "Other"}, {"name": "rfft", "kind": "Other"}, {"name": "irfft", "kind": "Other"}, {"name": "hfft", "kind": "Other"}, {"name": "ihfft", "kind": "Other"}, {"name": "fftn", "kind": "Other"}, {"name": "ifftn", "kind": "Other"}, {"name": "rfftn", "kind": "Other"}, {"name": "irfftn", "kind": "Other"}, {"name": "fft2", "kind": "Other"}, {"name": "ifft2", "kind": "Other"}, {"name": "rfft2", "kind": "Other"}, {"name": "irfft2", "kind": "Other"}], "numpy.fft.helper": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "integer", "kind": "ImportedType", "fullname": "numpy.integer"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_SCT", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "fftshift", "kind": "Other"}, {"name": "ifftshift", "kind": "Other"}, {"name": "fftfreq", "kind": "Other"}, {"name": "rfftfreq", "kind": "Other"}], "numpy.lib.format": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "EXPECTED_KEYS", "kind": "Other"}, {"name": "MAGIC_PREFIX", "kind": "Other"}, {"name": "MAGIC_LEN", "kind": "Other"}, {"name": "ARRAY_ALIGN", "kind": "Other"}, {"name": "BUFFER_SIZE", "kind": "Other"}, {"name": "magic", "kind": "Other"}, {"name": "read_magic", "kind": "Other"}, {"name": "dtype_to_descr", "kind": "Other"}, {"name": "descr_to_dtype", "kind": "Other"}, {"name": "header_data_from_array_1_0", "kind": "Other"}, {"name": "write_array_header_1_0", "kind": "Other"}, {"name": "write_array_header_2_0", "kind": "Other"}, {"name": "read_array_header_1_0", "kind": "Other"}, {"name": "read_array_header_2_0", "kind": "Other"}, {"name": "write_array", "kind": "Other"}, {"name": "read_array", "kind": "Other"}, {"name": "open_memmap", "kind": "Other"}], "numpy.lib.mixins": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ufunc", "kind": "ImportedType", "fullname": "numpy.ufunc"}, {"name": "__all__", "kind": "Other"}, {"name": "NDArrayOperatorsMixin", "kind": "LocalType"}], "numpy.lib.scimath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "NDArray", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ComplexLike_co", "kind": "Other"}, {"name": "_FloatLike_co", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "logn", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}], "numpy.lib._version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "NumpyVersion", "kind": "LocalType"}], "math": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsFloat", "kind": "ImportedType", "fullname": "typing.SupportsFloat"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing_extensions.SupportsIndex"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_T_co", "kind": "Other"}, {"name": "_SupportsFloatOrIndex", "kind": "Other"}, {"name": "e", "kind": "Other"}, {"name": "pi", "kind": "Other"}, {"name": "inf", "kind": "Other"}, {"name": "nan", "kind": "Other"}, {"name": "tau", "kind": "Other"}, {"name": "acos", "kind": "Other"}, {"name": "acosh", "kind": "Other"}, {"name": "asin", "kind": "Other"}, {"name": "asinh", "kind": "Other"}, {"name": "atan", "kind": "Other"}, {"name": "atan2", "kind": "Other"}, {"name": "atanh", "kind": "Other"}, {"name": "_SupportsCeil", "kind": "LocalType"}, {"name": "ceil", "kind": "Other"}, {"name": "comb", "kind": "Other"}, {"name": "copysign", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "degrees", "kind": "Other"}, {"name": "dist", "kind": "Other"}, {"name": "erf", "kind": "Other"}, {"name": "erfc", "kind": "Other"}, {"name": "exp", "kind": "Other"}, {"name": "expm1", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "factorial", "kind": "Other"}, {"name": "_SupportsFloor", "kind": "LocalType"}, {"name": "floor", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "frexp", "kind": "Other"}, {"name": "fsum", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "gcd", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "isclose", "kind": "Other"}, {"name": "isinf", "kind": "Other"}, {"name": "isfinite", "kind": "Other"}, {"name": "isnan", "kind": "Other"}, {"name": "isqrt", "kind": "Other"}, {"name": "lcm", "kind": "Other"}, {"name": "ldexp", "kind": "Other"}, {"name": "lgamma", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "log1p", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "modf", "kind": "Other"}, {"name": "nextafter", "kind": "Other"}, {"name": "perm", "kind": "Other"}, {"name": "pow", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "radians", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "_SupportsTrunc", "kind": "LocalType"}, {"name": "trunc", "kind": "Other"}, {"name": "ulp", "kind": "Other"}], "numpy.linalg.linalg": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "L", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Any", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "SupportsInt", "kind": "ImportedType", "fullname": "typing.SupportsInt"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "floating", "kind": "ImportedType", "fullname": "numpy.floating"}, {"name": "complexfloating", "kind": "ImportedType", "fullname": "numpy.complexfloating"}, {"name": "int32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "complex128", "kind": "Other"}, {"name": "LinAlgError", "kind": "ImportedType", "fullname": "numpy.linalg.LinAlgError"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeComplex_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_2Tuple", "kind": "Other"}, {"name": "_ModeKind", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "tensorsolve", "kind": "Other"}, {"name": "solve", "kind": "Other"}, {"name": "tensorinv", "kind": "Other"}, {"name": "inv", "kind": "Other"}, {"name": "matrix_power", "kind": "Other"}, {"name": "cholesky", "kind": "Other"}, {"name": "qr", "kind": "Other"}, {"name": "eigvals", "kind": "Other"}, {"name": "eigvalsh", "kind": "Other"}, {"name": "eig", "kind": "Other"}, {"name": "eigh", "kind": "Other"}, {"name": "svd", "kind": "Other"}, {"name": "cond", "kind": "Other"}, {"name": "matrix_rank", "kind": "Other"}, {"name": "pinv", "kind": "Other"}, {"name": "slogdet", "kind": "Other"}, {"name": "det", "kind": "Other"}, {"name": "lstsq", "kind": "Other"}, {"name": "norm", "kind": "Other"}, {"name": "multi_dot", "kind": "Other"}], "numpy.ma.extras": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AxisConcatenator", "kind": "ImportedType", "fullname": "numpy.lib.index_tricks.AxisConcatenator"}, {"name": "dot", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "count_masked", "kind": "Other"}, {"name": "masked_all", "kind": "Other"}, {"name": "masked_all_like", "kind": "Other"}, {"name": "_fromnxfunction", "kind": "LocalType"}, {"name": "_fromnxfunction_single", "kind": "LocalType"}, {"name": "_fromnxfunction_seq", "kind": "LocalType"}, {"name": "_fromnxfunction_allargs", "kind": "LocalType"}, {"name": "atleast_1d", "kind": "Other"}, {"name": "atleast_2d", "kind": "Other"}, {"name": "atleast_3d", "kind": "Other"}, {"name": "vstack", "kind": "Other"}, {"name": "row_stack", "kind": "Other"}, {"name": "hstack", "kind": "Other"}, {"name": "column_stack", "kind": "Other"}, {"name": "dstack", "kind": "Other"}, {"name": "stack", "kind": "Other"}, {"name": "hsplit", "kind": "Other"}, {"name": "diagflat", "kind": "Other"}, {"name": "apply_along_axis", "kind": "Other"}, {"name": "apply_over_axes", "kind": "Other"}, {"name": "average", "kind": "Other"}, {"name": "median", "kind": "Other"}, {"name": "compress_nd", "kind": "Other"}, {"name": "compress_rowcols", "kind": "Other"}, {"name": "compress_rows", "kind": "Other"}, {"name": "compress_cols", "kind": "Other"}, {"name": "mask_rows", "kind": "Other"}, {"name": "mask_cols", "kind": "Other"}, {"name": "ediff1d", "kind": "Other"}, {"name": "unique", "kind": "Other"}, {"name": "intersect1d", "kind": "Other"}, {"name": "setxor1d", "kind": "Other"}, {"name": "in1d", "kind": "Other"}, {"name": "isin", "kind": "Other"}, {"name": "union1d", "kind": "Other"}, {"name": "setdiff1d", "kind": "Other"}, {"name": "cov", "kind": "Other"}, {"name": "corrcoef", "kind": "Other"}, {"name": "MAxisConcatenator", "kind": "LocalType"}, {"name": "mr_class", "kind": "LocalType"}, {"name": "mr_", "kind": "Other"}, {"name": "ndenumerate", "kind": "Other"}, {"name": "flatnotmasked_edges", "kind": "Other"}, {"name": "notmasked_edges", "kind": "Other"}, {"name": "flatnotmasked_contiguous", "kind": "Other"}, {"name": "notmasked_contiguous", "kind": "Other"}, {"name": "clump_unmasked", "kind": "Other"}, {"name": "clump_masked", "kind": "Other"}, {"name": "vander", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}], "numpy.ma.core": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float64", "kind": "Other"}, {"name": "amax", "kind": "Other"}, {"name": "amin", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "expand_dims", "kind": "Other"}, {"name": "diff", "kind": "Other"}, {"name": "clip", "kind": "Other"}, {"name": "indices", "kind": "Other"}, {"name": "ones_like", "kind": "Other"}, {"name": "squeeze", "kind": "Other"}, {"name": "zeros_like", "kind": "Other"}, {"name": "angle", "kind": "Other"}, {"name": "_ShapeType", "kind": "Other"}, {"name": "_DType_co", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "MaskType", "kind": "Other"}, {"name": "nomask", "kind": "Other"}, {"name": "MaskedArrayFutureWarning", "kind": "LocalType"}, {"name": "MAError", "kind": "LocalType"}, {"name": "MaskError", "kind": "LocalType"}, {"name": "default_fill_value", "kind": "Other"}, {"name": "minimum_fill_value", "kind": "Other"}, {"name": "maximum_fill_value", "kind": "Other"}, {"name": "set_fill_value", "kind": "Other"}, {"name": "common_fill_value", "kind": "Other"}, {"name": "filled", "kind": "Other"}, {"name": "getdata", "kind": "Other"}, {"name": "get_data", "kind": "Other"}, {"name": "fix_invalid", "kind": "Other"}, {"name": "_MaskedUFunc", "kind": "LocalType"}, {"name": "_MaskedUnaryOperation", "kind": "LocalType"}, {"name": "_MaskedBinaryOperation", "kind": "LocalType"}, {"name": "_DomainedBinaryOperation", "kind": "LocalType"}, {"name": "exp", "kind": "Other"}, {"name": "conjugate", "kind": "Other"}, {"name": "sin", "kind": "Other"}, {"name": "cos", "kind": "Other"}, {"name": "arctan", "kind": "Other"}, {"name": "arcsinh", "kind": "Other"}, {"name": "sinh", "kind": "Other"}, {"name": "cosh", "kind": "Other"}, {"name": "tanh", "kind": "Other"}, {"name": "abs", "kind": "Other"}, {"name": "absolute", "kind": "Other"}, {"name": "fabs", "kind": "Other"}, {"name": "negative", "kind": "Other"}, {"name": "floor", "kind": "Other"}, {"name": "ceil", "kind": "Other"}, {"name": "around", "kind": "Other"}, {"name": "logical_not", "kind": "Other"}, {"name": "sqrt", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "log2", "kind": "Other"}, {"name": "log10", "kind": "Other"}, {"name": "tan", "kind": "Other"}, {"name": "arcsin", "kind": "Other"}, {"name": "arccos", "kind": "Other"}, {"name": "arccosh", "kind": "Other"}, {"name": "arctanh", "kind": "Other"}, {"name": "add", "kind": "Other"}, {"name": "subtract", "kind": "Other"}, {"name": "multiply", "kind": "Other"}, {"name": "arctan2", "kind": "Other"}, {"name": "equal", "kind": "Other"}, {"name": "not_equal", "kind": "Other"}, {"name": "less_equal", "kind": "Other"}, {"name": "greater_equal", "kind": "Other"}, {"name": "less", "kind": "Other"}, {"name": "greater", "kind": "Other"}, {"name": "logical_and", "kind": "Other"}, {"name": "alltrue", "kind": "Other"}, {"name": "logical_or", "kind": "Other"}, {"name": "sometrue", "kind": "Other"}, {"name": "logical_xor", "kind": "Other"}, {"name": "bitwise_and", "kind": "Other"}, {"name": "bitwise_or", "kind": "Other"}, {"name": "bitwise_xor", "kind": "Other"}, {"name": "hypot", "kind": "Other"}, {"name": "divide", "kind": "Other"}, {"name": "true_divide", "kind": "Other"}, {"name": "floor_divide", "kind": "Other"}, {"name": "remainder", "kind": "Other"}, {"name": "fmod", "kind": "Other"}, {"name": "mod", "kind": "Other"}, {"name": "make_mask_descr", "kind": "Other"}, {"name": "getmask", "kind": "Other"}, {"name": "get_mask", "kind": "Other"}, {"name": "getmaskarray", "kind": "Other"}, {"name": "is_mask", "kind": "Other"}, {"name": "make_mask", "kind": "Other"}, {"name": "make_mask_none", "kind": "Other"}, {"name": "mask_or", "kind": "Other"}, {"name": "flatten_mask", "kind": "Other"}, {"name": "masked_where", "kind": "Other"}, {"name": "masked_greater", "kind": "Other"}, {"name": "masked_greater_equal", "kind": "Other"}, {"name": "masked_less", "kind": "Other"}, {"name": "masked_less_equal", "kind": "Other"}, {"name": "masked_not_equal", "kind": "Other"}, {"name": "masked_equal", "kind": "Other"}, {"name": "masked_inside", "kind": "Other"}, {"name": "masked_outside", "kind": "Other"}, {"name": "masked_object", "kind": "Other"}, {"name": "masked_values", "kind": "Other"}, {"name": "masked_invalid", "kind": "Other"}, {"name": "_MaskedPrintOption", "kind": "LocalType"}, {"name": "masked_print_option", "kind": "Other"}, {"name": "flatten_structured_array", "kind": "Other"}, {"name": "MaskedIterator", "kind": "LocalType"}, {"name": "MaskedArray", "kind": "LocalType"}, {"name": "mvoid", "kind": "LocalType"}, {"name": "isMaskedArray", "kind": "Other"}, {"name": "isarray", "kind": "Other"}, {"name": "isMA", "kind": "Other"}, {"name": "MaskedConstant", "kind": "LocalType"}, {"name": "masked", "kind": "Other"}, {"name": "masked_singleton", "kind": "Other"}, {"name": "masked_array", "kind": "Other"}, {"name": "array", "kind": "Other"}, {"name": "is_masked", "kind": "Other"}, {"name": "_extrema_operation", "kind": "LocalType"}, {"name": "min", "kind": "Other"}, {"name": "max", "kind": "Other"}, {"name": "ptp", "kind": "Other"}, {"name": "_frommethod", "kind": "LocalType"}, {"name": "all", "kind": "Other"}, {"name": "anomalies", "kind": "Other"}, {"name": "anom", "kind": "Other"}, {"name": "any", "kind": "Other"}, {"name": "compress", "kind": "Other"}, {"name": "cumprod", "kind": "Other"}, {"name": "cumsum", "kind": "Other"}, {"name": "copy", "kind": "Other"}, {"name": "diagonal", "kind": "Other"}, {"name": "harden_mask", "kind": "Other"}, {"name": "ids", "kind": "Other"}, {"name": "mean", "kind": "Other"}, {"name": "nonzero", "kind": "Other"}, {"name": "prod", "kind": "Other"}, {"name": "product", "kind": "Other"}, {"name": "ravel", "kind": "Other"}, {"name": "repeat", "kind": "Other"}, {"name": "soften_mask", "kind": "Other"}, {"name": "std", "kind": "Other"}, {"name": "sum", "kind": "Other"}, {"name": "swapaxes", "kind": "Other"}, {"name": "trace", "kind": "Other"}, {"name": "var", "kind": "Other"}, {"name": "count", "kind": "Other"}, {"name": "argmin", "kind": "Other"}, {"name": "argmax", "kind": "Other"}, {"name": "minimum", "kind": "Other"}, {"name": "maximum", "kind": "Other"}, {"name": "take", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "argsort", "kind": "Other"}, {"name": "sort", "kind": "Other"}, {"name": "compressed", "kind": "Other"}, {"name": "concatenate", "kind": "Other"}, {"name": "diag", "kind": "Other"}, {"name": "left_shift", "kind": "Other"}, {"name": "right_shift", "kind": "Other"}, {"name": "put", "kind": "Other"}, {"name": "putmask", "kind": "Other"}, {"name": "transpose", "kind": "Other"}, {"name": "reshape", "kind": "Other"}, {"name": "resize", "kind": "Other"}, {"name": "ndim", "kind": "Other"}, {"name": "shape", "kind": "Other"}, {"name": "size", "kind": "Other"}, {"name": "where", "kind": "Other"}, {"name": "choose", "kind": "Other"}, {"name": "round_", "kind": "Other"}, {"name": "round", "kind": "Other"}, {"name": "inner", "kind": "Other"}, {"name": "innerproduct", "kind": "Other"}, {"name": "outer", "kind": "Other"}, {"name": "outerproduct", "kind": "Other"}, {"name": "correlate", "kind": "Other"}, {"name": "convolve", "kind": "Other"}, {"name": "allequal", "kind": "Other"}, {"name": "allclose", "kind": "Other"}, {"name": "asarray", "kind": "Other"}, {"name": "asanyarray", "kind": "Other"}, {"name": "fromflex", "kind": "Other"}, {"name": "_convert2ma", "kind": "LocalType"}, {"name": "arange", "kind": "Other"}, {"name": "empty", "kind": "Other"}, {"name": "empty_like", "kind": "Other"}, {"name": "frombuffer", "kind": "Other"}, {"name": "fromfunction", "kind": "Other"}, {"name": "identity", "kind": "Other"}, {"name": "ones", "kind": "Other"}, {"name": "zeros", "kind": "Other"}, {"name": "append", "kind": "Other"}, {"name": "dot", "kind": "Other"}, {"name": "mask_rowcols", "kind": "Other"}], "numpy.polynomial.chebyshev": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "chebtrim", "kind": "Other"}, {"name": "poly2cheb", "kind": "Other"}, {"name": "cheb2poly", "kind": "Other"}, {"name": "chebdomain", "kind": "Other"}, {"name": "chebzero", "kind": "Other"}, {"name": "chebone", "kind": "Other"}, {"name": "chebx", "kind": "Other"}, {"name": "chebline", "kind": "Other"}, {"name": "chebfromroots", "kind": "Other"}, {"name": "chebadd", "kind": "Other"}, {"name": "chebsub", "kind": "Other"}, {"name": "chebmulx", "kind": "Other"}, {"name": "chebmul", "kind": "Other"}, {"name": "chebdiv", "kind": "Other"}, {"name": "chebpow", "kind": "Other"}, {"name": "chebder", "kind": "Other"}, {"name": "chebint", "kind": "Other"}, {"name": "chebval", "kind": "Other"}, {"name": "chebval2d", "kind": "Other"}, {"name": "chebgrid2d", "kind": "Other"}, {"name": "chebval3d", "kind": "Other"}, {"name": "chebgrid3d", "kind": "Other"}, {"name": "chebvander", "kind": "Other"}, {"name": "chebvander2d", "kind": "Other"}, {"name": "chebvander3d", "kind": "Other"}, {"name": "chebfit", "kind": "Other"}, {"name": "chebcompanion", "kind": "Other"}, {"name": "chebroots", "kind": "Other"}, {"name": "chebinterpolate", "kind": "Other"}, {"name": "chebgauss", "kind": "Other"}, {"name": "chebweight", "kind": "Other"}, {"name": "chebpts1", "kind": "Other"}, {"name": "chebpts2", "kind": "Other"}, {"name": "Chebyshev", "kind": "LocalType"}], "numpy.polynomial.hermite": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "float_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "hermtrim", "kind": "Other"}, {"name": "poly2herm", "kind": "Other"}, {"name": "herm2poly", "kind": "Other"}, {"name": "hermdomain", "kind": "Other"}, {"name": "hermzero", "kind": "Other"}, {"name": "hermone", "kind": "Other"}, {"name": "hermx", "kind": "Other"}, {"name": "hermline", "kind": "Other"}, {"name": "hermfromroots", "kind": "Other"}, {"name": "hermadd", "kind": "Other"}, {"name": "hermsub", "kind": "Other"}, {"name": "hermmulx", "kind": "Other"}, {"name": "hermmul", "kind": "Other"}, {"name": "hermdiv", "kind": "Other"}, {"name": "hermpow", "kind": "Other"}, {"name": "hermder", "kind": "Other"}, {"name": "hermint", "kind": "Other"}, {"name": "hermval", "kind": "Other"}, {"name": "hermval2d", "kind": "Other"}, {"name": "hermgrid2d", "kind": "Other"}, {"name": "hermval3d", "kind": "Other"}, {"name": "hermgrid3d", "kind": "Other"}, {"name": "hermvander", "kind": "Other"}, {"name": "hermvander2d", "kind": "Other"}, {"name": "hermvander3d", "kind": "Other"}, {"name": "hermfit", "kind": "Other"}, {"name": "hermcompanion", "kind": "Other"}, {"name": "hermroots", "kind": "Other"}, {"name": "hermgauss", "kind": "Other"}, {"name": "hermweight", "kind": "Other"}, {"name": "Hermite", "kind": "LocalType"}], "numpy.polynomial.hermite_e": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "hermetrim", "kind": "Other"}, {"name": "poly2herme", "kind": "Other"}, {"name": "herme2poly", "kind": "Other"}, {"name": "hermedomain", "kind": "Other"}, {"name": "hermezero", "kind": "Other"}, {"name": "hermeone", "kind": "Other"}, {"name": "hermex", "kind": "Other"}, {"name": "hermeline", "kind": "Other"}, {"name": "hermefromroots", "kind": "Other"}, {"name": "hermeadd", "kind": "Other"}, {"name": "hermesub", "kind": "Other"}, {"name": "hermemulx", "kind": "Other"}, {"name": "hermemul", "kind": "Other"}, {"name": "hermediv", "kind": "Other"}, {"name": "hermepow", "kind": "Other"}, {"name": "hermeder", "kind": "Other"}, {"name": "hermeint", "kind": "Other"}, {"name": "hermeval", "kind": "Other"}, {"name": "hermeval2d", "kind": "Other"}, {"name": "hermegrid2d", "kind": "Other"}, {"name": "hermeval3d", "kind": "Other"}, {"name": "hermegrid3d", "kind": "Other"}, {"name": "hermevander", "kind": "Other"}, {"name": "hermevander2d", "kind": "Other"}, {"name": "hermevander3d", "kind": "Other"}, {"name": "hermefit", "kind": "Other"}, {"name": "hermecompanion", "kind": "Other"}, {"name": "hermeroots", "kind": "Other"}, {"name": "hermegauss", "kind": "Other"}, {"name": "hermeweight", "kind": "Other"}, {"name": "HermiteE", "kind": "LocalType"}], "numpy.polynomial.laguerre": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "lagtrim", "kind": "Other"}, {"name": "poly2lag", "kind": "Other"}, {"name": "lag2poly", "kind": "Other"}, {"name": "lagdomain", "kind": "Other"}, {"name": "lagzero", "kind": "Other"}, {"name": "lagone", "kind": "Other"}, {"name": "lagx", "kind": "Other"}, {"name": "lagline", "kind": "Other"}, {"name": "lagfromroots", "kind": "Other"}, {"name": "lagadd", "kind": "Other"}, {"name": "lagsub", "kind": "Other"}, {"name": "lagmulx", "kind": "Other"}, {"name": "lagmul", "kind": "Other"}, {"name": "lagdiv", "kind": "Other"}, {"name": "lagpow", "kind": "Other"}, {"name": "lagder", "kind": "Other"}, {"name": "lagint", "kind": "Other"}, {"name": "lagval", "kind": "Other"}, {"name": "lagval2d", "kind": "Other"}, {"name": "laggrid2d", "kind": "Other"}, {"name": "lagval3d", "kind": "Other"}, {"name": "laggrid3d", "kind": "Other"}, {"name": "lagvander", "kind": "Other"}, {"name": "lagvander2d", "kind": "Other"}, {"name": "lagvander3d", "kind": "Other"}, {"name": "lagfit", "kind": "Other"}, {"name": "lagcompanion", "kind": "Other"}, {"name": "lagroots", "kind": "Other"}, {"name": "laggauss", "kind": "Other"}, {"name": "lagweight", "kind": "Other"}, {"name": "Laguerre", "kind": "LocalType"}], "numpy.polynomial.legendre": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "legtrim", "kind": "Other"}, {"name": "poly2leg", "kind": "Other"}, {"name": "leg2poly", "kind": "Other"}, {"name": "legdomain", "kind": "Other"}, {"name": "legzero", "kind": "Other"}, {"name": "legone", "kind": "Other"}, {"name": "legx", "kind": "Other"}, {"name": "legline", "kind": "Other"}, {"name": "legfromroots", "kind": "Other"}, {"name": "legadd", "kind": "Other"}, {"name": "legsub", "kind": "Other"}, {"name": "legmulx", "kind": "Other"}, {"name": "legmul", "kind": "Other"}, {"name": "legdiv", "kind": "Other"}, {"name": "legpow", "kind": "Other"}, {"name": "legder", "kind": "Other"}, {"name": "legint", "kind": "Other"}, {"name": "legval", "kind": "Other"}, {"name": "legval2d", "kind": "Other"}, {"name": "leggrid2d", "kind": "Other"}, {"name": "legval3d", "kind": "Other"}, {"name": "leggrid3d", "kind": "Other"}, {"name": "legvander", "kind": "Other"}, {"name": "legvander2d", "kind": "Other"}, {"name": "legvander3d", "kind": "Other"}, {"name": "legfit", "kind": "Other"}, {"name": "legcompanion", "kind": "Other"}, {"name": "legroots", "kind": "Other"}, {"name": "leggauss", "kind": "Other"}, {"name": "legweight", "kind": "Other"}, {"name": "Legendre", "kind": "LocalType"}], "numpy.polynomial.polynomial": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "int_", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "ImportedType", "fullname": "numpy.polynomial._polybase.ABCPolyBase"}, {"name": "trimcoef", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "polytrim", "kind": "Other"}, {"name": "polydomain", "kind": "Other"}, {"name": "polyzero", "kind": "Other"}, {"name": "polyone", "kind": "Other"}, {"name": "polyx", "kind": "Other"}, {"name": "polyline", "kind": "Other"}, {"name": "polyfromroots", "kind": "Other"}, {"name": "polyadd", "kind": "Other"}, {"name": "polysub", "kind": "Other"}, {"name": "polymulx", "kind": "Other"}, {"name": "polymul", "kind": "Other"}, {"name": "polydiv", "kind": "Other"}, {"name": "polypow", "kind": "Other"}, {"name": "polyder", "kind": "Other"}, {"name": "polyint", "kind": "Other"}, {"name": "polyval", "kind": "Other"}, {"name": "polyvalfromroots", "kind": "Other"}, {"name": "polyval2d", "kind": "Other"}, {"name": "polygrid2d", "kind": "Other"}, {"name": "polyval3d", "kind": "Other"}, {"name": "polygrid3d", "kind": "Other"}, {"name": "polyvander", "kind": "Other"}, {"name": "polyvander2d", "kind": "Other"}, {"name": "polyvander3d", "kind": "Other"}, {"name": "polyfit", "kind": "Other"}, {"name": "polyroots", "kind": "Other"}, {"name": "Polynomial", "kind": "LocalType"}], "numpy.random._generator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Literal", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint", "kind": "Other"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_ArrayType", "kind": "Other"}, {"name": "_DTypeLikeFloat32", "kind": "Other"}, {"name": "_DTypeLikeFloat64", "kind": "Other"}, {"name": "Generator", "kind": "LocalType"}, {"name": "default_rng", "kind": "Other"}], "numpy.random._mt19937": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint32", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_MT19937Internal", "kind": "LocalType"}, {"name": "_MT19937State", "kind": "LocalType"}, {"name": "MT19937", "kind": "LocalType"}], "numpy.random._pcg64": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_PCG64Internal", "kind": "LocalType"}, {"name": "_PCG64State", "kind": "LocalType"}, {"name": "PCG64", "kind": "LocalType"}, {"name": "PCG64DXSM", "kind": "LocalType"}], "numpy.random._philox": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_PhiloxInternal", "kind": "LocalType"}, {"name": "_PhiloxState", "kind": "LocalType"}, {"name": "Philox", "kind": "LocalType"}], "numpy.random._sfc64": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TypedDict", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "SeedSequence", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.SeedSequence"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_SFC64Internal", "kind": "LocalType"}, {"name": "_SFC64State", "kind": "LocalType"}, {"name": "SFC64", "kind": "LocalType"}], "numpy.random.bit_generator": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "Lock", "kind": "ImportedType", "fullname": "threading.Lock"}, {"name": "Callable", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Any", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypedDict", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_DTypeLikeUint32", "kind": "Other"}, {"name": "_DTypeLikeUint64", "kind": "Other"}, {"name": "_SeedSeqState", "kind": "LocalType"}, {"name": "_Interface", "kind": "LocalType"}, {"name": "ISeedSequence", "kind": "LocalType"}, {"name": "ISpawnableSeedSequence", "kind": "LocalType"}, {"name": "SeedlessSeedSequence", "kind": "LocalType"}, {"name": "SeedSequence", "kind": "LocalType"}, {"name": "BitGenerator", "kind": "LocalType"}], "numpy.random.mtrand": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "float32", "kind": "Other"}, {"name": "float64", "kind": "Other"}, {"name": "int8", "kind": "Other"}, {"name": "int16", "kind": "Other"}, {"name": "int32", "kind": "Other"}, {"name": "int64", "kind": "Other"}, {"name": "int_", "kind": "Other"}, {"name": "ndarray", "kind": "ImportedType", "fullname": "numpy.ndarray"}, {"name": "uint", "kind": "Other"}, {"name": "uint8", "kind": "Other"}, {"name": "uint16", "kind": "Other"}, {"name": "uint32", "kind": "Other"}, {"name": "uint64", "kind": "Other"}, {"name": "BitGenerator", "kind": "ImportedType", "fullname": "numpy.random.bit_generator.BitGenerator"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "_ArrayLikeFloat_co", "kind": "Other"}, {"name": "_ArrayLikeInt_co", "kind": "Other"}, {"name": "_DoubleCodes", "kind": "Other"}, {"name": "_DTypeLikeBool", "kind": "Other"}, {"name": "_DTypeLikeInt", "kind": "Other"}, {"name": "_DTypeLikeUInt", "kind": "Other"}, {"name": "_Float32Codes", "kind": "Other"}, {"name": "_Float64Codes", "kind": "Other"}, {"name": "_Int8Codes", "kind": "Other"}, {"name": "_Int16Codes", "kind": "Other"}, {"name": "_Int32Codes", "kind": "Other"}, {"name": "_Int64Codes", "kind": "Other"}, {"name": "_IntCodes", "kind": "Other"}, {"name": "_ShapeLike", "kind": "Other"}, {"name": "_SingleCodes", "kind": "Other"}, {"name": "_SupportsDType", "kind": "ImportedType", "fullname": "numpy._typing._dtype_like._SupportsDType"}, {"name": "_UInt8Codes", "kind": "Other"}, {"name": "_UInt16Codes", "kind": "Other"}, {"name": "_UInt32Codes", "kind": "Other"}, {"name": "_UInt64Codes", "kind": "Other"}, {"name": "_UIntCodes", "kind": "Other"}, {"name": "_DTypeLikeFloat32", "kind": "Other"}, {"name": "_DTypeLikeFloat64", "kind": "Other"}, {"name": "RandomState", "kind": "LocalType"}, {"name": "_rand", "kind": "Other"}, {"name": "beta", "kind": "Other"}, {"name": "binomial", "kind": "Other"}, {"name": "bytes", "kind": "Other"}, {"name": "chisquare", "kind": "Other"}, {"name": "choice", "kind": "Other"}, {"name": "dirichlet", "kind": "Other"}, {"name": "exponential", "kind": "Other"}, {"name": "f", "kind": "Other"}, {"name": "gamma", "kind": "Other"}, {"name": "get_state", "kind": "Other"}, {"name": "geometric", "kind": "Other"}, {"name": "gumbel", "kind": "Other"}, {"name": "hypergeometric", "kind": "Other"}, {"name": "laplace", "kind": "Other"}, {"name": "logistic", "kind": "Other"}, {"name": "lognormal", "kind": "Other"}, {"name": "logseries", "kind": "Other"}, {"name": "multinomial", "kind": "Other"}, {"name": "multivariate_normal", "kind": "Other"}, {"name": "negative_binomial", "kind": "Other"}, {"name": "noncentral_chisquare", "kind": "Other"}, {"name": "noncentral_f", "kind": "Other"}, {"name": "normal", "kind": "Other"}, {"name": "pareto", "kind": "Other"}, {"name": "permutation", "kind": "Other"}, {"name": "poisson", "kind": "Other"}, {"name": "power", "kind": "Other"}, {"name": "rand", "kind": "Other"}, {"name": "randint", "kind": "Other"}, {"name": "randn", "kind": "Other"}, {"name": "random", "kind": "Other"}, {"name": "random_integers", "kind": "Other"}, {"name": "random_sample", "kind": "Other"}, {"name": "rayleigh", "kind": "Other"}, {"name": "seed", "kind": "Other"}, {"name": "set_state", "kind": "Other"}, {"name": "shuffle", "kind": "Other"}, {"name": "standard_cauchy", "kind": "Other"}, {"name": "standard_exponential", "kind": "Other"}, {"name": "standard_gamma", "kind": "Other"}, {"name": "standard_normal", "kind": "Other"}, {"name": "standard_t", "kind": "Other"}, {"name": "triangular", "kind": "Other"}, {"name": "uniform", "kind": "Other"}, {"name": "vonmises", "kind": "Other"}, {"name": "wald", "kind": "Other"}, {"name": "weibull", "kind": "Other"}, {"name": "zipf", "kind": "Other"}, {"name": "sample", "kind": "Other"}, {"name": "ranf", "kind": "Other"}, {"name": "set_bit_generator", "kind": "Other"}, {"name": "get_bit_generator", "kind": "Other"}], "numpy.testing._private.utils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ast", "kind": "Module", "fullname": "ast"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "warnings", "kind": "Module", "fullname": "warnings"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "contextlib", "kind": "Module", "fullname": "contextlib"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "L", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "type_check_only", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "SupportsIndex", "kind": "ImportedType", "fullname": "typing.SupportsIndex"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "generic", "kind": "ImportedType", "fullname": "numpy.generic"}, {"name": "dtype", "kind": "ImportedType", "fullname": "numpy.dtype"}, {"name": "number", "kind": "ImportedType", "fullname": "numpy.number"}, {"name": "object_", "kind": "ImportedType", "fullname": "numpy.object_"}, {"name": "bool_", "kind": "ImportedType", "fullname": "numpy.bool_"}, {"name": "_FloatValue", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "_ArrayLikeNumber_co", "kind": "Other"}, {"name": "_ArrayLikeObject_co", "kind": "Other"}, {"name": "_ArrayLikeTD64_co", "kind": "Other"}, {"name": "_ArrayLikeDT64_co", "kind": "Other"}, {"name": "SkipTest", "kind": "ImportedType", "fullname": "unittest.case.SkipTest"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_ET", "kind": "Other"}, {"name": "_FT", "kind": "Other"}, {"name": "_ComparisonFunc", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "KnownFailureException", "kind": "LocalType"}, {"name": "IgnoreException", "kind": "LocalType"}, {"name": "clear_and_catch_warnings", "kind": "LocalType"}, {"name": "_clear_and_catch_warnings_with_records", "kind": "LocalType"}, {"name": "_clear_and_catch_warnings_without_records", "kind": "LocalType"}, {"name": "suppress_warnings", "kind": "LocalType"}, {"name": "verbose", "kind": "Other"}, {"name": "IS_PYPY", "kind": "Other"}, {"name": "IS_PYSTON", "kind": "Other"}, {"name": "HAS_REFCOUNT", "kind": "Other"}, {"name": "HAS_LAPACK64", "kind": "Other"}, {"name": "assert_", "kind": "Other"}, {"name": "memusage", "kind": "Other"}, {"name": "jiffies", "kind": "Other"}, {"name": "build_err_msg", "kind": "Other"}, {"name": "assert_equal", "kind": "Other"}, {"name": "print_assert_equal", "kind": "Other"}, {"name": "assert_almost_equal", "kind": "Other"}, {"name": "assert_approx_equal", "kind": "Other"}, {"name": "assert_array_compare", "kind": "Other"}, {"name": "assert_array_equal", "kind": "Other"}, {"name": "assert_array_almost_equal", "kind": "Other"}, {"name": "assert_array_less", "kind": "Other"}, {"name": "runstring", "kind": "Other"}, {"name": "assert_string_equal", "kind": "Other"}, {"name": "rundocs", "kind": "Other"}, {"name": "raises", "kind": "Other"}, {"name": "assert_raises", "kind": "Other"}, {"name": "assert_raises_regex", "kind": "Other"}, {"name": "decorate_methods", "kind": "Other"}, {"name": "measure", "kind": "Other"}, {"name": "assert_allclose", "kind": "Other"}, {"name": "assert_array_almost_equal_nulp", "kind": "Other"}, {"name": "assert_array_max_ulp", "kind": "Other"}, {"name": "assert_warns", "kind": "Other"}, {"name": "assert_no_warnings", "kind": "Other"}, {"name": "tempdir", "kind": "Other"}, {"name": "temppath", "kind": "Other"}, {"name": "assert_no_gc_cycles", "kind": "Other"}, {"name": "break_cycles", "kind": "Other"}], "unittest": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "FunctionTestCase", "kind": "LocalType"}, {"name": "SkipTest", "kind": "LocalType"}, {"name": "TestCase", "kind": "LocalType"}, {"name": "expectedFailure", "kind": "Other"}, {"name": "skip", "kind": "Other"}, {"name": "skipIf", "kind": "Other"}, {"name": "skipUnless", "kind": "Other"}, {"name": "TestLoader", "kind": "LocalType"}, {"name": "defaultTestLoader", "kind": "Other"}, {"name": "findTestCases", "kind": "Other"}, {"name": "getTestCaseNames", "kind": "Other"}, {"name": "makeSuite", "kind": "Other"}, {"name": "TestProgram", "kind": "LocalType"}, {"name": "main", "kind": "Other"}, {"name": "TestResult", "kind": "LocalType"}, {"name": "TextTestResult", "kind": "LocalType"}, {"name": "TextTestRunner", "kind": "LocalType"}, {"name": "installHandler", "kind": "Other"}, {"name": "registerResult", "kind": "Other"}, {"name": "removeHandler", "kind": "Other"}, {"name": "removeResult", "kind": "Other"}, {"name": "BaseTestSuite", "kind": "LocalType"}, {"name": "TestSuite", "kind": "LocalType"}, {"name": "IsolatedAsyncioTestCase", "kind": "LocalType"}, {"name": "addModuleCleanup", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "load_tests", "kind": "Other"}, {"name": "__dir__", "kind": "Other"}], "numpy._version": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "json", "kind": "Module", "fullname": "json"}, {"name": "version_json", "kind": "Other"}, {"name": "get_versions", "kind": "Other"}], "numpy.matrixlib.defmatrix": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Any", "kind": "Other"}, {"name": "matrix", "kind": "ImportedType", "fullname": "numpy.matrix"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NDArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "bmat", "kind": "Other"}, {"name": "asmatrix", "kind": "Other"}, {"name": "mat", "kind": "Other"}], "os.path": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "subprocess": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Collection", "kind": "ImportedType", "fullname": "typing.Collection"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_FILE", "kind": "Other"}, {"name": "_InputString", "kind": "Other"}, {"name": "_CMD", "kind": "Other"}, {"name": "_ENV", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_USE_POSIX_SPAWN", "kind": "Other"}, {"name": "CompletedProcess", "kind": "LocalType"}, {"name": "run", "kind": "Other"}, {"name": "call", "kind": "Other"}, {"name": "check_call", "kind": "Other"}, {"name": "check_output", "kind": "Other"}, {"name": "PIPE", "kind": "Other"}, {"name": "STDOUT", "kind": "Other"}, {"name": "DEVNULL", "kind": "Other"}, {"name": "SubprocessError", "kind": "LocalType"}, {"name": "TimeoutExpired", "kind": "LocalType"}, {"name": "CalledProcessError", "kind": "LocalType"}, {"name": "Popen", "kind": "LocalType"}, {"name": "getstatusoutput", "kind": "Other"}, {"name": "getoutput", "kind": "Other"}, {"name": "list2cmdline", "kind": "Other"}], "_ctypes": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "_CArgObject", "kind": "ImportedType", "fullname": "ctypes._CArgObject"}, {"name": "_PointerLike", "kind": "ImportedType", "fullname": "ctypes._PointerLike"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "FUNCFLAG_CDECL", "kind": "Other"}, {"name": "FUNCFLAG_PYTHONAPI", "kind": "Other"}, {"name": "FUNCFLAG_USE_ERRNO", "kind": "Other"}, {"name": "FUNCFLAG_USE_LASTERROR", "kind": "Other"}, {"name": "RTLD_GLOBAL", "kind": "Other"}, {"name": "RTLD_LOCAL", "kind": "Other"}], "time": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "_TimeTuple", "kind": "Other"}, {"name": "altzone", "kind": "Other"}, {"name": "daylight", "kind": "Other"}, {"name": "timezone", "kind": "Other"}, {"name": "tzname", "kind": "Other"}, {"name": "CLOCK_BOOTTIME", "kind": "Other"}, {"name": "CLOCK_MONOTONIC", "kind": "Other"}, {"name": "CLOCK_MONOTONIC_RAW", "kind": "Other"}, {"name": "CLOCK_PROCESS_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_REALTIME", "kind": "Other"}, {"name": "CLOCK_THREAD_CPUTIME_ID", "kind": "Other"}, {"name": "CLOCK_TAI", "kind": "Other"}, {"name": "struct_time", "kind": "LocalType"}, {"name": "asctime", "kind": "Other"}, {"name": "ctime", "kind": "Other"}, {"name": "gmtime", "kind": "Other"}, {"name": "localtime", "kind": "Other"}, {"name": "mktime", "kind": "Other"}, {"name": "sleep", "kind": "Other"}, {"name": "strftime", "kind": "Other"}, {"name": "strptime", "kind": "Other"}, {"name": "time", "kind": "Other"}, {"name": "tzset", "kind": "Other"}, {"name": "_ClockInfo", "kind": "LocalType"}, {"name": "get_clock_info", "kind": "Other"}, {"name": "monotonic", "kind": "Other"}, {"name": "perf_counter", "kind": "Other"}, {"name": "process_time", "kind": "Other"}, {"name": "clock_getres", "kind": "Other"}, {"name": "clock_gettime", "kind": "Other"}, {"name": "clock_settime", "kind": "Other"}, {"name": "clock_gettime_ns", "kind": "Other"}, {"name": "clock_settime_ns", "kind": "Other"}, {"name": "pthread_getcpuclockid", "kind": "Other"}, {"name": "monotonic_ns", "kind": "Other"}, {"name": "perf_counter_ns", "kind": "Other"}, {"name": "process_time_ns", "kind": "Other"}, {"name": "time_ns", "kind": "Other"}, {"name": "thread_time", "kind": "Other"}, {"name": "thread_time_ns", "kind": "Other"}], "sre_compile": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NamedIntConstant", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "SubPattern", "kind": "ImportedType", "fullname": "sre_parse.SubPattern"}, {"name": "Any", "kind": "Other"}, {"name": "MAXCODE", "kind": "Other"}, {"name": "dis", "kind": "Other"}, {"name": "isstring", "kind": "Other"}, {"name": "compile", "kind": "Other"}], "sre_constants": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "LocalType"}, {"name": "_NamedIntConstant", "kind": "LocalType"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}], "codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "Protocol", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "Literal", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "BOM32_BE", "kind": "Other"}, {"name": "BOM32_LE", "kind": "Other"}, {"name": "BOM64_BE", "kind": "Other"}, {"name": "BOM64_LE", "kind": "Other"}, {"name": "_WritableStream", "kind": "LocalType"}, {"name": "_ReadableStream", "kind": "LocalType"}, {"name": "_Stream", "kind": "LocalType"}, {"name": "_Encoder", "kind": "LocalType"}, {"name": "_Decoder", "kind": "LocalType"}, {"name": "_StreamReader", "kind": "LocalType"}, {"name": "_StreamWriter", "kind": "LocalType"}, {"name": "_IncrementalEncoder", "kind": "LocalType"}, {"name": "_IncrementalDecoder", "kind": "LocalType"}, {"name": "CodecInfo", "kind": "LocalType"}, {"name": "getencoder", "kind": "Other"}, {"name": "getdecoder", "kind": "Other"}, {"name": "getincrementalencoder", "kind": "Other"}, {"name": "getincrementaldecoder", "kind": "Other"}, {"name": "getreader", "kind": "Other"}, {"name": "getwriter", "kind": "Other"}, {"name": "open", "kind": "Other"}, {"name": "EncodedFile", "kind": "Other"}, {"name": "iterencode", "kind": "Other"}, {"name": "iterdecode", "kind": "Other"}, {"name": "BOM", "kind": "Other"}, {"name": "BOM_BE", "kind": "Other"}, {"name": "BOM_LE", "kind": "Other"}, {"name": "BOM_UTF8", "kind": "Other"}, {"name": "BOM_UTF16", "kind": "Other"}, {"name": "BOM_UTF16_BE", "kind": "Other"}, {"name": "BOM_UTF16_LE", "kind": "Other"}, {"name": "BOM_UTF32", "kind": "Other"}, {"name": "BOM_UTF32_BE", "kind": "Other"}, {"name": "BOM_UTF32_LE", "kind": "Other"}, {"name": "strict_errors", "kind": "Other"}, {"name": "replace_errors", "kind": "Other"}, {"name": "ignore_errors", "kind": "Other"}, {"name": "xmlcharrefreplace_errors", "kind": "Other"}, {"name": "backslashreplace_errors", "kind": "Other"}, {"name": "namereplace_errors", "kind": "Other"}, {"name": "Codec", "kind": "LocalType"}, {"name": "IncrementalEncoder", "kind": "LocalType"}, {"name": "IncrementalDecoder", "kind": "LocalType"}, {"name": "BufferedIncrementalEncoder", "kind": "LocalType"}, {"name": "BufferedIncrementalDecoder", "kind": "LocalType"}, {"name": "StreamWriter", "kind": "LocalType"}, {"name": "StreamReader", "kind": "LocalType"}, {"name": "StreamReaderWriter", "kind": "LocalType"}, {"name": "StreamRecoder", "kind": "LocalType"}], "importlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Loader", "kind": "LocalType"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "__all__", "kind": "Other"}, {"name": "__import__", "kind": "Other"}, {"name": "import_module", "kind": "Other"}, {"name": "find_loader", "kind": "Other"}, {"name": "invalidate_caches", "kind": "Other"}, {"name": "reload", "kind": "Other"}], "importlib.metadata": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "pathlib", "kind": "Module", "fullname": "pathlib"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "MetaPathFinder", "kind": "ImportedType", "fullname": "importlib.abc.MetaPathFinder"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "overload", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "packages_distributions", "kind": "Other"}, {"name": "PackageNotFoundError", "kind": "LocalType"}, {"name": "_EntryPointBase", "kind": "LocalType"}, {"name": "EntryPoint", "kind": "LocalType"}, {"name": "EntryPoints", "kind": "LocalType"}, {"name": "SelectableGroups", "kind": "LocalType"}, {"name": "PackagePath", "kind": "LocalType"}, {"name": "FileHash", "kind": "LocalType"}, {"name": "Distribution", "kind": "LocalType"}, {"name": "DistributionFinder", "kind": "LocalType"}, {"name": "MetadataPathFinder", "kind": "LocalType"}, {"name": "PathDistribution", "kind": "LocalType"}, {"name": "distribution", "kind": "Other"}, {"name": "distributions", "kind": "Other"}, {"name": "metadata", "kind": "Other"}, {"name": "entry_points", "kind": "Other"}, {"name": "version", "kind": "Other"}, {"name": "files", "kind": "Other"}, {"name": "requires", "kind": "Other"}], "numpy.compat._inspect": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "__all__", "kind": "Other"}, {"name": "ismethod", "kind": "Other"}, {"name": "isfunction", "kind": "Other"}, {"name": "iscode", "kind": "Other"}, {"name": "CO_OPTIMIZED", "kind": "Other"}, {"name": "CO_NEWLOCALS", "kind": "Other"}, {"name": "CO_VARARGS", "kind": "Other"}, {"name": "CO_VARKEYWORDS", "kind": "Other"}, {"name": "getargs", "kind": "Other"}, {"name": "getargspec", "kind": "Other"}, {"name": "getargvalues", "kind": "Other"}, {"name": "joinseq", "kind": "Other"}, {"name": "strseq", "kind": "Other"}, {"name": "formatargspec", "kind": "Other"}, {"name": "formatargvalues", "kind": "Other"}], "functools": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "types", "kind": "Module", "fullname": "types"}, {"name": "IdentityFunction", "kind": "ImportedType", "fullname": "_typeshed.IdentityFunction"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsAllComparisons", "kind": "ImportedType", "fullname": "_typeshed.SupportsAllComparisons"}, {"name": "SupportsItems", "kind": "ImportedType", "fullname": "_typeshed.SupportsItems"}, {"name": "Callable", "kind": "Other"}, {"name": "Hashable", "kind": "ImportedType", "fullname": "typing.Hashable"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Sized", "kind": "ImportedType", "fullname": "typing.Sized"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "_AnyCallable", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "reduce", "kind": "Other"}, {"name": "_CacheInfo", "kind": "LocalType"}, {"name": "_lru_cache_wrapper", "kind": "LocalType"}, {"name": "lru_cache", "kind": "Other"}, {"name": "WRAPPER_ASSIGNMENTS", "kind": "Other"}, {"name": "WRAPPER_UPDATES", "kind": "Other"}, {"name": "update_wrapper", "kind": "Other"}, {"name": "wraps", "kind": "Other"}, {"name": "total_ordering", "kind": "Other"}, {"name": "cmp_to_key", "kind": "Other"}, {"name": "partial", "kind": "LocalType"}, {"name": "_Descriptor", "kind": "Other"}, {"name": "partialmethod", "kind": "LocalType"}, {"name": "_SingleDispatchCallable", "kind": "LocalType"}, {"name": "singledispatch", "kind": "Other"}, {"name": "singledispatchmethod", "kind": "LocalType"}, {"name": "cached_property", "kind": "LocalType"}, {"name": "cache", "kind": "Other"}, {"name": "_make_key", "kind": "Other"}], "numpy.typing": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ArrayLike", "kind": "Other"}, {"name": "DTypeLike", "kind": "Other"}, {"name": "NBitBase", "kind": "ImportedType", "fullname": "numpy._typing.NBitBase"}, {"name": "NDArray", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_docstrings", "kind": "Other"}, {"name": "PytestTester", "kind": "ImportedType", "fullname": "numpy._pytesttester.PytestTester"}, {"name": "test", "kind": "Other"}], "numpy.polynomial._polybase": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "abc", "kind": "Module", "fullname": "abc"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ABCPolyBase", "kind": "LocalType"}], "numpy.polynomial.polyutils": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "RankWarning", "kind": "LocalType"}, {"name": "trimseq", "kind": "Other"}, {"name": "as_series", "kind": "Other"}, {"name": "trimcoef", "kind": "Other"}, {"name": "getdomain", "kind": "Other"}, {"name": "mapparms", "kind": "Other"}, {"name": "mapdomain", "kind": "Other"}, {"name": "format_float", "kind": "Other"}], "threading": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ProfileFunction", "kind": "Other"}, {"name": "TraceFunction", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_profile_hook", "kind": "Other"}, {"name": "active_count", "kind": "Other"}, {"name": "activeCount", "kind": "Other"}, {"name": "current_thread", "kind": "Other"}, {"name": "currentThread", "kind": "Other"}, {"name": "get_ident", "kind": "Other"}, {"name": "enumerate", "kind": "Other"}, {"name": "main_thread", "kind": "Other"}, {"name": "get_native_id", "kind": "Other"}, {"name": "settrace", "kind": "Other"}, {"name": "setprofile", "kind": "Other"}, {"name": "gettrace", "kind": "Other"}, {"name": "getprofile", "kind": "Other"}, {"name": "stack_size", "kind": "Other"}, {"name": "TIMEOUT_MAX", "kind": "Other"}, {"name": "ThreadError", "kind": "LocalType"}, {"name": "local", "kind": "LocalType"}, {"name": "Thread", "kind": "LocalType"}, {"name": "_DummyThread", "kind": "LocalType"}, {"name": "Lock", "kind": "LocalType"}, {"name": "_RLock", "kind": "LocalType"}, {"name": "RLock", "kind": "Other"}, {"name": "Condition", "kind": "LocalType"}, {"name": "Semaphore", "kind": "LocalType"}, {"name": "BoundedSemaphore", "kind": "LocalType"}, {"name": "Event", "kind": "LocalType"}, {"name": "_excepthook", "kind": "Other"}, {"name": "_ExceptHookArgs", "kind": "ImportedType", "fullname": "_thread._ExceptHookArgs"}, {"name": "excepthook", "kind": "Other"}, {"name": "ExceptHookArgs", "kind": "Other"}, {"name": "Timer", "kind": "LocalType"}, {"name": "Barrier", "kind": "LocalType"}, {"name": "BrokenBarrierError", "kind": "LocalType"}], "numpy.testing._private": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}], "unittest.case": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "logging", "kind": "Module", "fullname": "logging"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Self", "kind": "Other"}, {"name": "SupportsDunderGE", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderGE"}, {"name": "SupportsDunderGT", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderGT"}, {"name": "SupportsDunderLE", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderLE"}, {"name": "SupportsDunderLT", "kind": "ImportedType", "fullname": "_typeshed.SupportsDunderLT"}, {"name": "SupportsRSub", "kind": "ImportedType", "fullname": "_typeshed.SupportsRSub"}, {"name": "SupportsSub", "kind": "ImportedType", "fullname": "_typeshed.SupportsSub"}, {"name": "Callable", "kind": "Other"}, {"name": "Container", "kind": "ImportedType", "fullname": "typing.Container"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "AbstractSet", "kind": "ImportedType", "fullname": "typing.AbstractSet"}, {"name": "AbstractContextManager", "kind": "ImportedType", "fullname": "contextlib.AbstractContextManager"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "AnyStr", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "SupportsAbs", "kind": "ImportedType", "fullname": "typing.SupportsAbs"}, {"name": "SupportsRound", "kind": "ImportedType", "fullname": "typing.SupportsRound"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "WarningMessage", "kind": "ImportedType", "fullname": "warnings.WarningMessage"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "UnionType", "kind": "ImportedType", "fullname": "types.UnionType"}, {"name": "_T", "kind": "Other"}, {"name": "_S", "kind": "Other"}, {"name": "_E", "kind": "Other"}, {"name": "_FT", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "DIFF_OMITTED", "kind": "Other"}, {"name": "_BaseTestCaseContext", "kind": "LocalType"}, {"name": "_AssertLogsContext", "kind": "ImportedType", "fullname": "unittest._log._AssertLogsContext"}, {"name": "_LoggingWatcher", "kind": "ImportedType", "fullname": "unittest._log._LoggingWatcher"}, {"name": "addModuleCleanup", "kind": "Other"}, {"name": "doModuleCleanups", "kind": "Other"}, {"name": "expectedFailure", "kind": "Other"}, {"name": "skip", "kind": "Other"}, {"name": "skipIf", "kind": "Other"}, {"name": "skipUnless", "kind": "Other"}, {"name": "SkipTest", "kind": "LocalType"}, {"name": "_SupportsAbsAndDunderGE", "kind": "LocalType"}, {"name": "_IsInstanceClassInfo", "kind": "Other"}, {"name": "TestCase", "kind": "LocalType"}, {"name": "FunctionTestCase", "kind": "LocalType"}, {"name": "_AssertRaisesContext", "kind": "LocalType"}, {"name": "_AssertWarnsContext", "kind": "LocalType"}], "warnings": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "warn", "kind": "Other"}, {"name": "warn_explicit", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_W", "kind": "Other"}, {"name": "_ActionKind", "kind": "Other"}, {"name": "filters", "kind": "Other"}, {"name": "showwarning", "kind": "Other"}, {"name": "formatwarning", "kind": "Other"}, {"name": "filterwarnings", "kind": "Other"}, {"name": "simplefilter", "kind": "Other"}, {"name": "resetwarnings", "kind": "Other"}, {"name": "_OptionError", "kind": "LocalType"}, {"name": "WarningMessage", "kind": "LocalType"}, {"name": "catch_warnings", "kind": "LocalType"}], "unittest.loader": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "Any", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_SortComparisonMethod", "kind": "Other"}, {"name": "_SuiteClass", "kind": "Other"}, {"name": "VALID_MODULE_NAME", "kind": "Other"}, {"name": "TestLoader", "kind": "LocalType"}, {"name": "defaultTestLoader", "kind": "Other"}, {"name": "getTestCaseNames", "kind": "Other"}, {"name": "makeSuite", "kind": "Other"}, {"name": "findTestCases", "kind": "Other"}], "unittest.main": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "ModuleType", "kind": "ImportedType", "fullname": "types.ModuleType"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "MAIN_EXAMPLES", "kind": "Other"}, {"name": "MODULE_EXAMPLES", "kind": "Other"}, {"name": "_TestRunner", "kind": "LocalType"}, {"name": "TestProgram", "kind": "LocalType"}, {"name": "main", "kind": "Other"}], "unittest.result": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "OptExcInfo", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_F", "kind": "Other"}, {"name": "STDOUT_LINE", "kind": "Other"}, {"name": "STDERR_LINE", "kind": "Other"}, {"name": "failfast", "kind": "Other"}, {"name": "TestResult", "kind": "LocalType"}], "unittest.runner": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ResultClassType", "kind": "Other"}, {"name": "TextTestResult", "kind": "LocalType"}, {"name": "TextTestRunner", "kind": "LocalType"}], "unittest.signals": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Callable", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "_P", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "installHandler", "kind": "Other"}, {"name": "registerResult", "kind": "Other"}, {"name": "removeResult", "kind": "Other"}, {"name": "removeHandler", "kind": "Other"}], "unittest.suite": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "unittest", "kind": "Module", "fullname": "unittest"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_TestType", "kind": "Other"}, {"name": "BaseTestSuite", "kind": "LocalType"}, {"name": "TestSuite", "kind": "LocalType"}], "unittest.async_case": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Awaitable", "kind": "ImportedType", "fullname": "typing.Awaitable"}, {"name": "Callable", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "ParamSpec", "kind": "ImportedType", "fullname": "typing_extensions.ParamSpec"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "_T", "kind": "Other"}, {"name": "_P", "kind": "Other"}, {"name": "IsolatedAsyncioTestCase", "kind": "LocalType"}], "json": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "SupportsRead", "kind": "ImportedType", "fullname": "_typeshed.SupportsRead"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "JSONDecodeError", "kind": "LocalType"}, {"name": "JSONDecoder", "kind": "LocalType"}, {"name": "JSONEncoder", "kind": "LocalType"}, {"name": "__all__", "kind": "Other"}, {"name": "dumps", "kind": "Other"}, {"name": "dump", "kind": "Other"}, {"name": "loads", "kind": "Other"}, {"name": "load", "kind": "Other"}, {"name": "detect_encoding", "kind": "Other"}], "posixpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "AnyOrLiteralStr", "kind": "Other"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "AnyStr", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "supports_unicode_filenames", "kind": "Other"}, {"name": "curdir", "kind": "Other"}, {"name": "pardir", "kind": "Other"}, {"name": "sep", "kind": "Other"}, {"name": "altsep", "kind": "Other"}, {"name": "extsep", "kind": "Other"}, {"name": "pathsep", "kind": "Other"}, {"name": "defpath", "kind": "Other"}, {"name": "devnull", "kind": "Other"}, {"name": "abspath", "kind": "Other"}, {"name": "basename", "kind": "Other"}, {"name": "dirname", "kind": "Other"}, {"name": "expanduser", "kind": "Other"}, {"name": "expandvars", "kind": "Other"}, {"name": "normcase", "kind": "Other"}, {"name": "normpath", "kind": "Other"}, {"name": "commonpath", "kind": "Other"}, {"name": "join", "kind": "Other"}, {"name": "realpath", "kind": "Other"}, {"name": "relpath", "kind": "Other"}, {"name": "split", "kind": "Other"}, {"name": "splitdrive", "kind": "Other"}, {"name": "splitext", "kind": "Other"}, {"name": "isabs", "kind": "Other"}, {"name": "islink", "kind": "Other"}, {"name": "ismount", "kind": "Other"}, {"name": "lexists", "kind": "Other"}], "sre_parse": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Match", "kind": "ImportedType", "fullname": "re.Match"}, {"name": "_Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "MAXGROUPS", "kind": "Other"}, {"name": "MAGIC", "kind": "Other"}, {"name": "error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "MAXREPEAT", "kind": "Other"}, {"name": "OPCODES", "kind": "Other"}, {"name": "ATCODES", "kind": "Other"}, {"name": "CHCODES", "kind": "Other"}, {"name": "OP_IGNORE", "kind": "Other"}, {"name": "OP_LOCALE_IGNORE", "kind": "Other"}, {"name": "OP_UNICODE_IGNORE", "kind": "Other"}, {"name": "AT_MULTILINE", "kind": "Other"}, {"name": "AT_LOCALE", "kind": "Other"}, {"name": "AT_UNICODE", "kind": "Other"}, {"name": "CH_LOCALE", "kind": "Other"}, {"name": "CH_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_TEMPLATE", "kind": "Other"}, {"name": "SRE_FLAG_IGNORECASE", "kind": "Other"}, {"name": "SRE_FLAG_LOCALE", "kind": "Other"}, {"name": "SRE_FLAG_MULTILINE", "kind": "Other"}, {"name": "SRE_FLAG_DOTALL", "kind": "Other"}, {"name": "SRE_FLAG_UNICODE", "kind": "Other"}, {"name": "SRE_FLAG_VERBOSE", "kind": "Other"}, {"name": "SRE_FLAG_DEBUG", "kind": "Other"}, {"name": "SRE_FLAG_ASCII", "kind": "Other"}, {"name": "SRE_INFO_PREFIX", "kind": "Other"}, {"name": "SRE_INFO_LITERAL", "kind": "Other"}, {"name": "SRE_INFO_CHARSET", "kind": "Other"}, {"name": "FAILURE", "kind": "Other"}, {"name": "SUCCESS", "kind": "Other"}, {"name": "ANY", "kind": "Other"}, {"name": "ANY_ALL", "kind": "Other"}, {"name": "ASSERT", "kind": "Other"}, {"name": "ASSERT_NOT", "kind": "Other"}, {"name": "AT", "kind": "Other"}, {"name": "BRANCH", "kind": "Other"}, {"name": "CALL", "kind": "Other"}, {"name": "CATEGORY", "kind": "Other"}, {"name": "CHARSET", "kind": "Other"}, {"name": "BIGCHARSET", "kind": "Other"}, {"name": "GROUPREF", "kind": "Other"}, {"name": "GROUPREF_EXISTS", "kind": "Other"}, {"name": "GROUPREF_IGNORE", "kind": "Other"}, {"name": "IN", "kind": "Other"}, {"name": "IN_IGNORE", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "JUMP", "kind": "Other"}, {"name": "LITERAL", "kind": "Other"}, {"name": "LITERAL_IGNORE", "kind": "Other"}, {"name": "MARK", "kind": "Other"}, {"name": "MAX_UNTIL", "kind": "Other"}, {"name": "MIN_UNTIL", "kind": "Other"}, {"name": "NOT_LITERAL", "kind": "Other"}, {"name": "NOT_LITERAL_IGNORE", "kind": "Other"}, {"name": "NEGATE", "kind": "Other"}, {"name": "RANGE", "kind": "Other"}, {"name": "REPEAT", "kind": "Other"}, {"name": "REPEAT_ONE", "kind": "Other"}, {"name": "SUBPATTERN", "kind": "Other"}, {"name": "MIN_REPEAT_ONE", "kind": "Other"}, {"name": "RANGE_UNI_IGNORE", "kind": "Other"}, {"name": "GROUPREF_LOC_IGNORE", "kind": "Other"}, {"name": "GROUPREF_UNI_IGNORE", "kind": "Other"}, {"name": "IN_LOC_IGNORE", "kind": "Other"}, {"name": "IN_UNI_IGNORE", "kind": "Other"}, {"name": "LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_LOC_IGNORE", "kind": "Other"}, {"name": "NOT_LITERAL_UNI_IGNORE", "kind": "Other"}, {"name": "MIN_REPEAT", "kind": "Other"}, {"name": "MAX_REPEAT", "kind": "Other"}, {"name": "AT_BEGINNING", "kind": "Other"}, {"name": "AT_BEGINNING_LINE", "kind": "Other"}, {"name": "AT_BEGINNING_STRING", "kind": "Other"}, {"name": "AT_BOUNDARY", "kind": "Other"}, {"name": "AT_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_END", "kind": "Other"}, {"name": "AT_END_LINE", "kind": "Other"}, {"name": "AT_END_STRING", "kind": "Other"}, {"name": "AT_LOC_BOUNDARY", "kind": "Other"}, {"name": "AT_LOC_NON_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_BOUNDARY", "kind": "Other"}, {"name": "AT_UNI_NON_BOUNDARY", "kind": "Other"}, {"name": "CATEGORY_DIGIT", "kind": "Other"}, {"name": "CATEGORY_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_SPACE", "kind": "Other"}, {"name": "CATEGORY_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_WORD", "kind": "Other"}, {"name": "CATEGORY_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_NOT_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_LOC_WORD", "kind": "Other"}, {"name": "CATEGORY_LOC_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_DIGIT", "kind": "Other"}, {"name": "CATEGORY_UNI_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_SPACE", "kind": "Other"}, {"name": "CATEGORY_UNI_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_WORD", "kind": "Other"}, {"name": "CATEGORY_UNI_LINEBREAK", "kind": "Other"}, {"name": "CATEGORY_UNI_NOT_LINEBREAK", "kind": "Other"}, {"name": "_NIC", "kind": "ImportedType", "fullname": "sre_constants._NamedIntConstant"}, {"name": "_Error", "kind": "ImportedType", "fullname": "sre_constants.error"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "SPECIAL_CHARS", "kind": "Other"}, {"name": "REPEAT_CHARS", "kind": "Other"}, {"name": "DIGITS", "kind": "Other"}, {"name": "OCTDIGITS", "kind": "Other"}, {"name": "HEXDIGITS", "kind": "Other"}, {"name": "ASCIILETTERS", "kind": "Other"}, {"name": "WHITESPACE", "kind": "Other"}, {"name": "ESCAPES", "kind": "Other"}, {"name": "CATEGORIES", "kind": "Other"}, {"name": "FLAGS", "kind": "Other"}, {"name": "TYPE_FLAGS", "kind": "Other"}, {"name": "GLOBAL_FLAGS", "kind": "Other"}, {"name": "Verbose", "kind": "LocalType"}, {"name": "_State", "kind": "LocalType"}, {"name": "State", "kind": "Other"}, {"name": "_OpSubpatternType", "kind": "Other"}, {"name": "_OpGroupRefExistsType", "kind": "Other"}, {"name": "_OpInType", "kind": "Other"}, {"name": "_OpBranchType", "kind": "Other"}, {"name": "_AvType", "kind": "Other"}, {"name": "_CodeType", "kind": "Other"}, {"name": "SubPattern", "kind": "LocalType"}, {"name": "Tokenizer", "kind": "LocalType"}, {"name": "fix_flags", "kind": "Other"}, {"name": "_TemplateType", "kind": "Other"}, {"name": "_TemplateByteType", "kind": "Other"}, {"name": "parse", "kind": "Other"}, {"name": "parse_template", "kind": "Other"}, {"name": "expand_template", "kind": "Other"}], "_codecs": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "codecs", "kind": "Module", "fullname": "codecs"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_EncodingMap", "kind": "LocalType"}, {"name": "_CharMap", "kind": "Other"}, {"name": "_Handler", "kind": "Other"}, {"name": "_SearchFunction", "kind": "Other"}, {"name": "register", "kind": "Other"}, {"name": "unregister", "kind": "Other"}, {"name": "register_error", "kind": "Other"}, {"name": "lookup_error", "kind": "Other"}, {"name": "_BytesToBytesEncoding", "kind": "Other"}, {"name": "_StrToStrEncoding", "kind": "Other"}, {"name": "encode", "kind": "Other"}, {"name": "decode", "kind": "Other"}, {"name": "lookup", "kind": "Other"}, {"name": "charmap_build", "kind": "Other"}, {"name": "ascii_decode", "kind": "Other"}, {"name": "ascii_encode", "kind": "Other"}, {"name": "charmap_decode", "kind": "Other"}, {"name": "charmap_encode", "kind": "Other"}, {"name": "escape_decode", "kind": "Other"}, {"name": "escape_encode", "kind": "Other"}, {"name": "latin_1_decode", "kind": "Other"}, {"name": "latin_1_encode", "kind": "Other"}, {"name": "raw_unicode_escape_decode", "kind": "Other"}, {"name": "raw_unicode_escape_encode", "kind": "Other"}, {"name": "readbuffer_encode", "kind": "Other"}, {"name": "unicode_escape_decode", "kind": "Other"}, {"name": "unicode_escape_encode", "kind": "Other"}, {"name": "utf_16_be_decode", "kind": "Other"}, {"name": "utf_16_be_encode", "kind": "Other"}, {"name": "utf_16_decode", "kind": "Other"}, {"name": "utf_16_encode", "kind": "Other"}, {"name": "utf_16_ex_decode", "kind": "Other"}, {"name": "utf_16_le_decode", "kind": "Other"}, {"name": "utf_16_le_encode", "kind": "Other"}, {"name": "utf_32_be_decode", "kind": "Other"}, {"name": "utf_32_be_encode", "kind": "Other"}, {"name": "utf_32_decode", "kind": "Other"}, {"name": "utf_32_encode", "kind": "Other"}, {"name": "utf_32_ex_decode", "kind": "Other"}, {"name": "utf_32_le_decode", "kind": "Other"}, {"name": "utf_32_le_encode", "kind": "Other"}, {"name": "utf_7_decode", "kind": "Other"}, {"name": "utf_7_encode", "kind": "Other"}, {"name": "utf_8_decode", "kind": "Other"}, {"name": "utf_8_encode", "kind": "Other"}], "importlib.metadata._meta": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Any", "kind": "Other"}, {"name": "Protocol", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "_T", "kind": "Other"}, {"name": "PackageMetadata", "kind": "LocalType"}, {"name": "SimplePath", "kind": "LocalType"}], "email.message": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Policy", "kind": "ImportedType", "fullname": "email.policy.Policy"}, {"name": "Any", "kind": "Other"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "overload", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_T", "kind": "Other"}, {"name": "_PayloadType", "kind": "Other"}, {"name": "_CharsetType", "kind": "Other"}, {"name": "_HeaderType", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "MIMEPart", "kind": "LocalType"}, {"name": "EmailMessage", "kind": "LocalType"}], "pathlib": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "OpenBinaryMode", "kind": "Other"}, {"name": "OpenBinaryModeReading", "kind": "Other"}, {"name": "OpenBinaryModeUpdating", "kind": "Other"}, {"name": "OpenBinaryModeWriting", "kind": "Other"}, {"name": "OpenTextMode", "kind": "Other"}, {"name": "ReadableBuffer", "kind": "Other"}, {"name": "Self", "kind": "Other"}, {"name": "StrOrBytesPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Generator", "kind": "ImportedType", "fullname": "typing.Generator"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "BufferedRandom", "kind": "ImportedType", "fullname": "io.BufferedRandom"}, {"name": "BufferedReader", "kind": "ImportedType", "fullname": "io.BufferedReader"}, {"name": "BufferedWriter", "kind": "ImportedType", "fullname": "io.BufferedWriter"}, {"name": "FileIO", "kind": "ImportedType", "fullname": "io.FileIO"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "PathLike", "kind": "ImportedType", "fullname": "os.PathLike"}, {"name": "stat_result", "kind": "ImportedType", "fullname": "os.stat_result"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Any", "kind": "Other"}, {"name": "BinaryIO", "kind": "ImportedType", "fullname": "typing.BinaryIO"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "GenericAlias", "kind": "ImportedType", "fullname": "types.GenericAlias"}, {"name": "__all__", "kind": "Other"}, {"name": "PurePath", "kind": "LocalType"}, {"name": "PurePosixPath", "kind": "LocalType"}, {"name": "PureWindowsPath", "kind": "LocalType"}, {"name": "Path", "kind": "LocalType"}, {"name": "PosixPath", "kind": "LocalType"}, {"name": "WindowsPath", "kind": "LocalType"}], "numpy.compat": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "_inspect", "kind": "Module", "fullname": "numpy.compat._inspect"}, {"name": "py3k", "kind": "Module", "fullname": "numpy.compat.py3k"}, {"name": "getargspec", "kind": "Other"}, {"name": "formatargspec", "kind": "Other"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "pickle", "kind": "Other"}, {"name": "long", "kind": "Other"}, {"name": "integer_types", "kind": "Other"}, {"name": "basestring", "kind": "Other"}, {"name": "unicode", "kind": "Other"}, {"name": "bytes", "kind": "ImportedType", "fullname": "builtins.bytes"}, {"name": "asunicode", "kind": "Other"}, {"name": "asbytes", "kind": "Other"}, {"name": "asstr", "kind": "Other"}, {"name": "isfileobj", "kind": "Other"}, {"name": "open_latin1", "kind": "Other"}, {"name": "sixu", "kind": "Other"}, {"name": "strchar", "kind": "Other"}, {"name": "getexception", "kind": "Other"}, {"name": "asbytes_nested", "kind": "Other"}, {"name": "asunicode_nested", "kind": "Other"}, {"name": "is_pathlib_path", "kind": "Other"}, {"name": "contextlib_nullcontext", "kind": "LocalType"}, {"name": "npy_load_module", "kind": "Other"}, {"name": "os_fspath", "kind": "Other"}, {"name": "os_PathLike", "kind": "Other"}, {"name": "__all__", "kind": "Other"}], "numpy._typing._add_docstring": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "re", "kind": "Module", "fullname": "re"}, {"name": "textwrap", "kind": "Module", "fullname": "textwrap"}, {"name": "NDArray", "kind": "Other"}, {"name": "_docstrings_list", "kind": "Other"}, {"name": "add_newdoc", "kind": "Other"}, {"name": "_parse_docstrings", "kind": "Other"}, {"name": "_docstrings", "kind": "Other"}], "_thread": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "structseq", "kind": "ImportedType", "fullname": "_typeshed.structseq"}, {"name": "Callable", "kind": "Other"}, {"name": "Thread", "kind": "ImportedType", "fullname": "threading.Thread"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "NoReturn", "kind": "Other"}, {"name": "Final", "kind": "Other"}, {"name": "final", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "_count", "kind": "Other"}, {"name": "LockType", "kind": "LocalType"}, {"name": "start_new_thread", "kind": "Other"}, {"name": "interrupt_main", "kind": "Other"}, {"name": "exit", "kind": "Other"}, {"name": "allocate_lock", "kind": "Other"}, {"name": "get_ident", "kind": "Other"}, {"name": "stack_size", "kind": "Other"}, {"name": "TIMEOUT_MAX", "kind": "Other"}, {"name": "get_native_id", "kind": "Other"}, {"name": "_ExceptHookArgs", "kind": "LocalType"}, {"name": "_excepthook", "kind": "Other"}], "unittest._log": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "logging", "kind": "Module", "fullname": "logging"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "NamedTuple", "kind": "ImportedType", "fullname": "typing.NamedTuple"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "TestCase", "kind": "ImportedType", "fullname": "unittest.case.TestCase"}, {"name": "_L", "kind": "Other"}, {"name": "_LoggingWatcher", "kind": "LocalType"}, {"name": "_AssertLogsContext", "kind": "LocalType"}], "logging": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "threading", "kind": "Module", "fullname": "threading"}, {"name": "Self", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsWrite", "kind": "ImportedType", "fullname": "_typeshed.SupportsWrite"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "MutableMapping", "kind": "ImportedType", "fullname": "typing.MutableMapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "TextIOWrapper", "kind": "ImportedType", "fullname": "io.TextIOWrapper"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Template", "kind": "ImportedType", "fullname": "string.Template"}, {"name": "struct_time", "kind": "ImportedType", "fullname": "time.struct_time"}, {"name": "FrameType", "kind": "ImportedType", "fullname": "types.FrameType"}, {"name": "TracebackType", "kind": "ImportedType", "fullname": "types.TracebackType"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "Generic", "kind": "Other"}, {"name": "TextIO", "kind": "ImportedType", "fullname": "typing.TextIO"}, {"name": "TypeVar", "kind": "ImportedType", "fullname": "typing.TypeVar"}, {"name": "Union", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "_SysExcInfoType", "kind": "Other"}, {"name": "_ExcInfoType", "kind": "Other"}, {"name": "_ArgsType", "kind": "Other"}, {"name": "_FilterType", "kind": "Other"}, {"name": "_Level", "kind": "Other"}, {"name": "_FormatStyle", "kind": "Other"}, {"name": "raiseExceptions", "kind": "Other"}, {"name": "logThreads", "kind": "Other"}, {"name": "logMultiprocessing", "kind": "Other"}, {"name": "logProcesses", "kind": "Other"}, {"name": "_srcfile", "kind": "Other"}, {"name": "currentframe", "kind": "Other"}, {"name": "_levelToName", "kind": "Other"}, {"name": "_nameToLevel", "kind": "Other"}, {"name": "Filterer", "kind": "LocalType"}, {"name": "Manager", "kind": "LocalType"}, {"name": "Logger", "kind": "LocalType"}, {"name": "CRITICAL", "kind": "Other"}, {"name": "FATAL", "kind": "Other"}, {"name": "ERROR", "kind": "Other"}, {"name": "WARNING", "kind": "Other"}, {"name": "WARN", "kind": "Other"}, {"name": "INFO", "kind": "Other"}, {"name": "DEBUG", "kind": "Other"}, {"name": "NOTSET", "kind": "Other"}, {"name": "Handler", "kind": "LocalType"}, {"name": "Formatter", "kind": "LocalType"}, {"name": "BufferingFormatter", "kind": "LocalType"}, {"name": "Filter", "kind": "LocalType"}, {"name": "LogRecord", "kind": "LocalType"}, {"name": "_L", "kind": "Other"}, {"name": "LoggerAdapter", "kind": "LocalType"}, {"name": "getLogger", "kind": "Other"}, {"name": "getLoggerClass", "kind": "Other"}, {"name": "getLogRecordFactory", "kind": "Other"}, {"name": "debug", "kind": "Other"}, {"name": "info", "kind": "Other"}, {"name": "warning", "kind": "Other"}, {"name": "warn", "kind": "Other"}, {"name": "error", "kind": "Other"}, {"name": "critical", "kind": "Other"}, {"name": "exception", "kind": "Other"}, {"name": "log", "kind": "Other"}, {"name": "fatal", "kind": "Other"}, {"name": "disable", "kind": "Other"}, {"name": "addLevelName", "kind": "Other"}, {"name": "getLevelName", "kind": "Other"}, {"name": "makeLogRecord", "kind": "Other"}, {"name": "basicConfig", "kind": "Other"}, {"name": "shutdown", "kind": "Other"}, {"name": "setLoggerClass", "kind": "Other"}, {"name": "captureWarnings", "kind": "Other"}, {"name": "setLogRecordFactory", "kind": "Other"}, {"name": "lastResort", "kind": "Other"}, {"name": "_StreamT", "kind": "Other"}, {"name": "StreamHandler", "kind": "LocalType"}, {"name": "FileHandler", "kind": "LocalType"}, {"name": "NullHandler", "kind": "LocalType"}, {"name": "PlaceHolder", "kind": "LocalType"}, {"name": "RootLogger", "kind": "LocalType"}, {"name": "root", "kind": "Other"}, {"name": "PercentStyle", "kind": "LocalType"}, {"name": "StrFormatStyle", "kind": "LocalType"}, {"name": "StringTemplateStyle", "kind": "LocalType"}, {"name": "_STYLES", "kind": "Other"}, {"name": "BASIC_FORMAT", "kind": "Other"}], "_warnings": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "_defaultaction", "kind": "Other"}, {"name": "_onceregistry", "kind": "Other"}, {"name": "filters", "kind": "Other"}, {"name": "warn", "kind": "Other"}, {"name": "warn_explicit", "kind": "Other"}], "json.decoder": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "JSONDecodeError", "kind": "LocalType"}, {"name": "JSONDecoder", "kind": "LocalType"}], "json.encoder": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "Any", "kind": "Other"}, {"name": "ESCAPE", "kind": "Other"}, {"name": "ESCAPE_ASCII", "kind": "Other"}, {"name": "HAS_UTF8", "kind": "Other"}, {"name": "ESCAPE_DCT", "kind": "Other"}, {"name": "INFINITY", "kind": "Other"}, {"name": "py_encode_basestring", "kind": "Other"}, {"name": "py_encode_basestring_ascii", "kind": "Other"}, {"name": "JSONEncoder", "kind": "LocalType"}], "genericpath": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "BytesPath", "kind": "Other"}, {"name": "FileDescriptorOrPath", "kind": "Other"}, {"name": "StrPath", "kind": "Other"}, {"name": "SupportsRichComparisonT", "kind": "Other"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "overload", "kind": "Other"}, {"name": "Literal", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "commonprefix", "kind": "Other"}, {"name": "exists", "kind": "Other"}, {"name": "getsize", "kind": "Other"}, {"name": "isfile", "kind": "Other"}, {"name": "isdir", "kind": "Other"}, {"name": "getatime", "kind": "Other"}, {"name": "getmtime", "kind": "Other"}, {"name": "getctime", "kind": "Other"}, {"name": "samefile", "kind": "Other"}, {"name": "sameopenfile", "kind": "Other"}, {"name": "samestat", "kind": "Other"}], "email": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__path__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "LocalType"}, {"name": "Policy", "kind": "LocalType"}, {"name": "IO", "kind": "ImportedType", "fullname": "typing.IO"}, {"name": "Union", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "_ParamType", "kind": "Other"}, {"name": "_ParamsType", "kind": "Other"}, {"name": "message_from_string", "kind": "Other"}, {"name": "message_from_bytes", "kind": "Other"}, {"name": "message_from_file", "kind": "Other"}, {"name": "message_from_binary_file", "kind": "Other"}], "email.charset": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterator", "kind": "ImportedType", "fullname": "typing.Iterator"}, {"name": "__all__", "kind": "Other"}, {"name": "QP", "kind": "Other"}, {"name": "BASE64", "kind": "Other"}, {"name": "SHORTEST", "kind": "Other"}, {"name": "Charset", "kind": "LocalType"}, {"name": "add_charset", "kind": "Other"}, {"name": "add_alias", "kind": "Other"}, {"name": "add_codec", "kind": "Other"}], "email.contentmanager": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "ContentManager", "kind": "LocalType"}, {"name": "raw_data_manager", "kind": "Other"}], "email.errors": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "MessageError", "kind": "LocalType"}, {"name": "MessageParseError", "kind": "LocalType"}, {"name": "HeaderParseError", "kind": "LocalType"}, {"name": "BoundaryError", "kind": "LocalType"}, {"name": "MultipartConversionError", "kind": "LocalType"}, {"name": "CharsetError", "kind": "LocalType"}, {"name": "MessageDefect", "kind": "LocalType"}, {"name": "NoBoundaryInMultipartDefect", "kind": "LocalType"}, {"name": "StartBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "FirstHeaderLineIsContinuationDefect", "kind": "LocalType"}, {"name": "MisplacedEnvelopeHeaderDefect", "kind": "LocalType"}, {"name": "MultipartInvariantViolationDefect", "kind": "LocalType"}, {"name": "InvalidMultipartContentTransferEncodingDefect", "kind": "LocalType"}, {"name": "UndecodableBytesDefect", "kind": "LocalType"}, {"name": "InvalidBase64PaddingDefect", "kind": "LocalType"}, {"name": "InvalidBase64CharactersDefect", "kind": "LocalType"}, {"name": "InvalidBase64LengthDefect", "kind": "LocalType"}, {"name": "CloseBoundaryNotFoundDefect", "kind": "LocalType"}, {"name": "MissingHeaderBodySeparatorDefect", "kind": "LocalType"}, {"name": "MalformedHeaderDefect", "kind": "Other"}, {"name": "HeaderDefect", "kind": "LocalType"}, {"name": "InvalidHeaderDefect", "kind": "LocalType"}, {"name": "HeaderMissingRequiredValue", "kind": "LocalType"}, {"name": "NonPrintableDefect", "kind": "LocalType"}, {"name": "ObsoleteHeaderDefect", "kind": "LocalType"}, {"name": "NonASCIILocalPartDefect", "kind": "LocalType"}, {"name": "InvalidDateDefect", "kind": "LocalType"}], "email.policy": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "ABCMeta", "kind": "ImportedType", "fullname": "abc.ABCMeta"}, {"name": "abstractmethod", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "ContentManager", "kind": "ImportedType", "fullname": "email.contentmanager.ContentManager"}, {"name": "MessageDefect", "kind": "ImportedType", "fullname": "email.errors.MessageDefect"}, {"name": "Header", "kind": "ImportedType", "fullname": "email.header.Header"}, {"name": "Message", "kind": "ImportedType", "fullname": "email.message.Message"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Policy", "kind": "LocalType"}, {"name": "Compat32", "kind": "LocalType"}, {"name": "compat32", "kind": "Other"}, {"name": "EmailPolicy", "kind": "LocalType"}, {"name": "default", "kind": "Other"}, {"name": "SMTP", "kind": "Other"}, {"name": "SMTPUTF8", "kind": "Other"}, {"name": "HTTP", "kind": "Other"}, {"name": "strict", "kind": "Other"}], "numpy.compat.py3k": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "os", "kind": "Module", "fullname": "os"}, {"name": "Path", "kind": "ImportedType", "fullname": "pathlib.Path"}, {"name": "io", "kind": "Module", "fullname": "io"}, {"name": "pickle", "kind": "Other"}, {"name": "long", "kind": "Other"}, {"name": "integer_types", "kind": "Other"}, {"name": "basestring", "kind": "Other"}, {"name": "unicode", "kind": "Other"}, {"name": "bytes", "kind": "ImportedType", "fullname": "builtins.bytes"}, {"name": "asunicode", "kind": "Other"}, {"name": "asbytes", "kind": "Other"}, {"name": "asstr", "kind": "Other"}, {"name": "isfileobj", "kind": "Other"}, {"name": "open_latin1", "kind": "Other"}, {"name": "sixu", "kind": "Other"}, {"name": "strchar", "kind": "Other"}, {"name": "getexception", "kind": "Other"}, {"name": "asbytes_nested", "kind": "Other"}, {"name": "asunicode_nested", "kind": "Other"}, {"name": "is_pathlib_path", "kind": "Other"}, {"name": "contextlib_nullcontext", "kind": "LocalType"}, {"name": "npy_load_module", "kind": "Other"}, {"name": "os_fspath", "kind": "Other"}, {"name": "os_PathLike", "kind": "Other"}], "textwrap": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Callable", "kind": "Other"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "__all__", "kind": "Other"}, {"name": "TextWrapper", "kind": "LocalType"}, {"name": "wrap", "kind": "Other"}, {"name": "fill", "kind": "Other"}, {"name": "shorten", "kind": "Other"}, {"name": "dedent", "kind": "Other"}, {"name": "indent", "kind": "Other"}], "string": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "sys", "kind": "Module", "fullname": "sys"}, {"name": "StrOrLiteralStr", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Mapping", "kind": "ImportedType", "fullname": "typing.Mapping"}, {"name": "Sequence", "kind": "ImportedType", "fullname": "typing.Sequence"}, {"name": "Pattern", "kind": "ImportedType", "fullname": "re.Pattern"}, {"name": "RegexFlag", "kind": "ImportedType", "fullname": "re.RegexFlag"}, {"name": "Any", "kind": "Other"}, {"name": "ClassVar", "kind": "Other"}, {"name": "overload", "kind": "Other"}, {"name": "LiteralString", "kind": "Other"}, {"name": "TypeAlias", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "ascii_letters", "kind": "Other"}, {"name": "ascii_lowercase", "kind": "Other"}, {"name": "ascii_uppercase", "kind": "Other"}, {"name": "digits", "kind": "Other"}, {"name": "hexdigits", "kind": "Other"}, {"name": "octdigits", "kind": "Other"}, {"name": "punctuation", "kind": "Other"}, {"name": "printable", "kind": "Other"}, {"name": "whitespace", "kind": "Other"}, {"name": "capwords", "kind": "Other"}, {"name": "_TemplateMetaclass", "kind": "Other"}, {"name": "Template", "kind": "LocalType"}, {"name": "Formatter", "kind": "LocalType"}], "email.header": [{"name": "__builtins__", "kind": "Module", "fullname": "builtins"}, {"name": "__name__", "kind": "Other"}, {"name": "__doc__", "kind": "Other"}, {"name": "__file__", "kind": "Other"}, {"name": "__package__", "kind": "Other"}, {"name": "__annotations__", "kind": "Other"}, {"name": "Iterable", "kind": "ImportedType", "fullname": "typing.Iterable"}, {"name": "Charset", "kind": "ImportedType", "fullname": "email.charset.Charset"}, {"name": "Any", "kind": "Other"}, {"name": "__all__", "kind": "Other"}, {"name": "Header", "kind": "LocalType"}, {"name": "decode_header", "kind": "Other"}, {"name": "make_header", "kind": "Other"}]}} \ No newline at end of file diff --git a/utbot-rd/build.gradle b/utbot-rd/build.gradle index da449763..cf26b362 100644 --- a/utbot-rd/build.gradle +++ b/utbot-rd/build.gradle @@ -164,30 +164,30 @@ if (includeRiderInBuild.toBoolean()) { } } -task generateInstrumentedProcessModels(type: RdGenTask) { - def currentProjectDir = project.projectDir - def instrumentationProjectDir = project.rootProject.childProjects["utbot-instrumentation"].projectDir - def generatedOutputDir = new File(instrumentationProjectDir, "src/main/kotlin/org/utbot/instrumentation/rd/generated") - def hashDir = generatedOutputDir - def sourcesDir = new File(currentProjectDir, "src/main/rdgen/org/utbot/rd/models") - def rdParams = extensions.getByName("params") as RdGenExtension - - group = "rdgen" - rdParams.verbose = true - rdParams.sources(sourcesDir) - rdParams.hashFolder = hashDir.canonicalPath - // where to search roots - rdParams.packages = "org.utbot.rd.models" - - rdParams.generator { - language = "kotlin" - transform = "symmetric" - root = "org.utbot.rd.models.InstrumentedProcessRoot" - - directory = generatedOutputDir.canonicalPath - namespace = "org.utbot.instrumentation.process.generated" - } -} +//task generateInstrumentedProcessModels(type: RdGenTask) { +// def currentProjectDir = project.projectDir +// def instrumentationProjectDir = project.rootProject.childProjects["utbot-instrumentation"].projectDir +// def generatedOutputDir = new File(instrumentationProjectDir, "src/main/kotlin/org/utbot/instrumentation/rd/generated") +// def hashDir = generatedOutputDir +// def sourcesDir = new File(currentProjectDir, "src/main/rdgen/org/utbot/rd/models") +// def rdParams = extensions.getByName("params") as RdGenExtension +// +// group = "rdgen" +// rdParams.verbose = true +// rdParams.sources(sourcesDir) +// rdParams.hashFolder = hashDir.canonicalPath +// // where to search roots +// rdParams.packages = "org.utbot.rd.models" +// +// rdParams.generator { +// language = "kotlin" +// transform = "symmetric" +// root = "org.utbot.rd.models.InstrumentedProcessRoot" +// +// directory = generatedOutputDir.canonicalPath +// namespace = "org.utbot.instrumentation.process.generated" +// } +//} task generateEngineProcessModels(type: RdGenTask) { def currentProjectDir = project.projectDir diff --git a/utbot-rider/.gitignore b/utbot-rider/.gitignore deleted file mode 100644 index 347c41ff..00000000 --- a/utbot-rider/.gitignore +++ /dev/null @@ -1,233 +0,0 @@ -bin/ -obj/ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -build/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Visual Studio 2015 cache/options directory -.vs/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -artifacts/ - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# Rider -.idea -*.iml - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -## TODO: Comment the next line if you want to checkin your -## web deploy settings but do note that will include unencrypted -## passwords -#*.pubxml - -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config - -# Windows Azure Build Output -csx/ -*.build.csdef - -# Windows Store app package directory -AppPackages/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -[Ss]tyle[Cc]op.* -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# LightSwitch generated files -GeneratedArtifacts/ -_Pvt_Extensions/ -ModelManifest.xml - -# Custom files -VSharp.Test/Tests/VSharp.CSharpUtils/VSharp.CSharpUtils.dll - -*DS_Store - -# CLR interaction files -VSharp.ClrInteraction/sdk/* -VSharp.ClrInteraction/packs/* -VSharp.ClrInteraction/shared/* -VSharp.ClrInteraction/host/* -**/cmake-build-debug/** - -# Rendered tests -VSharp.Test/GeneratedTests/** diff --git a/utbot-rider/build.gradle.kts b/utbot-rider/build.gradle.kts deleted file mode 100644 index e88eef51..00000000 --- a/utbot-rider/build.gradle.kts +++ /dev/null @@ -1,86 +0,0 @@ -import org.apache.tools.ant.taskdefs.condition.Os - -val semVer: String? by rootProject -val rdVersion: String? by rootProject - -plugins { - id("org.jetbrains.intellij") version "1.13.1" -} - -intellij { - type.set("RD") - version.set("2023.1") -} - -tasks { - register("addRiderModelsToUtbotModels") { - val rdLibDirectory = File(project.tasks.setupDependencies.get().idea.get().classes, "lib/rd/rider-model.jar") - from(rdLibDirectory) - val utbotRd = project.rootProject.childProjects["utbot-rd"]!! - val targetDir = utbotRd.buildDir.resolve("libs") - into(targetDir) - } - val dotNetSdkCmdPath = projectDir.resolve("dotnet-sdk.cmd").toString() - - compileKotlin { - kotlinOptions { - jvmTarget = "17" - freeCompilerArgs = freeCompilerArgs + listOf("-Xallow-result-return-type", "-Xsam-conversions=class") - allWarningsAsErrors = false - } - } - - java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - - runIde { - jvmArgs("-Xmx2048m") - } - - patchPluginXml { - sinceBuild.set("231") - version.set(semVer) - } - - buildSearchableOptions { - enabled = false - } - - val chmodDotnet = create("chmodDotnet") { - group = "build" - doLast { - exec { - commandLine = listOf( - "chmod", - "+x", - dotNetSdkCmdPath - ) - } - } - } - - val publishDotNet = create("publishDotNet") { - if (!Os.isFamily(Os.FAMILY_WINDOWS)) { - dependsOn(chmodDotnet) - } - group = "build" - doLast { - exec { - commandLine = listOf( - dotNetSdkCmdPath, - "publish", - projectDir.resolve("src/dotnet/UtBot/UtBot.sln").toString() - ) - } - } - } - - prepareSandbox { - dependsOn(publishDotNet) - from("src/dotnet/UtBot/UtBot/bin/Debug/net6.0/publish") { - into("${intellij.pluginName.get()}/dotnet") } - } - -} diff --git a/utbot-rider/dotnet-sdk.cmd b/utbot-rider/dotnet-sdk.cmd deleted file mode 100644 index 9a08efc8..00000000 --- a/utbot-rider/dotnet-sdk.cmd +++ /dev/null @@ -1,266 +0,0 @@ -:<<"::CMDLITERAL" -@ECHO OFF -GOTO :CMDSCRIPT -::CMDLITERAL - -set -eu - -SCRIPT_VERSION=dotnet-cmd-v2 -COMPANY_DIR="UtBot" -TARGET_DIR="${TEMPDIR:-$HOME/.local/share}/$COMPANY_DIR/dotnet-cmd" -KEEP_ROSETTA2=false -export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true -export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -export DOTNET_CLI_TELEMETRY_OPTOUT=true - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -retry_on_error () { - local n="$1" - shift - - for i in $(seq 2 "$n"); do - "$@" 2>&1 && return || echo "WARNING: Command '$1' returned non-zero exit status $?, try again" - done - "$@" -} - -is_linux_musl () { - (ldd --version 2>&1 || true) | grep -q musl -} - -case $(uname) in -Darwin) - DOTNET_ARCH=$(uname -m) - if ! $KEEP_ROSETTA2 && [ "$(sysctl -n sysctl.proc_translated 2>/dev/null || true)" = "1" ]; then - DOTNET_ARCH=arm64 - fi - case $DOTNET_ARCH in - x86_64) - DOTNET_HASH_URL=cf3e1c73-a9a9-4e08-8607-8f9edae5f3f2/40a021a98a6b6e430a1f170037735f6f - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-osx-x64 - ;; - arm64) - DOTNET_HASH_URL=3859fff3-f8a9-4e05-87cd-bd6db75833f5/64ec1099d45f85d14099da3c1f92a5c3 - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-osx-arm64 - ;; - *) echo "Unknown architecture $DOTNET_ARCH" >&2; exit 1;; - esac;; -Linux) - DOTNET_ARCH=$(linux$(getconf LONG_BIT) uname -m) - case $DOTNET_ARCH in - x86_64) - if is_linux_musl; then - DOTNET_HASH_URL=206aebda-126f-484f-af02-051a17c1ec54/2ec559cb69cec83ffa64dba5441a1b2d - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-linux-musl-x64 - else - DOTNET_HASH_URL=77d472e5-194c-421e-992d-e4ca1d08e6cc/56c61ac303ddf1b12026151f4f000a2b - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-linux-x64 - fi - ;; - aarch64) - if is_linux_musl; then - DOTNET_HASH_URL=4bd2399a-e0e9-43a6-9767-ac15dd430b1c/3dd4307a1ce811e31943d80eee638bc1 - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-linux-musl-arm64 - else - DOTNET_HASH_URL=06c4ee8e-bf2c-4e46-ab1c-e14dd72311c1/f7bc6c9677eaccadd1d0e76c55d361ea - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-linux-arm64 - fi - ;; - armv7l | armv8l) - if is_linux_musl; then - DOTNET_HASH_URL=952c468c-ac70-46b0-9274-4cb9c270950c/f0cd4c8392158547c2fa38674bfd56fd - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-linux-musl-arm - else - DOTNET_HASH_URL=a218e3b9-941b-43be-bfb1-615862777457/80954de34ab68729981ed372a8d25b46 - DOTNET_FILE_NAME=dotnet-sdk-6.0.301-linux-arm - fi - ;; - *) echo "Unknown architecture $DOTNET_ARCH" >&2; exit 1;; - esac;; -*) echo "Unknown platform: $(uname)" >&2; exit 1;; -esac - -DOTNET_URL=https://cache-redirector.jetbrains.com/download.visualstudio.microsoft.com/download/pr/$DOTNET_HASH_URL/$DOTNET_FILE_NAME.tar.gz -DOTNET_TARGET_DIR=$TARGET_DIR/$DOTNET_FILE_NAME-$SCRIPT_VERSION -DOTNET_TEMP_FILE=$TARGET_DIR/dotnet-sdk-temp.tar.gz - -if grep -q -x "$DOTNET_URL" "$DOTNET_TARGET_DIR/.flag" 2>/dev/null; then - # Everything is up-to-date in $DOTNET_TARGET_DIR, do nothing - true -else -while true; do # Note(k15tfu): for goto - mkdir -p "$TARGET_DIR" - - LOCK_FILE="$TARGET_DIR/.dotnet-cmd-lock.pid" - TMP_LOCK_FILE="$TARGET_DIR/.tmp.$$.pid" - echo $$ >"$TMP_LOCK_FILE" - - while ! ln "$TMP_LOCK_FILE" "$LOCK_FILE" 2>/dev/null; do - LOCK_OWNER=$(cat "$LOCK_FILE" 2>/dev/null || true) - while [ -n "$LOCK_OWNER" ] && ps -p $LOCK_OWNER >/dev/null; do - warn "Waiting for the process $LOCK_OWNER to finish bootstrap dotnet.cmd" - sleep 1 - LOCK_OWNER=$(cat "$LOCK_FILE" 2>/dev/null || true) - - # Hurry up, bootstrap is ready.. - if grep -q -x "$DOTNET_URL" "$DOTNET_TARGET_DIR/.flag" 2>/dev/null; then - break 3 # Note(k15tfu): goto out of the outer if-else block. - fi - done - - if [ -n "$LOCK_OWNER" ] && grep -q -x $LOCK_OWNER "$LOCK_FILE" 2>/dev/null; then - die "ERROR: The lock file $LOCK_FILE still exists on disk after the owner process $LOCK_OWNER exited" - fi - done - - trap "rm -f \"$LOCK_FILE\"" EXIT - rm "$TMP_LOCK_FILE" - - if ! grep -q -x "$DOTNET_URL" "$DOTNET_TARGET_DIR/.flag" 2>/dev/null; then - warn "Downloading $DOTNET_URL to $DOTNET_TEMP_FILE" - - rm -f "$DOTNET_TEMP_FILE" - if command -v curl >/dev/null 2>&1; then - if [ -t 1 ]; then CURL_PROGRESS="--progress-bar"; else CURL_PROGRESS="--silent --show-error"; fi - retry_on_error 5 curl -L $CURL_PROGRESS --output "${DOTNET_TEMP_FILE}" "$DOTNET_URL" - elif command -v wget >/dev/null 2>&1; then - if [ -t 1 ]; then WGET_PROGRESS=""; else WGET_PROGRESS="-nv"; fi - retry_on_error 5 wget $WGET_PROGRESS -O "${DOTNET_TEMP_FILE}" "$DOTNET_URL" - else - die "ERROR: Please install wget or curl" - fi - - warn "Extracting $DOTNET_TEMP_FILE to $DOTNET_TARGET_DIR" - rm -rf "$DOTNET_TARGET_DIR" - mkdir -p "$DOTNET_TARGET_DIR" - - tar -x -f "$DOTNET_TEMP_FILE" -C "$DOTNET_TARGET_DIR" - rm -f "$DOTNET_TEMP_FILE" - - echo "$DOTNET_URL" >"$DOTNET_TARGET_DIR/.flag" - fi - - rm "$LOCK_FILE" - break -done -fi - -if [ ! -x "$DOTNET_TARGET_DIR/dotnet" ]; then - die "Unable to find dotnet under $DOTNET_TARGET_DIR" -fi - -exec "$DOTNET_TARGET_DIR/dotnet" "$@" - -:CMDSCRIPT - -setlocal -set SCRIPT_VERSION=v2 -set COMPANY_NAME=UtBot -set TARGET_DIR=%LOCALAPPDATA%\%COMPANY_NAME%\dotnet-cmd\ - -for /f "tokens=3 delims= " %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PROCESSOR_ARCHITECTURE"') do set ARCH=%%a - -if "%ARCH%"=="ARM64" ( - set DOTNET_HASH_URL=656c8345-6661-409e-871d-00ca93cec542/cae3dcdc5c668c0e0abcf12d838348f1 - set DOTNET_FILE_NAME=dotnet-sdk-6.0.301-win-arm64 -) else ( - -if "%ARCH%"=="AMD64" ( - set DOTNET_HASH_URL=333eba0c-3242-48f3-a923-fdac5f219f77/342a4595101e3b4616360a7666459236 - set DOTNET_FILE_NAME=dotnet-sdk-6.0.301-win-x64 -) else ( - -if "%ARCH%"=="x86" ( - set DOTNET_HASH_URL=0a9cabcb-cb52-4f5e-bb79-1298f9ff9e22/c306c5cc940a9bb9a39ffe6619a255e6 - set DOTNET_FILE_NAME=dotnet-sdk-6.0.301-win-x86 -) else ( - -echo Unknown Windows architecture -goto fail - -))) - -set DOTNET_URL=https://cache-redirector.jetbrains.com/download.visualstudio.microsoft.com/download/pr/%DOTNET_HASH_URL%/%DOTNET_FILE_NAME%.zip -set DOTNET_TARGET_DIR=%TARGET_DIR%%DOTNET_FILE_NAME%-%SCRIPT_VERSION%\ -set DOTNET_TEMP_FILE=%TARGET_DIR%dotnet-sdk-temp.zip -set DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true -set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true -set DOTNET_CLI_TELEMETRY_OPTOUT=true - -set POWERSHELL=%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe - -if not exist "%DOTNET_TARGET_DIR%.flag" goto downloadAndExtractDotNet - -set /p CURRENT_FLAG=<"%DOTNET_TARGET_DIR%.flag" -if "%CURRENT_FLAG%" == "%DOTNET_URL%" goto continueWithDotNet - -:downloadAndExtractDotNet - -set DOWNLOAD_AND_EXTRACT_DOTNET_PS1= ^ -Set-StrictMode -Version 3.0; ^ -$ErrorActionPreference = 'Stop'; ^ - ^ -$createdNew = $false; ^ -$lock = New-Object System.Threading.Mutex($true, 'Global\dotnet-cmd-lock', [ref]$createdNew); ^ -if (-not $createdNew) { ^ - Write-Host 'Waiting for the other process to finish bootstrap dotnet.cmd'; ^ - [void]$lock.WaitOne(); ^ -} ^ - ^ -try { ^ - if ((Get-Content '%DOTNET_TARGET_DIR%.flag' -ErrorAction Ignore) -ne '%DOTNET_URL%') { ^ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; ^ - Write-Host 'Downloading %DOTNET_URL% to %DOTNET_TEMP_FILE%'; ^ - [void](New-Item '%TARGET_DIR%' -ItemType Directory -Force); ^ - (New-Object Net.WebClient).DownloadFile('%DOTNET_URL%', '%DOTNET_TEMP_FILE%'); ^ - ^ - Write-Host 'Extracting %DOTNET_TEMP_FILE% to %DOTNET_TARGET_DIR%'; ^ - if (Test-Path '%DOTNET_TARGET_DIR%') { ^ - Remove-Item '%DOTNET_TARGET_DIR%' -Recurse; ^ - } ^ - Add-Type -A 'System.IO.Compression.FileSystem'; ^ - [IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_TEMP_FILE%', '%DOTNET_TARGET_DIR%'); ^ - Remove-Item '%DOTNET_TEMP_FILE%'; ^ - ^ - Set-Content '%DOTNET_TARGET_DIR%.flag' -Value '%DOTNET_URL%'; ^ - } ^ -} ^ -finally { ^ - $lock.ReleaseMutex(); ^ -} - -"%POWERSHELL%" -nologo -noprofile -Command %DOWNLOAD_AND_EXTRACT_DOTNET_PS1% -if errorlevel 1 goto fail - -:continueWithDotNet - -if not exist "%DOTNET_TARGET_DIR%\dotnet.exe" ( - echo Unable to find dotnet.exe under %DOTNET_TARGET_DIR% - goto fail -) - -REM Prevent globally installed .NET Core from leaking into this runtime's lookup -SET DOTNET_MULTILEVEL_LOOKUP=0 -SET DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=false - -for /f "tokens=2 delims=:." %%c in ('chcp') do set /a PREV_CODE_PAGE=%%c -call "%DOTNET_TARGET_DIR%\dotnet.exe" %* -set /a DOTNET_EXIT_CODE=%ERRORLEVEL% -chcp %PREV_CODE_PAGE% >nul - -exit /B %DOTNET_EXIT_CODE% -endlocal - -:fail -echo "FAIL" -exit /b 1 \ No newline at end of file diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/Generated/CSharpRoot.Generated.cs b/utbot-rider/src/dotnet/UtBot/UtBot.Rd/Generated/CSharpRoot.Generated.cs deleted file mode 100644 index 3048e3b7..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/Generated/CSharpRoot.Generated.cs +++ /dev/null @@ -1,94 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a RdGen v1.10. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ -using System; -using System.Linq; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using JetBrains.Annotations; - -using JetBrains.Core; -using JetBrains.Diagnostics; -using JetBrains.Collections; -using JetBrains.Collections.Viewable; -using JetBrains.Lifetimes; -using JetBrains.Serialization; -using JetBrains.Rd; -using JetBrains.Rd.Base; -using JetBrains.Rd.Impl; -using JetBrains.Rd.Tasks; -using JetBrains.Rd.Util; -using JetBrains.Rd.Text; - - -// ReSharper disable RedundantEmptyObjectCreationArgumentList -// ReSharper disable InconsistentNaming -// ReSharper disable RedundantOverflowCheckingContext - - -namespace UtBot.Rd.Generated -{ - - - /// - ///

    Generated from: CSharpModel.kt:6

    - ///
    - public class CSharpRoot : RdExtBase - { - //fields - //public fields - - //private fields - //primary constructor - private CSharpRoot( - ) - { - } - //secondary constructor - //deconstruct trait - //statics - - - - protected override long SerializationHash => -3743965577225156277L; - - protected override Action Register => RegisterDeclaredTypesSerializers; - public static void RegisterDeclaredTypesSerializers(ISerializers serializers) - { - - serializers.RegisterToplevelOnce(typeof(CSharpRoot), CSharpRoot.RegisterDeclaredTypesSerializers); - serializers.RegisterToplevelOnce(typeof(VSharpModel), VSharpModel.RegisterDeclaredTypesSerializers); - } - - public CSharpRoot(Lifetime lifetime, IProtocol protocol) : this() - { - Identify(protocol.Identities, RdId.Root.Mix("CSharpRoot")); - Bind(lifetime, protocol, "CSharpRoot"); - } - - //constants - - //custom body - //methods - //equals trait - //hash code trait - //pretty print - public override void Print(PrettyPrinter printer) - { - printer.Println("CSharpRoot ("); - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/Generated/VSharpModel.Generated.cs b/utbot-rider/src/dotnet/UtBot/UtBot.Rd/Generated/VSharpModel.Generated.cs deleted file mode 100644 index 6a7401a1..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/Generated/VSharpModel.Generated.cs +++ /dev/null @@ -1,598 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a RdGen v1.10. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ -using System; -using System.Linq; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using JetBrains.Annotations; - -using JetBrains.Core; -using JetBrains.Diagnostics; -using JetBrains.Collections; -using JetBrains.Collections.Viewable; -using JetBrains.Lifetimes; -using JetBrains.Serialization; -using JetBrains.Rd; -using JetBrains.Rd.Base; -using JetBrains.Rd.Impl; -using JetBrains.Rd.Tasks; -using JetBrains.Rd.Util; -using JetBrains.Rd.Text; - - -// ReSharper disable RedundantEmptyObjectCreationArgumentList -// ReSharper disable InconsistentNaming -// ReSharper disable RedundantOverflowCheckingContext - - -namespace UtBot.Rd.Generated -{ - - - /// - ///

    Generated from: CSharpModel.kt:8

    - ///
    - public class VSharpModel : RdExtBase - { - //fields - //public fields - [NotNull] public RdCall Generate => _Generate; - [NotNull] public ISignal Ping => _Ping; - [NotNull] public ISignal Log => _Log; - - //private fields - [NotNull] private readonly RdCall _Generate; - [NotNull] private readonly RdSignal _Ping; - [NotNull] private readonly RdSignal _Log; - - //primary constructor - private VSharpModel( - [NotNull] RdCall generate, - [NotNull] RdSignal ping, - [NotNull] RdSignal log - ) - { - if (generate == null) throw new ArgumentNullException("generate"); - if (ping == null) throw new ArgumentNullException("ping"); - if (log == null) throw new ArgumentNullException("log"); - - _Generate = generate; - _Ping = ping; - _Log = log; - _Generate.Async = true; - _Ping.Async = true; - _Log.Async = true; - BindableChildren.Add(new KeyValuePair("generate", _Generate)); - BindableChildren.Add(new KeyValuePair("ping", _Ping)); - BindableChildren.Add(new KeyValuePair("log", _Log)); - } - //secondary constructor - private VSharpModel ( - ) : this ( - new RdCall(GenerateArguments.Read, GenerateArguments.Write, GenerateResults.Read, GenerateResults.Write), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadString, JetBrains.Rd.Impl.Serializers.WriteString), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadString, JetBrains.Rd.Impl.Serializers.WriteString) - ) {} - //deconstruct trait - //statics - - - - protected override long SerializationHash => 9120359939503061610L; - - protected override Action Register => RegisterDeclaredTypesSerializers; - public static void RegisterDeclaredTypesSerializers(ISerializers serializers) - { - - serializers.RegisterToplevelOnce(typeof(CSharpRoot), CSharpRoot.RegisterDeclaredTypesSerializers); - } - - public VSharpModel(Lifetime lifetime, IProtocol protocol) : this() - { - Identify(protocol.Identities, RdId.Root.Mix("VSharpModel")); - Bind(lifetime, protocol, "VSharpModel"); - } - - //constants - - //custom body - //methods - //equals trait - //hash code trait - //pretty print - public override void Print(PrettyPrinter printer) - { - printer.Println("VSharpModel ("); - using (printer.IndentCookie()) { - printer.Print("generate = "); _Generate.PrintEx(printer); printer.Println(); - printer.Print("ping = "); _Ping.PrintEx(printer); printer.Println(); - printer.Print("log = "); _Log.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } - - - /// - ///

    Generated from: CSharpModel.kt:21

    - ///
    - public sealed class GenerateArguments : IPrintable, IEquatable - { - //fields - //public fields - [NotNull] public string AssemblyPath {get; private set;} - [NotNull] public string ProjectCsprojPath {get; private set;} - [NotNull] public string SolutionFilePath {get; private set;} - [NotNull] public List Methods {get; private set;} - public int GenerationTimeoutInSeconds {get; private set;} - [CanBeNull] public string TargetFramework {get; private set;} - [NotNull] public List AssembliesFullNameToTheirPath {get; private set;} - - //private fields - //primary constructor - public GenerateArguments( - [NotNull] string assemblyPath, - [NotNull] string projectCsprojPath, - [NotNull] string solutionFilePath, - [NotNull] List methods, - int generationTimeoutInSeconds, - [CanBeNull] string targetFramework, - [NotNull] List assembliesFullNameToTheirPath - ) - { - if (assemblyPath == null) throw new ArgumentNullException("assemblyPath"); - if (projectCsprojPath == null) throw new ArgumentNullException("projectCsprojPath"); - if (solutionFilePath == null) throw new ArgumentNullException("solutionFilePath"); - if (methods == null) throw new ArgumentNullException("methods"); - if (assembliesFullNameToTheirPath == null) throw new ArgumentNullException("assembliesFullNameToTheirPath"); - - AssemblyPath = assemblyPath; - ProjectCsprojPath = projectCsprojPath; - SolutionFilePath = solutionFilePath; - Methods = methods; - GenerationTimeoutInSeconds = generationTimeoutInSeconds; - TargetFramework = targetFramework; - AssembliesFullNameToTheirPath = assembliesFullNameToTheirPath; - } - //secondary constructor - //deconstruct trait - public void Deconstruct([NotNull] out string assemblyPath, [NotNull] out string projectCsprojPath, [NotNull] out string solutionFilePath, [NotNull] out List methods, out int generationTimeoutInSeconds, [CanBeNull] out string targetFramework, [NotNull] out List assembliesFullNameToTheirPath) - { - assemblyPath = AssemblyPath; - projectCsprojPath = ProjectCsprojPath; - solutionFilePath = SolutionFilePath; - methods = Methods; - generationTimeoutInSeconds = GenerationTimeoutInSeconds; - targetFramework = TargetFramework; - assembliesFullNameToTheirPath = AssembliesFullNameToTheirPath; - } - //statics - - public static CtxReadDelegate Read = (ctx, reader) => - { - var assemblyPath = reader.ReadString(); - var projectCsprojPath = reader.ReadString(); - var solutionFilePath = reader.ReadString(); - var methods = ReadMethodDescriptorList(ctx, reader); - var generationTimeoutInSeconds = reader.ReadInt(); - var targetFramework = ReadStringNullable(ctx, reader); - var assembliesFullNameToTheirPath = ReadMapEntryList(ctx, reader); - var _result = new GenerateArguments(assemblyPath, projectCsprojPath, solutionFilePath, methods, generationTimeoutInSeconds, targetFramework, assembliesFullNameToTheirPath); - return _result; - }; - public static CtxReadDelegate> ReadMethodDescriptorList = MethodDescriptor.Read.List(); - public static CtxReadDelegate ReadStringNullable = JetBrains.Rd.Impl.Serializers.ReadString.NullableClass(); - public static CtxReadDelegate> ReadMapEntryList = MapEntry.Read.List(); - - public static CtxWriteDelegate Write = (ctx, writer, value) => - { - writer.Write(value.AssemblyPath); - writer.Write(value.ProjectCsprojPath); - writer.Write(value.SolutionFilePath); - WriteMethodDescriptorList(ctx, writer, value.Methods); - writer.Write(value.GenerationTimeoutInSeconds); - WriteStringNullable(ctx, writer, value.TargetFramework); - WriteMapEntryList(ctx, writer, value.AssembliesFullNameToTheirPath); - }; - public static CtxWriteDelegate> WriteMethodDescriptorList = MethodDescriptor.Write.List(); - public static CtxWriteDelegate WriteStringNullable = JetBrains.Rd.Impl.Serializers.WriteString.NullableClass(); - public static CtxWriteDelegate> WriteMapEntryList = MapEntry.Write.List(); - - //constants - - //custom body - //methods - //equals trait - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - return Equals((GenerateArguments) obj); - } - public bool Equals(GenerateArguments other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - return AssemblyPath == other.AssemblyPath && ProjectCsprojPath == other.ProjectCsprojPath && SolutionFilePath == other.SolutionFilePath && Methods.SequenceEqual(other.Methods) && GenerationTimeoutInSeconds == other.GenerationTimeoutInSeconds && Equals(TargetFramework, other.TargetFramework) && AssembliesFullNameToTheirPath.SequenceEqual(other.AssembliesFullNameToTheirPath); - } - //hash code trait - public override int GetHashCode() - { - unchecked { - var hash = 0; - hash = hash * 31 + AssemblyPath.GetHashCode(); - hash = hash * 31 + ProjectCsprojPath.GetHashCode(); - hash = hash * 31 + SolutionFilePath.GetHashCode(); - hash = hash * 31 + Methods.ContentHashCode(); - hash = hash * 31 + GenerationTimeoutInSeconds.GetHashCode(); - hash = hash * 31 + (TargetFramework != null ? TargetFramework.GetHashCode() : 0); - hash = hash * 31 + AssembliesFullNameToTheirPath.ContentHashCode(); - return hash; - } - } - //pretty print - public void Print(PrettyPrinter printer) - { - printer.Println("GenerateArguments ("); - using (printer.IndentCookie()) { - printer.Print("assemblyPath = "); AssemblyPath.PrintEx(printer); printer.Println(); - printer.Print("projectCsprojPath = "); ProjectCsprojPath.PrintEx(printer); printer.Println(); - printer.Print("solutionFilePath = "); SolutionFilePath.PrintEx(printer); printer.Println(); - printer.Print("methods = "); Methods.PrintEx(printer); printer.Println(); - printer.Print("generationTimeoutInSeconds = "); GenerationTimeoutInSeconds.PrintEx(printer); printer.Println(); - printer.Print("targetFramework = "); TargetFramework.PrintEx(printer); printer.Println(); - printer.Print("assembliesFullNameToTheirPath = "); AssembliesFullNameToTheirPath.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } - - - /// - ///

    Generated from: CSharpModel.kt:31

    - ///
    - public sealed class GenerateResults : IPrintable, IEquatable - { - //fields - //public fields - [CanBeNull] public string GeneratedProjectPath {get; private set;} - [NotNull] public List GeneratedFilesPaths {get; private set;} - [CanBeNull] public string ExceptionMessage {get; private set;} - public int TestsCount {get; private set;} - public int ErrorsCount {get; private set;} - - //private fields - //primary constructor - public GenerateResults( - [CanBeNull] string generatedProjectPath, - [NotNull] List generatedFilesPaths, - [CanBeNull] string exceptionMessage, - int testsCount, - int errorsCount - ) - { - if (generatedFilesPaths == null) throw new ArgumentNullException("generatedFilesPaths"); - - GeneratedProjectPath = generatedProjectPath; - GeneratedFilesPaths = generatedFilesPaths; - ExceptionMessage = exceptionMessage; - TestsCount = testsCount; - ErrorsCount = errorsCount; - } - //secondary constructor - //deconstruct trait - public void Deconstruct([CanBeNull] out string generatedProjectPath, [NotNull] out List generatedFilesPaths, [CanBeNull] out string exceptionMessage, out int testsCount, out int errorsCount) - { - generatedProjectPath = GeneratedProjectPath; - generatedFilesPaths = GeneratedFilesPaths; - exceptionMessage = ExceptionMessage; - testsCount = TestsCount; - errorsCount = ErrorsCount; - } - //statics - - public static CtxReadDelegate Read = (ctx, reader) => - { - var generatedProjectPath = ReadStringNullable(ctx, reader); - var generatedFilesPaths = ReadStringList(ctx, reader); - var exceptionMessage = ReadStringNullable(ctx, reader); - var testsCount = reader.ReadInt(); - var errorsCount = reader.ReadInt(); - var _result = new GenerateResults(generatedProjectPath, generatedFilesPaths, exceptionMessage, testsCount, errorsCount); - return _result; - }; - public static CtxReadDelegate ReadStringNullable = JetBrains.Rd.Impl.Serializers.ReadString.NullableClass(); - public static CtxReadDelegate> ReadStringList = JetBrains.Rd.Impl.Serializers.ReadString.List(); - - public static CtxWriteDelegate Write = (ctx, writer, value) => - { - WriteStringNullable(ctx, writer, value.GeneratedProjectPath); - WriteStringList(ctx, writer, value.GeneratedFilesPaths); - WriteStringNullable(ctx, writer, value.ExceptionMessage); - writer.Write(value.TestsCount); - writer.Write(value.ErrorsCount); - }; - public static CtxWriteDelegate WriteStringNullable = JetBrains.Rd.Impl.Serializers.WriteString.NullableClass(); - public static CtxWriteDelegate> WriteStringList = JetBrains.Rd.Impl.Serializers.WriteString.List(); - - //constants - - //custom body - //methods - //equals trait - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - return Equals((GenerateResults) obj); - } - public bool Equals(GenerateResults other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - return Equals(GeneratedProjectPath, other.GeneratedProjectPath) && GeneratedFilesPaths.SequenceEqual(other.GeneratedFilesPaths) && Equals(ExceptionMessage, other.ExceptionMessage) && TestsCount == other.TestsCount && ErrorsCount == other.ErrorsCount; - } - //hash code trait - public override int GetHashCode() - { - unchecked { - var hash = 0; - hash = hash * 31 + (GeneratedProjectPath != null ? GeneratedProjectPath.GetHashCode() : 0); - hash = hash * 31 + GeneratedFilesPaths.ContentHashCode(); - hash = hash * 31 + (ExceptionMessage != null ? ExceptionMessage.GetHashCode() : 0); - hash = hash * 31 + TestsCount.GetHashCode(); - hash = hash * 31 + ErrorsCount.GetHashCode(); - return hash; - } - } - //pretty print - public void Print(PrettyPrinter printer) - { - printer.Println("GenerateResults ("); - using (printer.IndentCookie()) { - printer.Print("generatedProjectPath = "); GeneratedProjectPath.PrintEx(printer); printer.Println(); - printer.Print("generatedFilesPaths = "); GeneratedFilesPaths.PrintEx(printer); printer.Println(); - printer.Print("exceptionMessage = "); ExceptionMessage.PrintEx(printer); printer.Println(); - printer.Print("testsCount = "); TestsCount.PrintEx(printer); printer.Println(); - printer.Print("errorsCount = "); ErrorsCount.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } - - - /// - ///

    Generated from: CSharpModel.kt:16

    - ///
    - public sealed class MapEntry : IPrintable, IEquatable - { - //fields - //public fields - [NotNull] public string Key {get; private set;} - [NotNull] public string Value {get; private set;} - - //private fields - //primary constructor - public MapEntry( - [NotNull] string key, - [NotNull] string value - ) - { - if (key == null) throw new ArgumentNullException("key"); - if (value == null) throw new ArgumentNullException("value"); - - Key = key; - Value = value; - } - //secondary constructor - //deconstruct trait - public void Deconstruct([NotNull] out string key, [NotNull] out string value) - { - key = Key; - value = Value; - } - //statics - - public static CtxReadDelegate Read = (ctx, reader) => - { - var key = reader.ReadString(); - var value = reader.ReadString(); - var _result = new MapEntry(key, value); - return _result; - }; - - public static CtxWriteDelegate Write = (ctx, writer, value) => - { - writer.Write(value.Key); - writer.Write(value.Value); - }; - - //constants - - //custom body - //methods - //equals trait - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - return Equals((MapEntry) obj); - } - public bool Equals(MapEntry other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - return Key == other.Key && Value == other.Value; - } - //hash code trait - public override int GetHashCode() - { - unchecked { - var hash = 0; - hash = hash * 31 + Key.GetHashCode(); - hash = hash * 31 + Value.GetHashCode(); - return hash; - } - } - //pretty print - public void Print(PrettyPrinter printer) - { - printer.Println("MapEntry ("); - using (printer.IndentCookie()) { - printer.Print("key = "); Key.PrintEx(printer); printer.Println(); - printer.Print("value = "); Value.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } - - - /// - ///

    Generated from: CSharpModel.kt:9

    - ///
    - public sealed class MethodDescriptor : IPrintable, IEquatable - { - //fields - //public fields - [NotNull] public string MethodName {get; private set;} - [NotNull] public string TypeName {get; private set;} - public bool HasNoOverloads {get; private set;} - [NotNull] public List Parameters {get; private set;} - - //private fields - //primary constructor - public MethodDescriptor( - [NotNull] string methodName, - [NotNull] string typeName, - bool hasNoOverloads, - [NotNull] List parameters - ) - { - if (methodName == null) throw new ArgumentNullException("methodName"); - if (typeName == null) throw new ArgumentNullException("typeName"); - if (parameters == null) throw new ArgumentNullException("parameters"); - - MethodName = methodName; - TypeName = typeName; - HasNoOverloads = hasNoOverloads; - Parameters = parameters; - } - //secondary constructor - //deconstruct trait - public void Deconstruct([NotNull] out string methodName, [NotNull] out string typeName, out bool hasNoOverloads, [NotNull] out List parameters) - { - methodName = MethodName; - typeName = TypeName; - hasNoOverloads = HasNoOverloads; - parameters = Parameters; - } - //statics - - public static CtxReadDelegate Read = (ctx, reader) => - { - var methodName = reader.ReadString(); - var typeName = reader.ReadString(); - var hasNoOverloads = reader.ReadBool(); - var parameters = ReadStringList(ctx, reader); - var _result = new MethodDescriptor(methodName, typeName, hasNoOverloads, parameters); - return _result; - }; - public static CtxReadDelegate> ReadStringList = JetBrains.Rd.Impl.Serializers.ReadString.List(); - - public static CtxWriteDelegate Write = (ctx, writer, value) => - { - writer.Write(value.MethodName); - writer.Write(value.TypeName); - writer.Write(value.HasNoOverloads); - WriteStringList(ctx, writer, value.Parameters); - }; - public static CtxWriteDelegate> WriteStringList = JetBrains.Rd.Impl.Serializers.WriteString.List(); - - //constants - - //custom body - //methods - //equals trait - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - return Equals((MethodDescriptor) obj); - } - public bool Equals(MethodDescriptor other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - return MethodName == other.MethodName && TypeName == other.TypeName && HasNoOverloads == other.HasNoOverloads && Parameters.SequenceEqual(other.Parameters); - } - //hash code trait - public override int GetHashCode() - { - unchecked { - var hash = 0; - hash = hash * 31 + MethodName.GetHashCode(); - hash = hash * 31 + TypeName.GetHashCode(); - hash = hash * 31 + HasNoOverloads.GetHashCode(); - hash = hash * 31 + Parameters.ContentHashCode(); - return hash; - } - } - //pretty print - public void Print(PrettyPrinter printer) - { - printer.Println("MethodDescriptor ("); - using (printer.IndentCookie()) { - printer.Print("methodName = "); MethodName.PrintEx(printer); printer.Println(); - printer.Print("typeName = "); TypeName.PrintEx(printer); printer.Println(); - printer.Print("hasNoOverloads = "); HasNoOverloads.PrintEx(printer); printer.Println(); - printer.Print("parameters = "); Parameters.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/RdUtil.cs b/utbot-rider/src/dotnet/UtBot/UtBot.Rd/RdUtil.cs deleted file mode 100644 index d069e665..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/RdUtil.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace UtBot.Rd; - -public static class RdUtil -{ - public static readonly string MainProcessName = "UtBot"; - public static readonly string DefaultTestProjectTarget = "net6.0"; -} \ No newline at end of file diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/TypeDescriptor.cs b/utbot-rider/src/dotnet/UtBot/UtBot.Rd/TypeDescriptor.cs deleted file mode 100644 index 7f370c5c..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/TypeDescriptor.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Collections.Generic; - -namespace UtBot.Rd; - -// Type descriptors are separately serialized to json because -// they are recursive (have type descriptor Parameters) -public class TypeDescriptor -{ - public int? ArrayRank { get; set; } - public string Name { get; set; } - public int? MethodParameterPosition { get; set; } - public int? TypeParameterPosition { get; set; } - public List Parameters { get; set; } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/UtBot.Rd.csproj b/utbot-rider/src/dotnet/UtBot/UtBot.Rd/UtBot.Rd.csproj deleted file mode 100644 index 3a41b19c..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.Rd/UtBot.Rd.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - net6.0 - disable - UtBot.Rd - - - - - - - - diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.VSharp/UtBot.VSharp.csproj b/utbot-rider/src/dotnet/UtBot/UtBot.VSharp/UtBot.VSharp.csproj deleted file mode 100644 index a8cab384..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.VSharp/UtBot.VSharp.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - Exe - net6.0 - disable - UtBot.VSharp - UtBot.VSharp.VSharpMain - - - - - - - - - - diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.VSharp/VSharpMain.cs b/utbot-rider/src/dotnet/UtBot/UtBot.VSharp/VSharpMain.cs deleted file mode 100644 index 662f2e9a..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.VSharp/VSharpMain.cs +++ /dev/null @@ -1,247 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Runtime.Loader; -using System.Text; -using System.Text.Json; -using System.Text.RegularExpressions; -using JetBrains.Collections.Viewable; -using JetBrains.Lifetimes; -using JetBrains.Rd; -using JetBrains.Rd.Impl; -using JetBrains.Rd.Tasks; -using UtBot.Rd; -using UtBot.Rd.Generated; -using VSharp; -using VSharp.TestRenderer; - -namespace UtBot.VSharp; - -public static class VSharpMain -{ - public static readonly string VSharpProcessName = "VSharp"; - - private class SignalWriter : TextWriter - { - private readonly ISignal _signal; - public SignalWriter(ISignal signal) - { - _signal = signal; - } - - public override void Write(string value) - { - _signal.Fire(value); - } - - public override void WriteLine(string value) - { - Write(value); - } - - public override Encoding Encoding => Encoding.Default; - } - - private static GenerateResults GenerateImpl(GenerateArguments arguments, IReadOnlyDictionary assembliesFullNameToTheirPath) - { - var (assemblyPath, projectCsprojPath, solutionFilePath, - methodDescriptors, generationTimeout, targetFramework, _) = arguments; - - string AssemblyResolveFunc(string fullAssemblyName) - { - return !assembliesFullNameToTheirPath.TryGetValue(fullAssemblyName, out var found) ? null : found; - } - - var assemblyLoadContext = new AssemblyLoadContext(VSharpProcessName); - assemblyLoadContext.Resolving += (context, assemblyName) => - { - var found = AssemblyResolveFunc(assemblyName.FullName); - if (found == null) - { - return null; - } - return context.LoadFromAssemblyPath(found); - }; - - using (new DependencyResolver(AssemblyResolveFunc)) - { - var assembly = assemblyLoadContext.LoadFromAssemblyPath(assemblyPath); - var methods = methodDescriptors.Select(d => d.ToMethodInfo(assembly)).ToList(); - var declaringType = methods.Select(m => m.DeclaringType).Distinct().SingleOrDefault(); - var stat = TestGenerator.Cover(methods, generationTimeout, verbosity: Verbosity.Info); - - var testedProject = new FileInfo(projectCsprojPath); - var solution = new FileInfo(solutionFilePath); - - var (generatedProject, renderedFiles) = - Renderer.Render(stat.Results(), testedProject, declaringType, solution, targetFramework); - - return new GenerateResults( - generatedProject.FullName, - renderedFiles, - null, - (int)stat.TestsCount, - (int)stat.ErrorsCount); - } - } - - private static bool MatchesType(TypeDescriptor typeDescriptor, Type typ) - { - if (typ.IsGenericMethodParameter) - { - return typ.GenericParameterPosition == typeDescriptor.MethodParameterPosition; - } - - if (typ.IsGenericTypeParameter) - { - return typ.GenericParameterPosition == typeDescriptor.TypeParameterPosition; - } - - if (typ.IsArray) - { - return typ.GetArrayRank() == typeDescriptor.ArrayRank && - MatchesType(typeDescriptor.Parameters[0], typ.GetElementType()); - } - - var name = typ.IsGenericType ? typ.GetGenericTypeDefinition().FullName : typ.FullName; - - if (name != typeDescriptor.Name) - { - Logger.printLogString(Logger.Error, $"{typ.FullName} != {typeDescriptor.Name}"); - return false; - } - - var genericArguments = typ.GetGenericArguments(); - - if (genericArguments.Length != typeDescriptor.Parameters.Count) - { - return false; - } - - for (var i = 0; i < genericArguments.Length; ++i) - { - if (!MatchesType(typeDescriptor.Parameters[i], genericArguments[i])) - { - return false; - } - } - - return true; - } - - private static bool MatchesMethod(MethodDescriptor descriptor, MethodInfo methodInfo) - { - var targetParameters = descriptor.Parameters.Select(p => JsonSerializer.Deserialize(p)).ToArray(); - - if (methodInfo.Name != descriptor.MethodName) - { - return false; - } - - var parameters = methodInfo.GetParameters(); - - if (parameters.Length != targetParameters.Length) - { - return false; - } - - for (var i = 0; i < parameters.Length; ++i) - { - if (!MatchesType(targetParameters[i], parameters[i].ParameterType)) - { - return false; - } - } - - return true; - } - - private static MethodInfo ToMethodInfo(this MethodDescriptor descriptor, Assembly assembly) - { - var type = assembly.GetType(descriptor.TypeName, throwOnError: false); - - if (type?.FullName != descriptor.TypeName) - throw new InvalidDataException($"Cannot find type {descriptor.TypeName}, found: {type?.Name}"); - - MethodInfo methodInfo; - var bindingFlags = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public; - - if (descriptor.HasNoOverloads) - { - methodInfo = type.GetMethod(descriptor.MethodName, bindingFlags); - } - else - { - methodInfo = type.GetMethods() - .FirstOrDefault(m => MatchesMethod(descriptor, m)); - } - - if (methodInfo?.Name != descriptor.MethodName) - throw new InvalidDataException( - $"Cannot find method ${descriptor.MethodName} for type ${descriptor.TypeName}"); - - return methodInfo; - } - - public static void Main(string[] args) - { - using var blockingQueue = new BlockingCollection(1); - var port = int.Parse(args[0]); - var ldef = new LifetimeDefinition(); - SingleThreadScheduler.RunOnSeparateThread(ldef.Lifetime, VSharpProcessName, scheduler => - { - var wire = new SocketWire.Client(ldef.Lifetime, scheduler, port); - var serializers = new Serializers(); - var identities = new Identities(IdKind.Client); - var protocol = new Protocol(VSharpProcessName, serializers, identities, scheduler, wire, ldef.Lifetime); - scheduler.Queue(() => - { - var vSharpModel = new VSharpModel(ldef.Lifetime, protocol); - // Configuring V# logger: messages will be send via RD to UTBot plugin process - Logger.configureWriter(new SignalWriter(vSharpModel.Log)); - vSharpModel.Generate.Set((_, arguments) => - { - try - { - var assemblyToPath = arguments.AssembliesFullNameToTheirPath.ToDictionary(it => it.Key, it => it.Value); - return GenerateImpl(arguments, assemblyToPath); - } - catch (Exception e) - { - return new GenerateResults(null, new(), e.ToString(), 0, 0); - } - finally - { - var pathToCsProject = arguments.ProjectCsprojPath; - var csProjFile = new FileInfo(pathToCsProject); - if (csProjFile.Exists) - { - var csProjDir = csProjFile.Directory; - var vSharpDirs = csProjDir!.GetDirectories(); - foreach(var dir in vSharpDirs) - { - if (Regex.IsMatch(dir.Name, @"^VSharp\.tests\..+$")) - { - dir.Delete(recursive: true); - } - } - } - scheduler.Queue(() => { blockingQueue.Add("End"); }); - } - }); - vSharpModel.Ping.Advise(ldef.Lifetime, s => - { - if (s == RdUtil.MainProcessName) - { - vSharpModel.Ping.Fire(VSharpProcessName); - } - }); - }); - }); - blockingQueue.Take(); - ldef.Terminate(); - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot.sln b/utbot-rider/src/dotnet/UtBot/UtBot.sln deleted file mode 100644 index c9234f0b..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot.sln +++ /dev/null @@ -1,28 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtBot", "UtBot\UtBot.csproj", "{573A2CF1-56F0-4350-A018-E25A52A86E63}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtBot.VSharp", "UtBot.VSharp\UtBot.VSharp.csproj", "{C076EF37-4DCA-4852-9D5D-04B18E662DBF}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UtBot.Rd", "UtBot.Rd\UtBot.Rd.csproj", "{B8B9FF73-A630-4476-82BD-C0BBD8C8A9E5}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {573A2CF1-56F0-4350-A018-E25A52A86E63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {573A2CF1-56F0-4350-A018-E25A52A86E63}.Debug|Any CPU.Build.0 = Debug|Any CPU - {573A2CF1-56F0-4350-A018-E25A52A86E63}.Release|Any CPU.ActiveCfg = Release|Any CPU - {573A2CF1-56F0-4350-A018-E25A52A86E63}.Release|Any CPU.Build.0 = Release|Any CPU - {C076EF37-4DCA-4852-9D5D-04B18E662DBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C076EF37-4DCA-4852-9D5D-04B18E662DBF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C076EF37-4DCA-4852-9D5D-04B18E662DBF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C076EF37-4DCA-4852-9D5D-04B18E662DBF}.Release|Any CPU.Build.0 = Release|Any CPU - {B8B9FF73-A630-4476-82BD-C0BBD8C8A9E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B8B9FF73-A630-4476-82BD-C0BBD8C8A9E5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B8B9FF73-A630-4476-82BD-C0BBD8C8A9E5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B8B9FF73-A630-4476-82BD-C0BBD8C8A9E5}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestAction.cs b/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestAction.cs deleted file mode 100644 index 6c9d8c29..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestAction.cs +++ /dev/null @@ -1,12 +0,0 @@ -using JetBrains.Application.UI.ActionsRevised.Menu; -using JetBrains.ReSharper.Feature.Services.Generate.Actions; -using JetBrains.ReSharper.Resources.Resources.Icons; -using JetBrains.UI.RichText; - -namespace UtBot; - -[Action("Generate.UnitTest", "Generate Unit Test", Icon = typeof(PsiFeaturesUnsortedThemedIcons.FuncZoneGenerate))] -internal class GenerateUnitTestAction : GenerateActionBase -{ - protected override RichText Caption => "Generate Unit Test"; -} \ No newline at end of file diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestElementProvider.cs b/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestElementProvider.cs deleted file mode 100644 index c9ca0341..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestElementProvider.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System.Collections.Generic; -using JetBrains.Annotations; -using JetBrains.ReSharper.Feature.Services.CSharp.Generate; -using JetBrains.ReSharper.Feature.Services.Generate; -using JetBrains.ReSharper.Psi; -using JetBrains.ReSharper.Psi.CSharp; -using JetBrains.ReSharper.Psi.Resolve; -using JetBrains.ReSharper.Psi.Tree; - -namespace UtBot; - -internal class TimeoutGeneratorOption : IGeneratorOption -{ - public static readonly string Id = "TimeoutGeneratorOption"; - private const string InitialValue = "10"; - - public IReadOnlyList GetPossibleValues() => new string[] { }; - - public bool IsValidValue(string value) => - int.TryParse(value, out var intValue) && intValue > 0; - - public string ID => Id; - - public string Title => "Timeout (s) for all selected methods"; - - public GeneratorOptionKind Kind => GeneratorOptionKind.Text; - - public bool Persist => false; - - public string Value { get; set; } = InitialValue; - - public bool OverridesGlobalOption { get; set; } = false; - - public bool HasDependentOptions => false; -} - -[GeneratorElementProvider(GenerateUnitTestWorkflow.Kind, typeof(CSharpLanguage))] -internal class GenerateUnitTestElementProvider : GeneratorProviderBase -{ - public override void Populate(CSharpGeneratorContext context) - { - context.Options.Add(new TimeoutGeneratorOption()); - - var memberSource = context.ExternalElementsSource?.GetTypeElement() ?? context.ClassDeclaration.DeclaredElement; - if (memberSource == null) return; - - var substitution = context.ExternalElementsSource?.GetSubstitution() ?? memberSource.IdSubstitution; - - var usageContext = (ITreeNode)context.ClassDeclaration.Body ?? context.ClassDeclaration; - - foreach (var method in memberSource.Methods) - { - if (MethodFilter(method, substitution, usageContext)) - { - var element = new GeneratorDeclaredElement(method, substitution); - context.ProvidedElements.Add(element); - context.InputElements.Add(element); - } - } - } - - protected virtual bool MethodFilter([NotNull] IMethod method, ISubstitution substitution, - [NotNull] ITreeNode context) - { - if (method.IsSynthetic()) return false; - if (method.GetAccessRights() != AccessRights.PUBLIC) return false; - return true; - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestWorkflow.cs b/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestWorkflow.cs deleted file mode 100644 index 0daa5f12..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestWorkflow.cs +++ /dev/null @@ -1,23 +0,0 @@ -using JetBrains.ReSharper.Feature.Services.Generate.Actions; -using JetBrains.ReSharper.Feature.Services.Generate.Workflows; -using JetBrains.ReSharper.Psi.Resources; - -namespace UtBot; - -public class GenerateUnitTestWorkflow : GenerateCodeWorkflowBase -{ - public const string Kind = "UnitTest"; - - public GenerateUnitTestWorkflow() : base( - Kind, - PsiSymbolsThemedIcons.SymbolUnitTest.Id, - "Tests with UnitTestBot", - GenerateActionGroup.CLR_LANGUAGE, - "Generate tests with UnitTestBot", - "Select methods for generation", - "Generate.UnitTest") - { - } - - public override double Order => 10; -} \ No newline at end of file diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestWorkflowProvider.cs b/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestWorkflowProvider.cs deleted file mode 100644 index 661a6d8e..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/GenerateUnitTestWorkflowProvider.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.Collections.Generic; -using JetBrains.Application.DataContext; -using JetBrains.ReSharper.Feature.Services.Generate.Actions; - -namespace UtBot; - -[GenerateProvider] -public class GenerateUnitTestWorkflowProvider : IGenerateWorkflowProvider -{ - public IEnumerable CreateWorkflow(IDataContext dataContext) - { - return new[] { new GenerateUnitTestWorkflow() }; - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/Generated/UtBotRiderModel.Generated.cs b/utbot-rider/src/dotnet/UtBot/UtBot/Generated/UtBotRiderModel.Generated.cs deleted file mode 100644 index cf5bfd3e..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/Generated/UtBotRiderModel.Generated.cs +++ /dev/null @@ -1,268 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a RdGen v1.10. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ -using System; -using System.Linq; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using JetBrains.Annotations; - -using JetBrains.Core; -using JetBrains.Diagnostics; -using JetBrains.Collections; -using JetBrains.Collections.Viewable; -using JetBrains.Lifetimes; -using JetBrains.Serialization; -using JetBrains.Rd; -using JetBrains.Rd.Base; -using JetBrains.Rd.Impl; -using JetBrains.Rd.Tasks; -using JetBrains.Rd.Util; -using JetBrains.Rd.Text; - - -// ReSharper disable RedundantEmptyObjectCreationArgumentList -// ReSharper disable InconsistentNaming -// ReSharper disable RedundantOverflowCheckingContext - - -namespace JetBrains.Rider.Model -{ - - - /// - ///

    Generated from: UtBotRiderModel.kt:8

    - ///
    - public class UtBotRiderModel : RdExtBase - { - //fields - //public fields - [NotNull] public ISignal StartPublish => _StartPublish; - [NotNull] public ISignal LogPublishOutput => _LogPublishOutput; - [NotNull] public ISignal LogPublishError => _LogPublishError; - [NotNull] public ISignal StopPublish => _StopPublish; - [NotNull] public ISignal StartVSharp => _StartVSharp; - [NotNull] public ISignal LogVSharp => _LogVSharp; - [NotNull] public ISignal StopVSharp => _StopVSharp; - - //private fields - [NotNull] private readonly RdSignal _StartPublish; - [NotNull] private readonly RdSignal _LogPublishOutput; - [NotNull] private readonly RdSignal _LogPublishError; - [NotNull] private readonly RdSignal _StopPublish; - [NotNull] private readonly RdSignal _StartVSharp; - [NotNull] private readonly RdSignal _LogVSharp; - [NotNull] private readonly RdSignal _StopVSharp; - - //primary constructor - private UtBotRiderModel( - [NotNull] RdSignal startPublish, - [NotNull] RdSignal logPublishOutput, - [NotNull] RdSignal logPublishError, - [NotNull] RdSignal stopPublish, - [NotNull] RdSignal startVSharp, - [NotNull] RdSignal logVSharp, - [NotNull] RdSignal stopVSharp - ) - { - if (startPublish == null) throw new ArgumentNullException("startPublish"); - if (logPublishOutput == null) throw new ArgumentNullException("logPublishOutput"); - if (logPublishError == null) throw new ArgumentNullException("logPublishError"); - if (stopPublish == null) throw new ArgumentNullException("stopPublish"); - if (startVSharp == null) throw new ArgumentNullException("startVSharp"); - if (logVSharp == null) throw new ArgumentNullException("logVSharp"); - if (stopVSharp == null) throw new ArgumentNullException("stopVSharp"); - - _StartPublish = startPublish; - _LogPublishOutput = logPublishOutput; - _LogPublishError = logPublishError; - _StopPublish = stopPublish; - _StartVSharp = startVSharp; - _LogVSharp = logVSharp; - _StopVSharp = stopVSharp; - _StartPublish.Async = true; - _LogPublishOutput.Async = true; - _LogPublishError.Async = true; - _StopPublish.Async = true; - _StartVSharp.Async = true; - _LogVSharp.Async = true; - _StopVSharp.Async = true; - BindableChildren.Add(new KeyValuePair("startPublish", _StartPublish)); - BindableChildren.Add(new KeyValuePair("logPublishOutput", _LogPublishOutput)); - BindableChildren.Add(new KeyValuePair("logPublishError", _LogPublishError)); - BindableChildren.Add(new KeyValuePair("stopPublish", _StopPublish)); - BindableChildren.Add(new KeyValuePair("startVSharp", _StartVSharp)); - BindableChildren.Add(new KeyValuePair("logVSharp", _LogVSharp)); - BindableChildren.Add(new KeyValuePair("stopVSharp", _StopVSharp)); - } - //secondary constructor - internal UtBotRiderModel ( - ) : this ( - new RdSignal(StartPublishArgs.Read, StartPublishArgs.Write), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadString, JetBrains.Rd.Impl.Serializers.WriteString), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadString, JetBrains.Rd.Impl.Serializers.WriteString), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadInt, JetBrains.Rd.Impl.Serializers.WriteInt), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadVoid, JetBrains.Rd.Impl.Serializers.WriteVoid), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadString, JetBrains.Rd.Impl.Serializers.WriteString), - new RdSignal(JetBrains.Rd.Impl.Serializers.ReadInt, JetBrains.Rd.Impl.Serializers.WriteInt) - ) {} - //deconstruct trait - //statics - - - - protected override long SerializationHash => 6014484928290881L; - - protected override Action Register => RegisterDeclaredTypesSerializers; - public static void RegisterDeclaredTypesSerializers(ISerializers serializers) - { - - serializers.RegisterToplevelOnce(typeof(IdeRoot), IdeRoot.RegisterDeclaredTypesSerializers); - } - - - //constants - - //custom body - //methods - //equals trait - //hash code trait - //pretty print - public override void Print(PrettyPrinter printer) - { - printer.Println("UtBotRiderModel ("); - using (printer.IndentCookie()) { - printer.Print("startPublish = "); _StartPublish.PrintEx(printer); printer.Println(); - printer.Print("logPublishOutput = "); _LogPublishOutput.PrintEx(printer); printer.Println(); - printer.Print("logPublishError = "); _LogPublishError.PrintEx(printer); printer.Println(); - printer.Print("stopPublish = "); _StopPublish.PrintEx(printer); printer.Println(); - printer.Print("startVSharp = "); _StartVSharp.PrintEx(printer); printer.Println(); - printer.Print("logVSharp = "); _LogVSharp.PrintEx(printer); printer.Println(); - printer.Print("stopVSharp = "); _StopVSharp.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } - public static class SolutionUtBotRiderModelEx - { - public static UtBotRiderModel GetUtBotRiderModel(this Solution solution) - { - return solution.GetOrCreateExtension("utBotRiderModel", () => new UtBotRiderModel()); - } - } - - - /// - ///

    Generated from: UtBotRiderModel.kt:9

    - ///
    - public sealed class StartPublishArgs : IPrintable, IEquatable - { - //fields - //public fields - [NotNull] public string FileName {get; private set;} - [NotNull] public string Arguments {get; private set;} - [NotNull] public string WorkingDirectory {get; private set;} - - //private fields - //primary constructor - public StartPublishArgs( - [NotNull] string fileName, - [NotNull] string arguments, - [NotNull] string workingDirectory - ) - { - if (fileName == null) throw new ArgumentNullException("fileName"); - if (arguments == null) throw new ArgumentNullException("arguments"); - if (workingDirectory == null) throw new ArgumentNullException("workingDirectory"); - - FileName = fileName; - Arguments = arguments; - WorkingDirectory = workingDirectory; - } - //secondary constructor - //deconstruct trait - public void Deconstruct([NotNull] out string fileName, [NotNull] out string arguments, [NotNull] out string workingDirectory) - { - fileName = FileName; - arguments = Arguments; - workingDirectory = WorkingDirectory; - } - //statics - - public static CtxReadDelegate Read = (ctx, reader) => - { - var fileName = reader.ReadString(); - var arguments = reader.ReadString(); - var workingDirectory = reader.ReadString(); - var _result = new StartPublishArgs(fileName, arguments, workingDirectory); - return _result; - }; - - public static CtxWriteDelegate Write = (ctx, writer, value) => - { - writer.Write(value.FileName); - writer.Write(value.Arguments); - writer.Write(value.WorkingDirectory); - }; - - //constants - - //custom body - //methods - //equals trait - public override bool Equals(object obj) - { - if (ReferenceEquals(null, obj)) return false; - if (ReferenceEquals(this, obj)) return true; - if (obj.GetType() != GetType()) return false; - return Equals((StartPublishArgs) obj); - } - public bool Equals(StartPublishArgs other) - { - if (ReferenceEquals(null, other)) return false; - if (ReferenceEquals(this, other)) return true; - return FileName == other.FileName && Arguments == other.Arguments && WorkingDirectory == other.WorkingDirectory; - } - //hash code trait - public override int GetHashCode() - { - unchecked { - var hash = 0; - hash = hash * 31 + FileName.GetHashCode(); - hash = hash * 31 + Arguments.GetHashCode(); - hash = hash * 31 + WorkingDirectory.GetHashCode(); - return hash; - } - } - //pretty print - public void Print(PrettyPrinter printer) - { - printer.Println("StartPublishArgs ("); - using (printer.IndentCookie()) { - printer.Print("fileName = "); FileName.PrintEx(printer); printer.Println(); - printer.Print("arguments = "); Arguments.PrintEx(printer); printer.Println(); - printer.Print("workingDirectory = "); WorkingDirectory.PrintEx(printer); printer.Println(); - } - printer.Print(")"); - } - //toString - public override string ToString() - { - var printer = new SingleLinePrettyPrinter(); - Print(printer); - return printer.ToString(); - } - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/ProcessWithRdServer.cs b/utbot-rider/src/dotnet/UtBot/UtBot/ProcessWithRdServer.cs deleted file mode 100644 index 0d7f3616..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/ProcessWithRdServer.cs +++ /dev/null @@ -1,98 +0,0 @@ -using System; -using System.Collections.Concurrent; -using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; -using System.Net; -using JetBrains.Annotations; -using JetBrains.Application.Threading; -using JetBrains.Collections.Viewable; -using JetBrains.Lifetimes; -using JetBrains.Rd; -using JetBrains.Rd.Impl; -using JetBrains.Rider.Model; -using JetBrains.Threading; -using JetBrains.Util; -using JetBrains.Util.Logging; -using UtBot.Rd; -using UtBot.Rd.Generated; - -namespace UtBot; - -[SuppressMessage("ReSharper", "MemberCanBePrivate.Global")] -public class ProcessWithRdServer -{ - public Lifetime Lifetime => _ldef.Lifetime; - public Protocol Protocol; - [CanBeNull] public VSharpModel VSharpModel { get; private set; } - - private readonly LifetimeDefinition _ldef; - public readonly Process Proc = new(); - - public ProcessWithRdServer(string name, string workingDir, int port, string exePath, IShellLocks shellLocks, UtBotRiderModel riderModel, Lifetime? parent = null, [CanBeNull] ILogger logger = null) - { - logger ??= Logger.GetLogger(); - using var blockingCollection = new BlockingCollection(2); - shellLocks.AssertNonMainThread(); - _ldef = (parent ?? Lifetime.Eternal).CreateNested(); - var pingLdef = _ldef.Lifetime.CreateNested(); - try - { - SingleThreadScheduler.RunOnSeparateThread(Lifetime, name, scheduler => - { - var endPoint = new IPEndPoint(IPAddress.Loopback, port); - var socket = SocketWire.Server.CreateServerSocket(endPoint); - var wire = new SocketWire.Server(Lifetime, scheduler, socket); - var serializers = new Serializers(); - var identities = new Identities(IdKind.Server); - var startInfo = new ProcessStartInfo("dotnet", $"--roll-forward LatestMajor \"{exePath}\" {port}") - { - WorkingDirectory = workingDir - }; - riderModel.StartVSharp.Fire(); - Protocol = new Protocol(name, serializers, identities, scheduler, wire, Lifetime); - scheduler.Queue(() => - { - VSharpModel = new VSharpModel(Lifetime, Protocol); - VSharpModel.Ping.Advise(pingLdef.Lifetime, s => - { - if (s == name) - { - blockingCollection.TryAdd(s); - } - }); - VSharpModel.Log.Advise(Lifetime, s => - { - logger.Info($"V#: {s}"); - riderModel.LogVSharp.Fire(s); - }); - }); - Proc.StartInfo = startInfo; - Lifetime.OnTermination(() => Proc.Kill(entireProcessTree: true)); - if (Proc.Start()) - Proc.Exited += (_, _) => _ldef.Terminate(); - else - _ldef.Terminate(); - }); - - if (Proc?.HasExited == true) return; - - SpinWaitEx.SpinUntil(pingLdef.Lifetime, () => - { - if (Proc?.HasExited == true) - { - VSharpModel = null; - _ldef.Terminate(); - } - - VSharpModel?.Ping.Fire(RdUtil.MainProcessName); - return blockingCollection.TryTake(out _); - }); - pingLdef.Terminate(); - } - catch (Exception) - { - _ldef.Terminate(); - throw; - } - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/UnitTestBuilder.cs b/utbot-rider/src/dotnet/UtBot/UtBot/UnitTestBuilder.cs deleted file mode 100644 index e0cc0a98..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/UnitTestBuilder.cs +++ /dev/null @@ -1,311 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Text.Encodings.Web; -using System.Text.Json; -using System.Timers; -using JetBrains.Application.Notifications; -using JetBrains.Application.Progress; -using JetBrains.Application.Threading; -using JetBrains.Application.Threading.Tasks; -using JetBrains.Application.UI.Controls; -using JetBrains.Lifetimes; -using JetBrains.ProjectModel; -using JetBrains.ProjectModel.ProjectsHost; -using JetBrains.Rd.Tasks; -using JetBrains.RdBackend.Common.Features; -using JetBrains.ReSharper.Feature.Services.CSharp.Generate; -using JetBrains.ReSharper.Feature.Services.Generate; -using JetBrains.ReSharper.Psi; -using JetBrains.ReSharper.Psi.CSharp; -using JetBrains.ReSharper.Psi.Util; -using JetBrains.Rider.Model; -using JetBrains.Util; -using JetBrains.Util.Threading; -using UtBot.Rd; -using UtBot.Rd.Generated; -using UtBot.Utils; -using UtBot.VSharp; - -namespace UtBot; - -[GeneratorBuilder(GenerateUnitTestWorkflow.Kind, typeof(CSharpLanguage))] -internal sealed class UnitTestBuilder : GeneratorBuilderBase -{ - private const string PublishDirName = "utbot-publish"; - - private readonly IBackgroundProgressIndicatorManager _backgroundProgressIndicatorManager; - private readonly Lifetime _lifetime; - private readonly ILogger _logger; - private readonly IShellLocks _shellLocks; - private readonly UtBotRiderModel _riderModel; - private readonly Notifications _notifications; - - public UnitTestBuilder( - Lifetime lifetime, - ISolution solution, - IShellLocks shellLocks, - IBackgroundProgressIndicatorManager backgroundProgressIndicatorManager, - ILogger logger, - Notifications notifications) - { - _lifetime = lifetime; - _shellLocks = shellLocks; - _backgroundProgressIndicatorManager = backgroundProgressIndicatorManager; - _logger = logger; - _notifications = notifications; - _riderModel = solution.GetProtocolSolution().GetUtBotRiderModel(); - } - - protected override void Process(CSharpGeneratorContext context, IProgressIndicator progress) - { - _notifications.Refresh(); - - var timeoutString = context.GetOption(TimeoutGeneratorOption.Id); - - if (!int.TryParse(timeoutString, out var timeout) || timeout <= 0) - { - _notifications.ShowError("Invalid timeout value. Timeout should be an integer number greater than zero"); - return; - } - - if (context.PsiModule.ContainingProjectModule is not IProject project) return; - - if (!DotNetVersionUtils.CanRunVSharp(project.GetSolution())) - { - _notifications.ShowError($"At least .NET {DotNetVersionUtils.MinCompatibleSdkMajor} SDK is required for UnitTestBot.NET"); - return; - } - - var typeElement = context.ClassDeclaration.DeclaredElement; - if (typeElement == null) return; - if (typeElement is not IClass && typeElement is not IStruct) return; - var testProjectTfm = DotNetVersionUtils.GetTestProjectFramework(project); - - var jsonOptions = new JsonSerializerOptions - { - Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping - }; - - var descriptors = new List(); - foreach (var inputElement in context.InputElements.WithProgress(progress, "Generating unit tests") - .OfType>()) - { - var methodName = inputElement.DeclaredElement.ShortName; - var hasNoOverLoads = typeElement.GetAllClassMembers().Count(m => m.Member.ShortName == methodName) == 1; - - var parameterDescriptors = new List(); - - if (!hasNoOverLoads) - { - foreach (var parameter in inputElement.DeclaredElement.Parameters) - { - var typeDescriptor = ToTypeDescriptor(parameter.Type, inputElement.DeclaredElement, typeElement); - parameterDescriptors.Add(JsonSerializer.Serialize(typeDescriptor, jsonOptions)); - } - } - - descriptors.Add(new MethodDescriptor(methodName, typeElement.GetClrName().FullName, hasNoOverLoads, parameterDescriptors)); - } - - var progressLifetimeDef = _lifetime.CreateNested(); - var indicator = - _backgroundProgressIndicatorManager.CreateIndicator(progressLifetimeDef.Lifetime, true, true, - "Generating unit tests"); - - _shellLocks.Tasks.StartNew(_lifetime, Scheduling.FreeThreaded, () => - { - try - { - Generate(indicator, project, descriptors, testProjectTfm, timeout); - } - finally - { - progressLifetimeDef.Terminate(); - } - }); - } - - private TypeDescriptor ToTypeDescriptor(IType typ, IMethod declMethod, ITypeElement declTyp) - { - var par = typ.GetTypeParameterType(); - - if (declMethod.TypeParameters.Contains(par)) - { - return new TypeDescriptor - { - ArrayRank = null, - Name = null, - MethodParameterPosition = declMethod.TypeParameters.IndexOf(par), - TypeParameterPosition = null, - Parameters = new() - }; - } - - if (declTyp.TypeParameters.Contains(par)) - { - return new TypeDescriptor - { - ArrayRank = null, - Name = null, - MethodParameterPosition = null, - TypeParameterPosition = declTyp.TypeParameters.IndexOf(par), - Parameters = new() - }; - } - - if (typ is IArrayType arr) - { - var elementType = ToTypeDescriptor(typ.GetScalarType(), declMethod, declTyp); - - return new TypeDescriptor - { - ArrayRank = arr.Rank, - Name = null, - MethodParameterPosition = null, - TypeParameterPosition = null, - Parameters = new List { elementType } - }; - } - - var subst = typ.GetScalarType().GetSubstitution(); - var pars = typ.GetTypeElement().TypeParameters.Select(p => ToTypeDescriptor(subst[p], declMethod, declTyp)); - - return new TypeDescriptor - { - ArrayRank = null, - Name = typ.GetScalarType()?.GetClrName().FullName, - MethodParameterPosition = null, - TypeParameterPosition = null, - Parameters = pars.ToList() - }; - } - - private void Generate(IBackgroundProgressIndicator progressIndicator, IProject project, - List descriptors, TestProjectTargetFramework testProjectFramework, int timeout) - { - var solution = project.GetSolution(); - var solutionMark = solution.GetSolutionMark(); - if (solutionMark == null) return; - - var solutionFilePath = solutionMark.Location.FullPath; - _logger.Verbose($"Solution path: {solutionFilePath}"); - - project.Locks.AssertNonMainThread(); - - var config = project.ProjectProperties.ActiveConfigurations.Configurations.First(); - var outputDir = project.GetOutputDirectory(config.TargetFrameworkId).Combine(PublishDirName); - progressIndicator.Header.SetValue($"Publishing dependencies to {PublishDirName}..."); - - if (!ProjectPublisher.PublishSync(_logger, progressIndicator, project, config, outputDir, _riderModel)) { - var title = $"Cannot publish project {project.Name}"; - _notifications.ShowError(title); - return; - } - - var assemblyFileName = project.GetOutputFilePath(config.TargetFrameworkId).Name; - var assemblyPath = Directory.GetFiles(outputDir.FullPath, assemblyFileName, SearchOption.AllDirectories).FirstOrDefault(); - if (assemblyPath is null) - { - _notifications.ShowError($"Cannot build project {project.Name}"); - return; - } - - var typeName = descriptors.Select(m => m.TypeName).Distinct().SingleOrDefault(); - - _logger.Verbose($"Start Generation for {typeName}"); - progressIndicator.Lifetime.ThrowIfNotAlive(); - progressIndicator.Header.SetValue(typeName); - - var pluginPath = FileSystemPath.Parse(Assembly.GetExecutingAssembly().Location).Parent; - var vsharpRunner = pluginPath.Combine("UtBot.VSharp.dll"); - - var methodNames = descriptors.Select(m => $"{m.TypeName}.{m.MethodName}").ToArray(); - var intervalS = (double)timeout / methodNames.Length; - var intervalMs = intervalS > 0 ? intervalS * 1000 : 500; - using var methodProgressTimer = new Timer(intervalMs); - var i = 0; - void ChangeMethodName() - { - progressIndicator.Header.SetValue(methodNames[i]); - i = (i + 1) % methodNames.Length; - } - methodProgressTimer.Elapsed += (_, _) => ChangeMethodName(); - _logger.Catch(() => - { - var name = VSharpMain.VSharpProcessName; - var workingDir = project.ProjectFileLocation.Directory.FullPath; - var port = NetworkUtil.GetFreePort(); - var runnerPath = vsharpRunner.FullPath; - var proc = new ProcessWithRdServer(name, workingDir, port, runnerPath, project.Locks, _riderModel, _lifetime, _logger); - var projectCsprojPath = project.ProjectFileLocation.FullPath; - List allAssemblies; - using (_shellLocks.UsingReadLock()) - { - allAssemblies = solution.GetAllAssemblies() - .Where(it => it.Location.AssemblyPhysicalPath is not null) - .Select(it => new MapEntry(it.FullAssemblyName, it.Location.AssemblyPhysicalPath.FullPath)) - .DistinctBy(it => it.Key) - .ToList(); - } - var args = new GenerateArguments(assemblyPath, projectCsprojPath, solutionFilePath, descriptors, - timeout, testProjectFramework.FrameworkMoniker.Name, allAssemblies); - var vSharpTimeout = TimeSpan.FromSeconds(timeout); - var rpcTimeout = new RpcTimeouts(vSharpTimeout + TimeSpan.FromSeconds(1), vSharpTimeout + TimeSpan.FromSeconds(30)); - ChangeMethodName(); - methodProgressTimer.Start(); - var result = proc.VSharpModel?.Generate.Sync(args, rpcTimeout); - methodProgressTimer.Stop(); - proc.Proc.WaitForExit(); - _riderModel.StopVSharp.Fire(proc.Proc.ExitCode); - _logger.Info("Result acquired"); - if (result is { GeneratedProjectPath: not null }) - { - _shellLocks.ExecuteOrQueue(_lifetime, "UnitTestBuilder::Generate", () => - { - if (solution.IsValid()) - { - solution.GetProtocolSolution().GetFileSystemModel().RefreshPaths - .Start(_lifetime, - new RdFsRefreshRequest(new List { result.GeneratedProjectPath }, true)); - - } - }); - - _notifications.ShowInfo( - $"Generated {result.TestsCount} tests and found {result.ErrorsCount} errors for {typeName}"); - - if (testProjectFramework.IsDefault) - { - _notifications.ShowWarning( - $"Generated test project targets {testProjectFramework.FrameworkMoniker}, which is not directly targeted by {project.Name}. " + - "Test project may fail to compile due to reference errors"); - } - } - else - { - var ex = result == null ? "Could not start V#" : result.ExceptionMessage; - _logger.Info($"Could not generate tests for ${typeName}, exception - {ex}"); - - var title = $"Could not generate tests for {typeName}"; - var openExceptionMessageCommand = new UserNotificationCommand( - "Show error info", - () => MessageBox.ShowError(ex ?? "Cannot get error info", title)); - _notifications.ShowError(title, command: openExceptionMessageCommand); - } - }); - - methodProgressTimer.Stop(); - _logger.Verbose($"Generation finished for {typeName}"); - - _shellLocks.ExecuteOrQueue(_lifetime, "UnitTestBuilder::Generate", () => - { - if (project.IsValid()) - solution.GetProtocolSolution().GetFileSystemModel().RefreshPaths - .Start(_lifetime, - new RdFsRefreshRequest(new List { solutionMark.Location.FullPath }, true)); - }); - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/UtBot.csproj b/utbot-rider/src/dotnet/UtBot/UtBot/UtBot.csproj deleted file mode 100644 index 83a35b47..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/UtBot.csproj +++ /dev/null @@ -1,24 +0,0 @@ - - - - net6.0 - UtBot - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/DotNetVersionUtils.cs b/utbot-rider/src/dotnet/UtBot/UtBot/Utils/DotNetVersionUtils.cs deleted file mode 100644 index 48aa3380..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/DotNetVersionUtils.cs +++ /dev/null @@ -1,124 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Linq; -using System.Text.RegularExpressions; -using JetBrains.ProjectModel; -using JetBrains.Util; - -namespace UtBot.Utils; - -internal readonly record struct TestProjectTargetFramework(FrameworkMoniker FrameworkMoniker, bool IsDefault); - -internal static class DotNetVersionUtils -{ - public const int MinCompatibleSdkMajor = 7; - private const string NUnitProjectMinTfm = "net6.0"; - - public static bool CanRunVSharp(ISolution solution) => GetCanRunVSharp(solution.SolutionDirectory.FullPath); - - public static TestProjectTargetFramework GetTestProjectFramework(IProject project) - { - var path = project.ProjectFileLocation.Directory.FullPath; - - var nUnitNewInfo = RunProcess(new ProcessStartInfo - { - FileName = "dotnet", - Arguments = "new nunit -f", - WorkingDirectory = path - }, returnError: true); - - if (nUnitNewInfo == null) - throw new Exception("Could not get new NUnit info"); - - var matches = DotNetRegex.Any.Matches(nUnitNewInfo); - - if (matches.IsEmpty()) - throw new Exception("Could not parse TFMs from new NUnit info"); - - // Code in Allocator.cs uses methods which were added in .NET 6 - var testProjectRequiredFramework = new FrameworkMoniker(NUnitProjectMinTfm); - - var availableTfms = matches - .Select(m => new FrameworkMoniker(m.Value)) - .Distinct() - .Where(s => s.CompareTo(testProjectRequiredFramework) >= 0) - .OrderBy() - .ToList(); - - var projectTfms = GetTfms(project).ToList(); - - TestProjectTargetFramework framework; - - var exactMatch = availableTfms.FirstOrDefault(t => projectTfms.Contains(t)); - - if (exactMatch is not null) - { - return new(exactMatch, false); - } - - var projectStandards = projectTfms.Where(t => t.Kind is DotNetKind.NetStandard); - var standardMatch = - availableTfms.FirstOrDefault(t => projectStandards.Any(t.ImplementsStandard)); - - if (standardMatch is not null) - { - return new(standardMatch, false); - } - - var defaultTfm = availableTfms.First(); - return new(defaultTfm, true); - } - - private static bool GetCanRunVSharp(string workingDir) - { - var sdksInfo = RunProcess(new ProcessStartInfo - { - FileName = "dotnet", - Arguments = "--list-sdks", - WorkingDirectory = workingDir - }); - - if (sdksInfo is null) - { - return false; - } - - var matches = Regex.Matches(sdksInfo, @"(\d+)\.(\d+)\.(\d+)"); - - if (matches.Count < 1) - { - return false; - } - - for (var i = 0; i < matches.Count; ++i) - { - if (!int.TryParse(matches[i].Groups[1].Value, out var majorVersion)) - { - continue; - } - - if (majorVersion >= MinCompatibleSdkMajor) - { - return true; - } - } - - return false; - } - - private static IEnumerable GetTfms(IProject project) => - project.TargetFrameworkIds - .Select(i => new FrameworkMoniker(i.TryGetShortIdentifier())); - - private static string RunProcess(ProcessStartInfo startInfo, bool returnError = false) - { - startInfo.RedirectStandardError = true; - startInfo.RedirectStandardOutput = true; - - var pi = Process.Start(startInfo); - var s = returnError ? pi?.StandardError.ReadToEnd() : pi?.StandardOutput.ReadToEnd(); - pi?.WaitForExit(); - return s; - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/FrameworkMoniker.cs b/utbot-rider/src/dotnet/UtBot/UtBot/Utils/FrameworkMoniker.cs deleted file mode 100644 index 0d7dce61..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/FrameworkMoniker.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System; -using System.Text.RegularExpressions; -using JetBrains.Util; - -namespace UtBot.Utils; - -internal static class DotNetRegex -{ - public static readonly Regex ModernNet = new(@"net\d+\.\d+"); - public static readonly Regex NetFramework = new(@"net\d+"); - public static readonly Regex NetCore = new(@"netcoreapp(\d+)\.(\d+)"); - public static readonly Regex NetStandard = new(@"netstandard\d+\.\d+"); - public static readonly Regex Any = new(@"net\d+\.\d+|netcoreapp\d+\.\d+|net\d+"); -} - -internal enum DotNetKind -{ - NetFramework, - NetCore, - Net, - NetStandard, - Unknown -} - -internal class FrameworkMoniker : IComparable -{ - public string Name { get; } - public DotNetKind Kind { get; } - - public FrameworkMoniker(string name) - { - // Checking 'netcoreapp6.0' etc. cases --- look like .NET Core, but in fact .NET - var matches = DotNetRegex.NetCore.Matches(name); - if (matches.IsEmpty()) - { - Name = name; - Kind = GetKind(name); - return; - } - - var major = int.Parse(matches[0].Groups[1].Value); - if (major >= 5) - { - var minor = int.Parse(matches[0].Groups[2].Value); - Name = $"net{major}.{minor}"; - Kind = DotNetKind.Net; - return; - } - - Name = name; - Kind = DotNetKind.NetCore; - } - - private const string NetStandard10 = "netstandard1.0"; - private const string NetStandard11 = "netstandard1.1"; - private const string NetStandard12 = "netstandard1.2"; - private const string NetStandard13 = "netstandard1.3"; - private const string NetStandard14 = "netstandard1.4"; - private const string NetStandard20 = "netstandard2.0"; - private const string NetStandard21 = "netstandard2.1"; - - private static DotNetKind GetKind(string tfm) - { - if (DotNetRegex.ModernNet.IsMatch(tfm)) - { - return DotNetKind.Net; - } - - if (DotNetRegex.NetFramework.IsMatch(tfm)) - { - return DotNetKind.NetFramework; - } - - if (DotNetRegex.NetStandard.IsMatch(tfm)) - { - return DotNetKind.NetStandard; - } - - return DotNetRegex.NetCore.IsMatch(tfm) ? DotNetKind.NetCore : DotNetKind.Unknown; - } - - public int CompareTo(FrameworkMoniker other) => - (Kind, other.Kind) switch - { - (DotNetKind.NetStandard, not DotNetKind.NetStandard) or - (not DotNetKind.NetStandard, DotNetKind.NetStandard) => - throw new InvalidOperationException("Cannot compare .NET Standard and specific .NET"), - - (DotNetKind.NetFramework, DotNetKind.NetCore) or - (DotNetKind.NetFramework, DotNetKind.Net) or - (DotNetKind.NetCore, DotNetKind.Net) => -1, - - (DotNetKind.NetCore, DotNetKind.NetFramework) or - (DotNetKind.Net, DotNetKind.NetFramework) or - (DotNetKind.Net, DotNetKind.NetCore) => 1, - - _ => string.Compare(Name, other.Name, StringComparison.InvariantCulture) - }; - - // https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-1-5#select-net-standard-version - public bool ImplementsStandard(FrameworkMoniker standardFrameworkMoniker) - { - if (standardFrameworkMoniker.Kind is not DotNetKind.NetStandard) - { - throw new ArgumentException("standardTfm is not a .NET Standard TFM"); - } - - var standardName = standardFrameworkMoniker.Name; - - return Kind switch - { - DotNetKind.Net => true, - DotNetKind.NetFramework => - Name switch - { - "net45" => standardName is NetStandard10 or NetStandard11, - "net451" or "net452" => standardName is NetStandard10 or NetStandard11 or NetStandard12, - "net46" => standardName is NetStandard10 or NetStandard11 or NetStandard12 or NetStandard13, - "net461" => standardName is NetStandard10 or NetStandard11 or NetStandard12 or NetStandard13 - or NetStandard14, - _ => standardName is not NetStandard21 - }, - DotNetKind.NetCore => - Name switch - { - "netcoreapp1.0" or "netcoreapp1.1" => standardName is not (NetStandard20 or NetStandard21), - "netcoreapp2.0" or "netcoreapp2.1" or "netcoreapp2.2" => standardName is not NetStandard21, - _ => true - }, - DotNetKind.NetStandard => CompareTo(standardFrameworkMoniker) >= 0, - _ => false - }; - } - - public override bool Equals(object obj) - { - if (obj is not FrameworkMoniker another) - { - return false; - } - - return Name.Equals(another.Name); - } - - public override int GetHashCode() => Name.GetHashCode(); - - public override string ToString() => Name; -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/Notifications.cs b/utbot-rider/src/dotnet/UtBot/UtBot/Utils/Notifications.cs deleted file mode 100644 index 140f9d5e..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/Notifications.cs +++ /dev/null @@ -1,98 +0,0 @@ -using JetBrains.Annotations; -using JetBrains.Application.Notifications; -using JetBrains.Application.Threading; -using JetBrains.Lifetimes; -using JetBrains.ProjectModel; -using JetBrains.Util; - -namespace UtBot.Utils; - -[SolutionComponent] -internal class Notifications -{ - private Lifetime _lifetime; - private readonly SequentialLifetimes _sequentialLifetimes; - private readonly UserNotifications _userNotifications; - private readonly IShellLocks _shellLocks; - private readonly ILogger _logger; - - private const string Title = "UnitTestBot.NET"; - - public Notifications( - Lifetime lifetime, - UserNotifications userNotifications, - IShellLocks shellLocks, - ILogger logger) - { - _sequentialLifetimes = new SequentialLifetimes(lifetime); - _lifetime = _sequentialLifetimes.Next(); - _userNotifications = userNotifications; - _shellLocks = shellLocks; - _logger = logger; - } - - private void ShowNotification( - NotificationSeverity severity, - string title, - string body, - bool closeAfterExecution = true, - UserNotificationCommand command = null) - { - void NotificationAction() - { - _userNotifications.CreateNotification( - _lifetime, - severity, - title, - body, - closeAfterExecution: closeAfterExecution, - executed: command); - } - - _shellLocks.ExecuteOrQueueEx( - _lifetime, - "UtBot::Notification::Show", - NotificationAction); - } - - public void ShowError( - [NotNull] string body, - bool closeAfterExecution = true, - UserNotificationCommand command = null) - { - ShowNotification( - NotificationSeverity.CRITICAL, - Title, - body, - closeAfterExecution: closeAfterExecution, - command: command); - } - - public void ShowInfo( - [NotNull] string body, - bool closeAfterExecution = true, - UserNotificationCommand command = null) - { - ShowNotification( - NotificationSeverity.INFO, - Title, - body, - closeAfterExecution: closeAfterExecution, - command: command); - } - - public void ShowWarning( - [NotNull] string body, - bool closeAfterExecution = true, - UserNotificationCommand command = null) - { - ShowNotification( - NotificationSeverity.WARNING, - Title, - body, - closeAfterExecution: closeAfterExecution, - command: command); - } - - public void Refresh() => _lifetime = _sequentialLifetimes.Next(); -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/ProjectPublisher.cs b/utbot-rider/src/dotnet/UtBot/UtBot/Utils/ProjectPublisher.cs deleted file mode 100644 index 8358bc2c..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/Utils/ProjectPublisher.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Diagnostics; -using System.IO; -using System.Runtime.InteropServices; -using JetBrains.Application.Threading.Tasks; -using JetBrains.Application.UI.Controls; -using JetBrains.Collections.Viewable; -using JetBrains.Lifetimes; -using JetBrains.ProjectModel; -using JetBrains.ProjectModel.Properties; -using JetBrains.Rider.Model; -using JetBrains.Threading; -using JetBrains.Util; -using UtBot.Rd.Generated; - -namespace UtBot.Utils; - -public static class ProjectPublisher -{ - public static bool PublishSync(ILogger logger, IBackgroundProgressIndicator indicator, IProject project, IProjectConfiguration config, VirtualFileSystemPath outputDir, UtBotRiderModel model) - { - var publishLifetimeDef = indicator.Lifetime.CreateNested(); - indicator.Cancel.Advise(Lifetime.Eternal, canceled => {if (canceled) publishLifetimeDef.Terminate();}); - - try - { - Directory.CreateDirectory(outputDir.FullPath); - var projectName = project.ProjectFileLocation.Name; - var architecture = GetArchitecture(); - var tfm = config.TargetFrameworkId.TryGetShortIdentifier(); - var command = config.TargetFrameworkId.IsNetFramework ? "build" : "publish"; - - if (tfm is null) - { - throw new ArgumentException("Cannot get framework moniker from project config"); - } - - var processInfo = new ProcessStartInfo - { - FileName = "dotnet", - Arguments = - $"{command} \"{projectName}\" --sc -c {config.Name} -a {architecture} -o {outputDir.FullPath} -f {tfm}", - WorkingDirectory = project.ProjectFileLocation.Directory.FullPath, - RedirectStandardOutput = true, - RedirectStandardError = true - }; - - using var process = new Process(); - process.StartInfo = processInfo; - process.OutputDataReceived += (_, args) => - { - model.LogPublishOutput.Fire(args.Data ?? "\n"); - }; - process.ErrorDataReceived += (_, args) => - { - model.LogPublishError.Fire(args.Data ?? "\n"); - }; - process.Exited += (_, a) => - { - publishLifetimeDef.Terminate(); - }; - model.StartPublish.Fire(new StartPublishArgs(processInfo.FileName, processInfo.Arguments, processInfo.WorkingDirectory)); - if (process.Start()) - { - process.BeginOutputReadLine(); - process.BeginErrorReadLine(); - SpinWaitEx.SpinUntil(publishLifetimeDef.Lifetime, () => process.HasExited); - if (process.ExitCode != 0) - { - logger.Warn($"Publish process exited with code {process.ExitCode}: {process.StandardOutput.ReadToEnd()}"); - } - model.StopPublish.Fire(process.ExitCode); - } - else - { - model.StopPublish.Fire(-1); - } - return process.HasExited && process.ExitCode == 0; - } - catch (Exception e) - { - logger.Warn(e, comment: "Could not publish project for VSharp, exception occured"); - return false; - } - finally - { - publishLifetimeDef.Terminate(); - } - } - - private static string GetArchitecture() - { - var arch = RuntimeInformation.OSArchitecture; - return arch switch - { - Architecture.X86 => "x86", - Architecture.X64 => "x64", - Architecture.Arm => "arm", - Architecture.Arm64 => "arm64", - Architecture.Wasm or Architecture.S390x => - throw new InvalidOperationException($"Unsupported architecture: {arch}"), - _ => throw new ArgumentOutOfRangeException() - }; - } -} diff --git a/utbot-rider/src/dotnet/UtBot/UtBot/ZoneMarker.cs b/utbot-rider/src/dotnet/UtBot/UtBot/ZoneMarker.cs deleted file mode 100644 index 927016ff..00000000 --- a/utbot-rider/src/dotnet/UtBot/UtBot/ZoneMarker.cs +++ /dev/null @@ -1,22 +0,0 @@ -using JetBrains.Application.BuildScript.Application.Zones; -using JetBrains.ProjectModel; -using JetBrains.ReSharper.Psi.CSharp; -using JetBrains.ReSharper.UnitTestFramework; -using JetBrains.Rider.Model; - -namespace UtBot; - -[ZoneDefinition(ZoneFlags.AutoEnable)] -public interface IUtBotPluginZone : - IZone, - IRequire, - IRequire, - IRequire, - IRequire -{ -} - -[ZoneMarker] -public class ZoneMarker : IRequire -{ -} \ No newline at end of file diff --git a/utbot-rider/src/main/kotlin/org/utbot/rider/UtBotConsoleViewComponent.kt b/utbot-rider/src/main/kotlin/org/utbot/rider/UtBotConsoleViewComponent.kt deleted file mode 100644 index 25b3c7c6..00000000 --- a/utbot-rider/src/main/kotlin/org/utbot/rider/UtBotConsoleViewComponent.kt +++ /dev/null @@ -1,118 +0,0 @@ -package org.utbot.rider - -import com.intellij.execution.executors.DefaultRunExecutor -import com.intellij.execution.filters.TextConsoleBuilderFactory -import com.intellij.execution.ui.ConsoleView -import com.intellij.execution.ui.ConsoleViewContentType -import com.intellij.execution.ui.RunContentDescriptor -import com.intellij.execution.ui.RunContentManager -import com.intellij.openapi.project.Project -import com.intellij.openapi.rd.createLifetime -import com.jetbrains.rd.platform.util.idea.ProtocolSubscribedProjectComponent -import com.jetbrains.rd.platform.util.lifetime -import com.jetbrains.rd.util.lifetime.Lifetime -import com.jetbrains.rd.util.reactive.ISignal -import com.jetbrains.rider.projectView.solution -import org.utbot.rider.generated.UtBotRiderModel -import org.utbot.rider.generated.utBotRiderModel -import kotlin.random.Random - -private fun ConsoleView.printYellowLine(any: Any) { - print("$any\n", ConsoleViewContentType.LOG_INFO_OUTPUT) -} - -private fun ConsoleView.printNormalLine(any: Any) { - print("$any\n", ConsoleViewContentType.NORMAL_OUTPUT) -} - -private fun ConsoleView.printErrorLine(any: Any) { - print("$any\n", ConsoleViewContentType.ERROR_OUTPUT) -} - -private fun ISignal.advisePrintExitCode(lifetime: Lifetime, consoleView: ConsoleView) { - advise(lifetime) { exitCode -> - val msg = "Process exited with code: $exitCode" - if (exitCode == 0) - consoleView.printNormalLine(msg) - else - consoleView.printErrorLine(msg) - } -} - -private fun ISignal.advisePrintNormal(lifetime: Lifetime, consoleView: ConsoleView) { - advise(lifetime) { output -> - consoleView.printNormalLine(output) - } -} - -private fun ISignal.advisePrintError(lifetime: Lifetime, consoleView: ConsoleView) { - advise(lifetime) { output -> - consoleView.printErrorLine(output) - } -} - -class UtBotConsoleViewComponent(project: Project) : ProtocolSubscribedProjectComponent(project) { - private var currentExecutionId: Long = -1 - private val model: UtBotRiderModel - - private fun update( - firstLine: String, - displayName: String, - previous: RunContentDescriptor? - ): Triple { - val textConsoleBuilderFactory = TextConsoleBuilderFactory.getInstance() - val consoleView = textConsoleBuilderFactory.createBuilder(project).console - val runContentDescriptor = - RunContentDescriptor(consoleView, null, consoleView.component, displayName).apply { - executionId = currentExecutionId - } - val runContentManager = RunContentManager.getInstance(project) - - runContentManager.showRunContent( - DefaultRunExecutor.getRunExecutorInstance(), - runContentDescriptor, - previous - ) - consoleView.printYellowLine(firstLine) - - return Triple(runContentDescriptor, consoleView, consoleView.createLifetime()) - } - - private fun initPublish() { - var previousPublish: RunContentDescriptor? = null - model.startPublish.advise(project.lifetime) { publishArgs -> - currentExecutionId = Random.nextLong() - val (fileName, arguments, workingDirectory) = publishArgs - val firstLine = "$workingDirectory .> $fileName $arguments" - val (currentPublish, consoleView, consoleLifetime) = update( - firstLine, - "Project publish for UtBot", - previousPublish - ) - previousPublish = currentPublish - model.logPublishOutput.advisePrintNormal(consoleLifetime, consoleView) - model.logPublishError.advisePrintError(consoleLifetime, consoleView) - model.stopPublish.advisePrintExitCode(consoleLifetime, consoleView) - } - } - - init { - model = project.solution.utBotRiderModel - initPublish() - initVSharp() - } - - private fun initVSharp() { - var previousVSharp: RunContentDescriptor? = null - model.startVSharp.advise(project.lifetime) { - val (currentVSharp, consoleView, consoleLifetime) = update( - "Started VSharp Engine", - "Running VSharp Engine", - previousVSharp - ) - previousVSharp = currentVSharp - model.logVSharp.advisePrintNormal(consoleLifetime, consoleView) - model.stopVSharp.advisePrintExitCode(consoleLifetime, consoleView) - } - } -} \ No newline at end of file diff --git a/utbot-rider/src/main/kotlin/org/utbot/rider/generated/UtBotRiderModel.Generated.kt b/utbot-rider/src/main/kotlin/org/utbot/rider/generated/UtBotRiderModel.Generated.kt deleted file mode 100644 index f1dac3d1..00000000 --- a/utbot-rider/src/main/kotlin/org/utbot/rider/generated/UtBotRiderModel.Generated.kt +++ /dev/null @@ -1,191 +0,0 @@ -@file:Suppress("EXPERIMENTAL_API_USAGE","EXPERIMENTAL_UNSIGNED_LITERALS","PackageDirectoryMismatch","UnusedImport","unused","LocalVariableName","CanBeVal","PropertyName","EnumEntryName","ClassName","ObjectPropertyName","UnnecessaryVariable","SpellCheckingInspection") -package org.utbot.rider.generated - -import com.jetbrains.rd.framework.* -import com.jetbrains.rd.framework.base.* -import com.jetbrains.rd.framework.impl.* -import com.jetbrains.rd.ide.model.Solution - -import com.jetbrains.rd.util.lifetime.* -import com.jetbrains.rd.util.reactive.* -import com.jetbrains.rd.util.string.* -import com.jetbrains.rd.util.* -import kotlin.time.Duration -import kotlin.reflect.KClass -import kotlin.jvm.JvmStatic - - - -/** - * #### Generated from [UtBotRiderModel.kt:8] - */ -class UtBotRiderModel private constructor( - private val _startPublish: RdSignal, - private val _logPublishOutput: RdSignal, - private val _logPublishError: RdSignal, - private val _stopPublish: RdSignal, - private val _startVSharp: RdSignal, - private val _logVSharp: RdSignal, - private val _stopVSharp: RdSignal -) : RdExtBase() { - //companion - - companion object : ISerializersOwner { - - override fun registerSerializersCore(serializers: ISerializers) { - serializers.register(StartPublishArgs) - } - - - - - - const val serializationHash = 6014484928290881L - - } - override val serializersOwner: ISerializersOwner get() = UtBotRiderModel - override val serializationHash: Long get() = UtBotRiderModel.serializationHash - - //fields - val startPublish: IAsyncSignal get() = _startPublish - val logPublishOutput: IAsyncSignal get() = _logPublishOutput - val logPublishError: IAsyncSignal get() = _logPublishError - val stopPublish: IAsyncSignal get() = _stopPublish - val startVSharp: IAsyncSignal get() = _startVSharp - val logVSharp: IAsyncSignal get() = _logVSharp - val stopVSharp: IAsyncSignal get() = _stopVSharp - //methods - //initializer - init { - _startPublish.async = true - _logPublishOutput.async = true - _logPublishError.async = true - _stopPublish.async = true - _startVSharp.async = true - _logVSharp.async = true - _stopVSharp.async = true - } - - init { - bindableChildren.add("startPublish" to _startPublish) - bindableChildren.add("logPublishOutput" to _logPublishOutput) - bindableChildren.add("logPublishError" to _logPublishError) - bindableChildren.add("stopPublish" to _stopPublish) - bindableChildren.add("startVSharp" to _startVSharp) - bindableChildren.add("logVSharp" to _logVSharp) - bindableChildren.add("stopVSharp" to _stopVSharp) - } - - //secondary constructor - internal constructor( - ) : this( - RdSignal(StartPublishArgs), - RdSignal(FrameworkMarshallers.String), - RdSignal(FrameworkMarshallers.String), - RdSignal(FrameworkMarshallers.Int), - RdSignal(FrameworkMarshallers.Void), - RdSignal(FrameworkMarshallers.String), - RdSignal(FrameworkMarshallers.Int) - ) - - //equals trait - //hash code trait - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("UtBotRiderModel (") - printer.indent { - print("startPublish = "); _startPublish.print(printer); println() - print("logPublishOutput = "); _logPublishOutput.print(printer); println() - print("logPublishError = "); _logPublishError.print(printer); println() - print("stopPublish = "); _stopPublish.print(printer); println() - print("startVSharp = "); _startVSharp.print(printer); println() - print("logVSharp = "); _logVSharp.print(printer); println() - print("stopVSharp = "); _stopVSharp.print(printer); println() - } - printer.print(")") - } - //deepClone - override fun deepClone(): UtBotRiderModel { - return UtBotRiderModel( - _startPublish.deepClonePolymorphic(), - _logPublishOutput.deepClonePolymorphic(), - _logPublishError.deepClonePolymorphic(), - _stopPublish.deepClonePolymorphic(), - _startVSharp.deepClonePolymorphic(), - _logVSharp.deepClonePolymorphic(), - _stopVSharp.deepClonePolymorphic() - ) - } - //contexts -} -val Solution.utBotRiderModel get() = getOrCreateExtension("utBotRiderModel", ::UtBotRiderModel) - - - -/** - * #### Generated from [UtBotRiderModel.kt:9] - */ -data class StartPublishArgs ( - val fileName: String, - val arguments: String, - val workingDirectory: String -) : IPrintable { - //companion - - companion object : IMarshaller { - override val _type: KClass = StartPublishArgs::class - - @Suppress("UNCHECKED_CAST") - override fun read(ctx: SerializationCtx, buffer: AbstractBuffer): StartPublishArgs { - val fileName = buffer.readString() - val arguments = buffer.readString() - val workingDirectory = buffer.readString() - return StartPublishArgs(fileName, arguments, workingDirectory) - } - - override fun write(ctx: SerializationCtx, buffer: AbstractBuffer, value: StartPublishArgs) { - buffer.writeString(value.fileName) - buffer.writeString(value.arguments) - buffer.writeString(value.workingDirectory) - } - - - } - //fields - //methods - //initializer - //secondary constructor - //equals trait - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || other::class != this::class) return false - - other as StartPublishArgs - - if (fileName != other.fileName) return false - if (arguments != other.arguments) return false - if (workingDirectory != other.workingDirectory) return false - - return true - } - //hash code trait - override fun hashCode(): Int { - var __r = 0 - __r = __r*31 + fileName.hashCode() - __r = __r*31 + arguments.hashCode() - __r = __r*31 + workingDirectory.hashCode() - return __r - } - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("StartPublishArgs (") - printer.indent { - print("fileName = "); fileName.print(printer); println() - print("arguments = "); arguments.print(printer); println() - print("workingDirectory = "); workingDirectory.print(printer); println() - } - printer.print(")") - } - //deepClone - //contexts -} diff --git a/utbot-rider/src/main/resources/META-INF/plugin.xml b/utbot-rider/src/main/resources/META-INF/plugin.xml deleted file mode 100644 index 1b60aceb..00000000 --- a/utbot-rider/src/main/resources/META-INF/plugin.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - org.utbot.rider.plugin.id - UnitTestBot.NET - utbot.org - com.intellij.modules.rider - - - -
  • Generating ready-to-use test cases with method bodies and inputs
  • -
  • Maximizing branch coverage in regression suite while keeping the number of tests at minimum
  • -
  • Capable to find deeply hidden code defects and express them as tests
  • -
  • Applicable to LINQ syntax and complex generics
  • -
  • Supporting .NET Framework, .NET Core, .NET 5, and .NET 6
  • -
  • Powered by V# — the custom symbolic execution engine
  • - -
    - Try UnitTestBot .NET online demo to see how it generates tests for your code in real time. - ]]> - - - - - org.utbot.rider.UtBotConsoleViewComponent - - - - - -
  • Test generation timeout option to control test generation duration
  • -
  • Balloon notifications informing about the test generation process state
  • -
  • Console output for publish and test generation processes
  • -
  • .NET 7 projects support
  • -
  • Bugfixes
  • - - ]]> -
    - diff --git a/utbot-rider/src/main/resources/META-INF/pluginIcon.svg b/utbot-rider/src/main/resources/META-INF/pluginIcon.svg deleted file mode 100644 index d24574d6..00000000 --- a/utbot-rider/src/main/resources/META-INF/pluginIcon.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/utbot-sample/build.gradle b/utbot-sample/build.gradle deleted file mode 100644 index 20c963ec..00000000 --- a/utbot-sample/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id 'java-library' -} - -dependencies { - implementation group: 'org.jetbrains', name: 'annotations', version: '16.0.2' - implementation group: 'com.github.stephenc.findbugs', name: 'findbugs-annotations', version: '1.3.9-1' - implementation 'org.projectlombok:lombok:1.18.20' - testImplementation group: 'org.mockito', name:'mockito-core', version: mockitoVersion - annotationProcessor 'org.projectlombok:lombok:1.18.20' - implementation(project(":utbot-api")) - implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2' - implementation group: 'javax.validation', name: 'validation-api', version: '2.0.0.Final' - implementation group: 'org.slf4j', name: 'slf4j-api', version: slf4jVersion -} diff --git a/utbot-sample/gradle/wrapper/gradle-wrapper.jar b/utbot-sample/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index e708b1c0..00000000 Binary files a/utbot-sample/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/utbot-sample/gradle/wrapper/gradle-wrapper.properties b/utbot-sample/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index da9702f9..00000000 --- a/utbot-sample/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/utbot-sample/gradlew b/utbot-sample/gradlew deleted file mode 100644 index 4f906e0c..00000000 --- a/utbot-sample/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/utbot-sample/gradlew.bat b/utbot-sample/gradlew.bat deleted file mode 100644 index 107acd32..00000000 --- a/utbot-sample/gradlew.bat +++ /dev/null @@ -1,89 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/utbot-sample/src/main/java/guava/examples/math/IntMath.java b/utbot-sample/src/main/java/guava/examples/math/IntMath.java deleted file mode 100644 index 3cca0a11..00000000 --- a/utbot-sample/src/main/java/guava/examples/math/IntMath.java +++ /dev/null @@ -1,75 +0,0 @@ -package guava.examples.math; - -import java.math.RoundingMode; - -public class IntMath { - /** - * The biggest half power of two that can fit in an unsigned int. - */ - static final int MAX_POWER_OF_SQRT2_UNSIGNED = 0xB504F333; - - public static int log2(int x, RoundingMode mode) { - switch (mode) { - case UNNECESSARY: - // fall through - case DOWN: - case FLOOR: - return (Integer.SIZE - 1) - Integer.numberOfLeadingZeros(x); - - case UP: - case CEILING: - return Integer.SIZE - Integer.numberOfLeadingZeros(x - 1); - - case HALF_DOWN: - case HALF_UP: - case HALF_EVEN: - // Since sqrt(2) is irrational, log2(x) - logFloor cannot be exactly 0.5 - int leadingZeros = Integer.numberOfLeadingZeros(x); - int cmp = MAX_POWER_OF_SQRT2_UNSIGNED >>> leadingZeros; - // floor(2^(logFloor + 0.5)) - int logFloor = (Integer.SIZE - 1) - leadingZeros; - return logFloor + lessThanBranchFree(cmp, x); - - default: - throw new AssertionError(); - } - } - - static int lessThanBranchFree(int x, int y) { - // The double negation is optimized away by normal Java, but is necessary for GWT - // to make sure bit twiddling works as expected. - return ~~(x - y) >>> (Integer.SIZE - 1); - } - - public static int pow(int b, int k) { - switch (b) { - case 0: - return (k == 0) ? 1 : 0; - case 1: - return 1; - case (-1): - return ((k & 1) == 0) ? 1 : -1; - case 2: - return (k < Integer.SIZE) ? (1 << k) : 0; - case (-2): - if (k < Integer.SIZE) { - return ((k & 1) == 0) ? (1 << k) : -(1 << k); - } else { - return 0; - } - default: - // continue below to handle the general case - } - for (int accum = 1; ; k >>= 1) { - switch (k) { - case 0: - return accum; - case 1: - return b * accum; - default: - accum *= ((k & 1) == 0) ? 1 : b; - b *= b; - } - } - } -} diff --git a/utbot-sample/src/main/java/guava/examples/math/Stats.java b/utbot-sample/src/main/java/guava/examples/math/Stats.java deleted file mode 100644 index a99a37fb..00000000 --- a/utbot-sample/src/main/java/guava/examples/math/Stats.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (C) 2012 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ - -package guava.examples.math; - -import java.io.Serializable; -import java.util.Iterator; - - -public final class Stats implements Serializable { - - private final long count; - private final double mean; - private final double sumOfSquaresOfDeltas; - private final double min; - private final double max; - - /** - * Internal constructor. Users should use {@link #ofIterable} or {@link StatsAccumulator#snapshot}. - * - *

    To ensure that the created instance obeys its contract, the parameters should satisfy the - * following constraints. This is the callers responsibility and is not enforced here. - * - *

      - *
    • If {@code count} is 0, {@code mean} may have any finite value (its only usage will be to - * get multiplied by 0 to calculate the sum), and the other parameters may have any values - * (they will not be used). - *
    • If {@code count} is 1, {@code sumOfSquaresOfDeltas} must be exactly 0.0 or {@link - * Double#NaN}. - *
    - */ - Stats(long count, double mean, double sumOfSquaresOfDeltas, double min, double max) { - this.count = count; - this.mean = mean; - this.sumOfSquaresOfDeltas = sumOfSquaresOfDeltas; - this.min = min; - this.max = max; - } - - /** - * Returns statistics over a dataset containing the given values. - * - * @param values a series of values, which will be converted to {@code double} values (this may - * cause loss of precision) - */ - public static Stats ofIterable(Iterable values) { - StatsAccumulator accumulator = new StatsAccumulator(); - accumulator.addAll(values); - return accumulator.snapshot(); - } - - /** - * Returns statistics over a dataset containing the given values. - * - * @param values a series of values, which will be converted to {@code double} values (this may - * cause loss of precision) - */ - public static Stats ofIterator(Iterator values) { - StatsAccumulator accumulator = new StatsAccumulator(); - accumulator.addAll(values); - return accumulator.snapshot(); - } - - /** - * Returns statistics over a dataset containing the given values. - * - * @param values a series of values - */ - public static Stats ofDoubles(double... values) { - StatsAccumulator acummulator = new StatsAccumulator(); - acummulator.addAll(values); - return acummulator.snapshot(); - } - - /** - * Returns statistics over a dataset containing the given values. - * - * @param values a series of values - */ - public static Stats ofInts(int... values) { - StatsAccumulator acummulator = new StatsAccumulator(); - acummulator.addAll(values); - return acummulator.snapshot(); - } - - /** - * Returns statistics over a dataset containing the given values. - * - * @param values a series of values, which will be converted to {@code double} values (this may - * cause loss of precision for longs of magnitude over 2^53 (slightly over 9e15)) - */ - public static Stats ofLongs(long... values) { - StatsAccumulator acummulator = new StatsAccumulator(); - acummulator.addAll(values); - return acummulator.snapshot(); - } - - /** Returns the number of values. */ - public long count() { - return count; - } - - - private static final long serialVersionUID = 0; -} diff --git a/utbot-sample/src/main/java/guava/examples/math/StatsAccumulator.java b/utbot-sample/src/main/java/guava/examples/math/StatsAccumulator.java deleted file mode 100644 index 57c9e933..00000000 --- a/utbot-sample/src/main/java/guava/examples/math/StatsAccumulator.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (C) 2012 The Guava Authors - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - */ - -package guava.examples.math; - -import java.util.Iterator; - -import static java.lang.Double.*; - -public final class StatsAccumulator { - - // These fields must satisfy the requirements of Stats' constructor as well as those of the stat - // methods of this class. - private long count = 0; - private double mean = 0.0; // any finite value will do, we only use it to multiply by zero for sum - private double sumOfSquaresOfDeltas = 0.0; - private double min = NaN; // any value will do - private double max = NaN; // any value will do - - /** Adds the given value to the dataset. */ - public void add(double value) { - if (count == 0) { - count = 1; - mean = value; - min = value; - max = value; - if (!isFinite(value)) { - sumOfSquaresOfDeltas = NaN; - } - } else { - count++; - if (isFinite(value) && isFinite(mean)) { - // Art of Computer Programming vol. 2, Knuth, 4.2.2, (15) and (16) - double delta = value - mean; - mean += delta / count; - sumOfSquaresOfDeltas += delta * (value - mean); - } else { - mean = calculateNewMeanNonFinite(mean, value); - sumOfSquaresOfDeltas = NaN; - } - min = Math.min(min, value); - max = Math.max(max, value); - } - } - - /** - * Adds the given values to the dataset. - * - * @param values a series of values, which will be converted to {@code double} values (this may - * cause loss of precision) - */ - public void addAll(Iterable values) { - for (Number value : values) { - add(value.doubleValue()); - } - } - - /** - * Adds the given values to the dataset. - * - * @param values a series of values, which will be converted to {@code double} values (this may - * cause loss of precision) - */ - public void addAll(Iterator values) { - while (values.hasNext()) { - add(values.next().doubleValue()); - } - } - - /** - * Adds the given values to the dataset. - * - * @param values a series of values - */ - public void addAll(double... values) { - for (double value : values) { - add(value); - } - } - - /** - * Adds the given values to the dataset. - * - * @param values a series of values - */ - public void addAll(int... values) { - for (int value : values) { - add(value); - } - } - - /** - * Adds the given values to the dataset. - * - * @param values a series of values, which will be converted to {@code double} values (this may - * cause loss of precision for longs of magnitude over 2^53 (slightly over 9e15)) - */ - public void addAll(long... values) { - for (long value : values) { - add(value); - } - } - - /** Returns an immutable snapshot of the current statistics. */ - public Stats snapshot() { - return new Stats(count, mean, sumOfSquaresOfDeltas, min, max); - } - - /** Returns the number of values. */ - public long count() { - return count; - } - - /** - * Calculates the new value for the accumulated mean when a value is added, in the case where at - * least one of the previous mean and the value is non-finite. - */ - static double calculateNewMeanNonFinite(double previousMean, double value) { - /* - * Desired behaviour is to match the results of applying the naive mean formula. In particular, - * the update formula can subtract infinities in cases where the naive formula would add them. - * - * Consequently: - * 1. If the previous mean is finite and the new value is non-finite then the new mean is that - * value (whether it is NaN or infinity). - * 2. If the new value is finite and the previous mean is non-finite then the mean is unchanged - * (whether it is NaN or infinity). - * 3. If both the previous mean and the new value are non-finite and... - * 3a. ...either or both is NaN (so mean != value) then the new mean is NaN. - * 3b. ...they are both the same infinities (so mean == value) then the mean is unchanged. - * 3c. ...they are different infinities (so mean != value) then the new mean is NaN. - */ - if (isFinite(previousMean)) { - // This is case 1. - return value; - } else if (isFinite(value) || previousMean == value) { - // This is case 2. or 3b. - return previousMean; - } else { - // This is case 3a. or 3c. - return NaN; - } - } - - public static boolean isFinite(double value) { - return NEGATIVE_INFINITY < value && value < POSITIVE_INFINITY; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/ArraysQuickSort.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/ArraysQuickSort.java deleted file mode 100644 index 9a925957..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/ArraysQuickSort.java +++ /dev/null @@ -1,497 +0,0 @@ -package org.utbot.examples.algorithms; - -public class ArraysQuickSort { - // a with size >= 3 require greater step limit. For five elements more than 5000 (maybe a lot more) - public static int[] runDefaultQuickSort(int value) { - int[] a = {value + 100, value}; - sort(a, 0, a.length - 1, null, 0, 0); - return a; - } - - // implementation from Arrays.sort. All static constants inlined, because we don't support them for now - public static void sort(int[] a, int left, int right, - int[] work, int workBase, int workLen) { - // Use Quicksort on small arrays - if (right - left < 286) { //QUICKSORT_THRESHOLD - internalSort(a, left, right, true); - return; - } - - /* - * Index run[i] is the start of i-th run - * (ascending or descending sequence). - */ - int[] run = new int[67 + 1]; // MAX_RUN_COUNT - int count = 0; - run[0] = left; - - // Check if the array is nearly sorted - for (int k = left; k < right; run[count] = k) { - // Equal items in the beginning of the sequence - while (k < right && a[k] == a[k + 1]) - k++; - if (k == right) break; // Sequence finishes with equal items - if (a[k] < a[k + 1]) { // ascending - while (++k <= right && a[k - 1] <= a[k]) ; - } else if (a[k] > a[k + 1]) { // descending - while (++k <= right && a[k - 1] >= a[k]) ; - // Transform into an ascending sequence - for (int lo = run[count] - 1, hi = k; ++lo < --hi; ) { - int t = a[lo]; - a[lo] = a[hi]; - a[hi] = t; - } - } - - // Merge a transformed descending sequence followed by an - // ascending sequence - if (run[count] > left && a[run[count]] >= a[run[count] - 1]) { - count--; - } - - /* - * The array is not highly structured, - * use Quicksort instead of merge sort. - */ - if (++count == 67) { // MAX_RUN_COUNT - internalSort(a, left, right, true); - return; - } - } - - // These invariants should hold true: - // run[0] = 0 - // run[] = right + 1; (terminator) - - if (count == 0) { - // A single equal run - return; - } else if (count == 1 && run[count] > right) { - // Either a single ascending or a transformed descending run. - // Always check that a final run is a proper terminator, otherwise - // we have an unterminated trailing run, to handle downstream. - return; - } - right++; - if (run[count] < right) { - // Corner case: the final run is not a terminator. This may happen - // if a final run is an equals run, or there is a single-element run - // at the end. Fix up by adding a proper terminator at the end. - // Note that we terminate with (right + 1), incremented earlier. - run[++count] = right; - } - - // Determine alternation base for merge - byte odd = 0; - for (int n = 1; (n <<= 1) < count; odd ^= 1) ; - - // Use or create temporary array b for merging - int[] b; // temp array; alternates with a - int ao, bo; // array offsets from 'left' - int blen = right - left; // space needed for b - if (work == null || workLen < blen || workBase + blen > work.length) { - work = new int[blen]; - workBase = 0; - } - if (odd == 0) { - System.arraycopy(a, left, work, workBase, blen); - b = a; - bo = 0; - a = work; - ao = workBase - left; - } else { - b = work; - ao = 0; - bo = workBase - left; - } - - // Merging - for (int last; count > 1; count = last) { - for (int k = (last = 0) + 2; k <= count; k += 2) { - int hi = run[k], mi = run[k - 1]; - for (int i = run[k - 2], p = i, q = mi; i < hi; ++i) { - if (q >= hi || p < mi && a[p + ao] <= a[q + ao]) { - b[i + bo] = a[p++ + ao]; - } else { - b[i + bo] = a[q++ + ao]; - } - } - run[++last] = hi; - } - if ((count & 1) != 0) { - for (int i = right, lo = run[count - 1]; --i >= lo; - b[i + bo] = a[i + ao] - ) - ; - run[++last] = right; - } - int[] t = a; - a = b; - b = t; - int o = ao; - ao = bo; - bo = o; - } - } - - private static void internalSort(int[] a, int left, int right, boolean leftmost) { - int length = right - left + 1; - - // Use insertion sort on tiny arrays - if (length < 47) { // INSERTION_SORT_THRESHOLD - if (leftmost) { - /* - * Traditional (without sentinel) insertion sort, - * optimized for server VM, is used in case of - * the leftmost part. - */ - for (int i = left, j = i; i < right; j = ++i) { - int ai = a[i + 1]; - while (ai < a[j]) { - a[j + 1] = a[j]; - if (j-- == left) { - break; - } - } - a[j + 1] = ai; - } - } else { - /* - * Skip the longest ascending sequence. - */ - do { - if (left >= right) { - return; - } - } while (a[++left] >= a[left - 1]); - - /* - * Every element from adjoining part plays the role - * of sentinel, therefore this allows us to avoid the - * left range check on each iteration. Moreover, we use - * the more optimized algorithm, so called pair insertion - * sort, which is faster (in the context of Quicksort) - * than traditional implementation of insertion sort. - */ - for (int k = left; ++left <= right; k = ++left) { - int a1 = a[k], a2 = a[left]; - - if (a1 < a2) { - a2 = a1; - a1 = a[left]; - } - while (a1 < a[--k]) { - a[k + 2] = a[k]; - } - a[++k + 1] = a1; - - while (a2 < a[--k]) { - a[k + 1] = a[k]; - } - a[k + 1] = a2; - } - int last = a[right]; - - while (last < a[--right]) { - a[right + 1] = a[right]; - } - a[right + 1] = last; - } - return; - } - - // Inexpensive approximation of length / 7 - int seventh = (length >> 3) + (length >> 6) + 1; - - /* - * Sort five evenly spaced elements around (and including) the - * center element in the range. These elements will be used for - * pivot selection as described below. The choice for spacing - * these elements was empirically determined to work well on - * a wide variety of inputs. - */ - int e3 = (left + right) >>> 1; // The midpoint - int e2 = e3 - seventh; - int e1 = e2 - seventh; - int e4 = e3 + seventh; - int e5 = e4 + seventh; - - // Sort these elements using insertion sort - if (a[e2] < a[e1]) { - int t = a[e2]; - a[e2] = a[e1]; - a[e1] = t; - } - - if (a[e3] < a[e2]) { - int t = a[e3]; - a[e3] = a[e2]; - a[e2] = t; - if (t < a[e1]) { - a[e2] = a[e1]; - a[e1] = t; - } - } - if (a[e4] < a[e3]) { - int t = a[e4]; - a[e4] = a[e3]; - a[e3] = t; - if (t < a[e2]) { - a[e3] = a[e2]; - a[e2] = t; - if (t < a[e1]) { - a[e2] = a[e1]; - a[e1] = t; - } - } - } - if (a[e5] < a[e4]) { - int t = a[e5]; - a[e5] = a[e4]; - a[e4] = t; - if (t < a[e3]) { - a[e4] = a[e3]; - a[e3] = t; - if (t < a[e2]) { - a[e3] = a[e2]; - a[e2] = t; - if (t < a[e1]) { - a[e2] = a[e1]; - a[e1] = t; - } - } - } - } - - // Pointers - int less = left; // The index of the first element of center part - int great = right; // The index before the first element of right part - - if (a[e1] != a[e2] && a[e2] != a[e3] && a[e3] != a[e4] && a[e4] != a[e5]) { - /* - * Use the second and fourth of the five sorted elements as pivots. - * These values are inexpensive approximations of the first and - * second terciles of the array. Note that pivot1 <= pivot2. - */ - int pivot1 = a[e2]; - int pivot2 = a[e4]; - - /* - * The first and the last elements to be sorted are moved to the - * locations formerly occupied by the pivots. When partitioning - * is complete, the pivots are swapped back into their final - * positions, and excluded from subsequent sorting. - */ - a[e2] = a[left]; - a[e4] = a[right]; - - /* - * Skip elements, which are less or greater than pivot values. - */ - while (a[++less] < pivot1) ; - while (a[--great] > pivot2) ; - - /* - * Partitioning: - * - * left part center part right part - * +--------------------------------------------------------------+ - * | < pivot1 | pivot1 <= && <= pivot2 | ? | > pivot2 | - * +--------------------------------------------------------------+ - * ^ ^ ^ - * | | | - * less k great - * - * Invariants: - * - * all in (left, less) < pivot1 - * pivot1 <= all in [less, k) <= pivot2 - * all in (great, right) > pivot2 - * - * Pointer k is the first index of ?-part. - */ - outer: - for (int k = less - 1; ++k <= great; ) { - int ak = a[k]; - if (ak < pivot1) { // Move a[k] to left part - a[k] = a[less]; - /* - * Here and below we use "a[i] = b; i++;" instead - * of "a[i++] = b;" due to performance issue. - */ - a[less] = ak; - ++less; - } else if (ak > pivot2) { // Move a[k] to right part - while (a[great] > pivot2) { - if (great-- == k) { - break outer; - } - } - if (a[great] < pivot1) { // a[great] <= pivot2 - a[k] = a[less]; - a[less] = a[great]; - ++less; - } else { // pivot1 <= a[great] <= pivot2 - a[k] = a[great]; - } - /* - * Here and below we use "a[i] = b; i--;" instead - * of "a[i--] = b;" due to performance issue. - */ - a[great] = ak; - --great; - } - } - - // Swap pivots into their final positions - a[left] = a[less - 1]; - a[less - 1] = pivot1; - a[right] = a[great + 1]; - a[great + 1] = pivot2; - - // Sort left and right parts recursively, excluding known pivots - internalSort(a, left, less - 2, leftmost); - internalSort(a, great + 2, right, false); - - /* - * If center part is too large (comprises > 4/7 of the array), - * swap internal pivot values to ends. - */ - if (less < e1 && e5 < great) { - /* - * Skip elements, which are equal to pivot values. - */ - while (a[less] == pivot1) { - ++less; - } - - while (a[great] == pivot2) { - --great; - } - - /* - * Partitioning: - * - * left part center part right part - * +----------------------------------------------------------+ - * | == pivot1 | pivot1 < && < pivot2 | ? | == pivot2 | - * +----------------------------------------------------------+ - * ^ ^ ^ - * | | | - * less k great - * - * Invariants: - * - * all in (*, less) == pivot1 - * pivot1 < all in [less, k) < pivot2 - * all in (great, *) == pivot2 - * - * Pointer k is the first index of ?-part. - */ - outer: - for (int k = less - 1; ++k <= great; ) { - int ak = a[k]; - if (ak == pivot1) { // Move a[k] to left part - a[k] = a[less]; - a[less] = ak; - ++less; - } else if (ak == pivot2) { // Move a[k] to right part - while (a[great] == pivot2) { - if (great-- == k) { - break outer; - } - } - if (a[great] == pivot1) { // a[great] < pivot2 - a[k] = a[less]; - /* - * Even though a[great] equals to pivot1, the - * assignment a[less] = pivot1 may be incorrect, - * if a[great] and pivot1 are floating-point zeros - * of different signs. Therefore in float and - * double sorting methods we have to use more - * accurate assignment a[less] = a[great]. - */ - a[less] = pivot1; - ++less; - } else { // pivot1 < a[great] < pivot2 - a[k] = a[great]; - } - a[great] = ak; - --great; - } - } - } - - // Sort center part recursively - internalSort(a, less, great, false); - - } else { // Partitioning with one pivot - /* - * Use the third of the five sorted elements as pivot. - * This value is inexpensive approximation of the median. - */ - int pivot = a[e3]; - - /* - * Partitioning degenerates to the traditional 3-way - * (or "Dutch National Flag") schema: - * - * left part center part right part - * +-------------------------------------------------+ - * | < pivot | == pivot | ? | > pivot | - * +-------------------------------------------------+ - * ^ ^ ^ - * | | | - * less k great - * - * Invariants: - * - * all in (left, less) < pivot - * all in [less, k) == pivot - * all in (great, right) > pivot - * - * Pointer k is the first index of ?-part. - */ - for (int k = less; k <= great; ++k) { - if (a[k] == pivot) { - continue; - } - int ak = a[k]; - if (ak < pivot) { // Move a[k] to left part - a[k] = a[less]; - a[less] = ak; - ++less; - } else { // a[k] > pivot - Move a[k] to right part - while (a[great] > pivot) { - --great; - } - if (a[great] < pivot) { // a[great] <= pivot - a[k] = a[less]; - a[less] = a[great]; - ++less; - } else { // a[great] == pivot - /* - * Even though a[great] equals to pivot, the - * assignment a[k] = pivot may be incorrect, - * if a[great] and pivot are floating-point - * zeros of different signs. Therefore in float - * and double sorting methods we have to use - * more accurate assignment a[k] = a[great]. - */ - a[k] = pivot; - } - a[great] = ak; - --great; - } - } - - /* - * Sort left and right parts recursively. - * All elements from center part are equal - * and, therefore, already sorted. - */ - internalSort(a, left, less - 1, leftmost); - internalSort(a, great + 1, right, false); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/BinarySearch.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/BinarySearch.java deleted file mode 100644 index 2b2d4e3e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/BinarySearch.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.utbot.examples.algorithms; - -public class BinarySearch { - private boolean isUnsorted(long[] array) { - for (int i = 0; i < array.length - 1; i++) { - if (array[i] > array[i + 1]) { - return true; - } - } - return false; - } - - @SuppressWarnings("IfStatementMissingBreakInLoop") - public int leftBinSearch(long[] array, long key) { - if (isUnsorted(array)) { - throw new IllegalArgumentException(); - } - - int left = -1; - int right = array.length; - boolean found = false; - while (left < right - 1) { - int middle = (left + right) / 2; - if (array[middle] == key) { - found = true; - } - if (array[middle] < key) { - left = middle; - } else { - right = middle; - } - } - if (found) { - return right + 1; - } else { - return -1; - } - } - - @SuppressWarnings("IfStatementMissingBreakInLoop") - public int rightBinSearch(long[] array, long key) { - if (isUnsorted(array)) { - throw new IllegalArgumentException(); - } - - int left = -1; - int right = array.length; - boolean found = false; - - while (left < right - 1) { - int middle = (left + right) / 2; - if (array[middle] == key) { - found = true; - } - if (array[middle] <= key) { - left = middle; - } else { - right = middle; - } - } - - if (found) { - return right; - } else { - return -1; - } - } - - public int defaultBinarySearch(long[] array, long key) { - if (isUnsorted(array)) { - throw new IllegalArgumentException(); - } - - int low = 0; - int high = array.length - 1; - - while (low <= high) { - int mid = (low + high) >>> 1; - long midVal = array[mid]; - - if (midVal < key) - low = mid + 1; - else if (midVal > key) - high = mid - 1; - else - return mid; // key found - } - return -(low + 1); // key not found. - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/CorrectBracketSequences.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/CorrectBracketSequences.java deleted file mode 100644 index 820906b8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/CorrectBracketSequences.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.examples.algorithms; - -import java.util.ArrayList; -import java.util.List; - -public class CorrectBracketSequences { - public static boolean isOpen(char a) { - return a == '(' || a == '{' || a == '['; - } - - public static boolean isTheSameType(char a, char b) { - return a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']'; - } - - public static boolean isBracket(char a) { - return isOpen(a) || a == ')' || a == '}' || a == ']'; - } - - public static boolean isCbs(List chars) { - int index = 0; - List queue = new ArrayList<>(); - - for (char c : chars) { - if (!isBracket(c)) { - return false; - } - - if (index == 0 && !isOpen(c)) { - return false; - } - - if (isOpen(c)) { - queue.add(c); - index++; - continue; - } - - if (isTheSameType(queue.get(index - 1), c)) { - index--; - continue; - } - - return false; - } - - return index == 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/Graph.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/Graph.java deleted file mode 100644 index 13333a12..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/Graph.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.examples.algorithms; - -public class Graph { - private int size; - private int[][] adj; - - public int getSize() { - return size; - } - - public void setSize(int size) { - this.size = size; - } - - public int[][] getAdj() { - return adj; - } - - public void setAdj(int[][] adj) { - this.adj = adj; - } - - private boolean isCyclic(int i, boolean[] visited, boolean[] recStack) { - if (recStack[i]) - return true; - - if (visited[i]) - return false; - - visited[i] = true; - - recStack[i] = true; - int[] children = adj[i]; - - for (Integer c : children) - if (c == 1) { - if (isCyclic(c, visited, recStack)) { - return true; - } - } - - recStack[i] = false; - - return false; - } - - public void addEdge(int source, int dest) { - adj[source][dest] = 1; - } - - public boolean isCyclic() { - boolean[] visited = new boolean[size]; - boolean[] recStack = new boolean[size]; - - for (int i = 0; i < size; i++) - if (isCyclic(i, visited, recStack)) - return true; - - return false; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/GraphExample.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/GraphExample.java deleted file mode 100644 index 0091b76e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/GraphExample.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.utbot.examples.algorithms; - -import org.utbot.examples.structures.Pair; -import java.util.Arrays; - -public class GraphExample { - public boolean runFindCycle(Pair[] additionalEdges) { - Graph graph = new Graph(); - - int size = 10; - graph.setSize(10); - graph.setAdj(new int[size][size]); - - for (int i = 0; i < size; i++) { - Arrays.fill(graph.getAdj()[i], 0); - } - - graph.addEdge(0, 1); - graph.addEdge(0, 2); - graph.addEdge(1, 2); - graph.addEdge(2, 0); - graph.addEdge(2, 3); - graph.addEdge(3, 3); - - for (Pair additionalEdge : additionalEdges) { - graph.addEdge((int) additionalEdge.getFirst(), (int) additionalEdge.getSecond()); - } - - - return graph.isCyclic(); - } - - - private int minDistance(int[] dist, boolean[] sptSet, int size) { - int min = 0x7fffffff, min_index = -1; // INT.MAX_VALUE - - for (int v = 0; v < size; v++) { - if (!sptSet[v] && dist[v] <= min) { - min = dist[v]; - min_index = v; - } - } - - return min_index; - } - - private int[] dijkstra(int[][] graph, int src, int size) { - int[] dist = new int[size]; - - boolean[] sptSet = new boolean[size]; - - for (int i = 0; i < size; i++) { - dist[i] = 0x7fffffff; - sptSet[i] = false; - } - - dist[src] = 0; - - for (int count = 0; count < size - 1; count++) { - int u = minDistance(dist, sptSet, size); - sptSet[u] = true; - - for (int v = 0; v < size; v++) { - if (!sptSet[v] && graph[u][v] != 0 && dist[u] != 0x7fffffff && dist[u] + graph[u][v] < dist[v]) { - dist[v] = dist[u] + graph[u][v]; - } - } - } - - return dist; - } - - public int[] runDijkstra(int ignored) { - int[][] graph = new int[][]{{0, 4, 0, 0, 0, 0, 0, 8, 0}, - {4, 0, 8, 0, 0, 0, 0, 11, 0}, - {0, 8, 0, 7, 0, 4, 0, 0, 2}, - {0, 0, 7, 0, 9, 14, 0, 0, 0}, - {0, 0, 0, 9, 0, 10, 0, 0, 0}, - {0, 0, 4, 14, 10, 0, 2, 0, 0}, - {0, 0, 0, 0, 0, 2, 0, 1, 6}, - {8, 11, 0, 0, 0, 0, 1, 0, 7}, - {0, 0, 2, 0, 0, 0, 6, 7, 0}}; - return dijkstra(graph, 0, 9); - } - - public int[] runDijkstraWithParameter(int[][] graph) { - return dijkstra(graph, 0, graph.length); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/ReturnExample.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/ReturnExample.java deleted file mode 100644 index da98ec7d..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/ReturnExample.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.examples.algorithms; - -public class ReturnExample { - - public int compare(int a, int b) { - int c = a + b; - if (a < 0 || b < 0) - return a; - if (b == 10) - return c; - if (a > b) - return b; - if (a < b) - return a; - return c; - } - - public char compareChars(char a, char b, int n) { - if (n < 1) - return ' '; - for (int i = 0; i < n; i++) { - if (Character.toChars(i)[0] == a) { - return b; - } - if (Character.toChars(i)[0] == b) { - return a; - } - } - return a; - } - - - public void innerVoidCompareChars(char a, char b, int n) { - compareChars(a, b, n); - } - - public char innerReturnCompareChars(char a, char b, int n) { - return compareChars(a, b, n); - } - - public void innerVoidCallCompare(int a, int b) { - compare(a, b); - } - - public int innerReturnCallCompare(int a, int b) { - return compare(a, b); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/Sort.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/Sort.java deleted file mode 100644 index 857d661b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/Sort.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.utbot.examples.algorithms; - -import java.util.Arrays; -import java.util.Random; - -public class Sort { - - public void quickSort(long[] array, int begin, int end) { - if (end > begin) { - int index = partition(array, begin, end); - quickSort(array, begin, index); - quickSort(array, index + 1, end); - } - } - - public void swap(long[] array, int i, int j) { - long tmp = array[i]; - array[i] = array[j]; - array[j] = tmp; - } - - public int partition(long[] array, int begin, int end) { - int index = begin + new Random().nextInt(end - begin + 1); - long pivot = array[index]; - int firstIndex = begin; - int lastIndex = end; - while (firstIndex <= lastIndex) { - while (array[firstIndex] < pivot) - firstIndex++; - while (array[lastIndex] > pivot) - lastIndex--; - if (firstIndex <= lastIndex) { - swap(array, firstIndex, lastIndex); - firstIndex++; - lastIndex--; - } - } - return lastIndex; - } - - public int[] arrayCopy() { - int[] fst = {1, 2, 3}; - int[] snd = {4, 5, 6}; - - System.arraycopy(fst, 0, snd, 0, 3); - return snd; - } - - public int[] mergeSort(int[] array) { - if (array == null) { - return null; - } - - int n = array.length; - - if (n < 2) { - return array; - } - - int[] leftArray = new int[n / 2]; - int[] rightArray = new int[n - n / 2]; - System.arraycopy(array, 0, leftArray, 0, n / 2); - System.arraycopy(array, n / 2, rightArray, 0, n - n / 2); - - leftArray = mergeSort(leftArray); - rightArray = mergeSort(rightArray); - - return merge(leftArray, rightArray); - } - - public int[] merge(int[] leftArray, int[] rightArray) { - int leftLength = leftArray.length; - if (leftLength == 0) { - return rightArray; - } - int rightLength = rightArray.length; - if (rightLength == 0) { - return leftArray; - } - - int length = leftLength + rightLength; - int[] joinedArray = new int[length]; - - int left = 0; - int right = 0; - for (int i = 0; i < length; i++) { - if (left == leftLength) { - joinedArray[i] = rightArray[right++]; - } else if (right == rightLength) { - joinedArray[i] = leftArray[left++]; - } else if (leftArray[left] < rightArray[right]) { - joinedArray[i] = leftArray[left++]; - } else { - joinedArray[i] = rightArray[right++]; - } - } - return joinedArray; - } - - public int[] defaultSort(int[] array) { - if (array.length < 4) { - throw new IllegalArgumentException(); - } - - array[0] = 200; - array[1] = 100; - array[2] = 0; - array[3] = -100; - - Arrays.sort(array); - return array; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/errors/Cartoons.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/errors/Cartoons.java deleted file mode 100644 index b064cbe8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/errors/Cartoons.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.utbot.examples.algorithms.errors; - - -import org.utbot.examples.structures.Pair; -import java.util.HashSet; -import java.util.Set; - -// http://codeforces.com/contest/1297/problem/B?locale=en TODO object casts required -public class Cartoons { - - boolean in(long value, long from, long to) { - return from <= value && value <= to; - } - - long runTest(int numberOfCartoons, Pair[] cartoonDescription) { - if (numberOfCartoons < 1 || numberOfCartoons > 2000) { - throw new IllegalArgumentException("Number of cartoons not in 1..2000"); - } - - if (numberOfCartoons != cartoonDescription.length) { - throw new IllegalArgumentException("Number of cartoons doesn't match with description size"); - } - - for (int i = 0; i < numberOfCartoons; i++) { - if (!in(cartoonDescription[i].getFirst(), 1, 1_000_000_000) || - !in(cartoonDescription[i].getSecond(), 1, 1_000_000_000)) { - throw new IllegalArgumentException("All values in description should be in 1..1_000_000_000"); - } - } - - return process(numberOfCartoons, cartoonDescription); - } - - private long process(int numberOfCartoons, Pair[] cartoonDescription) { - Set days = new HashSet<>(); - for (int j = 0; j < numberOfCartoons; j++) { - if (j == 0) { - days.add(cartoonDescription[j]); - continue; - } - - Set setToRemove = new HashSet<>(); - long a = cartoonDescription[j].getFirst(); - long b = cartoonDescription[j].getSecond(); - for (Pair day : days) { - if (a >= day.getFirst() && a <= day.getSecond()) { - setToRemove.add(day); - if (a > day.getFirst() && day.getFirst() != day.getSecond()) { - days.add(new Pair(day.getFirst(), a - 1)); - } - if (b < day.getSecond() && day.getFirst() != day.getSecond()) { - days.add(new Pair(b + 1, day.getSecond())); - } - } else if (b >= day.getFirst() && b <= day.getSecond()) { - setToRemove.add(day); - if (day.getSecond() > b && day.getFirst() != day.getSecond()) { - days.add(new Pair(b + 1, day.getSecond())); - } - } else { - days.add(new Pair(a, b)); - } - } - days.removeAll(setToRemove); - } - if (!days.isEmpty()) { - return days.iterator().next().getFirst(); - } else { - return -1; - } - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/algorithms/errors/Taxi.java b/utbot-sample/src/main/java/org/utbot/examples/algorithms/errors/Taxi.java deleted file mode 100644 index f7739a64..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/algorithms/errors/Taxi.java +++ /dev/null @@ -1,61 +0,0 @@ -package org.utbot.examples.algorithms.errors; - -import org.utbot.examples.algorithms.Sort; - -// http://codeforces.com/contest/158/problem/B, Verdict: RE12 (because of a negative index in the array at some point) -public class Taxi { - public int runTest(int length, int[] groups) { - if (length <= 0 || length > 100000) { - throw new IllegalArgumentException("Length not in 1..10^5"); - } - - if (groups.length != length) { - throw new IllegalArgumentException("Array size doesn't match with given size"); - } - - for (int i = 0; i < length; i++) { - if (groups[i] < 1 || groups[i] > 4) { - throw new IllegalArgumentException("All numbers in \"groups\" must be in 1..4"); - } - } - - return findAnswer(length, groups); - } - - private int[] reverse(int[] array) { - int[] reversed = new int[array.length]; - for (int i = array.length - 1; i >= 0; i--) { - reversed[i] = array[array.length - i - 1]; - } - - return reversed; - } - - private int findAnswer(int length, int[] groups) { -// TODO("Doesn't work properly, can't find branch with index less than zero") -// Arrays.sort(groups); -// int[] reversed = reverse(groups); - - int[] reversed = reverse(new Sort().mergeSort(groups)); - - int j = length - 1; - int answer = 0; - for (int i = 0; i < length; i++) { - if (i < j) { - if (reversed[i] + reversed[j] <= 4) { - int drive = reversed[j]; - while (reversed[i] + drive <= 4) { - j--; - drive += reversed[j]; - } - } - answer++; - } else if (i == j) { - answer++; - } else { - break; - } - } - return answer; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/annotations/ClassWithRefField.java b/utbot-sample/src/main/java/org/utbot/examples/annotations/ClassWithRefField.java deleted file mode 100644 index 4995afe7..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/annotations/ClassWithRefField.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.annotations; - -import org.jetbrains.annotations.NotNull; - -public class ClassWithRefField { - @NotNull private final Integer boxedInt; - @NotNull private static Integer staticBoxedInt = 1; - - @SuppressWarnings("NullableProblems") - public ClassWithRefField(Integer boxedInt) { - this.boxedInt = boxedInt; - } - - @SuppressWarnings("NullableProblems") - public static Integer getStaticBoxedInt() { - return staticBoxedInt; - } - - public static void setStaticBoxedInt(@NotNull Integer staticBoxedInt) { - ClassWithRefField.staticBoxedInt = staticBoxedInt; - } - - @SuppressWarnings("NullableProblems") - public Integer getBoxedInt() { - return boxedInt; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/annotations/NotNullAnnotation.java b/utbot-sample/src/main/java/org/utbot/examples/annotations/NotNullAnnotation.java deleted file mode 100644 index 05c46691..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/annotations/NotNullAnnotation.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.utbot.examples.annotations; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; - -@SuppressWarnings("UnnecessaryUnboxing") -public class NotNullAnnotation { - @SuppressWarnings("UnnecessaryUnboxing") - public int doesNotThrowNPE(@NotNull Integer value) { - return value.intValue(); - } - - @SuppressWarnings({"UnnecessaryUnboxing", "ConstantConditions"}) - public int throwsNPE(@Nullable Integer value) { - return value.intValue(); - } - - @NotNull - private Integer notNullableReturn(Integer value) { - return value; - } - - @SuppressWarnings("UnnecessaryUnboxing") - public int severalParameters(@NotNull Integer first, Integer second, @NotNull Integer third) { - return first.intValue() + second.intValue() + third.intValue(); - } - - @SuppressWarnings("UnnecessaryUnboxing") - public int useNotNullableValue(Integer value) { - return notNullableReturn(value).intValue(); - } - - private Integer methodToAvoidSootOptimization(Integer value) { - return value; - } - - @SuppressWarnings("ConditionCoveredByFurtherCondition") - public Integer notNullableVariable(Integer first, Integer second, Integer third) { - @NotNull Integer a = methodToAvoidSootOptimization(first); - Integer b = methodToAvoidSootOptimization(second); - @NotNull Integer c = methodToAvoidSootOptimization(third); - if (a == null || b == null || c == null) { - throw new NullPointerException(); - } else { - return a + b + c; - } - } - - @SuppressWarnings("UnnecessaryUnboxing") - public int notNullField(@NotNull ClassWithRefField value) { - return value.getBoxedInt().intValue(); - } - - @SuppressWarnings("UnnecessaryUnboxing") - public int notNullStaticField() { - return ClassWithRefField.getStaticBoxedInt().intValue(); - } - - // Next tests are used to check correctness of the proceeding different NotNull annotations - public int javaxValidationNotNull(@javax.validation.constraints.NotNull Integer value) { - return value.intValue(); - } - - public int findBugsNotNull(@edu.umd.cs.findbugs.annotations.NonNull Integer value) { - return value.intValue(); - } - - public int javaxNotNull(@javax.annotation.Nonnull Integer value) { - return value.intValue(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/EnumWithAnnotations.java b/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/EnumWithAnnotations.java deleted file mode 100644 index a2272333..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/EnumWithAnnotations.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.annotations.lombok; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -@Getter -@AllArgsConstructor -public enum EnumWithAnnotations { - ENUM_CONSTANT("Constant_1"); - private final String constant; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/EnumWithoutAnnotations.java b/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/EnumWithoutAnnotations.java deleted file mode 100644 index cb451f5b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/EnumWithoutAnnotations.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.annotations.lombok; - - -public enum EnumWithoutAnnotations { - ENUM_CONSTANT("Constant_1"); - private final String constant; - - EnumWithoutAnnotations(String constant) { - this.constant = constant; - } - - public String getConstant() { - return constant; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/NotNullAnnotations.java b/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/NotNullAnnotations.java deleted file mode 100644 index 07c65ffc..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/annotations/lombok/NotNullAnnotations.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.annotations.lombok; - -import lombok.NonNull; - -public class NotNullAnnotations { - - public int lombokNonNull(@NonNull Integer value) { - return value; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayOfArrays.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayOfArrays.java deleted file mode 100644 index c4ec038c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayOfArrays.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.utbot.examples.arrays; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.casts.ColoredPoint; -import org.utbot.examples.casts.Point; - -public class ArrayOfArrays { - public int[][][] defaultValues() { - int[][][] array = new int[1][][]; - //noinspection IfStatementWithIdenticalBranches - if (array[0] == null) { - return array; - } - - return array; - } - - public int[][] sizesWithoutTouchingTheElements() { - int[][] array = new int[10][3]; - for (int i = 0; i < 2; i++) { - int a = array[i][0]; - } - return array; - } - - public int[][][][] defaultValuesWithoutLastDimension() { - int[][][][] array = new int[4][4][4][]; - - //noinspection IfStatementWithIdenticalBranches - if (array[0][0][0] != null) { - return array; - } - - return array; - } - - public int[][][][] createNewMultiDimensionalArray(int i, int j) { - return new int[2][i][j][3]; - } - - public int[][][][] defaultValuesWithoutTwoDimensions(int i) { - if (i < 2) { - return null; - } - - int[][][][] array = new int[i][i][][]; - - //noinspection IfStatementWithIdenticalBranches - if (array[0][0] != null) { - return array; - } - - return array; - } - - public int[][][] defaultValuesNewMultiArray() { - int[][][] array = new int[1][1][1]; - //noinspection IfStatementWithIdenticalBranches - if (array[0] == null) { - return array; - } - - return array; - } - - public int[][] simpleExample(int[][] matrix) { - UtMock.assume(matrix != null && matrix.length > 2); - UtMock.assume(matrix[0] != null && matrix[1] != null && matrix[2] != null); - - // TODO("This condition could be removed, but we'll get matrix with the same arrays inside") - if (matrix[1] == matrix[2] || matrix[0] == matrix[2]) { - return null; - } - if (matrix[1][1] == 1) { - matrix[2][2] = 2; - } else { - matrix[2][2] = -2; - } - - return matrix; - } - - public boolean isIdentityMatrix(int[][] matrix) { - if (matrix.length < 3) { - throw new IllegalArgumentException("matrix.length < 3"); - } - - for (int i = 0; i < matrix.length; i++) { - if (matrix[i].length != matrix.length) { - return false; - } - for (int j = 0; j < matrix[i].length; j++) { - if (i == j && matrix[i][j] != 1) { - return false; - } - - if (i != j && matrix[i][j] != 0) { - return false; - } - } - } - - return true; - } - - public int[][][] createNewThreeDimensionalArray(int length, int constValue) { - if (length != 2) { - return new int[0][][]; - } - int[][][] matrix = new int[length][length][length]; - for (int i = 0; i < length; i++) { - for (int j = 0; j < length; j++) { - for (int k = 0; k < length; k++) { - matrix[i][j][k] = constValue + 1; - } - } - } - - return matrix; - } - - public int[][][] reallyMultiDimensionalArray(int[][][] array) { - if (array[1][2][3] != 12345) { - array[1][2][3] = 12345; - } else { - array[1][2][3] -= 12345 * 2; - } - return array; - } - - public Point[][] multiDimensionalObjectsArray(Point[][] array) { - array[0] = new ColoredPoint[2]; - array[1] = new Point[1]; - return array; - } - - public int[][] fillMultiArrayWithArray(int[] value) { - if (value.length < 2) { - return new int[0][]; - } - - for (int i = 0; i < value.length; i++) { - value[i] += i; - } - - int length = 3; - int[][] array = new int[length][value.length]; - - for (int i = 0; i < length; i++) { - array[i] = value; - } - - return array; - } - - public Object[] arrayWithItselfAnAsElement(Object[] array) { - UtMock.assume(array != null && array.length > 0); - - if (array[0] == array) { - return array; - } - - return null; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayOfObjects.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayOfObjects.java deleted file mode 100644 index 1c607774..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayOfObjects.java +++ /dev/null @@ -1,96 +0,0 @@ -package org.utbot.examples.arrays; - - -import org.utbot.api.mock.UtMock; - -public class ArrayOfObjects { - public ObjectWithPrimitivesClass[] defaultValues() { - ObjectWithPrimitivesClass[] array = new ObjectWithPrimitivesClass[1]; - //noinspection IfStatementWithIdenticalBranches - if (array[0] != null) { - return array; - } - return array; - } - - public ObjectWithPrimitivesClass[] createArray(int x, int y, int length) { - if (length < 3) { - throw new IllegalArgumentException(); - } - - ObjectWithPrimitivesClass[] array = new ObjectWithPrimitivesClass[length]; - - for (int i = 0; i < array.length; i++) { - array[i] = new ObjectWithPrimitivesClass(); - array[i].x = x + i; - array[i].y = y + i; - } - - return array; - } - - @SuppressWarnings({"ManualArrayCopy", "ForLoopReplaceableByForEach"}) - public ObjectWithPrimitivesClass[] copyArray(ObjectWithPrimitivesClass[] array) { - if (array.length < 3) { - throw new IllegalArgumentException(); - } - - ObjectWithPrimitivesClass[] copy = new ObjectWithPrimitivesClass[array.length]; - for (int i = 0; i < array.length; i++) { - copy[i] = array[i]; - } - - for (int i = 0; i < array.length; i++) { - array[i].x = -1; - array[i].y = 1; - } - - return copy; - } - - public ObjectWithPrimitivesClass[] arrayWithSucc(int length) { - ObjectWithPrimitivesClass[] array = new ObjectWithPrimitivesClass[length]; - - if (length < 2) { - return array; - } - - array[0] = new ObjectWithPrimitivesClass(); - array[0].x = 2; - array[0].y = array[0].x * 2; - - array[1] = new ObjectWithPrimitivesClassSucc(); - array[1].x = 3; - - return array; - } - - public int objectArray(ObjectWithPrimitivesClass[] array, ObjectWithPrimitivesClass objectExample) { - if (array.length != 2) { - return -1; - } - array[0] = new ObjectWithPrimitivesClass(); - array[0].x = 5; - array[1] = objectExample; - if (array[0].x + array[1].x > 20) { - return 1; - } - return 0; - } - - public int arrayOfArrays(Object[] array) { - UtMock.assume(array != null && array.length > 0); - - int sum = 0; - - for (Object o : array) { - for (int j : (int[]) o) { - UtMock.assume(((int[]) o).length > 2); - UtMock.assume(j != 0); - sum += j; - } - } - - return sum; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayStoreExceptionExamples.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayStoreExceptionExamples.java deleted file mode 100644 index fe201e0c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArrayStoreExceptionExamples.java +++ /dev/null @@ -1,163 +0,0 @@ -package org.utbot.examples.arrays; - -import java.util.ArrayList; -import java.util.List; -import java.util.TreeSet; - -public class ArrayStoreExceptionExamples { - - public boolean correctAssignmentSamePrimitiveType(int[] data) { - if (data == null || data.length == 0) return false; - data[0] = 1; - return true; - } - - public boolean correctAssignmentIntToIntegerArray(Integer[] data) { - if (data == null || data.length == 0) return false; - data[0] = 1; - return true; - } - - public boolean correctAssignmentSubtype(Number[] data) { - if (data == null || data.length == 0) return false; - data[0] = 15; - return true; - } - - public boolean correctAssignmentToObjectArray(Object[] data) { - if (data == null || data.length < 2) return false; - data[0] = 1; - data[1] = new ArrayList(); - return true; - } - - public void wrongAssignmentUnrelatedType(Integer[] data) { - if (data == null || data.length == 0) return; - ((Object[]) data)[0] = "x"; - } - - public void wrongAssignmentSupertype(Integer[] data) { - if (data == null || data.length == 0) return; - Number x = 1.2; - ((Number[]) data)[0] = x; - } - - public void checkGenericAssignmentWithCorrectCast() { - Number[] data = new Number[3]; - genericAssignmentWithCast(data, 5); - } - - public void checkGenericAssignmentWithWrongCast() { - Number[] data = new Number[3]; - genericAssignmentWithCast(data, "x"); - } - - public void checkGenericAssignmentWithExtendsSubtype() { - Number[] data = new Number[3]; - genericAssignmentWithExtends(data, 7); - } - - public void checkGenericAssignmentWithExtendsUnrelated() { - Number[] data = new Number[3]; - genericAssignmentWithExtends(data, "x"); - } - - public void checkObjectAssignment() { - Object[] data = new Object[3]; - data[0] = "x"; - } - - public void checkAssignmentToObjectArray() { - Object[] data = new Object[3]; - data[0] = 1; - data[1] = "a"; - data[2] = data; - } - - public void checkWrongAssignmentOfItself() { - Number[] data = new Number[2]; - genericAssignmentWithCast(data, data); - } - - public void checkGoodAssignmentOfItself() { - Object[] data = new Object[2]; - genericAssignmentWithCast(data, data); - } - - public int[] arrayCopyForIncompatiblePrimitiveTypes(long[] data) { - if (data == null) - return null; - - int[] result = new int[data.length]; - if (data.length != 0) { - System.arraycopy(data, 0, result, 0, data.length); - } - - return result; - } - - public int[][] fill2DPrimitiveArray() { - int[][] data = new int[2][3]; - for (int i = 0; i < 2; i++) { - for (int j = 0; j < 3; j++) { - data[i][j] = i * 3 + j; - } - } - return data; - } - - public Object[] fillObjectArrayWithList(List list) { - if (list == null) - return null; - - Object[] result = new Object[1]; - result[0] = list; - return result; - } - - public Object[] fillWithTreeSet(TreeSet treeSet) { - if (treeSet == null) - return null; - - Object[] result = new Object[1]; - result[0] = treeSet; - return result; - } - - public SomeInterface[] fillSomeInterfaceArrayWithSomeInterface(SomeInterface impl) { - if (impl == null) - return null; - - SomeInterface[] result = new SomeInterface[1]; - result[0] = impl; - return result; - } - - public Object[] fillObjectArrayWithSomeInterface(SomeInterface impl) { - if (impl == null) - return null; - - Object[] result = new Object[1]; - result[0] = impl; - return result; - } - - public Object[] fillWithSomeImplementation(SomeImplementation impl) { - if (impl == null) - return null; - - Object[] result = new Object[1]; - result[0] = impl; - return result; - } - - private void genericAssignmentWithCast(T[] data, E element) { - if (data == null || data.length == 0) return; - data[0] = (T) element; - } - - private void genericAssignmentWithExtends(T[] data, E element) { - if (data == null || data.length == 0) return; - data[0] = element; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArraysOverwriteValue.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/ArraysOverwriteValue.java deleted file mode 100644 index 0478767f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/ArraysOverwriteValue.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.utbot.examples.arrays; - -import org.utbot.examples.objects.ObjectWithPrimitivesClass; - -public class ArraysOverwriteValue { - public byte byteArray(byte[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] != 0) { - return 2; - } - a[0] = 1; - return 3; - } - - public byte shortArray(short[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] != 0) { - return 2; - } - a[0] = 1; - return 3; - } - - public char charArray(char[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] != 0) { - return 2; - } - a[0] = 1; - return 3; - } - - public byte intArray(int[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] != 0) { - return 2; - } - a[0] = 1; - return 3; - } - - public long longArray(long[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] != 0) { - return 2; - } - a[0] = 1; - return 3; - } - - public float floatArray(float[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] == a[0]) { - return 2; - } - a[0] = 1.0f; - return 3; - } - - public double doubleArray(double[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] == a[0]) { - return 2; - } - a[0] = 1.0d; - return 3; - } - - public int booleanArray(boolean[] a) { - if (a.length == 0) { - return 1; - } - if (a[0]) { - return 2; - } - a[0] = true; - return 3; - } - - public int objectArray(ObjectWithPrimitivesClass[] a) { - if (a.length == 0) { - return 1; - } - if (a[0] == null) { - return 2; - } - a[0] = null; - return 3; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/CopyOfExample.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/CopyOfExample.java deleted file mode 100644 index cf1316e2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/CopyOfExample.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.examples.arrays; - -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; - -public class CopyOfExample { - @SuppressWarnings("IfStatementWithIdenticalBranches") - Integer[] copyOfExample(Integer[] values, int newLength) { - UtMock.assume(values != null); - - if (values.length == 0) { - if (newLength <= 0) { - return Arrays.copyOf(values, newLength); - } else { - return Arrays.copyOf(values, newLength); - } - } else { - if (newLength <= 0) { - return Arrays.copyOf(values, newLength); - } else { - return Arrays.copyOf(values, newLength); - } - } - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - Integer[] copyOfRangeExample(Integer[] values, int from, int to) { - UtMock.assume(values != null); - - if (from < 0) { - return Arrays.copyOfRange(values, from, to); - } - - if (from > to) { - return Arrays.copyOfRange(values, from, to); - } - - if (from > values.length) { - return Arrays.copyOfRange(values, from, to); - } - - return Arrays.copyOfRange(values, from, to); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/FinalStaticFieldArray.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/FinalStaticFieldArray.java deleted file mode 100644 index bbc22c3a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/FinalStaticFieldArray.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.arrays; - -public class FinalStaticFieldArray { - static double checkNonNegative(String role, double x) { - if (!(x >= 0)) { // not x < 0, to work with NaN. - throw new IllegalArgumentException(role + " (" + x + ") must be >= 0"); - } - return x; - } - - //This is exact example from Guava where static final array with initialization is presented - public static double factorial(int n) { - checkNonNegative("n", n); - if (n > MAX_FACTORIAL) { - return Double.POSITIVE_INFINITY; - } else { - // Multiplying the last (n & 0xf) values into their own accumulator gives a more accurate - // result than multiplying by everySixteenthFactorial[n >> 4] directly. - double accum = 1.0; - for (int i = 1 + (n & ~0xf); i <= n; i++) { - accum *= i; - } - return accum * everySixteenthFactorial[n >> 4]; - } - } - - static final int MAX_FACTORIAL = 170; - - static final double[] everySixteenthFactorial = { - 0x1.0p0, - 0x1.30777758p44, - 0x1.956ad0aae33a4p117, - 0x1.ee69a78d72cb6p202, - 0x1.fe478ee34844ap295, - 0x1.c619094edabffp394, - 0x1.3638dd7bd6347p498, - 0x1.7cac197cfe503p605, - 0x1.1e5dfc140e1e5p716, - 0x1.8ce85fadb707ep829, - 0x1.95d5f3d928edep945 - }; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/IntArrayBasics.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/IntArrayBasics.java deleted file mode 100644 index 9a95e842..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/IntArrayBasics.java +++ /dev/null @@ -1,189 +0,0 @@ -package org.utbot.examples.arrays; - -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; - -public class IntArrayBasics { - public int[] intArrayWithAssumeOrExecuteConcretely(int x, int n) { - UtMock.assumeOrExecuteConcretely(n > 30); - - if (x > 0) { - if (n < 20) { - return new int[2]; - } else { - return new int[4]; - } - } else { - if (n < 20) { - return new int[10]; - } else { - return new int[20]; - } - } - } - - public int[] initAnArray(int n) { - int[] a = new int[n]; - a[n - 1] = n - 1; - a[n - 2] = n - 2; - return a; - } - - @SuppressWarnings("RedundantIfStatement") - public boolean isValid(int[] a, int n) { - if ((a[n] == 9) && (n == 5)) { - return true; - } - if ((a[n] > 9) && (n == 5)) - return true; - else - return false; - } - - public int getValue(int[] a, int n) { - if (a.length > 6) { - return a[n]; - } - return -1; - } - - public int setValue(int[] a, int x) { - if (x > 0 && a.length > 0) { - a[0] = x; - if (a[0] > 2) { - return 2; - } else { - return 1; - } - } - return 0; - } - - public int checkFour(int[] a) { - if (a.length < 4) { - return -1; - } - if (a[0] == 1 && a[1] == 2 && a[2] == 3 && a[3] == 4) { - return a[0] + a[1] + a[2] + a[3]; - } - return 0; - } - - public int nullability(int[] a) { - if (a == null) { - return 1; - } - if (a.length > 1) { - return 2; - } - return 3; - } - - public int equality(int[] a, int[] b) { - if (a == null || null == b) { - return 1; - } - if (a.length == b.length) { - return 2; - } - return 3; - } - - // overwrite - public int overwrite(int[] a, int b) { - if (a.length != 1) { - return 0; - } - if (a[0] > 0) { - a[0] = b; - if (a[0] < 0) { - return 1; - } - return 2; - } - return 3; - } - - public int[] mergeArrays(int[] fst, int[] snd) { - - int fstLength = fst.length; - int sndLength = snd.length; - - if (fstLength < 2 || sndLength < 2) { - return null; - } - - int fstIndex = 0; - int sndIndex = 0; - int length = fstLength + sndLength; - - int[] result = new int[length]; - - for (int i = 0; i < length; i++) { - if (fstIndex == fstLength) { - result[fstIndex + sndIndex] = snd[sndIndex++]; - } else if (sndIndex == sndLength) { - result[fstIndex + sndIndex] = fst[fstIndex++]; - } else if (fst[fstIndex] < snd[sndIndex]) { - result[fstIndex + sndIndex] = fst[fstIndex++]; - } else { - result[fstIndex + sndIndex] = snd[sndIndex++]; - } - } - - return result; - } - - public int[] newArrayInTheMiddle(int[] array) { - array[0] = 1; - array[1] = 2; - array[2] = 3; - - int[] resultArray = new int[3]; - resultArray[0] = array[0]; - resultArray[1] = array[1]; - resultArray[2] = array[2]; - - return resultArray; - } - - public int[] reversed(int[] array) { - if (array.length != 3) { - throw new IllegalArgumentException(); - } - - if (array[0] <= array[1] || array[1] <= array[2]) { - return null; - } - - int[] copiedArray = new int[array.length]; - for (int i = 0; i < array.length; i++) { - copiedArray[array.length - i - 1] = array[i]; - } - - return copiedArray; - } - - public int[] updateCloned(int[] a) { - if (a.length != 3) { - throw new IllegalArgumentException(); - } - - int[] b = a.clone(); - for (int i = 0; i < b.length; i++) { - b[i] *= 2; - } - return b; - } - - public int arrayEqualsExample(int[] arr) { - boolean a = Arrays.equals(arr, new int[]{1, 2, 3}); - if (a) { - return 1; - } else { - return 2; - } - } - -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/ObjectWithPrimitivesClass.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/ObjectWithPrimitivesClass.java deleted file mode 100644 index 3773cb1b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/ObjectWithPrimitivesClass.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.arrays; - -public class ObjectWithPrimitivesClass { - public int valueByDefault = 5; - - public int x, y; - double weight; - - public ObjectWithPrimitivesClass() { - } - - public ObjectWithPrimitivesClass(int x, int y, double weight) { - this.x = x; - this.y = y; - this.weight = weight; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/ObjectWithPrimitivesClassSucc.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/ObjectWithPrimitivesClassSucc.java deleted file mode 100644 index 86ceef8a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/ObjectWithPrimitivesClassSucc.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.arrays; - -public class ObjectWithPrimitivesClassSucc extends ObjectWithPrimitivesClass { - public int anotherX; //, y; TODO: hidden field disabled, we do not support it yet - - public ObjectWithPrimitivesClassSucc() { - } - - public ObjectWithPrimitivesClassSucc(int x, int y, double weight, int anotherX) { - super(x, y, weight); - this.anotherX = anotherX; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/PrimitiveArrays.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/PrimitiveArrays.java deleted file mode 100644 index d284d136..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/PrimitiveArrays.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.utbot.examples.arrays; - -@SuppressWarnings("DuplicatedCode") -public class PrimitiveArrays { - public int[] defaultIntValues() { - int[] array = new int[3]; - //noinspection ConstantConditions,IfStatementWithIdenticalBranches - if (array[1] != 0) { - return array; - } - return array; - } - - public double[] defaultDoubleValues() { - double[] array = new double[3]; - //noinspection ConstantConditions,IfStatementWithIdenticalBranches - if (array[1] != 0.0) { - return array; - } - return array; - } - - public boolean[] defaultBooleanValues() { - boolean[] array = new boolean[3]; - //noinspection ConstantConditions,IfStatementWithIdenticalBranches - if (!array[1]) { - return array; - } - return array; - } - - public byte byteArray(byte[] a, byte x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public byte shortArray(short[] a, short x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public byte charArray(char[] a, char x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public byte intArray(int[] a, int x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public long longArray(long[] a, long x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public float floatArray(float[] a, float x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public double doubleArray(double[] a, double x) { - if (a.length != 2) { - return -1; - } - a[0] = 5; - a[1] = x; - if (a[0] + a[1] > 20) { - return 1; - } - return 0; - } - - public int booleanArray(boolean[] a, boolean x, boolean y) { - if (a.length != 2) { - return -1; - } - a[0] = x; - a[1] = y; - if (a[0] ^ a[1]) { - return 1; - } - return 0; - } - - public byte byteSizeAndIndex(byte[] a, byte x) { - if (a == null || a.length <= x || x < 1) { - return -1; - } - byte[] b = new byte[x]; - b[0] = 5; - a[x] = x; - if (b[0] + a[x] > 7) { - return 1; - } - return 0; - } - - public byte shortSizeAndIndex(short[] a, short x) { - if (a == null || a.length <= x || x < 1) { - return -1; - } - short[] b = new short[x]; - b[0] = 5; - a[x] = x; - if (b[0] + a[x] > 7) { - return 1; - } - return 0; - } - - public byte charSizeAndIndex(char[] a, char x) { - if (a == null || a.length <= x || x < 1) { - return -1; - } - char[] b = new char[x]; - b[0] = 5; - a[x] = x; - if (b[0] + a[x] > 7) { - return 1; - } - return 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/SomeImplementation.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/SomeImplementation.java deleted file mode 100644 index d67592ff..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/SomeImplementation.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.arrays; - -public class SomeImplementation implements SomeInterface { - @Override - public int foo() { - return 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/arrays/SomeInterface.java b/utbot-sample/src/main/java/org/utbot/examples/arrays/SomeInterface.java deleted file mode 100644 index 35b7c5a3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/arrays/SomeInterface.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.arrays; - -public interface SomeInterface { - int foo(); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/ArrayCastExample.java b/utbot-sample/src/main/java/org/utbot/examples/casts/ArrayCastExample.java deleted file mode 100644 index ac57b5b8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/ArrayCastExample.java +++ /dev/null @@ -1,110 +0,0 @@ -package org.utbot.examples.casts; - -import org.utbot.api.mock.UtMock; -import java.util.Collection; -import java.util.List; - -public class ArrayCastExample { - @SuppressWarnings("RedundantCast") - public CastClass[] castToAncestor(CastClassFirstSucc[] array) { - if (array == null) { - return new CastClass[0]; - } - return (CastClass[]) array; - } - - public CastClassFirstSucc[] classCastException(CastClass[] array) { - if (array == null) { - return new CastClassFirstSucc[0]; - } - return (CastClassFirstSucc[]) array; - } - - @SuppressWarnings("ConstantConditions") - public CastClassFirstSucc[] nullCast(CastClass[] array) { - if (array != null) { - array = null; - } - - return (CastClassFirstSucc[]) array; - } - - public CastClassFirstSucc[] castFromObject(Object array) { - if (array == null) { - return new CastClassFirstSucc[0]; - } - return (CastClassFirstSucc[]) array; - } - - public int[][][] nullArray() { - return null; - } - - public ColoredPoint[] successfulExampleFromJLS() { - Point[] pa = new ColoredPoint[4]; - pa[0] = new ColoredPoint(2, 2, 12); - pa[1] = new ColoredPoint(4, 5, 24); - return (ColoredPoint[]) pa; - } - - public ColoredPoint[] castAfterStore(Point[] pa) { - pa[0] = new ColoredPoint(1, 2, 12); - ColoredPoint[] cpa = (ColoredPoint[]) pa; - cpa[1] = new ColoredPoint(2, 3, 14); - return cpa; - } - - public int[] castFromObjectToPrimitivesArray(Object array) { - UtMock.assume(array != null); - - int[] intArray = (int[]) array; - UtMock.assume(intArray.length > 0); - - return intArray; - } - - public ColoredPoint[] castsChainFromObject(Object array) { - if (array == null) { - return null; - } - - Point[] pa = (Point[]) array; - if (pa.length < 1) { - return null; - } - - // two returns because we want avoid pathSelector optimization - //noinspection IfStatementWithIdenticalBranches - if (pa[0].x != 1) { - pa[0].x = 5; - return (ColoredPoint[]) pa; - } else { - pa[0].x = 10; - return (ColoredPoint[]) pa; - } - } - - public List castFromCollections(Collection collection) { - if (collection == null) { - return null; - } - - return (List) collection; - } - - public List castFromIterable(Iterable iterable) { - if (iterable == null) { - return null; - } - - return (List) iterable; - } - - public Collection castFromIterableToCollection(Iterable iterable) { - if (iterable == null) { - return null; - } - - return (Collection) iterable; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/CastClass.java b/utbot-sample/src/main/java/org/utbot/examples/casts/CastClass.java deleted file mode 100644 index d3946eed..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/CastClass.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.casts; - -import org.utbot.api.mock.UtMock; - -public class CastClass { - int x; - int defaultValue = 5; - - int foo() { - return defaultValue; - } - - CastClass castToInheritor() { - UtMock.assume(this instanceof CastClassFirstSucc); - - return this; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/CastClassFirstSucc.java b/utbot-sample/src/main/java/org/utbot/examples/casts/CastClassFirstSucc.java deleted file mode 100644 index b7369da0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/CastClassFirstSucc.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.casts; - -public class CastClassFirstSucc extends CastClass { - int z = 10; - - @Override - int foo() { - return z; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/CastClassSecondSucc.java b/utbot-sample/src/main/java/org/utbot/examples/casts/CastClassSecondSucc.java deleted file mode 100644 index a1ab52f2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/CastClassSecondSucc.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.casts; - -public class CastClassSecondSucc extends CastClass { - int d = 20; - - @Override - int foo() { - return d; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/CastExample.java b/utbot-sample/src/main/java/org/utbot/examples/casts/CastExample.java deleted file mode 100644 index 701951c8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/CastExample.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.utbot.examples.casts; - -import org.utbot.api.mock.UtMock; - -public class CastExample { - public CastClassFirstSucc simpleCast(CastClass objectExample) { - if (objectExample == null) { - return (CastClassFirstSucc) null; - } - return (CastClassFirstSucc) objectExample; - } - - public CastClassSecondSucc castClassException(CastClass objectExample) { - ((CastClassFirstSucc) objectExample).foo(); - return (CastClassSecondSucc) objectExample; - } - - public CastClass castUp(CastClassFirstSucc objectExample) { - return (CastClass) objectExample; - } - - private CastClass getNull() { - return null; - } - - public CastClass[] castNullToDifferentTypes() { - CastClass cc = getNull(); - CastClassFirstSucc a = (CastClassFirstSucc) cc; - CastClassSecondSucc b = (CastClassSecondSucc) cc; - CastClass[] result = new CastClass[2]; - result[0] = a; - result[1] = b; - return result; - } - - public int fromObjectToPrimitive(Object obj) { - return (int) obj; - } - - public Colorable castFromObjectToInterface(Object object) { - UtMock.assume(object != null); - - return (Colorable) object; - } - - public CastClass complicatedCast(int index, Object[] array) { - UtMock.assume(index == 0); - UtMock.assume(array != null && array.length > index && array[index] != null); - - return (CastClassFirstSucc) array[index]; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/ClassWithGenerics.java b/utbot-sample/src/main/java/org/utbot/examples/casts/ClassWithGenerics.java deleted file mode 100644 index b5794ef2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/ClassWithGenerics.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.examples.casts; - -public class ClassWithGenerics> { - private final T genericField; - private final R comparableGenericField; - - public ClassWithGenerics(T genericField, R comparableGenericField) { - this.genericField = genericField; - this.comparableGenericField = comparableGenericField; - } - - public T getGenericField() { - return genericField; - } - - public R getComparableGenericField() { - return comparableGenericField; - } - - class InnerClassWithGeneric { - private final T[] genericArray; - - public InnerClassWithGeneric(T[] genericArray) { - this.genericArray = genericArray; - } - - public T[] getGenericArray() { - return genericArray; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/Colorable.java b/utbot-sample/src/main/java/org/utbot/examples/casts/Colorable.java deleted file mode 100644 index 739a70a0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/Colorable.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.casts; - -public interface Colorable { - void setColor(int color); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/ColoredPoint.java b/utbot-sample/src/main/java/org/utbot/examples/casts/ColoredPoint.java deleted file mode 100644 index 7d783adb..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/ColoredPoint.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.casts; - -import java.util.Objects; - -public class ColoredPoint extends Point implements Colorable { - public int color; - - public ColoredPoint(int x, int y, int color) { - super(x, y); - setColor(color); - } - - public void setColor(int color) { - this.color = color; - } - - public String toString() { - return super.toString() + "@" + color; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ColoredPoint that = (ColoredPoint) o; - return color == that.color; - } - - @Override - public int hashCode() { - return Objects.hash(color); - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/GenericCastExample.java b/utbot-sample/src/main/java/org/utbot/examples/casts/GenericCastExample.java deleted file mode 100644 index 51c1a154..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/GenericCastExample.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.examples.casts; - -public class GenericCastExample { - public > R max(R fst, ClassWithGenerics snd) { - int result = fst.compareTo(snd.getComparableGenericField()); - if (result >= 0) { - return fst; - } else { - return snd.getComparableGenericField(); - } - } - - public int compareTwoNumbers(Integer a, ClassWithGenerics b) { - if (max(a, b).equals(a)) { - return 1; - } else { - return -1; - } - } - - public int getGenericFieldValue(ClassWithGenerics generic) { - return generic.getGenericField(); - } - - public int compareGenericField(ClassWithGenerics generic, Integer value) { - if (value.equals(generic.getComparableGenericField())) { - return 1; - } - return -1; - } - - public int createNewGenericObject() { - ClassWithGenerics genericObject = new ClassWithGenerics<>(null, 10); - return genericObject.getComparableGenericField(); - } - - public int sumFromArrayOfGenerics(ClassWithGenerics.InnerClassWithGeneric generic) { - int a = generic.getGenericArray()[0]; - int b = generic.getGenericArray()[1]; - - return a + b; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/InstanceOfExample.java b/utbot-sample/src/main/java/org/utbot/examples/casts/InstanceOfExample.java deleted file mode 100644 index 0ad14f3a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/InstanceOfExample.java +++ /dev/null @@ -1,325 +0,0 @@ -package org.utbot.examples.casts; - -import org.utbot.api.mock.UtMock; -import java.util.HashMap; -import java.util.Map; - -public class InstanceOfExample { - public CastClassFirstSucc simpleInstanceOf(CastClass objectExample) { - if (objectExample instanceof CastClassFirstSucc) { - return (CastClassFirstSucc) objectExample; - } - - return null; - } - - public int nullPointerCheck(CastClass objectExample) { - if (objectExample instanceof CastClassFirstSucc) { - return ((CastClassFirstSucc) objectExample).z; - } - - return objectExample.x; - } - - public int virtualCall(CastClass objectExample) { - if (objectExample instanceof CastClassFirstSucc) { - return objectExample.foo(); - } - - return -1; - } - - public int virtualFunctionCallWithCast(Object objectExample) { - if (objectExample instanceof CastClass) { - return ((CastClassFirstSucc) objectExample).foo(); - } - - return -1; - } - - public int virtualCallWithoutOneInheritor(CastClass objectExample) { - if (objectExample instanceof CastClassFirstSucc) { - return ((CastClassFirstSucc) objectExample).z; - } - return objectExample.foo(); - } - - public int virtualCallWithoutOneInheritorInverse(CastClass objectExample) { - if (!(objectExample instanceof CastClassFirstSucc)) { - return objectExample.foo(); - } - - return ((CastClassFirstSucc) objectExample).z; - } - - public int withoutOneInheritorOnArray(Object objectExamples) { - if (objectExamples instanceof CastClassFirstSucc[]) { - return 0; - } else { - return 1; - } - } - - public int withoutOneInheritorOnArrayInverse(Object objectExamples) { - if (!(objectExamples instanceof CastClassFirstSucc[])) { - return 0; - } else { - return 1; - } - } - - public int instanceOfAsPartOfInternalExpressions(Object[] objectExample) { - UtMock.assume(objectExample != null); - UtMock.assume(objectExample.length == 2); - - boolean isElem0FirstSucc = objectExample[0] instanceof CastClassFirstSucc[]; - boolean isElem1SecondSucc = objectExample[1] instanceof CastClassSecondSucc[]; - boolean and = isElem0FirstSucc && isElem1SecondSucc; - if (and) { - return 1; - } - - boolean isElem0SecondSucc = objectExample[0] instanceof CastClassSecondSucc[]; - boolean isElem1FirstSucc = objectExample[1] instanceof CastClassFirstSucc[]; - boolean or = isElem0SecondSucc || isElem1FirstSucc; - if (or) { - return 2; - } - - return 3; - } - - public int instanceOfAsPartOfInternalExpressionsCastClass(Object[] objectExample) { - UtMock.assume(objectExample != null); - UtMock.assume(objectExample.length == 2); - - boolean isElem0CastClass = objectExample[0] instanceof CastClass[]; - boolean isElem1CastClass = objectExample[1] instanceof CastClass[]; - boolean and = isElem0CastClass && isElem1CastClass; - if (!and) { - return 1; - } - - boolean isElem0SecondSucc = objectExample[0] instanceof CastClassSecondSucc[]; - boolean isElem1FirstSucc = objectExample[1] instanceof CastClassFirstSucc[]; - boolean or = isElem0SecondSucc || isElem1FirstSucc; - if (!or) { - return 2; - } - - return 3; - } - - public int instanceOfAsPartOfInternalExpressionsXor(Object[] objectExample) { - UtMock.assume(objectExample != null); - UtMock.assume(objectExample.length == 2); - - boolean isElem0SecondSucc = objectExample[0] instanceof CastClassSecondSucc[]; - boolean isElem1FirstSucc = objectExample[1] instanceof CastClassFirstSucc[]; - boolean xor = isElem0SecondSucc ^ isElem1FirstSucc; - - if (xor) { - if (isElem1FirstSucc) { - return 1; - } else { - return 2; - } - } else { - if (isElem1FirstSucc) { - return 3; - } else { - return 4; - } - } - } - - public int instanceOfAsPartOfInternalExpressionsXorInverse(Object[] objectExample) { - UtMock.assume(objectExample != null); - UtMock.assume(objectExample.length == 2); - - boolean isElem0SecondSucc = objectExample[0] instanceof CastClassSecondSucc[]; - boolean isElem1FirstSucc = objectExample[1] instanceof CastClassFirstSucc[]; - boolean xor = isElem0SecondSucc ^ isElem1FirstSucc; - - if (!xor) { - if (isElem0SecondSucc) { - return 1; - } else { - return 2; - } - } else { - if (isElem0SecondSucc) { - return 3; - } else { - return 4; - } - } - } - - public int instanceOfAsPartOfInternalExpressionsIntValue(Object objectExamples) { - boolean isArrayOfSecondSucc = objectExamples instanceof CastClassSecondSucc[]; - boolean isArrayOfCastClass = objectExamples instanceof CastClass[]; - int sum = (isArrayOfSecondSucc ? 1 : 0) + (isArrayOfCastClass ? 1 : 0); - if (sum == 1) { - return 1; - } else if (sum == 2) { - return 2; - } - return 3; - } - - public int instanceOfAsInternalExpressionsMap(Object objectExamples) { - Map> mp = new HashMap>() {{ // (bool, bool) -> int - HashMap mp0 = new HashMap<>(); - mp0.put(false, 0); - mp0.put(true, 1); - - HashMap mp1 = new HashMap<>(); - mp1.put(false, 2); - mp1.put(true, 3); - - put(false, mp0); - put(true, mp1); - - }}; - - boolean first = objectExamples instanceof CastClassFirstSucc[]; - boolean second = objectExamples instanceof CastClassSecondSucc[]; - - int value = mp.get(first).get(second); - - if (value == 0) { // !first && !second - return 0; - } else if (value == 1) { // !first && second - return 1; - } else if (value == 2) { // first && !second - return 2; - } else { // first && second (unreachable) - return 3; - } - } - - public CastClass symbolicInstanceOf(CastClass[] objects, int index) { - if (index < 1 || index > 3) { - return null; - } - - if (objects[index] instanceof CastClassFirstSucc) { - return objects[index]; - } - - objects[index] = new CastClassSecondSucc(); - - return objects[index]; - } - - public CastClass[] complicatedInstanceOf(CastClass[] objects, int index, CastClass objectExample) { - if (index < 0 || index > 2 || objects == null || objects.length < index + 2) { - return null; - } - - if (objectExample instanceof CastClassFirstSucc) { - objects[index] = objectExample; - objects[index + 1] = new CastClassSecondSucc(); - } else { - objects[index] = objectExample; - objects[index + 1] = new CastClassFirstSucc(); - } - - if (objects[index + 1] instanceof CastClassSecondSucc) { - objects[index].x = ((CastClassFirstSucc) objects[index]).z; - } else if (objects[index + 1] instanceof CastClassFirstSucc) { - objects[index].x = objects[index].foo(); // virtual call - } - - return objects; - } - - public CastClass[] instanceOfFromArray(CastClass[] array) { - if (array.length != 3) { - return null; - } - - if (array[0] instanceof CastClassFirstSucc) { - return array; - } - - if (array[0] instanceof CastClassSecondSucc) { - array[0] = null; - return array; - } - - return array; - } - - public CastClass instanceOfFromArrayWithReadingAnotherElement(CastClass[] array) { - if (array.length < 2) { - return null; - } - - if (array[0] instanceof CastClassFirstSucc) { - CastClass elem = array[1]; - return array[0]; - } else { - return null; - } - } - - public CastClass instanceOfFromArrayWithReadingSameElement(CastClass[] array) { - if (array.length < 2) { - return null; - } - - if (array[0] instanceof CastClassFirstSucc) { - CastClass elem = array[0]; - return array[0]; - } else { - return null; - } - } - - @SuppressWarnings("ConstantConditions") - public int isNull(Number[] a) { - if (a instanceof Object) { - return 1; - } else { - return 2; - } - } - - @SuppressWarnings({"IfStatementWithIdenticalBranches", "ConstantConditions"}) - public Number[] arrayInstanceOfArray(Number[] a) { - if (a == null) { - return a; - } - if (a instanceof Integer[]) { - return a; - } else if (a instanceof Double[]) { - return a; - } else { - return a; - } - } - - public Object objectInstanceOfArray(Object a) { - if (a instanceof int[]) { - return a; - } else if (a instanceof boolean[]) { - return a; - } - return a; - } - - @SuppressWarnings("RedundantIfStatement") - public Object[] instanceOfObjectArray(Object[] array) { - if (array instanceof int[][][]) { - return array; - } - - if (array == null) { - return null; - } - - return array; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/casts/Point.java b/utbot-sample/src/main/java/org/utbot/examples/casts/Point.java deleted file mode 100644 index 0c7851dc..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/casts/Point.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.examples.casts; - -public class Point { - public int x, y; - - public Point(int x, int y) { - this.x = x; - this.y = y; - } - - public String toString() { - return "(" + x + "," + y + ")"; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/AnotherClassWithVoidStaticMethods.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/AnotherClassWithVoidStaticMethods.java deleted file mode 100644 index 56080710..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/AnotherClassWithVoidStaticMethods.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.codegen; - -public class AnotherClassWithVoidStaticMethods { - public static void throwException(int x) { - if (x < 0) { - throw new IllegalArgumentException("Less than zero value"); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassFromTheSamePackage.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassFromTheSamePackage.java deleted file mode 100644 index b5fa3e16..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassFromTheSamePackage.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.examples.codegen; - -public class ClassFromTheSamePackage { - public final static int a = 1; - public static int b = 2; - - static int foo(Integer a) { - if (a == null) { - return -1; - } - - if (a == Integer.MAX_VALUE) { - return 1; - } - - return a; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - return o != null && getClass() == o.getClass(); - } - - @Override - public int hashCode() { - return 31; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassWithStaticAndInnerClasses.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassWithStaticAndInnerClasses.java deleted file mode 100644 index 11c20f54..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassWithStaticAndInnerClasses.java +++ /dev/null @@ -1,249 +0,0 @@ -package org.utbot.examples.codegen; - -public class ClassWithStaticAndInnerClasses { - public int z = 0; - - // public field that exposes private type PrivateInnerClassWithPublicField - public PrivateInnerClassWithPublicField publicFieldWithPrivateType = new PrivateInnerClassWithPublicField(0); - - private static class PrivateStaticClassWithPublicField { - public int x; - - public PrivateStaticClassWithPublicField(int x) { - this.x = x; - } - - public PrivateStaticClassWithPublicField createFromConst(int x) { - if (x == 0) { - throw new IllegalArgumentException("Value can't be equal to 0"); - } - - return new PrivateStaticClassWithPublicField(x); - } - } - - private static class PrivateStaticClassWithPrivateField { - private int x; - - public PrivateStaticClassWithPrivateField(int x) { - this.x = x; - } - - public PrivateStaticClassWithPrivateField createFromConst(int x) { - if (x == 0) { - throw new IllegalArgumentException("Value can't be equal to 0"); - } - - return new PrivateStaticClassWithPrivateField(x); - } - } - - public static class PublicStaticClassWithPublicField { - public int x; - - public PublicStaticClassWithPublicField(int x) { - this.x = x; - } - - public PublicStaticClassWithPublicField createFromConst(int x) { - if (x == 0) { - throw new IllegalArgumentException("Value can't be equal to 0"); - } - - return new PublicStaticClassWithPublicField(x); - } - } - - public static class PublicStaticClassWithPrivateField { - - public static class DeepNestedStatic { - public int g(int x) { - return x + 1; - } - } - - public class DeepNested { - public int h(int x) { - return x + 2; - } - } - private int x; - - public PublicStaticClassWithPrivateField(int x) { - this.x = x; - } - - public PublicStaticClassWithPrivateField createFromConst(int x) { - if (x == 0) { - throw new IllegalArgumentException("Value can't be equal to 0"); - } - - return new PublicStaticClassWithPrivateField(x); - } - } - - private class PrivateInnerClassWithPrivateField { - private int x; - - public PrivateInnerClassWithPrivateField(int x) { - this.x = x; - } - - public PrivateInnerClassWithPrivateField createFromIncrement(int x) { - if (x == 1) { - throw new IllegalArgumentException("Value can't be equal to 1"); - } - - return new PrivateInnerClassWithPrivateField(x + 1); - } - } - - public class PublicInnerClassWithPrivateField { - private int x; - - public PublicInnerClassWithPrivateField(int x) { - this.x = x; - } - - public PublicInnerClassWithPrivateField createFromIncrement(int x) { - if (x == 1) { - throw new IllegalArgumentException("Value can't be equal to 1"); - } - - return new PublicInnerClassWithPrivateField(x + 1); - } - } - - private class PrivateInnerClassWithPublicField { - public int x; - - public PrivateInnerClassWithPublicField(int x) { - this.x = x; - } - - public PrivateInnerClassWithPublicField createFromIncrement(int x) { - if (x == 1) { - throw new IllegalArgumentException("Value can't be equal to 1"); - } - - return new PrivateInnerClassWithPublicField(x + 1); - } - } - - public class PublicInnerClassWithPublicField { - public int x; - - public PublicInnerClassWithPublicField(int x) { - this.x = x; - } - - public PublicInnerClassWithPublicField createFromIncrement(int x) { - if (x == 1) { - throw new IllegalArgumentException("Value can't be equal to 1"); - } - - return new PublicInnerClassWithPublicField(x + 1); - } - } - - final static class PackagePrivateFinalStaticClassWithPackagePrivateField { - int x; - - public PackagePrivateFinalStaticClassWithPackagePrivateField(int x) { - this.x = x; - } - - public PackagePrivateFinalStaticClassWithPackagePrivateField createFromIncrement(int x) { - if (x == 1) { - throw new IllegalArgumentException("Value can't be equal to 1"); - } - - return new PackagePrivateFinalStaticClassWithPackagePrivateField(x + 1); - } - } - - final class PackagePrivateFinalInnerClassWithPackagePrivateField { - int x; - - public PackagePrivateFinalInnerClassWithPackagePrivateField(int x) { - this.x = x; - } - - public PackagePrivateFinalInnerClassWithPackagePrivateField createFromIncrement(int x) { - if (x == 1) { - throw new IllegalArgumentException("Value can't be equal to 1"); - } - - return new PackagePrivateFinalInnerClassWithPackagePrivateField(x + 1); - } - } - - PrivateStaticClassWithPublicField usePrivateStaticClassWithPublicField(int x) { - PrivateStaticClassWithPublicField privateStaticClassWithPublicField = new PrivateStaticClassWithPublicField(x); - - return privateStaticClassWithPublicField.createFromConst(x); - } - - PrivateStaticClassWithPrivateField usePrivateStaticClassWithPrivateField(int x) { - PrivateStaticClassWithPrivateField privateStaticClassWithPrivateField = new PrivateStaticClassWithPrivateField(x); - - return privateStaticClassWithPrivateField.createFromConst(x); - } - - PublicStaticClassWithPublicField usePublicStaticClassWithPublicField(int x) { - PublicStaticClassWithPublicField publicStaticClassWithPublicField = new PublicStaticClassWithPublicField(x); - - return publicStaticClassWithPublicField.createFromConst(x); - } - - PublicStaticClassWithPrivateField usePublicStaticClassWithPrivateField(int x) { - PublicStaticClassWithPrivateField publicStaticClassWithPrivateField = new PublicStaticClassWithPrivateField(x); - - return publicStaticClassWithPrivateField.createFromConst(x); - } - - PrivateInnerClassWithPrivateField usePrivateInnerClassWithPrivateField(int x) { - ClassWithStaticAndInnerClasses classWithStaticAndInnerClasses = new ClassWithStaticAndInnerClasses(); - PrivateInnerClassWithPrivateField innerClass = classWithStaticAndInnerClasses.new PrivateInnerClassWithPrivateField(x); - - return innerClass.createFromIncrement(x); - } - - PrivateInnerClassWithPublicField usePrivateInnerClassWithPublicField(int x) { - ClassWithStaticAndInnerClasses classWithStaticAndInnerClasses = new ClassWithStaticAndInnerClasses(); - PrivateInnerClassWithPublicField innerClass = classWithStaticAndInnerClasses.new PrivateInnerClassWithPublicField(x); - - return innerClass.createFromIncrement(x); - } - - PublicInnerClassWithPrivateField usePublicInnerClassWithPrivateField(int x) { - ClassWithStaticAndInnerClasses classWithStaticAndInnerClasses = new ClassWithStaticAndInnerClasses(); - PublicInnerClassWithPrivateField innerClass = classWithStaticAndInnerClasses.new PublicInnerClassWithPrivateField(x); - - return innerClass.createFromIncrement(x); - } - - PublicInnerClassWithPublicField usePublicInnerClassWithPublicField(int x) { - ClassWithStaticAndInnerClasses classWithStaticAndInnerClasses = new ClassWithStaticAndInnerClasses(); - PublicInnerClassWithPublicField innerClass = classWithStaticAndInnerClasses.new PublicInnerClassWithPublicField(x); - - return innerClass.createFromIncrement(x); - } - - PackagePrivateFinalStaticClassWithPackagePrivateField usePackagePrivateFinalStaticClassWithPackagePrivateField(int x) { - PackagePrivateFinalStaticClassWithPackagePrivateField staticClass = new PackagePrivateFinalStaticClassWithPackagePrivateField(x); - - return staticClass.createFromIncrement(x); - } - - PackagePrivateFinalInnerClassWithPackagePrivateField usePackagePrivateFinalInnerClassWithPackagePrivateField(int x) { - ClassWithStaticAndInnerClasses classWithStaticAndInnerClasses = new ClassWithStaticAndInnerClasses(); - PackagePrivateFinalInnerClassWithPackagePrivateField innerClass = classWithStaticAndInnerClasses.new PackagePrivateFinalInnerClassWithPackagePrivateField(x); - - return innerClass.createFromIncrement(x); - } - - int getValueFromPublicFieldWithPrivateType() { - return publicFieldWithPrivateType.x; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassWithVoidStaticMethods.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassWithVoidStaticMethods.java deleted file mode 100644 index 715a38fb..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/ClassWithVoidStaticMethods.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.codegen; - -public class ClassWithVoidStaticMethods { - static int x = 1; - - public static void changeStaticField(int x) { - ClassWithVoidStaticMethods.x = x; - } - - public static void throwException(int x) { - if (x < 0) { - throw new IllegalArgumentException("Less than zero value"); - } - - if (x > 0) { - throw new IllegalStateException("More than zero value"); - } - - changeStaticField(x); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/CodegenExample.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/CodegenExample.java deleted file mode 100644 index 98d8472b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/CodegenExample.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.utbot.examples.codegen; - -import org.utbot.examples.codegen.nested.ClassFromAnotherPackage; -import java.util.List; -import java.util.Random; - -@SuppressWarnings({"unused", "FieldMayBeFinal"}) -public class CodegenExample { - // return multidimensional array of ref types - public Object[][] firstExample( - ClassFromTheSamePackage a, ClassFromAnotherPackage b, - List c, List d, - ClassFromAnotherPackage[] e, ClassFromAnotherPackage[][] f, - Random fstRandom, Random sndRandom - ) { - int randomInt = new Random().nextInt(); - int anotherRandomInt = new Random().nextInt(); - - ClassFromAnotherPackage bb = new ClassFromAnotherPackage(randomInt, anotherRandomInt); - - if (bb.c + d.get(0).getD() + ClassFromAnotherPackage.a + ClassFromAnotherPackage.b + ClassFromAnotherPackage.constValue() == 3) { - int yetAnotherRandomInt = fstRandom.nextInt() + sndRandom.nextInt(); - - if (yetAnotherRandomInt == 4 && ClassFromTheSamePackage.foo(c.get(0)) == 3 && ClassFromTheSamePackage.b == 1) { - bb.c = yetAnotherRandomInt; - } - } - - Object[][] result = new Object[2][10]; - - result[0] = new Object[]{a, b, c, d, e, f, fstRandom, sndRandom, bb}; - - return result; - } - - @SuppressWarnings("InnerClassMayBeStatic") - private class InnerClass { - private int x; - String s; - - InnerClass(int x) { - this.x = 10 / x; - s = String.valueOf(x); - } - - int foo(int y) { - if (x < y) { - return s.charAt(1); - } - - return s.charAt(2) / y; - } - } - - private static class StaticClass { - private static int x = foo(); - - private static int foo() { - return 25 / (new Random()).nextInt(); - } - - int bar(int y) { - if ((new Random()).nextInt() > 10) { - return y / (x + (new Random()).nextInt()); - } - - return x / (new Random()).nextInt(); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/FileWithTopLevelFunctionsReflectHelper.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/FileWithTopLevelFunctionsReflectHelper.java deleted file mode 100644 index d5803f72..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/FileWithTopLevelFunctionsReflectHelper.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.examples.codegen; - -// We can't access FileWithTopLevelFunctionsKt::class from Kotlin, so we use this class to get reflection from Java -public class FileWithTopLevelFunctionsReflectHelper { - static Class clazz = FileWithTopLevelFunctionsKt.class; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/JavaAssert.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/JavaAssert.java deleted file mode 100644 index fb5dc8b6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/JavaAssert.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.codegen; - -public class JavaAssert { - public int assertPositive(int value) { - assert value > 0; - return value; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/VoidStaticMethodsTestingClass.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/VoidStaticMethodsTestingClass.java deleted file mode 100644 index cf3a0198..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/VoidStaticMethodsTestingClass.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.codegen; - -public class VoidStaticMethodsTestingClass { - public void invokeChangeStaticFieldMethod(int x) { - ClassWithVoidStaticMethods.changeStaticField(x); - if (ClassWithVoidStaticMethods.x == 10) { - throw new RuntimeException("Value equals 10"); - } - } - - public void invokeThrowExceptionMethod(int x) { - ClassWithVoidStaticMethods.throwException(x); - } - - public void invokeAnotherThrowExceptionMethod(int x) { - AnotherClassWithVoidStaticMethods.throwException(x); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/ClassWithCrossReferenceRelationship.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/ClassWithCrossReferenceRelationship.java deleted file mode 100644 index 2f2b1c55..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/ClassWithCrossReferenceRelationship.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.codegen.deepequals; - -class FirstClass { - SecondClass secondClass; - - FirstClass(SecondClass second) { - this.secondClass = second; - } -} - -class SecondClass { - FirstClass firstClass; - - SecondClass(FirstClass first) { - this.firstClass = first; - } -} - -public class ClassWithCrossReferenceRelationship { - public FirstClass returnFirstClass(int value) { - if (value == 0) { - return new FirstClass(new SecondClass(null)); - } else { - FirstClass first = new FirstClass(null); - first.secondClass = new SecondClass(first); - - return first; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/ClassWithNullableField.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/ClassWithNullableField.java deleted file mode 100644 index cfb2ca5c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/ClassWithNullableField.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.examples.codegen.deepequals; - -class Component { - int a = 1; -} - -class Compound { - Component component; - - Compound(Component component) { - this.component = component; - } -} - -class GreatCompound { - Compound compound; - - GreatCompound(Compound compound) { - this.compound = compound; - } -} - -public class ClassWithNullableField { - public Compound returnCompoundWithNullableField(int value) { - if (value > 0) return new Compound(null); - else return new Compound(new Component()); - } - - public GreatCompound returnGreatCompoundWithNullableField(int value) { - if (value > 0) return new GreatCompound(null); - else if (value == 0) return new GreatCompound(new Compound(new Component())); - else return new GreatCompound(new Compound(null)); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/DeepEqualsTestingClass.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/DeepEqualsTestingClass.java deleted file mode 100644 index d816ac8b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/DeepEqualsTestingClass.java +++ /dev/null @@ -1,222 +0,0 @@ -package org.utbot.examples.codegen.deepequals; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.codegen.deepequals.inner.GraphNode; -import org.utbot.examples.codegen.deepequals.inner.Node; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -// Very simple class, used only for testing codegen deep equals -public class DeepEqualsTestingClass { - int x = 1; - int y = 2; - - List returnList() { - List list = new ArrayList<>(); - list.add(new DeepEqualsTestingClass()); - list.add(new DeepEqualsTestingClass()); - - return list; - } - - Set returnSet() { - Set set = new HashSet<>(); - set.add(new DeepEqualsTestingClass()); - set.add(new DeepEqualsTestingClass()); - - return set; - } - - Map returnMap() { - Map map = new HashMap<>(); - map.put(0, new DeepEqualsTestingClass()); - map.put(1, new DeepEqualsTestingClass()); - - return map; - } - - DeepEqualsTestingClass[] returnArray() { - DeepEqualsTestingClass[] array = new DeepEqualsTestingClass[2]; - array[0] = new DeepEqualsTestingClass(); - array[1] = new DeepEqualsTestingClass(); - - return array; - } - - List> return2DList() { - List> list = new ArrayList<>(); - list.add(returnList()); - list.add(returnList()); - - return list; - } - - Set> return2DSet() { - Set> set = new HashSet<>(); - set.add(returnSet()); - set.add(returnSet()); - - return set; - } - - Map> return2DMap() { - Map> map = new HashMap<>(); - map.put(0, returnMap()); - map.put(1, returnMap()); - - return map; - } - - DeepEqualsTestingClass[][] return2DArray() { - DeepEqualsTestingClass[][] array = new DeepEqualsTestingClass[2][2]; - array[0] = returnArray(); - array[1] = returnArray(); - - return array; - } - - DeepEqualsTestingClass returnCommonClass() { - return new DeepEqualsTestingClass(); - } - - // just for easy testing 2d lists - List> returnIntegers2DList() { - List> lists = new ArrayList<>(); - - List list1 = new ArrayList<>(); - list1.add(1); - - List list2 = new ArrayList<>(); - list1.add(1); - - lists.add(list1); - lists.add(list2); - - return lists; - } - - Node returnTriangle(int firstValue, int secondValue) { - Node first = new Node(firstValue); - Node second = new Node(secondValue); - Node third = new Node(firstValue + secondValue); - - first.next = second; - second.next = third; - third.next = first; - - return first; - } - - // 3 -> 4 -> | - // 1 -> 2 | - // | | - // <- <- <-<- - GraphNode returnQuadrilateralFromNode(GraphNode first) { - UtMock.assume(first != null); - UtMock.assume(first.nextNodes != null); - UtMock.assume(first.nextNodes.isEmpty()); - GraphNode second = new GraphNode(2); - GraphNode third = new GraphNode(3); - GraphNode fourth = new GraphNode(Collections.singletonList(first), 4); - - first.nextNodes.add(second); - first.nextNodes.add(third); - second.nextNodes.add(fourth); - third.nextNodes.add(fourth); - - return first; - } - - public int[][][] fillIntMultiArrayWithConstValue(int length, int value) { - UtMock.assume(length == 0 || length == 2); - if (length <= 0) { - return null; - } - - int[][][] array = new int[length][length][length]; - for (int i = 0; i < length; i++) { - for (int j = 0; j < length; j++) { - for (int k = 0; k < length; k++) { - array[i][j][k] = value; - } - } - } - - if (array[0][1][0] == 10) { - array[1][0][1] = 12; - } - - return array; - } - - public double[][][] fillDoubleMultiArrayWithConstValue(int length, double value) { - UtMock.assume(length == 0 || length == 2); - if (length <= 0) { - return null; - } - - double[][][] array = new double[length][length][length]; - for (int i = 0; i < length; i++) { - for (int j = 0; j < length; j++) { - for (int k = 0; k < length; k++) { - array[i][j][k] = value; - } - } - } - - if (array[0][1][0] == 10) { - array[1][0][1] = 12; - } - - return array; - } - - public Object[][][] fillIntegerWrapperMultiArrayWithConstValue(int length, int value) { - UtMock.assume(length == 0 || length == 2); - if (length <= 0) { - return null; - } - - Integer[][][] array = new Integer[length][length][length]; - for (int i = 0; i < length; i++) { - for (int j = 0; j < length; j++) { - for (int k = 0; k < length; k++) { - array[i][j][k] = value; - } - } - } - - if (array[0][1][0] == 10) { - array[1][0][1] = 12; - } - - return array; - } - - public Object[][][] fillDoubleWrapperMultiArrayWithConstValue(int length, double value) { - UtMock.assume(length == 0 || length == 2); - if (length <= 0) { - return null; - } - - Double[][][] array = new Double[length][length][length]; - for (int i = 0; i < length; i++) { - for (int j = 0; j < length; j++) { - for (int k = 0; k < length; k++) { - array[i][j][k] = value; - } - } - } - - if (array[0][1][0] == 10) { - array[1][0][1] = 12.0; - } - - return array; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/inner/GraphNode.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/inner/GraphNode.java deleted file mode 100644 index 9a4629aa..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/inner/GraphNode.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.examples.codegen.deepequals.inner; - -import java.util.ArrayList; -import java.util.List; - -public class GraphNode { - public List nextNodes; - public int value; - - static int staticField; - - public GraphNode(List nextNodes, int value) { - this.nextNodes = nextNodes; - this.value = value; - } - - public GraphNode(int value) { - this(new ArrayList<>(), value); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/inner/Node.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/inner/Node.java deleted file mode 100644 index 6cea4f5a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/deepequals/inner/Node.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.codegen.deepequals.inner; - -public class Node { - public Node next; - public int value; - - static int staticField; - - public Node(Node next, int value) { - this.next = next; - this.value = value; - } - - public Node(int value) { - this(null, value); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/modifiers/ClassWithPrivateMutableFieldOfPrivateType.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/modifiers/ClassWithPrivateMutableFieldOfPrivateType.java deleted file mode 100644 index 938f6f86..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/modifiers/ClassWithPrivateMutableFieldOfPrivateType.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.codegen.modifiers; - -public class ClassWithPrivateMutableFieldOfPrivateType { - @SuppressWarnings({"FieldCanBeLocal", "unused"}) - private PrivateClass privateMutableField = null; - - public int changePrivateMutableFieldWithPrivateType() { - privateMutableField = new PrivateClass(); - - return privateMutableField.x; - } - - private static class PrivateClass { - int x = 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/codegen/nested/ClassFromAnotherPackage.java b/utbot-sample/src/main/java/org/utbot/examples/codegen/nested/ClassFromAnotherPackage.java deleted file mode 100644 index 8bc9c971..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/codegen/nested/ClassFromAnotherPackage.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.codegen.nested; - -import java.util.Objects; - -public class ClassFromAnotherPackage { - public final static int a = 1; - public static int b = 2; - private final int d; - public int c; - - public ClassFromAnotherPackage(int c) { - this.c = c; - d = 5; - } - - public ClassFromAnotherPackage(int c, int d) { - this.c = c; - this.d = d; - } - - public static int constValue() { - return 42; - } - - public int getD() { - return d; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ClassFromAnotherPackage that = (ClassFromAnotherPackage) o; - return d == that.d && c == that.c; - } - - @Override - public int hashCode() { - return Objects.hash(d, c); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/CustomerExamples.java b/utbot-sample/src/main/java/org/utbot/examples/collections/CustomerExamples.java deleted file mode 100644 index b60242c0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/CustomerExamples.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.HashMap; -import java.util.Map; - -public class CustomerExamples { - static final Map MAP = new HashMap<>(); - - static { - MAP.put("key1", "value1"); - MAP.put("key2", "value2"); - } - - C c; - - public int simpleExample(String key) { - if (MAP.containsKey(key)) { - return 1; - } - return 2; - } - - public int staticMap(A a, String key, int x) { - B b = a.b; - if (a.foo() > 1 && c.x < 3) { - return 1; - } else if (b.bar() < 3 && MAP.containsKey(key)) { - return 2; - } else if (c.x > 5 && foo(x) < 10) { - return 3; - } else { - return 4; - } - } - - public int foo(int x) { - return c.x + x; - } -} - -class C { - int x; - int y; - - public C(int x, int y) { - this.x = x; - this.y = y; - } -} - -class B { - public int b; - - public int bar() { - return 4 * b; - } -} - -class A { - public B b; - - public int foo() { - return b.b; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/GenericListsExample.java b/utbot-sample/src/main/java/org/utbot/examples/collections/GenericListsExample.java deleted file mode 100644 index 2380c95e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/GenericListsExample.java +++ /dev/null @@ -1,106 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.api.mock.UtMock; -import java.util.ArrayList; -import java.util.List; - -public class GenericListsExample { - List listOfListsOfT(List> value) { - List result = new ArrayList<>(); - - for (List numbers : value) { - long acc = 0; - for (T number : numbers) { - acc += number.longValue(); - } - - result.add(acc); - } - - UtMock.assume(result.size() > 1 && result.size() < 4); - UtMock.assume(result.get(0) > 15 && result.get(1) > 20); - - return result; - } - - List> listOfComparable(List> value) { - UtMock.assume(value != null && value.size() > 1 && value.get(0) != null); - - return value; - } - - List listOfT(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null); - - return value; - } - - List listOfTArray(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null && value.get(0).length >= 1); - - return value; - } - - List listOfExtendsTArray(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null && value.get(0).length >= 1); - - return value; - } - - List listOfPrimitiveArrayInheritors(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null && value.get(0).length >= 1); - - return value; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - List wildcard(List list) { - if (list == null) { - return new ArrayList(); - } - - if (list.size() == 1 && list.get(0) != null) { - return list; - } - - return list; - } - - List> listOfLists(List> value) { - UtMock.assume(value != null && !value.isEmpty() && value.get(0) != null && !value.get(0).isEmpty()); - - return value; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - List wildcardWithOnlyQuestionMark(List list) { - if (list == null) { - return new ArrayList(); - } - - if (list.size() == 1) { - return list; - } - - return list; - } - - List genericWithArrayOfPrimitives(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null && value.get(0).length >= 1 && value.get(0)[0] != 0); - - return value; - } - - List genericWithObject(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null); - - return value; - } - - List genericWithArrayOfArrays(List value) { - UtMock.assume(value != null && value.size() >= 2 && value.get(0) != null && value.get(0).length >= 1 && value.get(0)[0] != null); - - return value; - } - -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/LinkedLists.java b/utbot-sample/src/main/java/org/utbot/examples/collections/LinkedLists.java deleted file mode 100644 index 5a182cea..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/LinkedLists.java +++ /dev/null @@ -1,138 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.LinkedList; - -public class LinkedLists { - public int set(LinkedList list) { - list.set(2, 1); - return list.get(2); - } - - public int peek(LinkedList list) { - int a = list.peek(); - return a; - } - - public int peekFirst(LinkedList list) { - int a = list.peekFirst(); - return a; - } - - public int getFirst(LinkedList list) { - int a = list.getFirst(); - return a; - } - - public int element(LinkedList list) { - int a = list.element(); - return a; - } - - public int peekLast(LinkedList list) { - int a = list.peekLast(); - return a; - } - - public int getLast(LinkedList list) { - int a = list.getLast(); - return a; - } - - public LinkedList offer(LinkedList list) { - if (list.size() > 1) { - list.offer(1); - } - return list; - } - - - public LinkedList offerFirst(LinkedList list) { - if (list.size() > 1) { - list.offerFirst(1); - } - return list; - } - - - public LinkedList offerLast(LinkedList list) { - if (list.size() > 1) { - list.offerLast(1); - } - return list; - } - - public LinkedList addLast(LinkedList list) { - if (list.size() > 1) { - list.addLast(1); - } - return list; - } - - public LinkedList addFirst(LinkedList list) { - if (list.size() > 1) { - list.addFirst(1); - } - return list; - } - - public LinkedList push(LinkedList list) { - if (list.size() > 1) { - list.push(1); - } - return list; - } - - public LinkedList poll(LinkedList list) { - if (list.size() > 1) { - int a = list.poll(); - } else if (list.isEmpty()) { - int a = list.poll(); - } - return list; - } - - public LinkedList pollFirst(LinkedList list) { - if (list.size() > 1) { - int a = list.pollFirst(); - } else if (list.isEmpty()) { - int a = list.pollFirst(); - } - return list; - } - - public LinkedList pollLast(LinkedList list) { - if (list.size() > 1) { - int a = list.pollLast(); - } else if (list.isEmpty()) { - int a = list.pollLast(); - } - return list; - } - - public LinkedList remove(LinkedList list) { - if (list.size() > 1) { - int a = list.remove(); - } else if (list.isEmpty()) { - int a = list.remove(); - } - return list; - } - - public LinkedList removeFirst(LinkedList list) { - if (list.size() > 1) { - int a = list.removeFirst(); - } else if (list.isEmpty()) { - int a = list.removeFirst(); - } - return list; - } - - public LinkedList removeLast(LinkedList list) { - if (list.size() > 1) { - int a = list.removeLast(); - } else if (list.isEmpty()) { - int a = list.removeLast(); - } - return list; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/ListAlgorithms.java b/utbot-sample/src/main/java/org/utbot/examples/collections/ListAlgorithms.java deleted file mode 100644 index 77716e38..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/ListAlgorithms.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.List; - -import static org.utbot.api.mock.UtMock.assume; - -public class ListAlgorithms { - - public List mergeListsInplace(List a, List b) { - // invariant that lists are non-null and sorted - assume(a != null); - assume(b != null); - assume(a.size() > 0 && a.size() < 3); - assume(a.get(0) != null); - for (int i = 0; i < a.size() - 1; i++) { - assume(a.get(i + 1) != null); - assume(a.get(i) < a.get(i + 1)); - } - assume(b.size() > 0 && b.size() < 3); - assume(b.get(0) != null); - for (int i = 0; i < b.size() - 1; i++) { - assume(b.get(i + 1) != null); - assume(b.get(i) < b.get(i + 1)); - } - int i = 0; - int j = 0; - while (i != a.size() || j != b.size()) { - if (i == a.size()) { - a.add(i++, b.get(j++)); - } else if (j == b.size() || a.get(i) < b.get(j)) { - i++; - } else { - a.add(i++, b.get(j++)); - } - } - return a; - } - - -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/ListIterators.java b/utbot-sample/src/main/java/org/utbot/examples/collections/ListIterators.java deleted file mode 100644 index 8bdd6219..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/ListIterators.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.api.mock.UtMock; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; - -public class ListIterators { - @SuppressWarnings({"IfStatementWithIdenticalBranches", "RedundantOperationOnEmptyContainer"}) - Iterator returnIterator(List list) { - UtMock.assume(list != null); - - if (list.isEmpty()) { - return list.iterator(); - } else { - return list.iterator(); - } - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - ListIterator returnListIterator(List list) { - UtMock.assume(list != null); - - if (list.isEmpty()) { - return list.listIterator(); - } else { - return list.listIterator(); - } - } - - List iterate(List list) { - Iterator iterator = list.iterator(); - List result = new ArrayList<>(); - while (iterator.hasNext()) { - result.add(iterator.next()); - } - return result; - } - - List iterateReversed(List list) { - ListIterator iterator = list.listIterator(list.size()); - List result = new ArrayList<>(); - while (iterator.hasPrevious()) { - result.add(iterator.previous()); - } - return result; - } - - int iterateForEach(List list) { - int sum = 0; - for (int i : list) { - sum += i; - } - return sum; - } - - List addElements(List list, int[] array) { - ListIterator iterator = list.listIterator(); - int index = 0; - while (iterator.hasNext()) { - iterator.add(array[index++]); - iterator.next(); - } - return list; - } - - List setElements(List list, int[] arr) { - ListIterator iterator = list.listIterator(); - int index = 0; - while (iterator.hasNext()) { - iterator.next(); - iterator.set(arr[index]); - } - return list; - } - - List removeElements(List list, int i) { - ListIterator iterator = list.listIterator(); - int a = 0; - for (int k = 0; k < i; k++) { - a = iterator.next(); - } - iterator.remove(); - return list; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/ListWrapperReturnsVoidExample.java b/utbot-sample/src/main/java/org/utbot/examples/collections/ListWrapperReturnsVoidExample.java deleted file mode 100644 index bbd99472..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/ListWrapperReturnsVoidExample.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.List; - -public class ListWrapperReturnsVoidExample { - public int runForEach(List list) { - final int[] i = {0}; - list.forEach(o -> { - if (o == null) i[0]++; - }); - return i[0]; - } - - public int sumPositiveForEach(List list) { - final int[] sum = {0}; - list.forEach(i -> { - if (i > 0) { - sum[0] += i; - } - }); - if (sum[0] == 0) { - return 0; - } else { - return sum[0]; - } - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/Lists.java b/utbot-sample/src/main/java/org/utbot/examples/collections/Lists.java deleted file mode 100644 index 99d5c1c3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/Lists.java +++ /dev/null @@ -1,174 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.api.mock.UtMock; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Objects; - -public class Lists { - int bigListFromParameters(List list) { - UtMock.assume(list != null && list.size() == 11); - - return list.size(); - } - - Collection getNonEmptyCollection(Collection collection) { - if (collection.size() == 0) { - return null; - } - - return collection; - } - - List create(int[] array) { - List result = new ArrayList<>(); - for (int i = 0; i < array.length; i++) { - result.add(array[i]); - } - return result; - } - - @SuppressWarnings({"WhileLoopReplaceableByForEach", "DuplicatedCode"}) - boolean iterableContains(Iterable iterable) { - Objects.requireNonNull(iterable); - - Iterator iterator = iterable.iterator(); - while (iterator.hasNext()) { - Object value = iterator.next(); - if (value.equals(1)) { - return true; - } - } - - return false; - } - - @SuppressWarnings({"WhileLoopReplaceableByForEach", "DuplicatedCode"}) - boolean collectionContains(Collection collection) { - Objects.requireNonNull(collection); - - Iterator iterator = collection.iterator(); - while (iterator.hasNext()) { - Object value = iterator.next(); - if (value.equals(1)) { - return true; - } - } - - return false; - } - - Integer[] getFromAnotherListToArray(List other) { - if (other.get(0) == null) { - return null; - } - Integer[] result = new Integer[1]; - result[0] = other.get(0); - return result; - } - - List createWithDifferentType(int seed) { - List result; - if (seed % 2 == 0) { - result = new ArrayList<>(); - } else { - result = new LinkedList<>(); - } - for (int i = 0; i < 4; i++) { - result.add(i); - } - return result; - } - - List addElements(List list, int[] array) { - if (list.size() >= 2 && array.length >= 2) { - for (int i = 0; i < array.length; i++) { - list.add(i, array[i]); - } - } - return list; - } - - int[] getElements(List list) { - int[] a = new int[list.size()]; - for (int i = 0; i < list.size(); i++) { - a[i] = list.get(i); - } - return a; - } - - List setElements(int[] arr) { - List list = new ArrayList<>(arr.length); - for (int i = 0; i < arr.length; i++) { - list.add(null); - list.set(i, arr[i]); - } - return list; - } - - int removeElements(List list, int i, int j) { - int a = list.remove(i); - int b = list.remove(j); - if (a < b) { - return a; - } else { - return b; - } - } - - List clear(List list) { - if (list.size() < 2) { - list.add(1); - list.add(2); - } - list.clear(); - return list; - } - - List removeFromList(List list, int i) { - if (list instanceof ArrayList) { - list.set(i, list.get(list.size() - 1)); - list.remove(list.size() - 1); - return list; - } else if (list instanceof LinkedList) { - list.remove(i); - return list; - } - return list; - } - - List addAll(List list, int i) { - List newList = new ArrayList<>(); - newList.add(i); - if (list.size() > 0) { - newList.addAll(list); - } - return newList; - } - - List addAllByIndex(List list, int i) { - List newList = new ArrayList<>(); - newList.add(0); - newList.add(1); - if (i >= 0 && i < list.size()) { - list.addAll(i, newList); - } - return list; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - List asListExample(String[] values) { - UtMock.assume(values != null); - - if (values.length == 0) { - return Arrays.asList(values); - } else { - return Arrays.asList(values); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/MapEntrySet.java b/utbot-sample/src/main/java/org/utbot/examples/collections/MapEntrySet.java deleted file mode 100644 index 490b8ce1..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/MapEntrySet.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.Iterator; -import java.util.Map; -import java.util.Objects; -import java.util.Set; - -public class MapEntrySet { - int addToEntrySet(Map m) { - Set> set = m.entrySet(); - set.add(new Map.Entry() { - public Integer getKey() { return 0; } - public Integer getValue() { return 1; } - public Integer setValue(Integer value) { return null; } - }); - // must throw exception - return -1; - } - - Map removeFromEntrySet(Map m, int i, int j) { - Set> set = m.entrySet(); - if (set.remove(new Map.Entry() { - public Integer getKey() { - return i; - } - public Integer getValue() { - return j; - } - public Integer setValue(Integer value) { - return null; - } - })) { - return m; - } else { - return m; - } - } - - int getFromEntrySet(Map m, int i, int j) { - Set> set = m.entrySet(); - boolean a = set.contains(new Map.Entry() { - public Integer getKey() { return i; } - public Integer getValue() { return j; } - public Integer setValue(Integer value) { return null; } - }); - if (a == (m.containsKey(i) && Objects.equals(m.get(i), j))) { - return 1; - } else { - // unreachable branch - return -1; - } - } - - int iteratorHasNext(Map m) { - Iterator> iterator = m.entrySet().iterator(); - if (!iterator.hasNext()) { - return m.size(); - } else { - return m.size(); - } - } - - int[] iteratorNext(Map m) { - Iterator> iterator = m.entrySet().iterator(); - Map.Entry entry = iterator.next(); - return new int[]{entry.getKey(), entry.getValue()}; - } - - Map iteratorRemove(Map m) { - Iterator> iterator = m.entrySet().iterator(); - iterator.next(); - iterator.remove(); - return m; - } - - Map iteratorRemoveOnIndex(Map m, int i) { - if (i == 0) { - return null; - } - Iterator> iterator = m.entrySet().iterator(); - for (int j = 0; j < i; j++) { - iterator.next(); - } - iterator.remove(); - return m; - } - - int[] iterateForEach(Map m) { - int keySum = 0; - int valueSum = 0; - for (Map.Entry entry : m.entrySet()) { - keySum += entry.getKey(); - valueSum += entry.getValue(); - } - return new int[]{keySum, valueSum}; - } - - int[] iterateWithIterator(Map m) { - int valueSum = 0; - int keySum = 0; - Iterator> iterator = m.entrySet().iterator(); - while (iterator.hasNext()) { - keySum += iterator.next().getKey(); - valueSum += iterator.next().getValue(); - } - return new int[]{keySum, valueSum}; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/MapKeySet.java b/utbot-sample/src/main/java/org/utbot/examples/collections/MapKeySet.java deleted file mode 100644 index 3f7500b0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/MapKeySet.java +++ /dev/null @@ -1,90 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.Iterator; -import java.util.Map; -import java.util.Set; - -public class MapKeySet { - int addToKeySet(Map m) { - Set set = m.keySet(); - set.add(0); - // must throw exception - return -1; - } - - Map removeFromKeySet(Map m, int i) { - Set set = m.keySet(); - set.remove(i); - return m; - } - - int getFromKeySet(Map m, int i) { - Set set = m.keySet(); - boolean a = set.contains(i); - boolean b = m.containsKey(i); - if (a == b) { - return 1; - } else { - // unreachable branch - return -1; - } - } - - int iteratorHasNext(Map m) { - Iterator iterator = m.keySet().iterator(); - if (!iterator.hasNext()) { - return m.size(); - } else { - return m.size(); - } - } - - int iteratorNext(Map m) { - Iterator iterator = m.keySet().iterator(); - return iterator.next(); - } - - Map iteratorRemove(Map m) { - Iterator iterator = m.keySet().iterator(); - iterator.next(); - iterator.remove(); - return m; - } - - Map iteratorRemoveOnIndex(Map m, int i) { - if (i == 0) { - return null; - } - Iterator iterator = m.keySet().iterator(); - for (int j = 0; j < i; j++){ - iterator.next(); - } - iterator.remove(); - return m; - } - - int iterateForEach(Map m) { - int sum = 0; - for (int i: m.keySet()) { - sum += i; - } - return sum; - } - - int iterateWithIterator(Map m) { - int sum = 0; - Iterator iterator = m.keySet().iterator(); - while (iterator.hasNext()){ - sum += iterator.next(); - } - return sum; - } - - Integer nullKey(Map m) { - if (m.containsKey(null)) { - return m.get(null); - } else { - return 0; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/MapValues.java b/utbot-sample/src/main/java/org/utbot/examples/collections/MapValues.java deleted file mode 100644 index d1cb787d..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/MapValues.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.Collection; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map; - -public class MapValues { - int addToValues(Map m) { - Collection values = m.values(); - values.add(0); - // must throw exception - return -1; - } - - Map removeFromValues(Map m, int i) { - Collection values = m.values(); - // must throw exception - values.remove(i); - return m; - } - - int getFromValues(Map m, int i) { - Collection values = m.values(); - boolean a = values.contains(i); - boolean b = m.containsValue(i); - if (a == b) { - return 1; - } else { - // unreachable branch - return -1; - } - } - - int iteratorHasNext(Map m) { - Iterator iterator = m.values().iterator(); - if (!iterator.hasNext()) { - return m.size(); - } else { - return m.size(); - } - } - - int iteratorNext(Map m) { - Iterator iterator = m.values().iterator(); - return iterator.next(); - } - - Map iteratorRemove(Map m) { - Iterator iterator = m.values().iterator(); - iterator.next(); - iterator.remove(); - return m; - } - - Map iteratorRemoveOnIndex(Map m, int i) { - if (i == 0) { - return null; - } - Iterator iterator = m.values().iterator(); - for (int j = 0; j < i; j++){ - iterator.next(); - } - iterator.remove(); - return m; - } - - int iterateForEach(Map m) { - int sum = 0; - for (int i: m.values()) { - sum += i; - } - return sum; - } - - int iterateWithIterator(Map m) { - int sum = 0; - Iterator iterator = m.values().iterator(); - while (iterator.hasNext()){ - sum += iterator.next(); - } - return sum; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/Maps.java b/utbot-sample/src/main/java/org/utbot/examples/collections/Maps.java deleted file mode 100644 index 0be06782..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/Maps.java +++ /dev/null @@ -1,322 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.api.mock.UtMock; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; - -public class Maps { - Map create(int[] keys, int[] values) { - Map result = new LinkedHashMap<>(); - for (int i = 0; i < keys.length; i++) { - result.put(keys[i], values[i]); - } - return result; - } - - String mapToString(long startTime, int pageSize, int pageNum) { - Map params = new HashMap<>(); - - params.put("startTime", startTime); - params.put("pageSize", pageSize); - params.put("pageNum", pageNum); - - return params.toString(); - } - - @SuppressWarnings("OverwrittenKey") - Integer mapPutAndGet() { - Map values = new HashMap<>(); - - values.put(1L, 2); - values.put(1L, 3); - - return values.get(1L); - } - - @SuppressWarnings("OverwrittenKey") - Integer putInMapFromParameters(Map values) { - values.put(1L, 2); - values.put(1L, 3); - - return values.get(1L); - } - - @SuppressWarnings("OverwrittenKey") - Integer containsKeyAndPuts(Map values) { - UtMock.assume(!values.containsKey(1L)); - - values.put(1L, 2); - values.put(1L, 3); - - UtMock.assume(values.get(1L).equals(3)); - - return values.get(1L); - } - - Map countChars(String s) { - Map map = new LinkedHashMap<>(); - for (int i = 0; i < s.length(); i++) { - map.compute(s.charAt(i), (character, value) -> value == null ? 1 : value + 1); - } - return map; - } - - Map createWithDifferentType(int seed) { - if (seed % 2 == 0) { - return new HashMap<>(); - } else { - return new LinkedHashMap<>(); - } - } - - Map putElements(Map map, int[] array) { - if (map.size() > 0 && array.length > 0) { - for (int i = 0; i < array.length; i++) { - map.put(array[i], array[i]); - } - } - - return map; - } - - Map computeValue(Map map, int key) { - map.compute(key, (oldKey, value) -> { - if (value == null) { - return key + 1; - } else { - return value + 1; - } - }); - return map; - } - - Map computeValueIfAbsent(Map map, int key) { - map.computeIfAbsent(key, (oldKey) -> key + 1); - return map; - } - - Map computeValueIfPresent(Map map, int key) { - if (map.computeIfPresent(key, (oldKey, value) -> value + 1) == null) { - return map; - } else { - return map; - } - } - - int clearEntries(Map map) { - if (map.isEmpty()) { - return 0; - } - map.clear(); - if (map.isEmpty()) { - return 1; - } - return 2; - } - - int containsKey(Map map, int key) { - if (map.containsKey(key)) { - return 1; - } else { - return 0; - } - } - - int containsValue(Map map, int value) { - if (map.containsValue(value)) { - return 1; - } else { - return 0; - } - } - - int getOrDefaultElement(Map map, int key) { - if (map.getOrDefault(key, null) == null) { - if (map.containsKey(key)) { - return 0; - } else { - return 1; - } - } else { - return map.get(key); - } - } - - int removeKeyWithValue(Map map, int key, int value) { - boolean containsKey = map.containsKey(key); - boolean containsValue = map.containsValue(value); - if (!containsKey && !containsValue) { - return 0; - } else if (containsKey && !containsValue) { - if (map.remove(key, value)) { - return 1; - } else { - return -1; - } - } else if (!containsKey) { - if (map.remove(key, value)) { - return 2; - } else { - return -2; - } - } else { - if (map.remove(key, value)) { - return 3; - } else { - return -3; - } - } - } - - Map putElementIfAbsent(Map map, int key, int value) { - Integer result = map.get(key); - Integer newResult = map.putIfAbsent(key, value); - if (result == newResult) { - return map; - } else { - // unreachable branch - return map; - } - - } - - Map replaceEntry(Map map, int key, int value) { - boolean containsKey = map.containsKey(key); - Integer prev = map.replace(key, value); - if (containsKey && prev == null) { - return map; - } else if (!containsKey && prev == null) { - return map; - } else { - return map; - } - } - - int replaceEntryWithValue(Map map, int key, int oldValue) { - boolean containsKey = map.containsKey(key); - boolean containsValue = map.containsValue(oldValue); - if (!containsKey && !containsValue) { - return 0; - } else if (containsKey && !containsValue) { - if (map.replace(key, oldValue, -1)) { - return 1; - } else { - return -1; - } - } else if (!containsKey) { - if (map.replace(key, oldValue, -1)) { - return 2; - } else { - return -2; - } - } else { - if (map.replace(key, oldValue, -1)) { - return 3; - } else { - return -3; - } - } - } - - Map merge(Map map, int key, Integer value) { - if (map.merge(key, value, Integer::sum) == null) { - return map; - } else { - return map; - } - } - - int putAllEntries(Map map, Map other) { - int current = map.size(); - map.putAll(other); - if (map.size() == current) { - return 0; - } else if (map.size() == current + other.size()) { - return 1; - } else { - return 2; - } - } - - Map replaceAllEntries(Map map) { - if (map.isEmpty()) { - return null; - } - map.replaceAll((key, value) -> key > value ? value + 1 : value - 1); - return map; - } - - int removeElements(Map map, int i, int j) { - Integer a = map.remove(i); - Integer b = map.remove(j); - if (a != null && b != null) { - if (i == j) { - // impossible branch - return 0; - } else if (i < j) { - return 1; - } else { - return 2; - } - } else if (a != null) { - return 3; - } else if (b != null) { - return 4; - } else { - return -1; - } - } - - CustomClass removeCustomObject(Map map, int i) { - CustomClass removed = map.remove(new CustomClass(i)); - if (removed == null) { - return null; - } else { - return removed; - } - } - - public List mapOperator(Map map) { - List result = new ArrayList<>(); - for (Map.Entry entry : map.entrySet()) { - if (entry.getValue().equals("key")) { - result.add(entry.getKey()); - } - } - if (result.size() > 1) { - return result; - } else { - return new ArrayList<>(map.values()); - } - } - - public Map createMapWithString() { - Map map = new HashMap<>(); - map.put("tuesday", 354); - map.remove("tuesday"); - - return map; - } - - public Map createMapWithEnum() { - Map map = new HashMap<>(); - map.put(WorkDays.Monday, 112); - map.put(WorkDays.Tuesday, 354); - map.put(WorkDays.Friday, 567); - map.remove(WorkDays.Tuesday); - - return map; - } - - public enum WorkDays { - Monday, - Tuesday, - Wednesday, - Thursday, - Friday - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/Optionals.java b/utbot-sample/src/main/java/org/utbot/examples/collections/Optionals.java deleted file mode 100644 index 405e95ba..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/Optionals.java +++ /dev/null @@ -1,321 +0,0 @@ -package org.utbot.examples.collections; - -import java.util.Optional; -import java.util.OptionalDouble; -import java.util.OptionalInt; -import java.util.OptionalLong; - -public class Optionals { - public Optional create(Integer i) { - if (i == null) { - return Optional.of(i); - } else { - return Optional.of(i); - } - } - - public OptionalInt createInt(int i) { - return OptionalInt.of(i); - } - - public OptionalLong createLong(long l) { - return OptionalLong.of(l); - } - - public OptionalDouble createDouble(double d) { - return OptionalDouble.of(d); - } - - public Optional createNullable(Integer i) { - if (i == null) { - return Optional.ofNullable(i); - } else { - return Optional.ofNullable(i); - } - } - - public Optional createEmpty() { - return Optional.empty(); - } - - public OptionalInt createIntEmpty() { - return OptionalInt.empty(); - } - - public OptionalLong createLongEmpty() { - return OptionalLong.empty(); - } - - public OptionalDouble createDoubleEmpty() { - return OptionalDouble.empty(); - } - - // IMPORTANT: we have two branches everywhere to make sure we covered - // both situations with present and empty value - - public Integer getValue(Optional optional) { - if (optional.isPresent()) { - return optional.get(); - } else { - return optional.get(); - } - } - - public int getIntValue(OptionalInt optional) { - if (optional.isPresent()) { - return optional.getAsInt(); - } else { - return optional.getAsInt(); - } - } - - public long getLongValue(OptionalLong optional) { - if (optional.isPresent()) { - return optional.getAsLong(); - } else { - return optional.getAsLong(); - } - } - - public double getDoubleValue(OptionalDouble optional) { - if (optional.isPresent()) { - return optional.getAsDouble(); - } else { - return optional.getAsDouble(); - } - } - - public Integer getWithIsPresent(Optional optional) { - if (optional.isPresent()) { - return optional.get(); - } else { - return null; - } - } - - public Integer countIfPresent(Optional optional) { - int[] count = {0}; - - if (!optional.isPresent()) { - return 0; - } - - optional.ifPresent((value) -> count[0] += value); - return count[0]; - } - - public int countIntIfPresent(OptionalInt optional) { - int[] count = {0}; - - if (!optional.isPresent()) { - return 0; - } - - optional.ifPresent((value) -> count[0] += value); - return count[0]; - } - - public long countLongIfPresent(OptionalLong optional) { - long[] count = {0L}; - - if (!optional.isPresent()) { - return 0; - } - - optional.ifPresent((value) -> count[0] += value); - return count[0]; - } - - public double countDoubleIfPresent(OptionalDouble optional) { - double[] count = {0.0}; - - if (!optional.isPresent()) { - return 0.0; - } - - optional.ifPresent((value) -> count[0] += value); - return count[0]; - } - - - public Optional filterLessThanZero(Optional optional) { - if (optional.isPresent()) { - return optional.filter((value) -> value >= 0); - } else { - return optional.filter((value) -> value >= 0); - } - } - - public Optional absNotNull(Optional optional) { - if (optional.isPresent()) { - return optional.map((value) -> value < 0 ? -value : value); - } else { - return optional.map((value) -> value < 0 ? -value : value); - } - } - - public Optional mapLessThanZeroToNull(Optional optional) { - if (optional.isPresent()) { - return optional.map((value) -> value < 0 ? null : value); - } else { - return optional.map((value) -> value < 0 ? null : value); - } - } - - public Optional flatAbsNotNull(Optional optional) { - if (optional.isPresent()) { - return optional.flatMap((value) -> Optional.of(value < 0 ? -value : value)); - } else { - return optional.flatMap((value) -> Optional.of(value < 0 ? -value : value)); - } - } - - public Optional flatMapWithNull(Optional optional) { - if (optional.isPresent()) { - return optional.flatMap((value) -> { - if (value < 0) { - return Optional.empty(); - } else if (value > 0) { - return Optional.of(value); - } else { - return null; - } - }); - } else { - return optional.flatMap((value) -> { - if (value < 0) { - return Optional.empty(); - } else if (value > 0) { - return Optional.of(value); - } else { - return null; - } - }); - } - - } - - public Integer leftOrElseRight(Optional left, Integer right) { - Integer result = left.orElse(right); - if (left.isPresent()) { - return result; - } else { - return result; - } - } - - public int leftIntOrElseRight(OptionalInt left, int right) { - int result = left.orElse(right); - if (left.isPresent()) { - return result; - } else { - return result; - } - } - - public long leftLongOrElseRight(OptionalLong left, long right) { - long result = left.orElse(right); - if (left.isPresent()) { - return result; - } else { - return result; - } - } - - public double leftDoubleOrElseRight(OptionalDouble left, double right) { - double result = left.orElse(right); - if (left.isPresent()) { - return result; - } else { - return result; - } - } - - public Integer leftOrElseGetOne(Optional left) { - return left.orElseGet(() -> 1); - } - - public int leftIntOrElseGetOne(OptionalInt left) { - return left.orElseGet(() -> 1); - } - - public long leftLongOrElseGetOne(OptionalLong left) { - return left.orElseGet(() -> 1L); - } - - public double leftDoubleOrElseGetOne(OptionalDouble left) { - return left.orElseGet(() -> 1.0); - } - - public Integer leftOrElseThrow(Optional left) { - if (left.isPresent()) { - return left.orElseThrow(() -> new IllegalArgumentException()); - } else { - return left.orElseThrow(() -> new IllegalArgumentException()); - } - } - - public int leftIntOrElseThrow(OptionalInt left) { - return left.orElseThrow(() -> new IllegalArgumentException()); - } - - public long leftLongOrElseThrow(OptionalLong left) { - return left.orElseThrow(() -> new IllegalArgumentException()); - } - - public double leftDoubleOrElseThrow(OptionalDouble left) { - return left.orElseThrow(() -> new IllegalArgumentException()); - } - - public boolean equalOptionals(Optional left, Optional right) { - if (left.equals(right)) { - if (left.isPresent() && right.isPresent()) { - return true; - } else { - return true; - } - } else { - return false; - } - } - - public boolean equalOptionalsInt(OptionalInt left, OptionalInt right) { - if (left.equals(right)) { - if (left.isPresent() && right.isPresent()) { - return true; - } else { - return true; - } - } else { - return false; - } - } - - public boolean equalOptionalsLong(OptionalLong left, OptionalLong right) { - if (left.equals(right)) { - if (left.isPresent() && right.isPresent()) { - return true; - } else { - return true; - } - } else { - return false; - } - } - - public boolean equalOptionalsDouble(OptionalDouble left, OptionalDouble right) { - if (left.equals(right)) { - if (left.isPresent() && right.isPresent()) { - return true; - } else { - return true; - } - } else { - return false; - } - } - - public Optional optionalOfPositive(int value) { - return value > 0 ? Optional.of(value) : Optional.empty(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/QueueUsages.java b/utbot-sample/src/main/java/org/utbot/examples/collections/QueueUsages.java deleted file mode 100644 index 5a2586e8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/QueueUsages.java +++ /dev/null @@ -1,92 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.examples.objects.WrappedInt; - -import java.util.ArrayDeque; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Deque; -import java.util.LinkedList; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.LinkedBlockingDeque; - -public class QueueUsages { - public int createArrayDeque(WrappedInt init, WrappedInt next) { - Queue q = new ArrayDeque<>(Collections.singletonList(init)); - q.add(next); - return q.size(); - } - - public int createLinkedList(WrappedInt init, WrappedInt next) { - Queue q = new LinkedList<>(Collections.singletonList(init)); - q.add(next); - return q.size(); - } - - public int createLinkedBlockingDeque(WrappedInt init, WrappedInt next) { - Queue q = new LinkedBlockingDeque<>(Collections.singletonList(init)); - q.add(next); - return q.size(); - } - - public int containsQueue(Queue q, int x) { - if (q.contains(x)) { - return 1; - } else { - return 0; - } - } - - public Queue addQueue(Queue q, WrappedInt x) { - q.add(x); - return q; - } - - public Queue addAllQueue(Queue q, WrappedInt x) { - Collection lst = Arrays.asList(new WrappedInt(1), x); - q.addAll(lst); - return q; - } - - public Deque castQueueToDeque(Queue q) { - if (q instanceof Deque) { - return (Deque)q; - } else { - return null; - } - } - - public int checkSubtypesOfQueue(Queue q) { - if (q == null) { - return 0; - } - if (q instanceof LinkedList) { - return 1; - } else if (q instanceof ArrayDeque) { - return 2; - } else { - return 3; - } - } - - public int checkSubtypesOfQueueWithUsage(Queue q) { - if (q == null) { - return 0; - } - q.add(1); - if (q instanceof LinkedList) { - return 1; - } else if (q instanceof ArrayDeque) { - return 2; - } else { - return 3; - } - } - - public ConcurrentLinkedQueue addConcurrentLinkedQueue(ConcurrentLinkedQueue q, WrappedInt o) { - q.add(o); - return q; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/SetIterators.java b/utbot-sample/src/main/java/org/utbot/examples/collections/SetIterators.java deleted file mode 100644 index 0f332e0a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/SetIterators.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.api.mock.UtMock; - -import java.util.Iterator; -import java.util.Set; - -public class SetIterators { - @SuppressWarnings({"IfStatementWithIdenticalBranches", "RedundantOperationOnEmptyContainer"}) - Iterator returnIterator(Set set) { - UtMock.assume(set != null); - - if (set.isEmpty()) { - return set.iterator(); - } else { - return set.iterator(); - } - } - - int iteratorHasNext(Set s) { - Iterator iterator = s.iterator(); - if (!iterator.hasNext()) { - return s.size(); - } else { - return s.size(); - } - } - - int iteratorNext(Set s) { - Iterator iterator = s.iterator(); - return iterator.next(); - } - - Set iteratorRemove(Set s) { - Iterator iterator = s.iterator(); - iterator.next(); - iterator.remove(); - return s; - } - - Set iteratorRemoveOnIndex(Set s, int i) { - if (i == 0) { - return null; - } - Iterator iterator = s.iterator(); - for (int j = 0; j < i; j++){ - iterator.next(); - } - iterator.remove(); - return s; - } - - int iterateForEach(Set s) { - int sum = 0; - for (int i: s) { // possible NPE - sum += i; - } - return sum; - } - - int iterateWithIterator(Set s) { - int sum = 0; - Iterator iterator = s.iterator(); - while (iterator.hasNext()){ - sum += iterator.next(); // possible NPE - } - return sum; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/collections/Sets.java b/utbot-sample/src/main/java/org/utbot/examples/collections/Sets.java deleted file mode 100644 index 1788d304..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/collections/Sets.java +++ /dev/null @@ -1,225 +0,0 @@ -package org.utbot.examples.collections; - -import org.utbot.api.mock.UtMock; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; - -public class Sets { - Set create(int[] array) { - Set result = new HashSet<>(); - for (int i = 0; i < array.length; i++) { - result.add(array[i]); - } - return result; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public Set setContainsInteger(Set set, Integer a, Integer b) { - if (set.contains(1 + a)) { - set.remove(1 + a); - return set; - } else { - set.add(4 + a + b); - set.remove(4 + a + b); - if (set.isEmpty()) { - return null; - } - return set; - } - } - - @SuppressWarnings("RedundantIfStatement") - public boolean setContains(Set set, String str, String str2) { - if (set.contains("aaa" + str)) { - set.remove("aaa" + str); - return true; - } else { - set.add(str + "aaa" + "bbb"); - set.remove(str2); - if (set.isEmpty()) { - return true; - } - return false; - } - } - - @SuppressWarnings("RedundantIfStatement") - public boolean simpleContains(Set set) { - if (set.contains("aaa")) { - return true; - } - return false; - } - - @SuppressWarnings("RedundantIfStatement") - public boolean moreComplicatedContains(Set set, String str) { - if (set.contains("aaa" + str)) { - return true; - } - return false; - } - - Set findAllChars(String s) { - Set set = new HashSet<>(); - for (int i = 0; i < s.length(); i++) { - set.add(s.charAt(i)); - } - return set; - } - - int removeSpace(Set s) { - int counter = 0; - if (s.remove(' ')) { - counter++; - } - if (s.remove('\t')) { - counter++; - } - if (s.remove('\r')) { - counter++; - } - if (s.remove('\n')) { - counter++; - } - return counter; - } - - Set createWithDifferentType(int seed) { - if (seed % 2 == 0) { - return new HashSet<>(); - } else { - return new LinkedHashSet<>(); - } - } - - Set addElements(Set set, int[] array) { - if (set.size() > 0 && array.length > 0) { - for (int i = 0; i < array.length; i++) { - set.add(array[i]); - } - } - return set; - } - - int removeElements(Set set, int i, int j) { - boolean a = set.remove(i); - boolean b = set.remove(j); - if (a && b) { - if (i == j) { - // impossible branch - return 0; - } else if (i < j) { - return 1; - } else { - return 2; - } - } else if (a) { - return 3; - } else if (b) { - return 4; - } else { - return -1; - } - } - - int containsElement(Set set, int i) { - if (set.contains(i)) { - return 1; - } else { - return 0; - } - } - - int addAllElements(Set set, Set other) { - int current = set.size(); - set.addAll(other); - if (set.size() == current) { - return 0; - } - if (set.size() == current + other.size()) { - return 1; - } - return 2; - } - - int removeAllElements(Set set, Set other) { - int current = set.size(); - final int otherSize = other.size(); // to consider case set == other - set.removeAll(other); - if (set.size() == current) { - return 0; - } - if (set.size() == current - otherSize) { - return 1; - } - return 2; - } - - int retainAllElements(Set set, Set other) { - int current = set.size(); - set.retainAll(other); - if (set.size() == current) { - return 1; - } else { - return 0; - } - } - - int containsAllElements(Set set, Set other) { - if (set.isEmpty() || other.isEmpty()) { - return -1; - } - if (set.containsAll(other)) { - return 1; - } - return 0; - } - - int clearElements(Set set) { - if (set.isEmpty()) { - return 0; - } - set.clear(); - if (set.isEmpty()) { - return 1; - } - return -1; - } - - int removeCustomObject(Set set, int i) { - if (set.remove(new CustomClass(i))) { - return 1; - } else { - return 0; - } - } -} - -class CustomClass { - int value; - - CustomClass(int value) { - this.value = value; - } - - @Override - public boolean equals(Object o) { - if (o instanceof CustomClass) { - CustomClass that = (CustomClass) o; - return value == that.value; - } - return false; - } - - @Override - public int hashCode() { - return value; - } - - @Override - public String toString() { - return Integer.toString(value); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/controlflow/Conditions.java b/utbot-sample/src/main/java/org/utbot/examples/controlflow/Conditions.java deleted file mode 100644 index d13d9d62..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/controlflow/Conditions.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.examples.controlflow; - -public class Conditions { - - /** - * This Doc is here in order to check whether the summaries and display names are rendered correctly. - * Had not in hours of peace, - * It learned to lightly look on life. - * - * @param a some long value - * @param b some int value - * @return the result you won't expect. - */ - public int returnCastFromTernaryOperator(long a, int b) { - a = a % b; - return (int) (a < 0 ? a + b : a); - } - - public int simpleCondition(boolean condition) { - if (condition) { - return 1; - } else { - return 0; - } - } - - public void emptyBranches(boolean condition) { - if (condition) { - // do nothing - } else { - // do nothing - } - } - - public int elseIf(int id) throws RuntimeException { - if (id > 0) return 0; - else if (id == 0) throw new RuntimeException("Exception message"); - else return 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/controlflow/CycleDependedCondition.java b/utbot-sample/src/main/java/org/utbot/examples/controlflow/CycleDependedCondition.java deleted file mode 100644 index e5d3e9d6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/controlflow/CycleDependedCondition.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.utbot.examples.controlflow; - -public class CycleDependedCondition { - - public int oneCondition(int x) { - for (int i = 0; i < x; i++) { - if (i == 2) { - return 1; - } - } - return 0; - } - - public int twoCondition(int x) { - for (int i = 0; i < x; i++) { - if (i > 2 && x == 4) { - return 1; - } - } - return 0; - } - - public int threeCondition(int x) { - for (int i = 0; i < x; i++) { - if (i > 4 && i < 6 && x != 7) { - return 1; - } - } - return 0; - } - - public int oneConditionHigherNumber(int x) { - for (int i = 0; i < x; i++) { - if (i == 100) { - return 1; - } - } - return 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/controlflow/Cycles.java b/utbot-sample/src/main/java/org/utbot/examples/controlflow/Cycles.java deleted file mode 100644 index e0ea5398..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/controlflow/Cycles.java +++ /dev/null @@ -1,124 +0,0 @@ -package org.utbot.examples.controlflow; - -public class Cycles { - public int forCycle(int x) { - for (int i = 0; i < x; i++) { - if (i > 5) { - return 1; - } - } - return -1; - } - - public int forCycleFour(int x) { - for (int i = 0; i < x; i++) { - if (i > 4) { - return 1; - } - } - return -1; - } - - public int finiteCycle(int x) { - while (true) { - if (x % 519 == 0) { - break; - } else { - x++; - } - } - return x; - } - - public int forCycleFromJayHorn(int x) { - int r = 0; - for (int i = 0; i < x; i++) { - r += 2; - } - return r; - } - - public int divideByZeroCheckWithCycles(int n, int x) { - if (n < 5) { - throw new IllegalArgumentException("n < 5"); - } - int j = 0; - for (int i = 0; i < n; i++) { - j += i; - } - j /= x; - for (int i = 0; i < n; i++) { - j += i; - } - return 1; - } - - public void moveToException(int x) { - if (x < 400) { - for (int i = x; i < 400; i++) { - x++; - } - } - - if (x > 400) { - for (int i = x; i > 400; i--) { - x--; - } - } - - if (x == 400) { - throw new IllegalArgumentException(); - } - } - - public int whileCycle(int x) { - int i = 0; - int sum = 0; - while (i < x) { - sum += i; - i += 1; - } - return sum; - } - - public int callInnerWhile(int value) { - return innerWhile(value, 42); - } - - public int innerLoop(int value) { - CycleDependedCondition cycleDependedCondition = new CycleDependedCondition(); - return cycleDependedCondition.twoCondition(value); - } - - public int innerWhile(int a, int border) { - int res = a; - while (res >= border) { - res = res - border; - } - return res; - } - - public int loopInsideLoop(int x) { - for (int i = x - 5; i < x; i++) { - if (i < 0) { - return 2; - } else { - for (int j = i; j < x + i; j++) { - if (j == 7) { - return 1; - } - } - } - } - return -1; - } - - - public int structureLoop(int x) { - for (int i = 0; i < x; i++) { - if (i == 2) - return 1; - } - return -1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/controlflow/Switch.java b/utbot-sample/src/main/java/org/utbot/examples/controlflow/Switch.java deleted file mode 100644 index 63f9f0b8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/controlflow/Switch.java +++ /dev/null @@ -1,87 +0,0 @@ -package org.utbot.examples.controlflow; - -import java.math.RoundingMode; - -public class Switch { - - public int simpleSwitch(int x) { - switch (x) { - case 10: - return 10; - case 11: // fall-through - case 12: - return 12; - case 13: - return 13; - default: - return -1; - } - } - - public int lookupSwitch(int x) { - switch (x) { - case 0: - return 0; - case 10: // fall-through - case 20: - return 20; - case 30: - return 30; - default: - return -1; - } - } - - public int enumSwitch(RoundingMode m) { - switch (m) { - case HALF_DOWN: // fall-through - case HALF_EVEN: // fall-through - case HALF_UP: // fall-through - return 1; - case DOWN: - return 2; - case CEILING: - return 3; - } - return -1; - } - - public int charToIntSwitch(char c) { - switch (c) { - case 'I': return 1; - case 'V': return 5; - case 'X': return 10; - case 'L': return 50; - case 'C': return 100; - case 'D': return 500; - case 'M': return 1000; - default: throw new IllegalArgumentException("Unrecognized symbol: " + c); - } - } - - public int throwExceptionInSwitchArgument() { - switch (getChar()) { - case 'I': - return 1; - default: - return 100; - } - } - - private char getChar() throws RuntimeException { - throw new RuntimeException("Exception message"); - } - - //TODO: String switch -// public int stringSwitch(String s) { -// switch (s) { -// case "ABC": -// return 1; -// case "DEF": // fall-through -// case "GHJ": -// return 2; -// default: -// return -1; -// } -// } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/enums/ClassWithEnum.java b/utbot-sample/src/main/java/org/utbot/examples/enums/ClassWithEnum.java deleted file mode 100644 index 61cc9c4a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/enums/ClassWithEnum.java +++ /dev/null @@ -1,268 +0,0 @@ -package org.utbot.examples.enums; - -import static org.utbot.examples.enums.ClassWithEnum.ManyConstantsEnum.A; -import static org.utbot.examples.enums.ClassWithEnum.ManyConstantsEnum.B; -import static org.utbot.examples.enums.ClassWithEnum.StatusEnum.ERROR; -import static org.utbot.examples.enums.ClassWithEnum.StatusEnum.READY; - -@SuppressWarnings({"UnnecessaryLocalVariable", "IfStatementWithIdenticalBranches"}) -public class ClassWithEnum { - public int useOrdinal(String s) { - if (s != null) { - final int ordinal = READY.ordinal(); - return ordinal; - } else { - final int ordinal = ERROR.ordinal(); - return ordinal; - } - } - - public int useGetter(String s) { - if (s != null) { - final int mutableInt = READY.getMutableInt(); - return mutableInt; - } else { - final int mutableInt = ERROR.getMutableInt(); - return mutableInt; - } - } - - @SuppressWarnings("UnnecessaryLocalVariable") - public int useEnumInDifficultIf(String s) { - if ("TRYIF".equalsIgnoreCase(s)) { - final ManyConstantsEnum[] values = ManyConstantsEnum.values(); - return foo(values[0]); - } else { - final ManyConstantsEnum b = B; - return foo(b); - } - } - - private int foo(ManyConstantsEnum e) { - if (e.equals(A)) { - return 1; - } else { - return 2; - } - } - - public int nullEnumAsParameter(StatusEnum statusEnum) { - final int ordinal = statusEnum.ordinal(); - return ordinal; - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - public int nullField(StatusEnum statusEnum) { - // catch NPE - statusEnum.s.length(); - - statusEnum.s = "404"; - return statusEnum.s.length(); - } - - public int changeEnum(StatusEnum statusEnum) { - if (statusEnum == READY) { - statusEnum = ERROR; - } else { - statusEnum = READY; - } - - return statusEnum.ordinal(); - } - - public String checkName(String s) { - final String name = READY.name(); - if (s.equals(name)) { - return ERROR.name(); - } - - return READY.name(); - } - - public int changeMutableField(StatusEnum statusEnum) { - if (statusEnum == READY) { - READY.mutableInt = 2; - - return READY.mutableInt; - } - - ERROR.mutableInt = -2; - return ERROR.mutableInt; - } - - @SuppressWarnings("unused") - public boolean changingStaticWithEnumInit() { - // run and sections - final EnumWithStaticAffectingInit[] values = EnumWithStaticAffectingInit.values(); - - return true; - } - - public int virtualFunction(StatusEnum parameter) { - int value = parameter.virtualFunction(); - if (value > 0) { - return value; - } - - return Math.abs(value); - } - - enum StatusEnum { - READY(0, 10, "200") { - @Override - public int virtualFunction() { - return 0; - } - }, - ERROR(-1, -10, null) { - @Override - int virtualFunction() { - return 1; - } - }; - - int mutableInt; - final int code; - String s; - - StatusEnum(int mutableInt, final int code, String s) { - this.mutableInt = mutableInt; - this.code = code; - this.s = s; - } - - public int getMutableInt() { - return mutableInt; - } - - public int getCode() { - return code; - } - - static StatusEnum fromCode(int code) { - for (StatusEnum value : values()) { - if (value.getCode() == code) { - return value; - } - } - - throw new IllegalArgumentException("No enum corresponding to given code: " + code); - } - - static StatusEnum fromIsReady(boolean isReady) { - return isReady ? READY : ERROR; - } - - int publicGetCode() { - return this == READY ? 10 : -10; - } - - abstract int virtualFunction(); - } - - enum ManyConstantsEnum { - A, B, C, D, E, F, G, H, I, J, K - } - - static int x = 0; - - static class ClassWithStaticField { - static int y = 0; - - static void increment() { - y++; - } - } - - enum EnumWithStaticAffectingInit { - A, B; - - EnumWithStaticAffectingInit() { - ClassWithStaticField.y++; - ClassWithStaticField.increment(); - invokeIncrement(); - invokeIncrementStatic(); - - // changes after all init sections: - // y = y + 4 * 2 = y + 8 - } - - static { - x++; - ClassWithStaticField.y++; - ClassWithStaticField.increment(); - invokeIncrementStatic(); - - // changes after clinit section: - // y = y + 3 - // x = x + 1 - } - - void invokeIncrement() { - ClassWithStaticField.increment(); - } - - static void invokeIncrementStatic() { - ClassWithStaticField.increment(); - } - } - - public int implementingInterfaceEnumInDifficultBranch(String s) { - if ("SUCCESS".equalsIgnoreCase(s)) { - return EnumImplementingInterface.x + EnumImplementingInterface.A_INHERITOR.ordinal(); - } else { - return EnumImplementingInterface.y + EnumImplementingInterface.B_INHERITOR.ordinal(); - } - } - - interface AncestorInterface { - int y = 1; - } - - interface InterfaceWithField extends AncestorInterface { - int x = 0; - } - - enum EnumImplementingInterface implements InterfaceWithField { - A_INHERITOR, B_INHERITOR, C_INHERITOR, D_INHERITOR, - E_INHERITOR, F_INHERITOR, G_INHERITOR, H_INHERITOR, - I_INHERITOR, J_INHERITOR, K_INHERITOR, L_INHERITOR, - M_INHERITOR, N_INHERITOR, O_INHERITOR, P_INHERITOR, - } - - boolean affectSystemStaticAndInitEnumFromItAndReturnField() { - int prevStaticValue = ClassWithEnum.staticInt; - staticInt++; - - return OuterStaticUsageEnum.A.y != prevStaticValue; - } - - boolean affectSystemStaticAndInitEnumFromItAndGetItFromEnumFun() { - int prevStaticValue = ClassWithEnum.staticInt; - staticInt++; - - return OuterStaticUsageEnum.A.getOuterStatic() != prevStaticValue; - } - - static int staticInt = 0; - - enum OuterStaticUsageEnum { - A; - - final int y; - - OuterStaticUsageEnum() { - y = staticInt; - } - - int getOuterStatic() { - return staticInt; - } - - - @Override - public String toString() { - return String.format("%s(y = %d)", name(), y); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/enums/ComplexEnumExamples.java b/utbot-sample/src/main/java/org/utbot/examples/enums/ComplexEnumExamples.java deleted file mode 100644 index 42ecf5d8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/enums/ComplexEnumExamples.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.utbot.examples.enums; - -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -public class ComplexEnumExamples { - - public enum Color { - RED, - GREEN, - BLUE - } - - public int countEqualColors(@NotNull Color a, @NotNull Color b, @NotNull Color c) { - int equalToA = 1; - if (b == a) { - equalToA++; - } - - if (c == a) { - equalToA++; - } - - int equalToB = 1; - if (a == b) { - equalToB++; - } - - if (c == b) { - equalToB++; - } - - if (equalToA > equalToB) { - return equalToA; - } else { - return equalToB; - } - } - - public int countNullColors(Color a, Color b) { - int nullCount = 0; - if (a == null) { - nullCount++; - } - - if (b == null) { - nullCount++; - } - - return nullCount; - } - - public int enumToEnumMapCountValues(@NotNull Map map) { - int count = 0; - for (Color color: map.values()) { - if (color == Color.RED) { - count++; - } - } - return count; - } - - public int enumToEnumMapCountKeys(@NotNull Map map) { - int count = 0; - for (Color key: map.keySet()) { - if (key == Color.GREEN || Color.BLUE.equals(key)) { - count++; - } else { - // Do nothing - } - } - return count; - } - - public int enumToEnumMapCountMatches(@NotNull Map map) { - int count = 0; - for (Map.Entry entry: map.entrySet()) { - if (entry.getKey() == entry.getValue() && entry.getKey() != null) { - count++; - } - } - return count; - } - - public State findState(int code) { - return State.findStateByCode(code); - } - - public Map countValuesInArray(Color @NotNull [] colors) { - HashMap counters = new HashMap<>(); - for (Color c : colors) { - if (c != null) { - Integer value = counters.getOrDefault(c, 0); - counters.put(c, value + 1); - } - } - return counters; - } - - public int countRedInArray(@NotNull Color @NotNull [] colors) { - int count = 0; - for (Color c : colors) { - if (c == Color.RED) { - count++; - } - } - return count; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/enums/State.java b/utbot-sample/src/main/java/org/utbot/examples/enums/State.java deleted file mode 100644 index c8d0af1e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/enums/State.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.enums; - -public enum State { - OPEN(255) { - @Override - public String toString() { - return ""; - } - }, - CLOSED(127) { - @Override - public String toString() { - return ""; - } - }, - UNKNOWN(0) { - @Override - public String toString() { - return ""; - } - }; - - private final int code; - - State(int code) { - this.code = code; - } - - public int getCode() { - return code; - } - - public static State findStateByCode(int code) { - for (State state: values()) { - if (state.getCode() == code) { - return state; - } - } - return UNKNOWN; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/exceptions/ExceptionClusteringExamples.java b/utbot-sample/src/main/java/org/utbot/examples/exceptions/ExceptionClusteringExamples.java deleted file mode 100644 index 1142a9a6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/exceptions/ExceptionClusteringExamples.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.examples.exceptions; - -public class ExceptionClusteringExamples { - @SuppressWarnings("divzero") - public int differentExceptions(int i) throws MyCheckedException { - if (i == 0) { // unchecked implicit exception throwing - return 100 / i; - } - if (i == 1) { // checked explicit exception throwing - throw new MyCheckedException(i); - } - if (i == 2) { // unchecked explicit exception throwing - throw new IllegalArgumentException("This is two!"); - } - return i * 2; - } - - public int differentExceptionsInNestedCall(int i) throws MyCheckedException { - return differentExceptions(i); - } - - public int sleepingMoreThanDefaultTimeout(int i) throws InterruptedException { - Thread.sleep(1500L); - - if (i < 0) { - throw new RuntimeException(); - } - - return i; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/exceptions/ExceptionExamples.java b/utbot-sample/src/main/java/org/utbot/examples/exceptions/ExceptionExamples.java deleted file mode 100644 index efc9e9ec..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/exceptions/ExceptionExamples.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.utbot.examples.exceptions; - -public class ExceptionExamples { - public int initAnArray(int n) { - try { - int[] a = new int[n]; - a[n - 1] = n + 1; - a[n - 2] = n + 2; - return a[n - 1] + a[n - 2]; - } catch (NullPointerException e) { - return -1; // Unreachable branch - } catch (NegativeArraySizeException e) { - return -2; - } catch (IndexOutOfBoundsException e) { - return -3; - } - } - - public int nestedExceptions(int i) { - try { - return checkAll(i); - } catch (NullPointerException e) { - return 100; - } catch (RuntimeException e) { - return -100; - } - } - - public int doNotCatchNested(int i) { - return checkAll(i); - } - - private int checkAll(int i) { - if (i < 0) { - throw new IllegalArgumentException("Negative"); - } - return checkPositive(i); - } - - private int checkPositive(int i) { - if (i > 0) { - throw new NullPointerException("Positive"); - } - return 0; - } - - @SuppressWarnings({"CaughtExceptionImmediatelyRethrown", "finally", "ThrowFromFinallyBlock"}) - public int finallyThrowing(int i) { - try { - return checkPositive(i); - } catch (NullPointerException e) { - throw e; - } finally { - throw new IllegalStateException("finally"); - } - } - - public int finallyChanging(int i) { - int r = i * 2; - try { - checkPositive(r); - } catch (NullPointerException e) { - r += 100; - } finally { - r += 10; - } - return r; - } - - public int throwException(int i) { - int r = 1; - if (i > 0) { - r += 10; - System.mapLibraryName(null); - } else { - r += 100; - } - return r; - } - - public int catchDeepNestedThrow(int i) { - try { - return callNestedWithThrow(i); - } catch (Exception e) { - throw new NullPointerException(); - } - } - - public int catchExceptionAfterOtherPossibleException(int i) { - int x = 15; - x /= i + 1; - - try { - x /= i; - } catch (RuntimeException e) { - return 2; - } - return 1; - } - - public IllegalArgumentException createException() { - return new IllegalArgumentException("Here we are: " + Math.sqrt(10)); - } - - public int hangForSeconds(int seconds) throws InterruptedException { - for (int i = 0; i < seconds; i++) { - Thread.sleep(1000); - } - return seconds; - } - - public int dontCatchDeepNestedThrow(int i) { - return callNestedWithThrow(i); - } - - private int callNestedWithThrow(int i) { - return nestedWithThrow(i); - } - - private int nestedWithThrow(int i) { - if (i < 0) { - throw new IllegalArgumentException("Negative"); - } - return i; - } - - public int throwExceptionInMethodUnderTest() throws RuntimeException { - throw new RuntimeException("Exception message"); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/exceptions/JvmCrashExamples.java b/utbot-sample/src/main/java/org/utbot/examples/exceptions/JvmCrashExamples.java deleted file mode 100644 index 7ecba1ea..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/exceptions/JvmCrashExamples.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.utbot.examples.exceptions; - -import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedAction; - -import sun.misc.Unsafe; - -public class JvmCrashExamples { - public int exit(int i) { - if (i == 0) { - System.exit(-1); - throw new RuntimeException("Exit"); - } - - return i; - } - - public int crash(int i) throws Exception { - Field f = Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - Unsafe unsafe = (Unsafe) f.get(null); - unsafe.putAddress(0, 0); - - if (i == 0) { - return i; - } - - return 1; - } - - // this method crashes JVM and uses [AccessController.doPrivileged] to obtain privileges - public int crashPrivileged(int i) { - return AccessController.doPrivileged((PrivilegedAction) () -> { - Field f; - try { - f = Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - Unsafe unsafe = (Unsafe) f.get(null); - unsafe.putAddress(0, 0); - - if (i == 0) { - return i; - } - - return 1; - } catch (NoSuchFieldException | IllegalAccessException e) { - throw new RuntimeException(e); - } - }); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/exceptions/MyCheckedException.java b/utbot-sample/src/main/java/org/utbot/examples/exceptions/MyCheckedException.java deleted file mode 100644 index 7644b9b2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/exceptions/MyCheckedException.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.exceptions; - -public class MyCheckedException extends Exception { - private final int i; - - public MyCheckedException(int i) { - this.i = i; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/inner/InnerCalls.java b/utbot-sample/src/main/java/org/utbot/examples/inner/InnerCalls.java deleted file mode 100644 index a5ba3dfe..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/inner/InnerCalls.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.examples.inner; - -import org.utbot.examples.algorithms.BinarySearch; -import org.utbot.examples.arrays.ArrayOfArrays; -import org.utbot.examples.controlflow.Cycles; -import org.utbot.examples.controlflow.Switch; -import org.utbot.examples.exceptions.ExceptionExamples; -import org.utbot.examples.invokes.InvokeExample; -import org.utbot.examples.recursion.Recursion; -import org.utbot.examples.strings.StringExamples; - -public class InnerCalls { - - public int callLoopInsideLoop(int x) { - Cycles cycles = new Cycles(); - return cycles.loopInsideLoop(x); - } - - public int callLeftBinSearch(long[] array, long key) { - BinarySearch binarySearch = new BinarySearch(); - return binarySearch.leftBinSearch(array, key); - } - - public void callCreateNewThreeDimensionalArray(int length, int constValue) { - ArrayOfArrays arrayOfArrays = new ArrayOfArrays(); - arrayOfArrays.createNewThreeDimensionalArray(length, constValue); - } - - public int callInitExamples(int n) { - ExceptionExamples exceptionExamples = new ExceptionExamples(); - return exceptionExamples.initAnArray(n); - } - - public int callFactorial(int n) { - Recursion r = new Recursion(); - return r.factorial(n); - } - - public int callFib(int n) { - Recursion r = new Recursion(); - return r.fib(n); - } - - public int callSimpleInvoke(int f, int s) { - InvokeExample invokeExample = new InvokeExample(); - return invokeExample.simpleFormula(f, s); - } - - public int callStringExample(String s, String key) { - StringExamples stringExamples = new StringExamples(); - return stringExamples.indexOf(s, key); - } - - public void callSimpleSwitch(int x) { - new Switch().simpleSwitch(x); - } - - public void callLookup(int x) { - new Switch().lookupSwitch(x); - } - - public void doubleSimpleInvoke(int f, int s) { - callSimpleInvoke(f, s); - } - - public void doubleCallLookUp(int x) { - callLookup(x); - } - - public int doubleCallFactorial(int n) { - int result = callFactorial(n); - return result; - } - - public void doubleVoidCallFactorial(int n) { - callFactorial(n); - } - - public int doubleCallLoopInsideLoop(int x) { - int result = callLoopInsideLoop(x); - return result; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/inner/NestedCalls.java b/utbot-sample/src/main/java/org/utbot/examples/inner/NestedCalls.java deleted file mode 100644 index 2da17a06..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/inner/NestedCalls.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.inner; - -public class NestedCalls { - public int callInitExamples(int n) { - ExceptionExamples exceptionExamples = new ExceptionExamples(); - return exceptionExamples.initAnArray(n); - } - - class ExceptionExamples { - public int initAnArray(int n) { - try { - int[] a = new int[n]; - a[n - 1] = n + 1; - a[n - 2] = n + 2; - return a[n - 1] + a[n - 2]; - } catch (NullPointerException e) { - return -1; // Unreachable branch - } catch (NegativeArraySizeException e) { - return -2; - } catch (IndexOutOfBoundsException e) { - return -3; - } - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/AbstractImplementor.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/AbstractImplementor.java deleted file mode 100644 index 5d647736..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/AbstractImplementor.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.examples.invokes; - -public abstract class AbstractImplementor implements SimpleInterface { - @Override - public abstract int constValue(); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/DefaultInterface.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/DefaultInterface.java deleted file mode 100644 index f28943bf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/DefaultInterface.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.examples.invokes; - -// interface with a default implementation of foo -public interface DefaultInterface { - default int foo() { - throw new UnsupportedOperationException(); - } -} - -// class with an implementation of foo -class BaseClass { - public int foo() { - return 0; - } -} - -// Derived class does not provide implementation of foo -class DerivedClass extends BaseClass implements DefaultInterface { -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/InvokeClass.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/InvokeClass.java deleted file mode 100644 index 3fb4eabf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/InvokeClass.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.invokes; - -public class InvokeClass { - public int value; - - public int divBy(int den) { - return value / den; - } - - public void updateValue(int newValue) { - value = newValue; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/InvokeExample.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/InvokeExample.java deleted file mode 100644 index 539bd0ce..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/InvokeExample.java +++ /dev/null @@ -1,256 +0,0 @@ -package org.utbot.examples.invokes; - -/** - * Covers special and virtual invokes - */ -public class InvokeExample { - private int mult(int a, int b) { - return a * b; - } - - private int half(int a) { - return a / 2; - } - - public int simpleFormula(int fst, int snd) { - if (fst < 100 || snd < 100) { - throw new IllegalArgumentException(); - } - - int x = fst + 5; - int y = half(snd); - - return mult(x, y); - } - - private InvokeClass initialize(int value) { - InvokeClass objectValue = new InvokeClass(); - objectValue.value = value; - return objectValue; - } - - public InvokeClass createObjectFromValue(int value) { - if (value == 0) { - value = 1; - } - InvokeClass objectValue = initialize(value); - return objectValue; - } - - private void changeValue(InvokeClass objectValue, int value) { - objectValue.value = value; - } - - public InvokeClass changeObjectValueByMethod(InvokeClass objectValue) { - objectValue.value = 1; - changeValue(objectValue, 4); - return objectValue; - } - - private int getFive() { - return 5; - } - - private int getTwo() { - return 2; - } - - public InvokeClass particularValue(InvokeClass invokeObject) { - if (invokeObject.value < 0) { - throw new IllegalArgumentException(); - } - int x = getFive() * getTwo(); - int y = getFive() / getTwo(); - - invokeObject.value = x + y; - return invokeObject; - } - - private InvokeClass getNull() { - return null; - } - - public InvokeClass getNullOrValue(InvokeClass invokeObject) { - if (invokeObject.value < 100) { - return getNull(); - } - invokeObject.value = getFive(); - return invokeObject; - } - - private int abs(int value) { - if (value < 0) { - if (value == Integer.MIN_VALUE) { - return 0; - } - return mult(-1, value); - } - return value; - } - - - public int constraintsFromOutside(int value) { - if (abs(value) < 0) { - throw new IllegalArgumentException(); - } - return abs(value); - } - - private int helper(int value) { - if (value < 0) { - return -1; - } - return 1; - } - - public int constraintsFromInside(int value) { - if (value < 0) { - if (value == Integer.MIN_VALUE) { - value = 0; - } else { - value = -value; - } - } - return helper(value); - } - - public InvokeClass alwaysNPE(InvokeClass invokeObject) { - if (invokeObject.value == 0) { - invokeObject = getNull(); - invokeObject.value = 0; - return invokeObject; - } else if (invokeObject.value > 0) { - invokeObject = getNull(); - invokeObject.value = 1; - return invokeObject; - } else { - invokeObject = getNull(); - invokeObject.value = -1; - return invokeObject; - } - } - - private InvokeClass nestedMethodWithException(InvokeClass invokeObject) { - if (invokeObject.value < 0) { - throw new IllegalArgumentException(); - } - return invokeObject; - } - - public InvokeClass exceptionInNestedMethod(InvokeClass invokeObject, int value) { - invokeObject.value = value; - return nestedMethodWithException(invokeObject); - } - - public InvokeClass fewNestedException(InvokeClass invokeObject, int value) { - invokeObject.value = value; - invokeObject = firstLevelWithException(invokeObject); - return invokeObject; - } - - private InvokeClass firstLevelWithException(InvokeClass invokeObject) { - if (invokeObject.value < 10) { - throw new IllegalArgumentException(); - } - return secondLevelWithException(invokeObject); - } - - private InvokeClass secondLevelWithException(InvokeClass invokeObject) { - if (invokeObject.value < 100) { - throw new IllegalArgumentException(); - } - return thirdLevelWithException(invokeObject); - } - - private InvokeClass thirdLevelWithException(InvokeClass invokeObject) { - if (invokeObject.value < 10000) { - throw new IllegalArgumentException(); - } - return invokeObject; - } - - public int divBy(InvokeClass invokeObject, int den) { - if (invokeObject.value < 1000) { - throw new IllegalArgumentException(); - } - return invokeObject.divBy(den); - } - - public InvokeClass updateValue(InvokeClass invokeObject, int value) { - if (invokeObject.value > 0) { - return invokeObject; - } - if (value > 0) { - invokeObject.updateValue(value); - if (invokeObject.value != value) { - throw new RuntimeException(); // unreachable branch - } else { - return invokeObject; - } - } - throw new IllegalArgumentException(); - } - - public int nullAsParameter(int den) { - return divBy(null, den); - } - - public int[] changeArrayWithAssignFromMethod(int[] array) { - return changeAndReturnArray(array, 5); - } - - private int[] changeAndReturnArray(int[] array, int diff) { - int[] updatedArray = new int[array.length]; - for (int i = 0; i < array.length; i++) { - updatedArray[i] = array[i] + diff; - } - return updatedArray; - } - - public int[] changeArrayByMethod(int[] array) { - changeArrayValues(array, 5); - return array; - } - - private void changeArrayValues(int[] array, int diff) { - for (int i = 0; i < array.length; i++) { - array[i] += diff; - } - } - - public int[] arrayCopyExample(int[] array) { - if (array.length < 3) { - throw new IllegalArgumentException(); - } - - if (array[0] <= array[1] || array[1] <= array[2]) { - return null; - } - - int[] dst = new int[array.length]; - - arrayCopy(array, 0, dst, 0, array.length); - - return dst; - } - - - private void arrayCopy(int[] src, int srcPos, int[] dst, int dstPos, int length) { - for (int i = 0; i < length; i++) { - dst[dstPos + i] = src[srcPos + i]; - } - } - - public int updateValues(InvokeClass fst, InvokeClass snd) { - changeTwoObjects(fst, snd); - if (fst.value == 1 && snd.value == 2) { - return 1; - } - throw new RuntimeException(); - } - - private void changeTwoObjects(InvokeClass fst, InvokeClass snd) { - fst.value = 1; - snd.value = 2; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/NativeExample.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/NativeExample.java deleted file mode 100644 index 8fae11b6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/NativeExample.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.utbot.examples.invokes; - -public class NativeExample { - public int partialExecution(double x) { - if (StrictMath.sin(x) > 0) { - return 0; - } else { - return 1; - } - } - - public int unreachableNativeCall(double x) { - if (x == x) { - return 1; - } - if (x != x) { - return 2; - } - // unreachable code: - if (StrictMath.sin(x) > 0) { - return 3; - } else { - return 4; - } - } - - public int substitution(double x) { - double sqrt = Math.sqrt(x); - - if (sqrt > 2) { - return 1; - } else { - return 0; - } - } - - public int unreachableBranch(double x) { - if (Double.isNaN(x)) { - return 1; - } - - double log = Math.log(x); - if (Double.isNaN(log) && x >= 0) { - throw new RuntimeException("An unreachable branch, since we have NaN if x is NaN or x < 0"); - } else { - return 2; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/Realization.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/Realization.java deleted file mode 100644 index f8daad5e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/Realization.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.invokes; - -public class Realization extends AbstractImplementor { - @Override - public int constValue() { - return 10; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterface.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterface.java deleted file mode 100644 index a8c08c05..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterface.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.invokes; - -public interface SimpleInterface { - default int addConstantToValue(int value) { - return value + 5; - } - - default int subtractConstantFromValue(int value) { - return value - 5; - } - - int constValue(); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterfaceExample.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterfaceExample.java deleted file mode 100644 index d0ceacdb..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterfaceExample.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.invokes; - -public class SimpleInterfaceExample { - public int overrideMethod(SimpleInterface objectExample, int value) { - return objectExample.addConstantToValue(value); - } - - public int defaultMethod(SimpleInterface objectExample, int value) { - return objectExample.subtractConstantFromValue(value); - } - - public int invokeMethodFromImplementor(AbstractImplementor objectExample) { - return objectExample.constValue(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterfaceImpl.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterfaceImpl.java deleted file mode 100644 index 52ef702f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/SimpleInterfaceImpl.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.invokes; - -@SuppressWarnings("unused") -public class SimpleInterfaceImpl implements SimpleInterface { - public int addConstantToValue(int value) { - return value + 2; - } - - @Override - public int constValue() { - return 5; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/StaticInvokeExample.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/StaticInvokeExample.java deleted file mode 100644 index a0214f06..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/StaticInvokeExample.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.invokes; - -public class StaticInvokeExample { - public static int maxForThree(int x, short y, byte z) { - int max = maxForTwo(x, y); - - if (max > z) { - return max; - } else { - return z; - } - } - - private static int maxForTwo(int x, short y) { - if (x > y) { - return x; - } else { - return y; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeAbstractClass.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeAbstractClass.java deleted file mode 100644 index 20c95f0c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeAbstractClass.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.invokes; - -public abstract class VirtualInvokeAbstractClass { - int abstractFoo() { - return 1; - } - - int abstractBar() { - return 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeAbstractClassSucc.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeAbstractClassSucc.java deleted file mode 100644 index 9885abde..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeAbstractClassSucc.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.invokes; - -public class VirtualInvokeAbstractClassSucc extends VirtualInvokeAbstractClass { - @Override - int abstractBar() { - return 2; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeClass.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeClass.java deleted file mode 100644 index 32544abd..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeClass.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.examples.invokes; - -public class VirtualInvokeClass { - int foo(int value) { - if (value > 0) { - return 1; - } - if (value < 0) { - return 2; - } - throw new RuntimeException(); - } - - int bar() { - return 1; - } - - int fooBar() { - return bar(); - } - - Object getObject() { - return 10; - } -} - diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeClassSucc.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeClassSucc.java deleted file mode 100644 index 15a4f07f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeClassSucc.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.examples.invokes; - -public class VirtualInvokeClassSucc extends VirtualInvokeClass { - private int x; - - int returnX(VirtualInvokeClassSucc obj) { - return obj.x; - } - - @Override - int foo(int value) { - if (value > 0) { - return 1; - } - if (value < 0) { - return -1; - } - return 0; - } - - @Override - int bar() { - return 2; - } - - @Override - int fooBar() { - return bar(); - } - - @Override - Object getObject() { - return null; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeExample.java b/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeExample.java deleted file mode 100644 index 91e80e35..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/invokes/VirtualInvokeExample.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.utbot.examples.invokes; - -public class VirtualInvokeExample { - public int simpleVirtualInvoke(int value) { - VirtualInvokeClass a = new VirtualInvokeClass(); - VirtualInvokeClass b = new VirtualInvokeClassSucc(); - - int aValue = a.foo(value); - int bValue = b.foo(value); - return aValue * bValue; - } - - public int virtualNative() { - return Boolean.class.getModifiers(); - } - - public Object[] virtualNativeArray() { - return Integer.class.getSigners(); - } - - public int objectFromOutside(VirtualInvokeClass objectExample, int value) { - return objectExample.foo(value); - } - - public int doubleCall(VirtualInvokeClassSucc obj) { - return obj.returnX(obj); - } - - public int yetAnotherObjectFromOutside(VirtualInvokeClass objectExample) { - return objectExample.bar(); - } - - public int twoObjects(VirtualInvokeClass fst) { - VirtualInvokeClass snd = new VirtualInvokeClassSucc(); - - int aValue = fst.bar(); - int bValue = snd.bar(); - - if (aValue == bValue) { - return 1; - } - - return 2; - } - - public int nestedVirtualInvoke(VirtualInvokeClass fst) { - return fst.fooBar(); - } - - public int abstractClassInstanceFromOutsideWithoutOverrideMethods(VirtualInvokeAbstractClass fst) { - return fst.abstractFoo(); - } - - public int abstractClassInstanceFromOutside(VirtualInvokeAbstractClass fst) { - return fst.abstractBar(); - } - - /** - * Method for test a "No target for invocation" error. The inheritor will return null, the superClass will return a - * not null Integer value. It should not cause an error. - */ - public long nullValueInReturnValue(VirtualInvokeClass objectExample) { - Object value = objectExample.getObject(); - return ((Integer) value).longValue(); - } - - public int quasiImplementationInvoke() { - DefaultInterface object = new DerivedClass(); - return object.foo(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/CustomPredicateExample.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/CustomPredicateExample.java deleted file mode 100644 index bb1d417c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/CustomPredicateExample.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.utbot.examples.lambda; - -public class CustomPredicateExample { - static int someStaticField = 5; - int someNonStaticField = 10; - - public boolean noCapturedValuesPredicateCheck(PredicateNoCapturedValues predicate, int x) { - //noinspection RedundantIfStatement - if (predicate.test(x)) { - return true; - } else { - return false; - } - } - - public boolean capturedLocalVariablePredicateCheck(PredicateCapturedLocalVariable predicate, int x) { - //noinspection RedundantIfStatement - if (predicate.test(x)) { - return true; - } else { - return false; - } - } - - public boolean capturedParameterPredicateCheck(PredicateCapturedParameter predicate, int x) { - //noinspection RedundantIfStatement - if (predicate.test(x)) { - return true; - } else { - return false; - } - } - - public boolean capturedStaticFieldPredicateCheck(PredicateCapturedStaticField predicate, int x) { - //noinspection RedundantIfStatement - if (predicate.test(x)) { - return true; - } else { - return false; - } - } - - public boolean capturedNonStaticFieldPredicateCheck(PredicateCapturedNonStaticField predicate, int x) { - //noinspection RedundantIfStatement - if (predicate.test(x)) { - return true; - } else { - return false; - } - } - - // this method contains implementation of functional interface 'CustomPredicate' - void someLambdas(int someParameter) { - PredicateNoCapturedValues predicate1 = (x) -> x == 5; - - int localVariable = 10; - PredicateCapturedLocalVariable predicate2 = (x) -> x + localVariable == 5; - - PredicateCapturedParameter predicate3 = (x) -> x + someParameter == 5; - - PredicateCapturedStaticField predicate4 = (x) -> x + someStaticField == 5; - - PredicateCapturedNonStaticField predicate5 = (x) -> x + someNonStaticField == 5; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedLocalVariable.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedLocalVariable.java deleted file mode 100644 index 04277c96..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedLocalVariable.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.lambda; - -/** - * This functional interface is implemented via one lambda in {@link CustomPredicateExample#someLambdas}. - * - * DO NOT implement it anymore, because test on {@link CustomPredicateExample#capturedLocalVariablePredicateCheck} - * relies on the fact that there is only one implementation and that implementation is lambda. - * In addition, in this case we want the implementing lambda to capture some local variable. - * - * It is important because we want to test how we generate tests when the only available implementation is lambda, - * and we want to check different cases: with or without captured values. Note that lambdas may capture - * local variables, method parameters, static and non-static fields. That is why we have multiple functional interfaces - * in this package: one for each case. - */ -@FunctionalInterface -public interface PredicateCapturedLocalVariable { - boolean test(T value); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedNonStaticField.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedNonStaticField.java deleted file mode 100644 index 16a352f7..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedNonStaticField.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.lambda; - -/** - * This functional interface is implemented via one lambda in {@link CustomPredicateExample#someLambdas}. - * - * DO NOT implement it anymore, because test on {@link CustomPredicateExample#capturedNonStaticFieldPredicateCheck} - * relies on the fact that there is only one implementation and that implementation is lambda. - * In addition, in this case we want the implementing lambda to capture some non-static field of a class. - * - * It is important because we want to test how we generate tests when the only available implementation is lambda, - * and we want to check different cases: with or without captured values. Note that lambdas may capture - * local variables, method parameters, static and non-static fields. That is why we have multiple functional interfaces - * in this package: one for each case. - */ -@FunctionalInterface -public interface PredicateCapturedNonStaticField { - boolean test(T value); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedParameter.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedParameter.java deleted file mode 100644 index c0f38c7d..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedParameter.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.lambda; - -/** - * This functional interface is implemented via one lambda in {@link CustomPredicateExample#someLambdas}. - * - * DO NOT implement it anymore, because test on {@link CustomPredicateExample#capturedParameterPredicateCheck} - * relies on the fact that there is only one implementation and that implementation is lambda. - * In addition, in this case we want the implementing lambda to capture some method parameter. - * - * It is important because we want to test how we generate tests when the only available implementation is lambda, - * and we want to check different cases: with or without captured values. Note that lambdas may capture - * local variables, method parameters, static and non-static fields. That is why we have multiple functional interfaces - * in this package: one for each case. - */ -@FunctionalInterface -public interface PredicateCapturedParameter { - boolean test(T value); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedStaticField.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedStaticField.java deleted file mode 100644 index 9dfaaaff..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateCapturedStaticField.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.lambda; - -/** - * This functional interface is implemented via one lambda in {@link CustomPredicateExample#someLambdas}. - * - * DO NOT implement it anymore, because test on {@link CustomPredicateExample#capturedStaticFieldPredicateCheck} - * relies on the fact that there is only one implementation and that implementation is lambda. - * In addition, in this case we want the implementing lambda to capture some static field of some class. - * - * It is important because we want to test how we generate tests when the only available implementation is lambda, - * and we want to check different cases: with or without captured values. Note that lambdas may capture - * local variables, method parameters, static and non-static fields. That is why we have multiple functional interfaces - * in this package: one for each case. - */ -@FunctionalInterface -public interface PredicateCapturedStaticField { - boolean test(T value); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateNoCapturedValues.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateNoCapturedValues.java deleted file mode 100644 index 57d3974e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateNoCapturedValues.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.lambda; - -/** - * This functional interface is implemented via one lambda in {@link CustomPredicateExample#someLambdas}. - * - * DO NOT implement it anymore, because test on {@link CustomPredicateExample#noCapturedValuesPredicateCheck} - * relies on the fact that there is only one implementation and that implementation is lambda. - * In addition, in this case we want the implementing lambda to not capture any values. - * - * It is important because we want to test how we generate tests when the only available implementation is lambda, - * and we want to check different cases: with or without captured values. Note that lambdas may capture - * local variables, method parameters, static and non-static fields. That is why we have multiple functional interfaces - * in this package: one for each case. - */ -@FunctionalInterface -public interface PredicateNoCapturedValues { - boolean test(T value); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateNotExample.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateNotExample.java deleted file mode 100644 index 33397507..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/PredicateNotExample.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.lambda; - -import java.util.function.*; - -public class PredicateNotExample { - public boolean predicateNotExample(int a) { - if (Predicate.not(i -> i.equals(5)).test(a)) { - return true; - } else { - return false; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/SimpleLambdaExamples.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/SimpleLambdaExamples.java deleted file mode 100644 index c74a5f60..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/SimpleLambdaExamples.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.lambda; - -import java.util.function.BiFunction; -import java.util.function.Predicate; - -public class SimpleLambdaExamples { - public int biFunctionLambdaExample(int a, int b) { - BiFunction division = (numerator, divisor) -> numerator / divisor; - - return division.apply(a, b); - } - - @SuppressWarnings("Convert2MethodRef") - public Predicate choosePredicate(boolean isNotNullPredicate) { - if (isNotNullPredicate) { - return (o -> o != null); - } else { - return (o -> o == null); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/lambda/ThrowingWithLambdaExample.java b/utbot-sample/src/main/java/org/utbot/examples/lambda/ThrowingWithLambdaExample.java deleted file mode 100644 index acbc77ce..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/lambda/ThrowingWithLambdaExample.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.lambda; - -import org.utbot.api.mock.UtMock; - -public class ThrowingWithLambdaExample { - // This example mostly checks that we can construct non-static lambda even if it's init section was not analyzed - // (e.g., an exception was thrown before it). - boolean anyExample(int[] values, IntPredicate predicate) { - UtMock.assume(predicate != null); - - for (int value : values) { - if (predicate.test(value)) { - return true; - } - } - - return false; - } - - // To make this lambda non-static, we need to make it use `this` instance. - @SuppressWarnings({"unused", "ConstantConditions"}) - IntPredicate nonStaticIntPredicate = x -> this != null && x == 42; - - interface IntPredicate { - boolean test(int value); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/make/symbolic/ClassWithComplicatedMethods.java b/utbot-sample/src/main/java/org/utbot/examples/make/symbolic/ClassWithComplicatedMethods.java deleted file mode 100644 index 651dd35d..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/make/symbolic/ClassWithComplicatedMethods.java +++ /dev/null @@ -1,81 +0,0 @@ -package org.utbot.examples.make.symbolic; - -import org.utbot.api.mock.UtMock; - -public class ClassWithComplicatedMethods { - int a = 15; - - // Do not substitute this one, result should be positive - public ClassWithComplicatedMethods(int a, int b) { - UtMock.assume(a > 10); - UtMock.assume(b > 10); - - this.a = a + b; - } - - // This one should be substituted, the result should be negative because of the substitution - public ClassWithComplicatedMethods(double a, double b) { - UtMock.assume(a > 0); - UtMock.assume(b > 0); - - this.a = (int) (a + b); - } - - public ClassWithComplicatedMethods createWithOriginalConstructor(int a, int b) { - return new ClassWithComplicatedMethods(a, b); - } - - ClassWithComplicatedMethods createWithSubstitutedConstructor(double a, double b) { - return new ClassWithComplicatedMethods(a, b); - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public ClassWithComplicatedMethods applyMethodWithSideEffectAndReturn(int x) { - methodWithSideEffect(x); - - if (a == 2821) { - return this; - } else { - this.a = 10; - return this; - } - } - - // return `this` with a > 100 and at the beginning x != this.a - public ClassWithComplicatedMethods returnSubstitutedMethod(int x) { - return constructComplicatedMethod(x); - } - - public double sqrt2() { - return Math.sqrt(2); - } - - private ClassWithComplicatedMethods constructComplicatedMethod(int x) { - this.a = x + 100; - return this; - } - - private void methodWithSideEffect(int x) { - UtMock.assume(a == 15); - UtMock.assume(x > 0); - - if (Math.sqrt(x) == x) { - a = 2821; - } else { - a = 2822; - } - } - - // UtMock.assume must not be mocked by the engine - @SuppressWarnings("ConstantConditions") - public int assumesWithMocks(int x) { - UtMock.assume(x > 5); - UtMock.assume(x < 8); - - if (x > 5 && x < 8) { - return 1; - } else { - return 2; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/make/symbolic/ComplicatedMethodsSubstitutionsStorage.java b/utbot-sample/src/main/java/org/utbot/examples/make/symbolic/ComplicatedMethodsSubstitutionsStorage.java deleted file mode 100644 index 195ba1cb..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/make/symbolic/ComplicatedMethodsSubstitutionsStorage.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.examples.make.symbolic; - -import org.utbot.api.annotation.UtClassMock; -import org.utbot.api.annotation.UtConstructorMock; -import org.utbot.api.mock.UtMock; - -@UtClassMock(target = ClassWithComplicatedMethods.class) -public class ComplicatedMethodsSubstitutionsStorage { - int a; - - @UtConstructorMock - public ComplicatedMethodsSubstitutionsStorage(double a, double b) { - UtMock.assume(a < 0); - UtMock.assume(b < 0); - - this.a = (int) (a + b); - } - - public ComplicatedMethodsSubstitutionsStorage constructComplicatedMethod(int x) { - UtMock.assume(x > 100); - UtMock.assume(x != a); - - this.a = x; - return this; - } - - public void methodWithSideEffect(int x) { - UtMock.assume(a == 15); - UtMock.assume(x > 0); - - double result = Math.sqrt(x); - - if (result == x) { - a = 2821; - } else { - a = 2822; - } - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/math/BitOperators.java b/utbot-sample/src/main/java/org/utbot/examples/math/BitOperators.java deleted file mode 100644 index 31b582d8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/math/BitOperators.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.examples.math; - -public class BitOperators { - public boolean complement(int x) { - return (~x) == 1; - } - - public boolean xor(int x, int y) { - return (x ^ y) == 0; - } - - public boolean or(int x) { - return (x | 7) == 15; // x must have 1,2,3 bits as any, 4th bit set, all others unset - } - - public boolean and(int x) { - return (x & (x - 1)) == 0; - } - - @SuppressWarnings("ConstantConditions") - public int booleanNot(boolean a, boolean b) { - boolean d = a && b; - boolean e = !a || b; - return d && e ? 100 : 200; - } - - public boolean booleanXor(boolean a, boolean b) { - return a ^ b; - } - - public boolean booleanOr(boolean a, boolean b) { - return a | b; - } - - public boolean booleanAnd(boolean a, boolean b) { - return a & b; - } - - public int booleanXorCompare(boolean a, boolean b) { - return (a ^ b) ? 1 : 0; - } - - public boolean shl(int x) { - return (x << 1) == 2; - } - - public boolean shlLong(long x) { - return (x << 1) == 2; - } - - @SuppressWarnings("ShiftOutOfRange") - public int shlWithBigLongShift(long shift) { - if (shift < 40) { - return 1; - } - return (0x77777777 << shift) == 0x77777770 ? 2 : 3; - } - - public boolean shr(int x) { - return (x >> 1) == 1; - } - - public boolean shrLong(long x) { - return (x >> 1) == 1; - } - - public boolean ushr(int x) { - return (x >>> 1) == 1; - } - - public boolean ushrLong(long x) { - return (x >>> 1) == 1; - } - - @SuppressWarnings("UseCompareMethod") - public int sign(int x) { - // Integer::signum - int i = (x >> 31) | (-x >>> 31); - - if (i > 0) { - return 1; - } else if (i == 0) { - return 0; - } else { - return -1; - } - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/math/DivRemExamples.java b/utbot-sample/src/main/java/org/utbot/examples/math/DivRemExamples.java deleted file mode 100644 index 50a89fd8..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/math/DivRemExamples.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.math; - -public class DivRemExamples { - public int div(int x, int y) { - return x / y; - } - - public int rem(int x, int y) { - return x % y; - } - - public boolean remPositiveConditional(int d) { - return (11 % d == 2); - } - - public boolean remNegativeConditional(int d) { - return (-11 % d == -2); - } - - - public boolean remWithConditions(int d) { - return d >= 0 && (-11 % d == -2); - } - - public double remDoubles(double x, double y) { - return x % y; - } - - public double remDoubleInt(double x, int y) { - return x % y; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/math/DoubleFunctions.java b/utbot-sample/src/main/java/org/utbot/examples/math/DoubleFunctions.java deleted file mode 100644 index e75941f3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/math/DoubleFunctions.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.math; - -import org.utbot.api.mock.UtMock; - -public class DoubleFunctions { - public double hypo(double a, double b) { - UtMock.assume(1.0 < a && a < 10.0); - UtMock.assume(1.0 < b && b < 10.0); - - return Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2)); - } - - @SuppressWarnings("ManualMinMaxCalculation") - public double max(double a, double b) { - return a > b ? a : b; - } - - public double circleSquare(double r) { - if (r < 0 || Double.isNaN(r) || r > 10000) { - throw new IllegalArgumentException(); - } - double square = Math.PI * r * r; - if (square > 777.85) { - return square; - } else { - return 0; - } - } - - public int numberOfRootsInSquareFunction(double a, double b, double c) { - UtMock.assume(!(Double.isNaN(a) || Double.isNaN(b) || Double.isNaN(c))); - - double result = b * b - 4 * a * c; - if (result > 0) { - return 2; - } else if (result == 0) { - return 1; - } - return 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/math/OverflowExamples.java b/utbot-sample/src/main/java/org/utbot/examples/math/OverflowExamples.java deleted file mode 100644 index 271139ab..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/math/OverflowExamples.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.examples.math; - -public class OverflowExamples { - public byte byteAddOverflow(byte x, byte y) { - return (byte) (x + y); - } - public byte byteWithIntOverflow(byte x, int y) { - return (byte) (x + y); - } - public byte byteMulOverflow(byte x, byte y) { - return (byte) (x * y); - } - public byte byteSubOverflow(byte x, byte y) { - return (byte) (x - y); - } - - public short shortAddOverflow(short x, short y) { - return (short) (x + y); - } - public short shortMulOverflow(short x, short y) { - return (short) (x * y); - } - public short shortSubOverflow(short x, short y) { - return (short) (x - y); - } - - public int intAddOverflow(int x, int y) { - return x + y; - } - public int intSubOverflow(int x, int y) { - return x - y; - } - public int intMulOverflow(int x, int y) { - return x * y; - } - - public int intCubeOverflow(int x) { - return x * x * x; - } - - public long longAddOverflow(long x, long y) { - return x + y; - } - public long longSubOverflow(long x, long y) { - return x - y; - } - public long longMulOverflow(long x, long y) { - return x * y; - } - - public int incOverflow(int x) { - return x + 1; - } - - public int intOverflow(int x, int y) { - if (x * x * x > 0) { // possible overflow - if (x > 0 && y == 10) { - return 1; - } - } else { - if (x > 0 && y == 20) { - return 2; - } - } - return 0; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/LoggerExample.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/LoggerExample.java deleted file mode 100644 index f0685797..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/LoggerExample.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.mixed; - -import org.utbot.examples.objects.ObjectWithPrimitivesClass; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class LoggerExample { - private static final Logger logger = LoggerFactory.getLogger(ObjectWithPrimitivesClass.class); - - public int example() { - int a = 5; - int b = 10; - - int sum = a + b; - - logger.debug("Debug info"); - logger.error("An error"); - logger.info("Info"); - - return sum; - } - - public int loggerUsage() { - if (logger.isDebugEnabled()) { - return 1; - } else { - return 2; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/MonitorUsage.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/MonitorUsage.java deleted file mode 100644 index 38aa2d22..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/MonitorUsage.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.mixed; - -public class MonitorUsage { - public int simpleMonitor(int x) { - int y; - if (x > 0) { - synchronized (this) { - y = x + 2; - } - } else { - y = -1; - } - return y > 0 ? 1 : 0; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/Overload.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/Overload.java deleted file mode 100644 index bbf36d7c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/Overload.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.examples.mixed; - -public class Overload { - public int sign(int x) { - if (x > 0) { - return 1; - } else if (x < 0) { - return -1; - } else { - return 0; - } - } - - public int sign(int x, int y) { - if (x + y > 0) { - return 1; - } else if (x + y < 0) { - return -1; - } else { - return 0; - } - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/PrivateConstructorExample.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/PrivateConstructorExample.java deleted file mode 100644 index 4e1e2e22..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/PrivateConstructorExample.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.examples.mixed; - -/** - * This class is used for testing the engine behavior - * when working with classes that have only - * private constructors - */ -public class PrivateConstructorExample { - int a, b; - - private PrivateConstructorExample(int a, int b) { - this.a = a; - this.b = b; - } - - public int limitedSub(int limit) { - int sub = a - b; - if (sub >= limit) { - return sub; - } - return limit; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/SerializableExample.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/SerializableExample.java deleted file mode 100644 index b5456054..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/SerializableExample.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.mixed; - -import java.io.File; - -public class SerializableExample { - public void example() { - join("string", File.separator, System.currentTimeMillis()); - } - - public static String join(T... elements) { - return null; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/SimpleNoCondition.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/SimpleNoCondition.java deleted file mode 100644 index b8ce8a34..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/SimpleNoCondition.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.mixed; - -public class SimpleNoCondition { - - public int basicAdd(int a, int b) { - return a + b; - } - - public int basicXorInt(int a, int b) { - return a ^ b; - } - - public boolean basicXorBoolean(boolean a, boolean b) { - return a ^ b; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/Simplifier.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/Simplifier.java deleted file mode 100644 index b0f7730a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/Simplifier.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.mixed; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.objects.ObjectWithPrimitivesClass; - -public class Simplifier { - public ObjectWithPrimitivesClass simplifyAdditionWithZero(ObjectWithPrimitivesClass fst) { - UtMock.assume(fst != null); - - fst.x = 0; - - fst.x += fst.shortValue; - - return fst; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mixed/StaticMethodExamples.java b/utbot-sample/src/main/java/org/utbot/examples/mixed/StaticMethodExamples.java deleted file mode 100644 index 54602a50..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mixed/StaticMethodExamples.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.examples.mixed; - -public class StaticMethodExamples { - public static boolean complement(int x) { - return (~x) == 1; - } - - public static int max2(int x, short y) { - if (x > y) { - return x; - } else { - return y; - } - } - - public static long sum(int x, short y, byte z) { - int sum = x + y + z; - if (sum > 20 || sum < -20) { - return sum * 2L; - } - return sum; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/CommonMocksExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/CommonMocksExample.java deleted file mode 100644 index d65209b3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/CommonMocksExample.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.mock.others.Random; -import org.utbot.examples.mock.service.impl.ExampleClass; -import org.utbot.examples.objects.ObjectWithFinalStatic; -import org.utbot.examples.objects.RecursiveTypeClass; - -public class CommonMocksExample { - public Object mockInterfaceWithoutImplementors(InterfaceWithoutImplementors value) { - return value.visit(this); - } - - public int doNotMockHashCode(ExampleClass exampleClass) { - return exampleClass.hashCode(); - } - - public boolean doNotMockEquals(ExampleClass fst, ExampleClass snd) { - return fst.equals(snd); - } - - public RecursiveTypeClass nextValue(RecursiveTypeClass node) { - if (node.next == node) { - return node; - } - - node.next.value = node.value + 1; - - return node; - } - - // We should not mock clinit section. - public int clinitMockExample() { - if (ObjectWithFinalStatic.keyValue == 0) { - return ObjectWithFinalStatic.keyValue; - } else { - return -ObjectWithFinalStatic.keyValue; - } - } - - public int mocksForNullOfDifferentTypes(Integer intValue, Random random) { - UtMock.assume(intValue == null); - UtMock.assume(random == null); - - return 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/InnerMockWithFieldExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/InnerMockWithFieldExample.java deleted file mode 100644 index ca147bc4..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/InnerMockWithFieldExample.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.examples.mock.others.VersionStamp; - -public class InnerMockWithFieldExample { - public VersionStamp stamp; - - public static VersionStamp checkAndUpdate(InnerMockWithFieldExample example) { - if (example.stamp.initial > example.stamp.version) { - example.stamp.version = example.stamp.initial; - } else { - example.stamp.version = example.stamp.version + 1; - } - return example.stamp; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/InterfaceWithoutImplementors.java b/utbot-sample/src/main/java/org/utbot/examples/mock/InterfaceWithoutImplementors.java deleted file mode 100644 index 8604f0d2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/InterfaceWithoutImplementors.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.mock; - -public interface InterfaceWithoutImplementors { - Object visit(Object value); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockFinalClassExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockFinalClassExample.java deleted file mode 100644 index c0212299..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockFinalClassExample.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.examples.mock.others.FinalClass; - -public class MockFinalClassExample { - FinalClass intProvider; - - int useFinalClass() { - int x = intProvider.provideInt(); - if (x == 1) { - return 1; - } else { - return 2; - } - } - -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockRandomExamples.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockRandomExamples.java deleted file mode 100644 index aaf68c1c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockRandomExamples.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.utbot.examples.mock; - -import java.security.SecureRandom; -import java.util.Random; - -/** - * Random = Random or any successors - * Cases: - * 1. Random as parameter; - * 2. Random as a field; - * 3. Random as a local variable; - */ -public class MockRandomExamples { - @SuppressWarnings("unused") - private Random random; - - public int randomAsParameter(Random random, int threshold) { - int nextInt = random.nextInt(); - if (nextInt > threshold) { - return threshold + 1; - } - return nextInt; - } - - public int randomAsField(int threshold) { - int nextInt = random.nextInt(); - if (nextInt > threshold) { - return threshold + 1; - } - return nextInt; - } - - public int randomAsLocalVariable() { - Random first = new Random(123); - Random second = new Random(123); - if (first.nextInt() + first.nextInt() + second.nextInt() > 1000) { - return second.nextInt(); - } - return new Random(123).nextInt(); - } - - public int useSecureRandom() { - Random random = new SecureRandom(); - if (random.nextInt() > 1000) { - return 1; - } - return random.nextInt(); - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockReturnObjectExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockReturnObjectExample.java deleted file mode 100644 index 5b972249..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockReturnObjectExample.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.mock.others.Generator; -import org.utbot.examples.mock.others.Locator; - -public class MockReturnObjectExample { - @SuppressWarnings("unused") - private Locator privateLocator; - public Locator publicLocator; - public Generator[] generators; - - public int calculate(int threshold) { - int a = privateLocator.locate().generateInt(); - int b = publicLocator.locate().generateInt(); - if (threshold < a + b) { - return threshold; - } - return a + b + 1; - } - - public int calculateFromArray() { - UtMock.assume(generators.length == 3); - int result = 0; - for (int i = 0; i < 3; i++) { - result += generators[i].generateInt(); - } - - if (result > 100) { - return result; - } else if (result < -100) { - return result * 10; - } - - return result; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockStaticFieldExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockStaticFieldExample.java deleted file mode 100644 index 4de83e35..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockStaticFieldExample.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.examples.mock.others.ClassWithStaticField; -import org.utbot.examples.mock.others.Generator; - -public class MockStaticFieldExample { - @SuppressWarnings("unused") - private static Generator privateGenerator; - public static Generator publicGenerator; - - public static final ClassWithStaticField staticFinalField = new ClassWithStaticField(); - public static ClassWithStaticField staticField = new ClassWithStaticField(); - - public int calculate(int threshold) { - int a = privateGenerator.generateInt(); - int b = publicGenerator.generateInt(); - if (threshold < a + b) { - return threshold; - } - return a + b + 1; - } - - // This test is associated with https://github.com/UnitTestBot/UTBotJava/issues/1533 - public int checkMocksInLeftAndRightAssignPartFinalField() { - staticFinalField.intField = 5; - staticFinalField.anotherIntField = staticFinalField.foo(); - - return staticFinalField.anotherIntField; - } - - // This test is associated with https://github.com/UnitTestBot/UTBotJava/issues/1533 - public int checkMocksInLeftAndRightAssignPart() { - staticField.intField = 5; - staticField.anotherIntField = staticField.foo(); - - return staticField.anotherIntField; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockStaticMethodExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockStaticMethodExample.java deleted file mode 100644 index 63e5902e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockStaticMethodExample.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.examples.mock.others.Random; - -public class MockStaticMethodExample { - public int useStaticMethod() { - int value = Random.nextRandomInt(); - if (value > 50) { - return 100; - } - - return 0; - } - - public void mockStaticMethodFromAlwaysMockClass() { - System.out.println("example"); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockWithFieldExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockWithFieldExample.java deleted file mode 100644 index 98e9d265..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockWithFieldExample.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.examples.mock.others.VersionStamp; - -public class MockWithFieldExample { - public VersionStamp checkAndUpdate(VersionStamp stamp) { - if (stamp.initial > stamp.version) { - stamp.version = stamp.initial; - } else { - stamp.version = stamp.version + 1; - } - return stamp; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/MockWithSideEffectExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/MockWithSideEffectExample.java deleted file mode 100644 index c3031f2b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/MockWithSideEffectExample.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.examples.mock.others.SideEffectApplier; -import org.utbot.examples.mock.service.impl.ExampleClass; -import javax.validation.constraints.NotNull; - -public class MockWithSideEffectExample { - SideEffectApplier applier; - - @SuppressWarnings({"RedundantIfStatement"}) - boolean checkSideEffect(int x) { - ExampleClass a = new ExampleClass(x); - applier.applySideEffect(a); - if (a.field != x) { - return true; - } else { - return false; - } - } - - @SuppressWarnings({"RedundantIfStatement"}) - boolean checkSideEffectElimination(@NotNull ExampleClass a) { - a.field = 1; - a.incrementField(); - if (a.field == 1) { - return true; - } else { - return false; - } - } - - @SuppressWarnings({"RedundantIfStatement"}) - boolean checkStaticMethodSideEffectElimination(@NotNull ExampleClass a) { - a.field = 1; - ExampleClass.staticIncrementField(a); - if (a.field == 1) { - return true; - } else { - return false; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/UseNetwork.java b/utbot-sample/src/main/java/org/utbot/examples/mock/UseNetwork.java deleted file mode 100644 index bd2b8440..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/UseNetwork.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.mock; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.mock.others.Network; - -public class UseNetwork { - public static int readBytes(byte[] packet, Network network) { - int res = 0; - int c; - while ((c = network.nextByte()) != -1) { - packet[res++] = (byte)c; - } - return res; - } - - public void mockVoidMethod(Network network) { - UtMock.assume(network != null); - - network.voidMethod(); - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/AliasingInParamsExample.java b/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/AliasingInParamsExample.java deleted file mode 100644 index 123d2bda..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/AliasingInParamsExample.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.mock.aliasing; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.mock.aliasing.parent.InterfaceFromAnotherPackage; - -public class AliasingInParamsExample { - int example(InterfaceFromAnotherPackage fst, ClassFromTheSamePackage snd, int x) { - UtMock.assume(fst != null && snd != null); - if (fst == snd) { - return fst.foo(x); // unreachable with package based mock approach - } else { - return snd.foo(x); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/ClassFromTheSamePackage.java b/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/ClassFromTheSamePackage.java deleted file mode 100644 index 27c56a24..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/ClassFromTheSamePackage.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.mock.aliasing; - -import org.utbot.examples.mock.aliasing.parent.InterfaceFromAnotherPackage; - -public class ClassFromTheSamePackage implements InterfaceFromAnotherPackage { - @Override - public int foo(int x) { - return x; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/parent/InterfaceFromAnotherPackage.java b/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/parent/InterfaceFromAnotherPackage.java deleted file mode 100644 index 544af5af..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/aliasing/parent/InterfaceFromAnotherPackage.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.mock.aliasing.parent; - -public interface InterfaceFromAnotherPackage { - int foo(int x); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/fields/ClassUsingClassWithRandomField.java b/utbot-sample/src/main/java/org/utbot/examples/mock/fields/ClassUsingClassWithRandomField.java deleted file mode 100644 index 7e611f3b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/fields/ClassUsingClassWithRandomField.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.mock.fields; - -public class ClassUsingClassWithRandomField { - public int useClassWithRandomField() { - ClassWithRandomField classWithRandomField = new ClassWithRandomField(); - - return classWithRandomField.nextInt(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/fields/ClassWithRandomField.java b/utbot-sample/src/main/java/org/utbot/examples/mock/fields/ClassWithRandomField.java deleted file mode 100644 index cfb9ae13..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/fields/ClassWithRandomField.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.mock.fields; - -import java.util.Random; - -public class ClassWithRandomField { - public Random random = new Random(); - - public int nextInt() { - return random.nextInt(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/ClassWithStaticField.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/ClassWithStaticField.java deleted file mode 100644 index fb6d8bbb..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/ClassWithStaticField.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.mock.others; - -public class ClassWithStaticField { - public int intField; - public int anotherIntField; - - public int foo() { - return 5; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/FinalClass.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/FinalClass.java deleted file mode 100644 index 465da63f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/FinalClass.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.examples.mock.others; - -final public class FinalClass { - public int provideInt() { - return 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Generator.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/Generator.java deleted file mode 100644 index b74d6a91..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Generator.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.mock.others; - -/** - * Simple interface, used in scenarios: - * - mock classes/interfaces from another package; - * - mock fields, static or non-static. - */ -public interface Generator { - int generateInt(); -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Locator.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/Locator.java deleted file mode 100644 index c0c0b8ea..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Locator.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.mock.others; - -/** - * Simple interface, used in scenarios: - * - mock classes/interfaces from another package; - * - mock object returned by another mock; - * - mock fields, static or non-static. - */ -public interface Locator { - Generator locate(); -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Network.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/Network.java deleted file mode 100644 index f793de7e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Network.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.examples.mock.others; - -public abstract class Network { - public abstract int nextByte(); - - public abstract void voidMethod(); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Random.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/Random.java deleted file mode 100644 index 89e11faa..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/Random.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.mock.others; - -public class Random { - public static int nextRandomInt() { - return 42; - } -} - diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/SideEffectApplier.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/SideEffectApplier.java deleted file mode 100644 index 4b114ac0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/SideEffectApplier.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.mock.others; - -import org.utbot.examples.mock.service.impl.ExampleClass; - -public class SideEffectApplier { - public void applySideEffect(ExampleClass a) { - a.field += 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/others/VersionStamp.java b/utbot-sample/src/main/java/org/utbot/examples/mock/others/VersionStamp.java deleted file mode 100644 index 0d8a7a78..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/others/VersionStamp.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.examples.mock.others; - -public class VersionStamp { - public int initial = 0; - public int version; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/provider/Provider.java b/utbot-sample/src/main/java/org/utbot/examples/mock/provider/Provider.java deleted file mode 100644 index fe2215a6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/provider/Provider.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.utbot.examples.mock.provider; - -import org.utbot.examples.mock.service.impl.ExampleClass; - -public interface Provider { - - ExampleClass provideObject(); - - boolean provideBoolean(); - - char provideCharacter(); - - byte provideByte(); - - short provideShort(); - - int provideInteger(); - - long provideLong(); - - float provideFloat(); - - double provideDouble(); - - int provideGiven(int i); - - int provideOverloaded(); - - int provideOverloaded(int i); - - int provideGivenObject(ExampleClass object); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/provider/impl/ProviderImpl.java b/utbot-sample/src/main/java/org/utbot/examples/mock/provider/impl/ProviderImpl.java deleted file mode 100644 index 60ef90b3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/provider/impl/ProviderImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.utbot.examples.mock.provider.impl; - - -import org.utbot.examples.mock.provider.Provider; -import org.utbot.examples.mock.service.impl.ExampleClass; - -public class ProviderImpl implements Provider { - - @Override - public ExampleClass provideObject() { - return new ExampleClass(0); - } - - @Override - public boolean provideBoolean() { - return true; - } - - @Override - public char provideCharacter() { - return 'a'; - } - - @Override - public byte provideByte() { - return 1; - } - - @Override - public short provideShort() { - return 1; - } - - @Override - public int provideInteger() { - return 1; - } - - @Override - public long provideLong() { - return 1; - } - - @Override - public float provideFloat() { - return 1f; - } - - @Override - public double provideDouble() { - return 1d; - } - - @Override - public int provideGiven(int i) { - return i; - } - - @Override - public int provideOverloaded() { - return 0; - } - - @Override - public int provideOverloaded(int i) { - return 0; - } - - @Override - public int provideGivenObject(ExampleClass object) { - return object.field; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/service/Service.java b/utbot-sample/src/main/java/org/utbot/examples/mock/service/Service.java deleted file mode 100644 index 8240efcf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/service/Service.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.examples.mock.service; - -import org.utbot.examples.mock.provider.impl.ProviderImpl; - -public interface Service { - - int calculateBasedOnShort(ProviderImpl provider); - - int inconsistentBoolean(ProviderImpl provider); - - int calculateBasedOnInteger(ProviderImpl provider); - - int calculateBasedOnBoolean(ProviderImpl provider); - - int calculateBasedOnCharacter(ProviderImpl provider); - - int calculateBasedOnByte(ProviderImpl provider); - - int calculateBasedOnLong(ProviderImpl provider); - - int calculateBasedOnFloat(ProviderImpl provider); - - int calculateBasedOnDouble(ProviderImpl provider); -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ExampleClass.java b/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ExampleClass.java deleted file mode 100644 index 81844037..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ExampleClass.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.mock.service.impl; - -public class ExampleClass { - public int field; - - public ExampleClass(int a) { - this.field = a; - } - - static public void staticIncrementField(ExampleClass a) { - a.field++; - } - - public void incrementField() { - field++; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ExampleClass that = (ExampleClass) o; - return field == that.field; - } - - @Override - public int hashCode() { - return field * 31; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithArguments.java b/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithArguments.java deleted file mode 100644 index 43757d22..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithArguments.java +++ /dev/null @@ -1,101 +0,0 @@ -package org.utbot.examples.mock.service.impl; - -import org.utbot.examples.mock.provider.impl.ProviderImpl; - -public class ServiceWithArguments { - - public int callMultipleMethods(ProviderImpl provider) { - if (provider.provideInteger() < provider.provideLong()) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnIntArgument(ProviderImpl provider, int i) { - if (provider.provideGiven(i) < provider.provideGiven(i + 1)) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnBoolean(ProviderImpl provider) { - return provider.provideBoolean() ? 1 : 0; - } - - public int inconsistentBoolean(ProviderImpl provider) { - if (provider.provideBoolean() && !provider.provideBoolean()) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnCharacter(ProviderImpl provider) { - final char ret = provider.provideCharacter(); - return ret > 'a' ? 1 : 0; - } - - public int calculateBasedOnByte(ProviderImpl provider) { - final byte ret = provider.provideByte(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnShort(ProviderImpl provider) { - final short ret = provider.provideShort(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnInteger(ProviderImpl provider) { - final int ret = provider.provideInteger(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnLong(ProviderImpl provider) { - final long ret = provider.provideLong(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnFloat(ProviderImpl provider) { - final float ret = provider.provideFloat(); - return ret > 1f ? 1 : 0; - } - - public int calculateBasedOnDouble(ProviderImpl provider) { - final double ret = provider.provideDouble(); - return ret > 1d ? 1 : 0; - } - - public int calculateBasedOnObject(ProviderImpl provider) { - ExampleClass object = provider.provideObject(); - if (object.field == 0) { - object.field = 1; - } else { - object.field = 0; - } - return object.field; - } - - public int calculateBasedOnOverloadedMethods(ProviderImpl provider, int i) { - int a = provider.provideOverloaded(); - int b = provider.provideOverloaded(i); - if (a < b) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnObjectArgument(ProviderImpl provider, ExampleClass object) { - if (object != null) { - object.field--; - } - int a = provider.provideGivenObject(object); - if (a < 1) { - return 1; - } else { - return 0; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithField.java b/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithField.java deleted file mode 100644 index a5820d11..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithField.java +++ /dev/null @@ -1,109 +0,0 @@ -package org.utbot.examples.mock.service.impl; - -import org.utbot.examples.mock.provider.impl.ProviderImpl; - -public class ServiceWithField { - - ProviderImpl provider; - - public int callMultipleMethods() { - if (provider.provideInteger() < provider.provideLong()) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnIntArgument(int i) { - if (provider.provideGiven(i) < provider.provideGiven(i + 1)) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnBoolean() { - return provider.provideBoolean() ? 1 : 0; - } - - public int inconsistentBoolean() { - if (provider.provideBoolean() && !provider.provideBoolean()) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnCharacter() { - final char ret = provider.provideCharacter(); - return ret > 'a' ? 1 : 0; - } - - public int calculateBasedOnByte() { - final byte ret = provider.provideByte(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnShort() { - final short ret = provider.provideShort(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnInteger() { - final int ret = provider.provideInteger(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnLong() { - final long ret = provider.provideLong(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnFloat() { - final float ret = provider.provideFloat(); - return ret > 1f ? 1 : 0; - } - - public int calculateBasedOnDouble() { - final double ret = provider.provideDouble(); - return ret > 1d ? 1 : 0; - } - - public int calculateBasedOnObject() { - ExampleClass object = provider.provideObject(); - if (object.field == 0) { - object.field = 1; - } else { - object.field = 0; - } - return object.field; - } - - public int calculateBasedOnOverloadedMethods(int i) { - int a = provider.provideOverloaded(); - int b = provider.provideOverloaded(i); - if (a < b) { - return 1; - } else { - return 0; - } - } - - @SuppressWarnings("ConstantConditions") - public int calculateBasedOnObjectArgument(ExampleClass object) { - if (object != null) { - object.field--; - } - int a = provider.provideGivenObject(object); - if (a < 1) { - return 1; - } else { - return 0; - } - } - - public static int staticCalculateBasedOnInteger(ServiceWithField service) { - final int ret = service.provider.provideInteger(); - return ret > 5 ? 1 : 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithStaticField.java b/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithStaticField.java deleted file mode 100644 index a5b411e9..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/mock/service/impl/ServiceWithStaticField.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.utbot.examples.mock.service.impl; - -import org.utbot.examples.mock.provider.impl.ProviderImpl; - -public class ServiceWithStaticField { - - static ProviderImpl provider; - - public int callMultipleMethods() { - if (provider.provideInteger() < provider.provideLong()) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnIntArgument(int i) { - if (provider.provideGiven(i) < provider.provideGiven(i + 1)) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnBoolean() { - return provider.provideBoolean() ? 1 : 0; - } - - public int inconsistentBoolean() { - if (provider.provideBoolean() && !provider.provideBoolean()) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnCharacter() { - final char ret = provider.provideCharacter(); - return ret > 'a' ? 1 : 0; - } - - public int calculateBasedOnByte() { - final byte ret = provider.provideByte(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnShort() { - final short ret = provider.provideShort(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnInteger() { - final int ret = provider.provideInteger(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnLong() { - final long ret = provider.provideLong(); - return ret > 5 ? 1 : 0; - } - - public int calculateBasedOnFloat() { - final float ret = provider.provideFloat(); - return ret > 1f ? 1 : 0; - } - - public int calculateBasedOnDouble() { - final double ret = provider.provideDouble(); - return ret > 1d ? 1 : 0; - } - - public int calculateBasedOnObject() { - ExampleClass object = provider.provideObject(); - if (object.field == 0) { - object.field = 1; - } else { - object.field = 0; - } - return object.field; - } - - public int calculateBasedOnOverloadedMethods(int i) { - int a = provider.provideOverloaded(); - int b = provider.provideOverloaded(i); - if (a < b) { - return 1; - } else { - return 0; - } - } - - public int calculateBasedOnObjectArgument(ExampleClass object) { - if (object != null) { - object.field--; - } - int a = provider.provideGivenObject(object); - if (a < 1) { - return 1; - } else { - return 0; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/models/CompositeModelMinimizationExample.java b/utbot-sample/src/main/java/org/utbot/examples/models/CompositeModelMinimizationExample.java deleted file mode 100644 index 6138ac57..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/models/CompositeModelMinimizationExample.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.examples.models; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.objects.WrappedInt; - -public class CompositeModelMinimizationExample { - public boolean singleNotNullArgumentInitializationRequired(WrappedInt a) { - UtMock.assume(a != null); - return a.getValue() == 1; - } - - public boolean sameArgumentsInitializationRequired(WrappedInt a, WrappedInt b) { - UtMock.assume(a == b); - return b.getValue() == 1; - } - - public boolean distinctNotNullArgumentsSecondInitializationNotExpected(WrappedInt a, WrappedInt b) { - UtMock.assume(a != null && b != null && a != b); - return a.getValue() == 1; - } - - public boolean distinctNotNullArgumentsInitializationRequired(WrappedInt a, WrappedInt b) { - UtMock.assume(a != null && b != null && a != b); - return a.getValue() + 1 != b.getValue(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/models/ModelsIdEqualityExample.java b/utbot-sample/src/main/java/org/utbot/examples/models/ModelsIdEqualityExample.java deleted file mode 100644 index 63d0223f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/models/ModelsIdEqualityExample.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.utbot.examples.models; - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.objects.SimpleDataClass; -import java.util.List; - -public class ModelsIdEqualityExample { - public ObjectWithRefFieldClass objectItself(ObjectWithRefFieldClass obj) { - UtMock.assume(obj != null); - return obj; - } - - public SimpleDataClass refField(ObjectWithRefFieldClass obj) { - UtMock.assume(obj != null && obj.refField != null); - return obj.refField; - } - - public int[] arrayField(ObjectWithRefFieldClass obj) { - UtMock.assume(obj != null && obj.arrayField != null); - return obj.arrayField; - } - - public int[] arrayItself(int[] array) { - UtMock.assume(array != null); - return array; - } - - public int[] subArray(int[][] array) { - UtMock.assume(array != null && array.length == 1 && array[0] != null); - return array[0]; - } - - public Integer[] subRefArray(Integer[][] array) { - UtMock.assume(array != null && array.length == 1 && array[0] != null); - return array[0]; - } - - public List wrapperExample(List list) { - UtMock.assume(list != null); - return list; - } - - public SimpleDataClass objectFromArray(SimpleDataClass[] array) { - UtMock.assume(array != null && array.length == 1 && array[0] != null); - return array[0]; - } - - public SimpleDataClass staticSetter(SimpleDataClass obj) { - UtMock.assume(obj != null); - SimpleDataClass.staticField = obj; - return SimpleDataClass.staticField; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/models/ObjectWithRefFieldClass.java b/utbot-sample/src/main/java/org/utbot/examples/models/ObjectWithRefFieldClass.java deleted file mode 100644 index d54500d2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/models/ObjectWithRefFieldClass.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.models; - -import org.utbot.examples.objects.SimpleDataClass; - -public class ObjectWithRefFieldClass { - public SimpleDataClass refField; - public int[] arrayField; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/natives/NativeExamples.java b/utbot-sample/src/main/java/org/utbot/examples/natives/NativeExamples.java deleted file mode 100644 index 5b68b551..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/natives/NativeExamples.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.examples.natives; - -/** - * A class with test cases containing calls to java.lang code - * which uses static fields like System.out - */ -public class NativeExamples { - - public int findAndPrintSum(int a, int b) { - int sum = a + b; - System.out.println("Sum: " + sum); - System.err.print(sum); - return sum; - } - - public double findSumWithMathRandom(double a) { - double b = Math.random(); - return a + b; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/nested/DeepNested.java b/utbot-sample/src/main/java/org/utbot/examples/nested/DeepNested.java deleted file mode 100644 index 0c9ba5e6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/nested/DeepNested.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.examples.nested; - -public class DeepNested { - public class Nested1 { - public class Nested2 { - public int f(int i) { - if (i > 0) { - return 10; - } - return 0; - } - } - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/AbstractAnonymousClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/AbstractAnonymousClass.java deleted file mode 100644 index d09da113..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/AbstractAnonymousClass.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.utbot.examples.objects; - -abstract class AbstractAnonymousClass { - abstract int constValue(); - abstract int add(int x); - - public int methodWithoutOverrides(int x, int y) { - return y + addFortyTwo(x); - } - - public int methodWithOverride(int x, int y) { - return y + addNumber(x); - } - - public int addFortyTwo(int x) { - return x + 42; - } - - public int addNumber(int x) { - return x + 27; - } - - public static AbstractAnonymousClass getInstance(int x) { - if (x % 2 == 0) { - return new AnonymousClassAlternative(); - } - - return new AbstractAnonymousClass() { - @Override - int constValue() { - return 42; - } - - @Override - int add(int x) { - return x + 15; - } - - @Override - public int methodWithOverride(int x, int y) { - return x + 37; - } - }; - } -} - -class AnonymousClassAlternative extends AbstractAnonymousClass { - @Override - int constValue() { - return 0; - } - - @Override - int add(int x) { - return x + 1; - } - - @Override - public int methodWithOverride(int x, int y) { - return x + 17; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/AnonymousClassesExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/AnonymousClassesExample.java deleted file mode 100644 index 81288724..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/AnonymousClassesExample.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.examples.objects; - -public class AnonymousClassesExample { - static final AbstractAnonymousClass staticAnonymousClass = AbstractAnonymousClass.getInstance(1); - @SuppressWarnings("FieldMayBeFinal") - static AbstractAnonymousClass nonFinalAnonymousStatic = AbstractAnonymousClass.getInstance(1); - - public int anonymousClassAsParam(AbstractAnonymousClass abstractAnonymousClass) { - return abstractAnonymousClass.constValue(); - } - - public int anonymousClassAsStatic() { - return staticAnonymousClass.constValue(); - } - - public int nonFinalAnonymousStatic() { - return nonFinalAnonymousStatic.constValue(); - } - - public AbstractAnonymousClass anonymousClassAsResult() { - int x = 1; - return AbstractAnonymousClass.getInstance(x); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassForTestClinitSections.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ClassForTestClinitSections.java deleted file mode 100644 index f037e882..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassForTestClinitSections.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.objects; - -public class ClassForTestClinitSections { - private static int x = 5; - - public int resultDependingOnStaticSection() { - if (x == 5) { - return -1; - } - - return 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassRef.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ClassRef.java deleted file mode 100644 index 0be4ec8b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassRef.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.examples.objects; - -import java.util.ArrayList; -import java.util.List; - -@SuppressWarnings("ConstantConditions") -public class ClassRef { - public Class takeBooleanClassRef() { - return boolean.class; - } - - public Class takeClassRef() { - return ClassRef.class; - } - - public Class takeClassRefFromParam(ClassRef classRef) { - return classRef.getClass(); - } - - public Class takeArrayClassRef() { - return ClassRef[].class; - } - - public Class twoDimArrayClassRef() { - return ClassRef[][].class; - } - - public Class twoDimArrayClassRefFromParam(ClassRef[][] classRef) { - return classRef.getClass(); - } - - public Class takeConstantClassRef() { - return ClassRef.class; - } - - @SuppressWarnings("ConstantConditions") - public boolean equalityOnClassRef() { - ClassRef ref1 = new ClassRef(); - ClassRef ref2 = new ClassRef(); - return ref1.getClass() == ref2.getClass(); - } - - public boolean equalityOnStringClassRef() { - String a = "a"; - String b = "b"; - return a.getClass() == b.getClass(); - } - - public boolean equalityOnArrayClassRef() { - int[] a = {1, 2}; - int[] b = {3, 4}; - return a.getClass() == b.getClass(); - } - - public boolean twoDimensionalArrayClassRef() { - int[][] a = {{1, 2}, {3, 4}}; - int[][] b = {{4, 3}, {2, 1}}; - - return a.getClass() == b.getClass(); - } - - public boolean equalityOnGenericClassRef() { - List ints = new ArrayList<>(); - List longs = new ArrayList<>(); - return ints.getClass() == longs.getClass(); - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassWithClassRef.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ClassWithClassRef.java deleted file mode 100644 index aa745378..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassWithClassRef.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.objects; - -import java.util.List; - -public class ClassWithClassRef { - protected Class> someListClass; - - public String classRefName() { - return someListClass.getName(); - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassWithPrivateField.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ClassWithPrivateField.java deleted file mode 100644 index 45a74c79..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ClassWithPrivateField.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.objects; - -public class ClassWithPrivateField { - private int a; - - public int getA() { - return a; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersExample.java deleted file mode 100644 index 16cf7f50..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersExample.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.examples.objects; - -public class HiddenFieldAccessModifiersExample { - public boolean checkSuperFieldEqualsOne(HiddenFieldAccessModifiersSucc b) { - return b.getF() == 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersSucc.java b/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersSucc.java deleted file mode 100644 index ba200f17..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersSucc.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.objects; - -public class HiddenFieldAccessModifiersSucc extends HiddenFieldAccessModifiersSuper { - private int f; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersSuper.java b/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersSuper.java deleted file mode 100644 index 1d819d71..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldAccessModifiersSuper.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.objects; - -public class HiddenFieldAccessModifiersSuper { - public int f; - public int getF() { - return this.f; - } - public void setF(int val) { - this.f = val; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldExample.java deleted file mode 100644 index b9caae22..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldExample.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.utbot.examples.objects; - -import org.utbot.api.mock.UtMock; - -public class HiddenFieldExample { - public int checkHiddenField(HiddenFieldSuperClass o) { - UtMock.assume(!(o instanceof HiddenFieldSuccClass)); - - if (o.a == 1 && o.b == 2) { - return 1; - } - return 2; - } - - public int checkSuccField(HiddenFieldSuccClass o) { - if (o.a == 1) { - return 1; - } - if (o.b == 2) { - return 2; - } - if (((HiddenFieldSuperClass) o).b == 3) { - return 3; - } - return 4; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldSuccClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldSuccClass.java deleted file mode 100644 index 9f706cef..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldSuccClass.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.objects; - -public class HiddenFieldSuccClass extends HiddenFieldSuperClass { - public double b; -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldSuperClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldSuperClass.java deleted file mode 100644 index 29f40700..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/HiddenFieldSuperClass.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.objects; - -public class HiddenFieldSuperClass { - public int a, b; -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/LocalClassExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/LocalClassExample.java deleted file mode 100644 index 6c6ddcc5..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/LocalClassExample.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.objects; - -public class LocalClassExample { - int localClassFieldExample(int y) { - class LocalClass { - final int x; - - public LocalClass(int x) { - this.x = x; - } - } - - LocalClass localClass = new LocalClass(42); - - return localClass.x + y; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ModelMinimizationExamples.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ModelMinimizationExamples.java deleted file mode 100644 index 148aef2c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ModelMinimizationExamples.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.utbot.examples.objects; - -import org.utbot.api.mock.UtMock; - -public class ModelMinimizationExamples { - public boolean singleValueComparison(WrappedIntQuad quad) { - WrappedIntQuad other = new WrappedIntQuad(); - return other.a.getValue() == quad.a.getValue(); - } - - public boolean singleValueComparisonNotNull(WrappedIntQuad quad) { - UtMock.assume(quad != null && quad.a != null); - WrappedIntQuad other = new WrappedIntQuad(); - return other.a.getValue() == quad.a.getValue(); - } - - public boolean singleFieldComparisonExample(WrappedIntQuad quad) { - WrappedIntQuad other = new WrappedIntQuad(); - return other.a == quad.a; - } - - public boolean conditionCheckANe(WrappedInt a, WrappedInt b) { - UtMock.assume(a != null && b != null && a != b); - int aValue = a.getValue(); - if (aValue == 42) { - return true; - } - - return aValue <= 0; - } - - public boolean conditionCheckAEq(WrappedInt a, WrappedInt b) { - UtMock.assume(a != null && a == b); - int aValue = a.getValue(); - if (aValue == 42) { - return true; - } - - return aValue <= 0; - } - - public boolean conditionCheckBNe(WrappedInt a, WrappedInt b) { - UtMock.assume(a != null && b != null && a != b); - int bValue = b.getValue(); - if (bValue == 42) { - return true; - } - - return bValue <= 0; - } - - public boolean conditionCheckBEq(WrappedInt a, WrappedInt b) { - UtMock.assume(a != null && a == b); - int bValue = b.getValue(); - if (bValue == 42) { - return true; - } - - return bValue <= 0; - } - - public boolean conditionCheckNoNullabilityConstraintExample(WrappedInt a, WrappedInt b) { - int aValue = a.getValue(); - if (aValue == 42) { - return true; - } - - return aValue <= 0; - } - - public int multipleConstraintsExample(WrappedInt a, WrappedInt b, WrappedInt c) { - UtMock.assume(a != null && b != null && c != null); - if (a.getValue() == 42) return 1; - if (b.getValue() == 73) return 2; - return 3; - } - - public boolean firstArrayElementContainsSentinel(WrappedInt[] values) { - UtMock.assume(values != null && values.length >= 3); - for (WrappedInt value : values) { - UtMock.assume(value != null); - } - - return values[0].getValue() == 42; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithFinalStatic.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithFinalStatic.java deleted file mode 100644 index f1b2cf90..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithFinalStatic.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithFinalStatic { - public final static Integer keyValue = 420; - - public int parameterEqualsFinalStatic(Integer key, int value) { - if (key == keyValue) { - return value; - } - return -420; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesClass.java deleted file mode 100644 index afe8c385..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesClass.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.examples.objects; - -import java.util.Objects; - -public class ObjectWithPrimitivesClass { - public int valueByDefault = 5; - - public int x, y; - public short shortValue; - double weight; - - public ObjectWithPrimitivesClass() { - } - - public ObjectWithPrimitivesClass(int x, int y, double weight) { - this.x = x; - this.y = y; - this.weight = weight; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - ObjectWithPrimitivesClass that = (ObjectWithPrimitivesClass) o; - return valueByDefault == that.valueByDefault && x == that.x && y == that.y && Double.compare(that.weight, weight) == 0; - } - - @Override - public int hashCode() { - return Objects.hash(valueByDefault, x, y, weight); - } - - @Override - public String toString() { - return String.format( - "ObjectWithPrimitivesClass(valueByDefault = %d, x = %d, y = %d, shortValue = %d, weight = %f)", - valueByDefault, - x, - y, - shortValue, - weight - ); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesClassSucc.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesClassSucc.java deleted file mode 100644 index bbd771e6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesClassSucc.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithPrimitivesClassSucc extends ObjectWithPrimitivesClass { - public int anotherX; //, y; TODO: hidden field disabled, we do not support it yet - - public ObjectWithPrimitivesClassSucc() { - } - - public ObjectWithPrimitivesClassSucc(int x, int y, double weight, int anotherX) { - super(x, y, weight); - this.anotherX = anotherX; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesExample.java deleted file mode 100644 index 623f9d10..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithPrimitivesExample.java +++ /dev/null @@ -1,206 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithPrimitivesExample { - public ObjectWithPrimitivesClass max(ObjectWithPrimitivesClass fst, ObjectWithPrimitivesClass snd) { - if (fst.x > snd.x && fst.y > snd.y) { - return fst; - } else if (fst.x < snd.x && fst.y < snd.y) { - return snd; - } - return fst; - } - - @SuppressWarnings("unused") - public ObjectWithPrimitivesClass ignoredInputParameters(ObjectWithPrimitivesClass fst, ObjectWithPrimitivesClass snd) { - return new ObjectWithPrimitivesClass(); - } - - public ObjectWithPrimitivesClass example(ObjectWithPrimitivesClass value) { - if (value.x == 1) { - return value; - } - value.x = 1; - return value; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public ObjectWithPrimitivesClassSucc defaultValueForSuperclassFields() { - ObjectWithPrimitivesClassSucc obj = new ObjectWithPrimitivesClassSucc(); - - if (obj.x != 0) { - return obj; - } - - return obj; - } - - public ObjectWithPrimitivesClass createObject(int a, int b, ObjectWithPrimitivesClass objectExample) { - ObjectWithPrimitivesClass object = new ObjectWithPrimitivesClass(); - object.x = a + 5; - object.y = b + 6; - object.weight = objectExample.weight; - if (object.weight < 0) { - throw new IllegalArgumentException(); - } - return object; - } - - public ObjectWithPrimitivesClass memory(ObjectWithPrimitivesClass objectExample, int value) { - if (value > 0) { - objectExample.x = 1; - objectExample.y = 2; - objectExample.weight = 1.2; - } else { - objectExample.x = -1; - objectExample.y = -2; - objectExample.weight = -1.2; - } - return objectExample; - } - - public ObjectWithPrimitivesClass nullExample(ObjectWithPrimitivesClass o) { - if (o.x == 0 && o.y == 0) { - o = null; - } - return o; - } - - @SuppressWarnings("ConstantConditions") - public int compareWithNull(ObjectWithPrimitivesClass fst, ObjectWithPrimitivesClass snd) { - if (fst == null) { - return 1; - } - if (null == snd) { - return 2; - } - - if (null == null) { - return 3; - } - - throw new RuntimeException(); - } - - public int compareTwoNullObjects(int value) { - ObjectWithPrimitivesClass fst = new ObjectWithPrimitivesClass(); - ObjectWithPrimitivesClass snd = new ObjectWithPrimitivesClass(); - - fst.x = value + 1; - snd.x = value + 2; - - // Avoid Jimple return optimization - if (fst.x == value + 1) { - fst = null; - } - if (snd.x == value + 2) { - snd = null; - } - - if (fst == snd) { - return 1; - } - - throw new RuntimeException(); - } - - public boolean compareTwoOuterObjects(ObjectWithPrimitivesClass fst, ObjectWithPrimitivesClass snd) { - if (fst == null || snd == null) throw new NullPointerException(); - - return fst == snd; - } - - public int compareTwoDifferentObjects(int a) { - ObjectWithPrimitivesClass fst = new ObjectWithPrimitivesClass(); - ObjectWithPrimitivesClass snd = new ObjectWithPrimitivesClass(); - - fst.x = a; - snd.x = a; - - if (fst == snd) { - throw new RuntimeException(); - } - - return 1; - } - - @SuppressWarnings({"UnusedAssignment", "ConstantConditions"}) - public int compareTwoRefEqualObjects(int a) { - ObjectWithPrimitivesClass fst = new ObjectWithPrimitivesClass(); - ObjectWithPrimitivesClass snd = new ObjectWithPrimitivesClass(); - - snd = fst; - fst.x = a; - - if (fst == snd) { - return 1; - } - - throw new RuntimeException(); - } - - @SuppressWarnings("NewObjectEquality") - public int compareObjectWithArgument(ObjectWithPrimitivesClass fst) { - ObjectWithPrimitivesClass snd = new ObjectWithPrimitivesClass(); - - if (snd == fst) { - throw new RuntimeException(); - } - - return 1; - } - - public int compareTwoIdenticalObjectsFromArguments(ObjectWithPrimitivesClass fst, ObjectWithPrimitivesClass snd) { - fst.x = snd.x; - fst.y = snd.y; - fst.weight = snd.weight; - - if (fst == snd) { - return 1; - } - return 2; - } - - - public ObjectWithPrimitivesClass getOrDefault(ObjectWithPrimitivesClass objectExample, ObjectWithPrimitivesClass defaultValue) { - if (defaultValue.x == 0 && defaultValue.y == 0) { - throw new IllegalArgumentException(); - } - - if (objectExample == null) { - return defaultValue; - } - - return objectExample; - } - - public int inheritorsFields(ObjectWithPrimitivesClassSucc fst, ObjectWithPrimitivesClass snd) { - fst.x = 1; // ObjectWithPrimitivesClass_x - fst.anotherX = 2; // ObjectWithPrimitivesClassSucc_anotherX - fst.y = 3; // ObjectWithPrimitivesClass_y - we use y field of parent class and don't support field hiding - fst.weight = 4.5; // ObjectWithPrimitivesClass_weight - - snd.x = 1; // ObjectWithPrimitivesClass_x - snd.y = 2; // ObjectWithPrimitivesClass_y - snd.weight = 3.4; // ObjectWithPrimitivesClass_weight - - return 1; - } - - public ObjectWithPrimitivesClass createWithConstructor(int x, int y) { - return new ObjectWithPrimitivesClass(x + 1, y + 2, 3.3); - } - - public ObjectWithPrimitivesClassSucc createWithSuperConstructor(int x, int y, int anotherX) { - return new ObjectWithPrimitivesClassSucc(x + 1, y + 2, 3.3, anotherX + 4); - } - - public ObjectWithPrimitivesClass fieldWithDefaultValue(int x, int y) { - return new ObjectWithPrimitivesClass(x, y, 3.3); - } - - public int valueByDefault() { - ObjectWithPrimitivesClass objectExample = new ObjectWithPrimitivesClass(); - return objectExample.valueByDefault; - } -} - diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithRefFieldClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithRefFieldClass.java deleted file mode 100644 index 6d7494b4..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithRefFieldClass.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithRefFieldClass { - public int x, y; - public double weight; - public SimpleDataClass refField; - public int[] arrayField; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithRefFieldExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithRefFieldExample.java deleted file mode 100644 index 261a9928..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithRefFieldExample.java +++ /dev/null @@ -1,129 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithRefFieldExample { - public ObjectWithRefFieldClass defaultValue() { - ObjectWithRefFieldClass obj = new ObjectWithRefFieldClass(); - //noinspection IfStatementWithIdenticalBranches - if (obj.x != 0 || obj.y != 0 || obj.weight != 0.0 || obj.refField != null || obj.arrayField != null) { - return obj; - } - return obj; - } - - public ObjectWithRefFieldClass writeToRefTypeField(ObjectWithRefFieldClass objectExample, int value) { - if (value != 42 || objectExample.refField != null) { - throw new IllegalArgumentException(); - } - - SimpleDataClass simpleDataClass = new SimpleDataClass(); - simpleDataClass.a = value; - simpleDataClass.b = value * 2; - - objectExample.refField = simpleDataClass; - - return objectExample; - } - - public ObjectWithRefFieldClass defaultFieldValues() { - return new ObjectWithRefFieldClass(); - } - - public int readFromRefTypeField(ObjectWithRefFieldClass objectExample) { - if (objectExample.refField.a <= 0) { - return -1; - } - - return objectExample.refField.a; - } - - public ObjectWithRefFieldClass writeToArrayField(ObjectWithRefFieldClass objectExample, int length) { - if (length < 3) { - throw new IllegalArgumentException(); - } - - int[] array = new int[length]; - for (int i = 0; i < length; i++) { - array[i] = i + 1; - } - - objectExample.arrayField = array; - - objectExample.arrayField[length - 1] = 100; - - return objectExample; - } - - public int readFromArrayField(ObjectWithRefFieldClass objectExample, int value) { - if (objectExample.arrayField[2] == value) { - return 1; - } - return 2; - } - - @SuppressWarnings("ConstantConditions") - public int compareTwoDifferentObjectsFromArguments(ObjectWithRefFieldClass fst, ObjectWithRefFieldClass snd) { - if (fst.x > 0 && snd.x < 0) { - if (fst == snd) { - throw new RuntimeException(); - } else { - return 1; - } - } - - fst.x = snd.x; - fst.y = snd.y; - fst.weight = snd.weight; - - if (fst == snd) { - return 2; - } - - return 3; - } - - @SuppressWarnings("ConstantConditions") - public int compareTwoObjectsWithNullRefField(ObjectWithRefFieldClass fst, ObjectWithRefFieldClass snd) { - fst.refField = null; - snd.refField = new SimpleDataClass(); - if (fst == snd) { - return 1; - } - return 2; - } - - public int compareTwoObjectsWithDifferentRefField(ObjectWithRefFieldClass fst, ObjectWithRefFieldClass snd, int value) { - fst.refField = new SimpleDataClass(); - fst.refField.a = value; - - snd.refField = new SimpleDataClass(); - snd.refField.a = fst.refField.a + 1; - - fst.refField.b = snd.refField.b; - - if (fst == snd) { - return 1; - } - - return 2; - } - - public boolean compareTwoObjectsWithDifferentRefField(ObjectWithRefFieldClass fst, ObjectWithRefFieldClass snd) { - return fst.refField == snd.refField; - } - - public int compareTwoObjectsWithTheSameRefField(ObjectWithRefFieldClass fst, ObjectWithRefFieldClass snd) { - SimpleDataClass simpleDataClass = new SimpleDataClass(); - - fst.refField = simpleDataClass; - snd.refField = simpleDataClass; - fst.x = snd.x; - fst.y = snd.y; - fst.weight = snd.weight; - - if (fst == snd) { - return 1; - } - - return 2; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithStaticFieldsClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithStaticFieldsClass.java deleted file mode 100644 index 93562261..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithStaticFieldsClass.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithStaticFieldsClass { - public static int defaultValue = 5; - public static int staticValue; - public static int[] staticArrayValue; - public static int[] initializedArray = {1, 2, 3}; - public static int[] elevenElements = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; - public int x, y; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithStaticFieldsExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithStaticFieldsExample.java deleted file mode 100644 index e82e7420..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithStaticFieldsExample.java +++ /dev/null @@ -1,91 +0,0 @@ -package org.utbot.examples.objects; - - -import org.utbot.api.mock.UtMock; -import org.utbot.examples.primitives.IntExamples; - -public class ObjectWithStaticFieldsExample { - public ObjectWithStaticFieldsClass readFromStaticArray(ObjectWithStaticFieldsClass objectExample) { - if (ObjectWithStaticFieldsClass.staticArrayValue.length < 5) { - throw new IllegalArgumentException(); - } - if (ObjectWithStaticFieldsClass.staticArrayValue[1] != 1 || ObjectWithStaticFieldsClass.staticArrayValue[2] != 2) { - throw new IllegalArgumentException(); - } - - objectExample.x = ObjectWithStaticFieldsClass.staticArrayValue[1]; - objectExample.y = ObjectWithStaticFieldsClass.staticArrayValue[2]; - return objectExample; - } - - public ObjectWithStaticFieldsClass setStaticField(ObjectWithStaticFieldsClass objectExample) { - if (objectExample.x < 100 || objectExample.y < 150) { - throw new IllegalArgumentException(); - } - ObjectWithStaticFieldsClass.staticValue = objectExample.x * objectExample.y; - objectExample.x = ObjectWithStaticFieldsClass.staticValue; - return objectExample; - } - - public ObjectWithStaticFieldsClass getStaticField(ObjectWithStaticFieldsClass objectExample) { - objectExample.x = ObjectWithStaticFieldsClass.staticValue; - if (objectExample.x != 3) { - throw new RuntimeException(); - } - return objectExample; - } - - public int getStaticFieldWithDefaultValue() { - return ObjectWithStaticFieldsClass.defaultValue; - } - - public int staticFieldInInvoke() { - ObjectWithStaticFieldsClass.staticValue = ObjectWithStaticFieldsClass.defaultValue; - return new IntExamples().max(ObjectWithStaticFieldsClass.defaultValue, ObjectWithStaticFieldsClass.defaultValue); - } - - public int staticFieldArrayMax() { - ObjectWithStaticFieldsClass.staticArrayValue = new int[ObjectWithStaticFieldsClass.defaultValue]; - for (int i = 0; i < ObjectWithStaticFieldsClass.defaultValue; i++) { - ObjectWithStaticFieldsClass.staticArrayValue[i] = ObjectWithStaticFieldsClass.defaultValue + i; - } - int max = ObjectWithStaticFieldsClass.staticArrayValue[0]; - for (int value : ObjectWithStaticFieldsClass.staticArrayValue) { - if (max < value) { - max = value; - } - } - return max; - } - - public double initializedArrayWithCycle(int n) { - if (n < 0) { - return Double.NEGATIVE_INFINITY; - } else { - double accum = 1.0; - for (int i = 1; i < n; i++) { - accum *= i; - } - return accum * ObjectWithStaticFieldsClass.initializedArray[n]; - } - } - - public int bigStaticArray() { - return ObjectWithStaticFieldsClass.elevenElements[10]; - } - - public static void modifyStatic() { - if (ObjectWithStaticFieldsClass.staticValue == 41) { - ObjectWithStaticFieldsClass.staticValue = ObjectWithStaticFieldsClass.staticValue + 1; - } - } - - public int resetNonFinalFields() { - if (ObjectWithStaticFieldsClass.defaultValue == 42) { - ObjectWithStaticFieldsClass.defaultValue++; - return ObjectWithStaticFieldsClass.defaultValue; - } - UtMock.assume(ObjectWithStaticFieldsClass.defaultValue != 43); - return ObjectWithStaticFieldsClass.defaultValue; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithThrowableConstructor.java b/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithThrowableConstructor.java deleted file mode 100644 index f5cab046..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/ObjectWithThrowableConstructor.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.objects; - -public class ObjectWithThrowableConstructor { - public int x; - - public ObjectWithThrowableConstructor(int numerator, int denominator) { - x = numerator / denominator; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/PrivateFields.java b/utbot-sample/src/main/java/org/utbot/examples/objects/PrivateFields.java deleted file mode 100644 index 5b64d119..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/PrivateFields.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.examples.objects; - -public class PrivateFields { - public boolean accessWithGetter(ClassWithPrivateField foo) { - return foo.getA() == 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/RecursiveType.java b/utbot-sample/src/main/java/org/utbot/examples/objects/RecursiveType.java deleted file mode 100644 index 18a5e110..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/RecursiveType.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.objects; - -public class RecursiveType { - public RecursiveTypeClass nextValue(RecursiveTypeClass node, int value) { - if (value == 0) { - throw new IllegalArgumentException(); - } - if (node.next.value == value) { - return node.next; - } - return null; - } - - public RecursiveTypeClass writeObjectField(RecursiveTypeClass node) { - if (node.next == null) { - node.next = new RecursiveTypeClass(); - } - node.next.value = node.next.value + 1; - return node; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/RecursiveTypeClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/RecursiveTypeClass.java deleted file mode 100644 index 9a3c7346..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/RecursiveTypeClass.java +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.examples.objects; - -public class RecursiveTypeClass { - public RecursiveTypeClass next; - public int value; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/SemiImmutableClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/SemiImmutableClass.java deleted file mode 100644 index c23b2a97..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/SemiImmutableClass.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.objects; - -public class SemiImmutableClass { - public final int a; - public int b; - - public SemiImmutableClass(int a, int b) { - this.a = a; - this.b = b; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleClassExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleClassExample.java deleted file mode 100644 index 0323263c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleClassExample.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.examples.objects; - -public class SimpleClassExample { - - public int simpleCondition(SimpleDataClass c) { - if (c.a < 5 && c.b > 10) { - return 0; - } else { - c.a = 3; - return c.a; - } - } - - public int singleFieldAccess(SimpleDataClass c) { - int a = c.a; - int b = c.b; - if (a == 2 && b == 3) { - return 0; - } else if (a == 3 && b == 5) { - return 1; - } else { - return 2; - } - } - - public int multipleFieldAccesses(SimpleDataClass c) { - if (c.a == 2 && c.b == 3) { - return 0; - } else if (c.a == 3 && c.b == 5) { - return 1; - } else { - return 2; - } - } - - public int immutableFieldAccess(SemiImmutableClass c) { - if (c.b == 10) { - return 0; - } else { - return 1; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleClassMultiInstanceExample.java b/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleClassMultiInstanceExample.java deleted file mode 100644 index f80cdf1f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleClassMultiInstanceExample.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.objects; - -public class SimpleClassMultiInstanceExample { - public int singleObjectChange(SimpleDataClass first, SimpleDataClass second) { - if (first.a < 5) { - first.b = 3; - } - - return first.b; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleDataClass.java b/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleDataClass.java deleted file mode 100644 index cad9264a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/SimpleDataClass.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.objects; - -public class SimpleDataClass { - public int a; - public int b; - - public static SimpleDataClass staticField; - - public SimpleDataClass() { - } - - public SimpleDataClass(int a, int b) { - this.a = a; - this.b = b; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/WrappedInt.java b/utbot-sample/src/main/java/org/utbot/examples/objects/WrappedInt.java deleted file mode 100644 index 6c9e2c6c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/WrappedInt.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.utbot.examples.objects; - -import java.util.Objects; - -public class WrappedInt { - private int value; - - public WrappedInt(int value) { - this.value = value; - } - - public WrappedInt() { - this(0); - } - - public int getValue() { - return value; - } - - public void setValue(int value) { - this.value = value; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - WrappedInt that = (WrappedInt) o; - return value == that.value; - } - - @Override - public int hashCode() { - return Objects.hash(value); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/objects/WrappedIntQuad.java b/utbot-sample/src/main/java/org/utbot/examples/objects/WrappedIntQuad.java deleted file mode 100644 index 0fee7416..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/objects/WrappedIntQuad.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.objects; - -public class WrappedIntQuad { - public WrappedInt a; - public WrappedInt b; - public WrappedInt c; - public WrappedInt d; - - public WrappedIntQuad() { - this.a = new WrappedInt(); - this.b = new WrappedInt(); - this.c = new WrappedInt(); - this.d = new WrappedInt(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/primitives/ByteExamples.java b/utbot-sample/src/main/java/org/utbot/examples/primitives/ByteExamples.java deleted file mode 100644 index 670c643e..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/primitives/ByteExamples.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.primitives; - -public class ByteExamples { - public int negByte(byte b) { - int a = -b; - if (a < b) { - return 0; - } else { - return 1; - } - } - - public int negConstByte(byte b) { - byte a = 10; - int c = -a; - if (a > b && c < b) { - return 0; - } else { - return 1; - } - } - - public int sumTwoBytes(byte a, byte b) { - int s = a + b; - if (s > Byte.MAX_VALUE) { - return 1; - } - if (s < Byte.MIN_VALUE) { - return 2; - } - return 3; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/primitives/CharAsFieldObject.java b/utbot-sample/src/main/java/org/utbot/examples/primitives/CharAsFieldObject.java deleted file mode 100644 index 4a5ce818..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/primitives/CharAsFieldObject.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.utbot.examples.primitives; - -public class CharAsFieldObject { - public char c; -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/primitives/CharExamples.java b/utbot-sample/src/main/java/org/utbot/examples/primitives/CharExamples.java deleted file mode 100644 index 41b0b03c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/primitives/CharExamples.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.primitives; - -public class CharExamples { - public int charDiv(char a, char b) { - return a / b; - } - - public int charNeg(char c) { - int i = -c; - if (i < -50000) { - return 1; - } - return 2; - } - - public int byteToChar(byte b) { - char c = (char) b; - switch (c) { - case '\uFFFF': - return -1; - case '\uFF80': - return -128; - case '\u0000': - return 0; - case '\u007F': - return 127; - default: - return 200; - } - } - - public CharAsFieldObject updateObject(CharAsFieldObject obj, int i) { - obj.c = (char) i; - if (obj.c > 50000) { - return obj; - } - CharAsFieldObject newOne = new CharAsFieldObject(); - newOne.c = '\u0444'; - return newOne; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/primitives/DoubleExamples.java b/utbot-sample/src/main/java/org/utbot/examples/primitives/DoubleExamples.java deleted file mode 100644 index 25b66857..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/primitives/DoubleExamples.java +++ /dev/null @@ -1,135 +0,0 @@ -package org.utbot.examples.primitives; - -public class DoubleExamples { - public double compareSum(double a, double b) { - double z = a + b; - if (z > 5.6) { - return 1.0; - } else { - return 0.0; - } - } - - public double compare(double a, double b) { - if (a > b) { - return 1.0; - } else { - return 0.0; - } - } - - public double compareWithDiv(double a, double b) { - double z = a + 0.5; - if ((a / z) > b) { - return 1.0; - } else { - return 0.0; - } - } - - public double simpleSum(double a, double b) { - if (Double.isNaN(a + b)) { - return 0.0; - } - double c = a + 1.1; - if (b + c > 10.1 && b + c < 11.125) { - return 1.1; - } else { - return 1.2; - } - } - - public double sum(double a, double b) { - if (Double.isNaN(a + b)) { - return 0.0; - } - double c = a + 0.123124; - if (b + c > 11.123124 && b + c < 11.125) { - return 1.1; - } else { - return 1.2; - } - } - - public double simpleMul(double a, double b) { - if (Double.isNaN(a * b)) { - return 0; - } - if (a * b > 33.1 && a * b < 33.875) { - return 1.1; - } else { - return 1.2; - } - } - - public double mul(double a, double b) { - if (Double.isNaN(a * b)) { - return 0; - } - if (a * b > 33.32 && a * b < 33.333) { - return 1.1; - } else if (a * b > 33.333 && a * b < 33.7592) { - return 1.2; - } else { - return 1.3; - } - } - - public double checkNonInteger(double a) { - if (a > 0.1 && a < 0.9) { - return 1.0; - } - return 0.0; - } - - public double div(double a, double b, double c) { - return (a + b) / c; - } - - public int simpleEquation(double a) { - if (a + a + a - 9 == a + 3) { - return 0; - } else { - return 1; - } - } - - public int simpleNonLinearEquation(double a) { - if (3 * a - 9 == a + 3) { - return 0; - } else { - return 1; - } - } - - public int checkNaN(double d) { - if (d < 0) { - return -1; - } - if (d > 0) { - return 1; - } - if (d == 0) { - return 0; - } - // NaN - return 100; - } - - public int unaryMinus(double d) { - if (-d < 0) { - return -1; - } - return 0; - } - - public int doubleInfinity(double d) { - if (d == Double.POSITIVE_INFINITY) { - return 1; - } - if (d == Double.NEGATIVE_INFINITY) { - return 2; - } - return 3; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/primitives/FloatExamples.java b/utbot-sample/src/main/java/org/utbot/examples/primitives/FloatExamples.java deleted file mode 100644 index 69ea6359..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/primitives/FloatExamples.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.examples.primitives; - -public class FloatExamples { - public int floatInfinity(float f) { - if (f == Float.POSITIVE_INFINITY) { - return 1; - } - if (f == Float.NEGATIVE_INFINITY) { - return 2; - } - return 3; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/primitives/IntExamples.java b/utbot-sample/src/main/java/org/utbot/examples/primitives/IntExamples.java deleted file mode 100644 index 4957f124..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/primitives/IntExamples.java +++ /dev/null @@ -1,155 +0,0 @@ -package org.utbot.examples.primitives; - -import java.util.ArrayList; -import java.util.List; - -public class IntExamples { - public static boolean isInteger(String value) { - try { - return (Integer.valueOf(value) != null); - } catch (NumberFormatException e) { - return Boolean.FALSE; - } - } - - public int max(int x, int y) { - if (x > y) { - return x; - } else { - return y; - } - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public int preferableLt(int x) { - if (x < 42) { - return x; - } - return x; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public int preferableLe(int x) { - if (x <= 42) { - return x; - } - return x; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public int preferableGe(int x) { - if (x >= 42) { - return x; - } - return x; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public int preferableGt(int x) { - if (x > 42) { - return x; - } - return x; - } - - public int complexCompare(int a, int b) { - int c = 11; - if ((a < b) && (b < c)) { - return 0; - } - if ((a < b) && (b > c)) { - return 1; - } - if ((a == b) && (b == c)) { - return 3; - } - return 6; - } - - public int contains(int a, int b){ - List list = new ArrayList<>(); - list.add(1); - list.add(2); - list.add(3); - if (list.contains(a)) { - return a; - }else return b; - } - - public int containsCompare(int a, int b){ - List list = new ArrayList<>(); - list.add(1); - list.add(2); - list.add(3); - if (list.contains(a) && b > a) { - return a; - }else return b; - } - - public int booleanIfGreater(int a, int b){ - boolean res = a > b; - if (res) { - return a; - }else return b; - } - - public int booleanIf(int a, int b){ - if (true) { - return a; - }else return b; - } - - public int newComplexCompare(int a, int b) { - int c = 11; - int d = 20; - if ((a < b) && (a < c && b < d)) { - return 0; - } - if ((a < b) && (a > c && b > d)) { - return 1; - } - if ((a == b) && (b == c)) { - return 3; - } - return 6; - } - public int newComplexCompareOr(int a, int b) { - int c = 11; - int d = 20; - if (((a < b)) || (a < c && b < d)) { - return 0; - } - if ((a < b) || b > d) { - return 1; - } - if ((a == b) && (b == c)) { - return 3; - } - return 6; - } - - public int complexCondition(int a, int b) { - int c = 10; - int d = a + b + c; - int f = b + c; - int k = f + 12; - - if ((f < k) && (k < d)) { - return 1; - } else { - return 0; - } - } - - public boolean orderCheck(int first, int second, int third) { - return first < second && second < third; - } - - public boolean orderCheckWithMethods(int first, int second, int third) { - return orderCheckInt(first, second) && orderCheckInt(second, third); - } - - private boolean orderCheckInt(int first, int second) { - return first < second; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/recursion/Recursion.java b/utbot-sample/src/main/java/org/utbot/examples/recursion/Recursion.java deleted file mode 100644 index f1d7d56c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/recursion/Recursion.java +++ /dev/null @@ -1,113 +0,0 @@ -package org.utbot.examples.recursion; - -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - -public class Recursion { - public int factorial(int n) { - if (n < 0) { - throw new IllegalArgumentException(); - } - if (n == 0) { - return 1; - } - return n * factorial(n - 1); - } - - public int fib(int n) { - if (n < 0) throw new IllegalArgumentException(); - if (n == 0) return 0; - if (n == 1) return 1; - return fib(n - 1) + fib(n - 2); - } - - public int sum(int fst, int snd) { - if (snd == 0) { - return fst; - } - return sum(fst + (int) Math.signum(snd), snd - (int) Math.signum(snd)); - } - - public int pow(int a, int n) { - if (n < 0) { - throw new IllegalArgumentException(); - } - if (n == 0) { - return 1; - } - if (n % 2 == 1) { - return pow(a, n - 1) * a; - } else { - int b = pow(a, n / 2); - return b * b; - } - } - - @SuppressWarnings("InfiniteRecursion") - public void infiniteRecursion(int i) { - if (i > 10000) { - throw new StackOverflowError(); - } - infiniteRecursion(i + 1); - } - - - private int dfs(int v, List> graph, List colors, List weight) { - if (colors.get(v) == 1) { - return 0; - } - colors.set(v, 1); - - int acc = weight.get(v); - for (int i = 0; i < graph.get(v).size(); i++) { - acc += dfs(graph.get(v).get(i), graph, colors, weight); - } - - return acc; - } - - public int vertexSum(int n) { - if (n <= 10) { - throw new IllegalArgumentException(); - } - List> to = new ArrayList<>(); - List colors = new ArrayList<>(); - List weight = new ArrayList<>(); - for (int i = 0; i < 5; i++) { - colors.add(0); - weight.add(new Random().nextInt(n)); - } - for (int i = 0; i < 5; i++) { - to.add(new ArrayList<>()); - } - to.get(0).add(1); - to.get(0).add(2); - to.get(1).add(3); - to.get(2).add(4); - to.get(4).add(0); - - return dfs(0, to, colors, weight); - } - - public void recursionWithException(int n) { - if (n < 42) { - recursionWithException(n + 1); - } - if (n > 42) { - recursionWithException(n - 1); - } - throw new IllegalArgumentException(); - } - - private void secondMethod(int n) { - firstMethod(n); - } - - public void firstMethod(int n) { - if (n < 4) { - return; - } - secondMethod(n - 1); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/reflection/NewInstanceExample.java b/utbot-sample/src/main/java/org/utbot/examples/reflection/NewInstanceExample.java deleted file mode 100644 index 21f4c1f6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/reflection/NewInstanceExample.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.utbot.examples.reflection; - -public class NewInstanceExample { - @SuppressWarnings("deprecation") - int createWithReflectionExample() throws ClassNotFoundException, InstantiationException, IllegalAccessException { - Class cls = Class.forName("org.utbot.examples.reflection.ClassWithDefaultConstructor"); - ClassWithDefaultConstructor classWithDefaultConstructor = (ClassWithDefaultConstructor) cls.newInstance(); - - return classWithDefaultConstructor.x; - } -} - -class ClassWithDefaultConstructor { - - int x; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/statics/substitution/StaticSubstitution.java b/utbot-sample/src/main/java/org/utbot/examples/statics/substitution/StaticSubstitution.java deleted file mode 100644 index d603f919..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/statics/substitution/StaticSubstitution.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.examples.statics.substitution; - -/** - * A class with static fields. - * If a field is not final, we have two options: - * - to use value from static initializer only - * - to replace this value with symbolic variable - * This setting is configured in UtSettings. - */ -public class StaticSubstitution { - public static int mutableValue; - public static final int finalValue = 5; - - static { - mutableValue = finalValue; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/statics/substitution/StaticSubstitutionExamples.java b/utbot-sample/src/main/java/org/utbot/examples/statics/substitution/StaticSubstitutionExamples.java deleted file mode 100644 index 145436f2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/statics/substitution/StaticSubstitutionExamples.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.statics.substitution; - -public class StaticSubstitutionExamples { - - public int lessThanZero() { - int value = StaticSubstitution.mutableValue; - return value > 0 ? value : 0; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stdlib/DateExample.java b/utbot-sample/src/main/java/org/utbot/examples/stdlib/DateExample.java deleted file mode 100644 index 4f334c5a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stdlib/DateExample.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.examples.stdlib; - -import java.util.Date; - -public class DateExample { - public boolean getTime(Date date) { - return date.getTime() == 100; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stdlib/JavaIOFileInputStreamCheck.java b/utbot-sample/src/main/java/org/utbot/examples/stdlib/JavaIOFileInputStreamCheck.java deleted file mode 100644 index 968295ef..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stdlib/JavaIOFileInputStreamCheck.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.examples.stdlib; - -import java.io.FileInputStream; -import java.io.IOException; - -public class JavaIOFileInputStreamCheck { - public int read(String s) throws IOException { - java.io.FileInputStream fis = new java.io.FileInputStream(s); - byte[] b = new byte[1000]; - return fis.read(b); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stdlib/StaticsPathDiversion.java b/utbot-sample/src/main/java/org/utbot/examples/stdlib/StaticsPathDiversion.java deleted file mode 100644 index a83791d1..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stdlib/StaticsPathDiversion.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.stdlib; - -import org.utbot.api.mock.UtMock; - -import java.io.File; - -public class StaticsPathDiversion { - @SuppressWarnings({"IfStatementWithIdenticalBranches"}) - // In this test we check that the symbolic engine does not change the static field `File.separator` - public String separatorEquality(String s) { - // Ignore this case to make sure we will have not more than 2 executions even without minimization - UtMock.assume(s != null); - - // We use if-else here instead of a simple return to get executions for both return values - if (File.separator.equals(s)) { - return File.separator; - } else { - return File.separator; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stream/BaseStreamExample.java b/utbot-sample/src/main/java/org/utbot/examples/stream/BaseStreamExample.java deleted file mode 100644 index b6363941..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stream/BaseStreamExample.java +++ /dev/null @@ -1,674 +0,0 @@ -package org.utbot.examples.stream; - -import org.jetbrains.annotations.NotNull; -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; -import java.util.Collection; -import java.util.Iterator; -import java.util.List; -import java.util.Optional; -import java.util.Set; -import java.util.function.BiFunction; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.function.ToDoubleFunction; -import java.util.function.ToIntFunction; -import java.util.function.ToLongFunction; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -@SuppressWarnings({"IfStatementWithIdenticalBranches", "RedundantOperationOnEmptyContainer"}) -public class BaseStreamExample { - Stream returningStreamAsParameterExample(Stream s) { - UtMock.assume(s != null); - return s; - } - - @SuppressWarnings("Convert2MethodRef") - boolean filterExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - int newSize = list.stream().filter(value -> value != null).toArray().length; - - return prevSize != newSize; - } - - Integer[] mapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final Function mapper = value -> value * 2; - if (list.contains(null)) { - return list.stream().map(mapper).toArray(Integer[]::new); - } else { - return list.stream().map(mapper).toArray(Integer[]::new); - } - } - - int[] mapToIntExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - if (list.contains(null)) { - return list.stream().mapToInt(Short::intValue).toArray(); - } else { - return list.stream().mapToInt(Short::intValue).toArray(); - } - } - - long[] mapToLongExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - if (list.contains(null)) { - return list.stream().mapToLong(Short::longValue).toArray(); - } else { - return list.stream().mapToLong(Short::longValue).toArray(); - } - } - - double[] mapToDoubleExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - if (list.contains(null)) { - return list.stream().mapToDouble(Short::doubleValue).toArray(); - } else { - return list.stream().mapToDouble(Short::doubleValue).toArray(); - } - } - - Object[] flatMapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - return list.stream().flatMap(value -> Arrays.stream(new Object[]{value, value})).toArray(Object[]::new); - } - - int[] flatMapToIntExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - - return list - .stream() - .flatMapToInt(value -> - Arrays.stream(new int[]{ - shortToIntFunction.applyAsInt(value), - shortToIntFunction.applyAsInt(value)} - ) - ) - .toArray(); - } - - long[] flatMapToLongExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - - return list - .stream() - .flatMapToLong(value -> - Arrays.stream(new long[]{ - shortToLongFunction.applyAsLong(value), - shortToLongFunction.applyAsLong(value)} - ) - ) - .toArray(); - } - - double[] flatMapToDoubleExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - - return list - .stream() - .flatMapToDouble(value -> - Arrays.stream(new double[]{ - shortToDoubleFunction.applyAsDouble(value), - shortToDoubleFunction.applyAsDouble(value)} - ) - ) - .toArray(); - } - - boolean distinctExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - int newSize = (int) list.stream().distinct().count(); - - return prevSize != newSize; - } - - Integer[] sortedExample(List list) { - UtMock.assume(list != null && list.size() >= 2); - - Integer first = list.get(0); - - int lastIndex = list.size() - 1; - Integer last = list.get(lastIndex); - - UtMock.assume(last < first); - - return list.stream().sorted().toArray(Integer[]::new); - } - - // TODO sorted with custom Comparator - - static int x = 0; - - @SuppressWarnings("ResultOfMethodCallIgnored") - int peekExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final Consumer action = value -> x += value; - final Stream stream = list.stream(); - - Stream afterPeek; - if (list.contains(null)) { - afterPeek = stream.peek(action); - } else { - afterPeek = stream.peek(action); - } - - // use terminal operation to force peek action - afterPeek.count(); - - return beforeStaticValue; - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - Integer[] limitExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - if (list.size() <= 5) { - return list.stream().limit(5).toArray(Integer[]::new); - } else { - return list.stream().limit(5).toArray(Integer[]::new); - } - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - Integer[] skipExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - if (list.size() > 5) { - return list.stream().skip(5).toArray(Integer[]::new); - } else { - return list.stream().skip(5).toArray(Integer[]::new); - } - } - - @SuppressWarnings("SimplifyStreamApiCallChains") - int forEachExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final Consumer action = value -> x += value; - if (list.contains(null)) { - list.stream().forEach(action); - } else { - list.stream().forEach(action); - } - - return beforeStaticValue; - } - - @SuppressWarnings("SimplifyStreamApiCallChains") - Object[] toArrayExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - if (size <= 1) { - return list.stream().toArray(); - } else { - return list.stream().toArray(Integer[]::new); - } - } - - Integer reduceExample(List list) { - UtMock.assume(list != null); - - final int identity = 42; - if (list.isEmpty()) { - return list.stream().reduce(identity, this::nullableSum); - } else { - return list.stream().reduce(identity, this::nullableSum); - } - } - - Optional optionalReduceExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - if (size == 0) { - return list.stream().reduce(this::nullableSum); - } - - if (size == 1 && list.get(0) == null) { - return list.stream().reduce(this::nullableSum); - } - - return list.stream().reduce(this::nullableSum); - } - - Double complexReduceExample(List list) { - UtMock.assume(list != null); - - final double identity = 42.0; - final BiFunction accumulator = (Double a, Integer b) -> a + (b != null ? b.doubleValue() : 0.0); - if (list.isEmpty()) { - return list.stream().reduce(identity, accumulator, Double::sum); - } - - // TODO this branch leads to almost infinite analysis -// if (list.contains(null)) { -// return list.stream().reduce(42.0, (Double a, Integer b) -> a + b.doubleValue(), Double::sum); -// } - - return list.stream().reduce( - identity, - accumulator, - Double::sum - ); - } - - Integer collectExample(List list) { - UtMock.assume(list != null); - - if (list.contains(null)) { - return list.stream().collect(IntWrapper::new, IntWrapper::plus, IntWrapper::plus).value; - } else { - return list.stream().collect(IntWrapper::new, IntWrapper::plus, IntWrapper::plus).value; - } - } - - @SuppressWarnings("SimplifyStreamApiCallChains") - Set collectorExample(List list) { - UtMock.assume(list != null); - - return list.stream().collect(Collectors.toSet()); - } - - @SuppressWarnings("RedundantOperationOnEmptyContainer") - Optional minExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - if (size == 0) { - return list.stream().min(this::nullableCompareTo); - } - - if (size == 1 && list.get(0) == null) { - return list.stream().min(this::nullableCompareTo); - } - - return list.stream().min(this::nullableCompareTo); - } - - @SuppressWarnings("RedundantOperationOnEmptyContainer") - Optional maxExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - if (size == 0) { - return list.stream().max(this::nullableCompareTo); - } - - if (size == 1 && list.get(0) == null) { - return list.stream().max(this::nullableCompareTo); - } - - return list.stream().max(this::nullableCompareTo); - } - - @SuppressWarnings({"ReplaceInefficientStreamCount", "ConstantConditions"}) - long countExample(List list) { - UtMock.assume(list != null); - - if (list.isEmpty()) { - return list.stream().count(); - } else { - return list.stream().count(); - } - } - - @SuppressWarnings({"Convert2MethodRef", "ConstantConditions", "RedundantOperationOnEmptyContainer"}) - boolean anyMatchExample(List list) { - UtMock.assume(list != null); - - final Predicate predicate = value -> value == null; - if (list.isEmpty()) { - return list.stream().anyMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Integer first = list.get(0); - Integer second = list.get(1); - - if (first == null && second == null) { - return list.stream().anyMatch(predicate); - } - - if (first == null) { - return list.stream().anyMatch(predicate); - } - - if (second == null) { - return list.stream().anyMatch(predicate); - } - - return list.stream().anyMatch(predicate); - } - - @SuppressWarnings({"Convert2MethodRef", "ConstantConditions", "RedundantOperationOnEmptyContainer"}) - boolean allMatchExample(List list) { - UtMock.assume(list != null); - - final Predicate predicate = value -> value == null; - if (list.isEmpty()) { - return list.stream().allMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Integer first = list.get(0); - Integer second = list.get(1); - - if (first == null && second == null) { - return list.stream().allMatch(predicate); - } - - if (first == null) { - return list.stream().allMatch(predicate); - } - - if (second == null) { - return list.stream().allMatch(predicate); - } - - return list.stream().allMatch(predicate); - } - - @SuppressWarnings({"Convert2MethodRef", "ConstantConditions", "RedundantOperationOnEmptyContainer"}) - boolean noneMatchExample(List list) { - UtMock.assume(list != null); - - final Predicate predicate = value -> value == null; - if (list.isEmpty()) { - return list.stream().noneMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Integer first = list.get(0); - Integer second = list.get(1); - - if (first == null && second == null) { - return list.stream().noneMatch(predicate); - } - - if (first == null) { - return list.stream().noneMatch(predicate); - } - - if (second == null) { - return list.stream().noneMatch(predicate); - } - - return list.stream().noneMatch(predicate); - } - - @SuppressWarnings("RedundantOperationOnEmptyContainer") - Optional findFirstExample(List list) { - UtMock.assume(list != null); - - if (list.isEmpty()) { - return list.stream().findFirst(); - } - - if (list.get(0) == null) { - return list.stream().findFirst(); - } else { - return list.stream().findFirst(); - } - } - - @SuppressWarnings("DuplicatedCode") - Integer iteratorSumExample(List list) { - UtMock.assume(list != null); - - int sum = 0; - Iterator streamIterator = list.stream().iterator(); - - if (list.isEmpty()) { - while (streamIterator.hasNext()) { - // unreachable - Integer value = streamIterator.next(); - sum += value; - } - } else { - while (streamIterator.hasNext()) { - Integer value = streamIterator.next(); - sum += value; - } - } - - return sum; - } - - Stream streamOfExample(Integer[] values) { - UtMock.assume(values != null); - - if (values.length == 0) { - return Stream.empty(); - } else { - return Stream.of(values); - } - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - long closedStreamExample(List values) { - UtMock.assume(values != null); - - Stream stream = values.stream(); - stream.count(); - - return stream.count(); - } - - @SuppressWarnings({"ReplaceInefficientStreamCount", "ConstantConditions"}) - // TODO wrong generic type for data field https://github.com/UnitTestBot/UTBotJava/issues/730 - long customCollectionStreamExample(CustomCollection customCollection) { - UtMock.assume(customCollection != null && customCollection.data != null); - - final Stream stream = customCollection.stream(); - - if (customCollection.isEmpty()) { - return stream.count(); - } else { - return stream.count(); - } - } - - @SuppressWarnings({"ConstantConditions", "ReplaceInefficientStreamCount"}) - long anyCollectionStreamExample(Collection c) { - UtMock.assume(c != null); - - if (c.isEmpty()) { - return c.stream().count(); - } else { - return c.stream().count(); - } - } - - Integer[] generateExample() { - return Stream.generate(() -> 42).limit(10).toArray(Integer[]::new); - } - - Integer[] iterateExample() { - return Stream.iterate(42, x -> x + 1).limit(10).toArray(Integer[]::new); - } - - Integer[] concatExample() { - final int identity = 42; - Stream first = Stream.generate(() -> identity).limit(10); - Stream second = Stream.iterate(identity, x -> x + 1).limit(10); - - return Stream.concat(first, second).toArray(Integer[]::new); - } - - // avoid NPE - private int nullableSum(Integer a, Integer b) { - if (b == null) { - return a; - } - - return a + b; - } - - // avoid NPE - private int nullableCompareTo(Integer a, Integer b) { - if (a == null && b == null) { - return 0; - } - - if (a == null) { - return -1; - } - - if (b == null) { - return 1; - } - - return a.compareTo(b); - } - - private static class IntWrapper { - int value = 0; - - void plus(int other) { - value += other; - } - - void plus(IntWrapper other) { - value += other.value; - } - } - - public static class CustomCollection implements Collection { - private E[] data; - - public CustomCollection(@NotNull E[] data) { - this.data = data; - } - - @Override - public int size() { - return data.length; - } - - @Override - public boolean isEmpty() { - return size() == 0; - } - - @Override - public boolean contains(Object o) { - return Arrays.asList(data).contains(o); - } - - @NotNull - @Override - public Iterator iterator() { - return Arrays.asList(data).iterator(); - } - - @SuppressWarnings({"ManualArrayCopy", "unchecked"}) - @NotNull - @Override - public Object @NotNull [] toArray() { - final int size = size(); - E[] arr = (E[]) new Object[size]; - for (int i = 0; i < size; i++) { - arr[i] = data[i]; - } - - return arr; - } - - @SuppressWarnings({"SuspiciousToArrayCall"}) - @Override - public T[] toArray(T @NotNull [] a) { - return Arrays.asList(data).toArray(a); - } - - @Override - public boolean add(E e) { - final int size = size(); - E[] newData = Arrays.copyOf(data, size + 1); - newData[size] = e; - data = newData; - - return true; - } - - @SuppressWarnings("unchecked") - @Override - public boolean remove(Object o) { - final List es = Arrays.asList(data); - final boolean removed = es.remove(o); - data = (E[]) es.toArray(); - - return removed; - } - - @SuppressWarnings("SlowListContainsAll") - @Override - public boolean containsAll(@NotNull Collection c) { - return Arrays.asList(data).containsAll(c); - } - - @SuppressWarnings("unchecked") - @Override - public boolean addAll(@NotNull Collection c) { - final List es = Arrays.asList(data); - final boolean added = es.addAll(c); - data = (E[]) es.toArray(); - - return added; - } - - @SuppressWarnings("unchecked") - @Override - public boolean removeAll(@NotNull Collection c) { - final List es = Arrays.asList(data); - final boolean removed = es.removeAll(c); - data = (E[]) es.toArray(); - - return removed; - } - - @SuppressWarnings("unchecked") - @Override - public boolean retainAll(@NotNull Collection c) { - final List es = Arrays.asList(data); - final boolean retained = es.retainAll(c); - data = (E[]) es.toArray(); - - return retained; - } - - @SuppressWarnings("unchecked") - @Override - public void clear() { - data = (E[]) new Object[0]; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stream/DoubleStreamExample.java b/utbot-sample/src/main/java/org/utbot/examples/stream/DoubleStreamExample.java deleted file mode 100644 index dc8801f4..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stream/DoubleStreamExample.java +++ /dev/null @@ -1,508 +0,0 @@ -package org.utbot.examples.stream; - -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; -import java.util.DoubleSummaryStatistics; -import java.util.List; -import java.util.OptionalDouble; -import java.util.PrimitiveIterator; -import java.util.function.DoubleConsumer; -import java.util.function.DoubleFunction; -import java.util.function.DoublePredicate; -import java.util.function.DoubleToIntFunction; -import java.util.function.DoubleToLongFunction; -import java.util.function.DoubleUnaryOperator; -import java.util.function.ToDoubleFunction; -import java.util.stream.DoubleStream; - -@SuppressWarnings("IfStatementWithIdenticalBranches") -public class DoubleStreamExample { - DoubleStream returningStreamAsParameterExample(DoubleStream s) { - UtMock.assume(s != null); - - return s; - } - - int useParameterStream(DoubleStream s) { - UtMock.assume(s != null); - - final double[] values = s.toArray(); - - if (values.length == 0) { - return 0; - } else { - return values.length; - } - } - - boolean filterExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - int newSize = list.stream().mapToDouble(shortToDoubleFunction).filter(x -> x != 0).toArray().length; - - return prevSize != newSize; - } - - double[] mapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final DoubleUnaryOperator mapper = value -> value * 2; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.contains(null)) { - return doubles.map(mapper).toArray(); - } else { - return doubles.map(mapper).toArray(); - } - } - - Object[] mapToObjExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final DoubleFunction mapper = value -> new double[]{value, value}; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.contains(null)) { - return doubles.mapToObj(mapper).toArray(); - } else { - return doubles.mapToObj(mapper).toArray(); - } - } - - int[] mapToIntExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final DoubleToIntFunction mapper = value -> (int) value; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.contains(null)) { - return doubles.mapToInt(mapper).toArray(); - } else { - return doubles.mapToInt(mapper).toArray(); - } - } - - long[] mapToLongExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final DoubleToLongFunction mapper = value -> (long) value; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.contains(null)) { - return doubles.mapToLong(mapper).toArray(); - } else { - return doubles.mapToLong(mapper).toArray(); - } - } - - double[] flatMapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - return doubles.flatMap(x -> Arrays.stream(new double[]{x, x})).toArray(); - } - - boolean distinctExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - int newSize = list.stream().mapToDouble(shortToDoubleFunction).distinct().toArray().length; - - return prevSize != newSize; - } - - double[] sortedExample(List list) { - UtMock.assume(list != null && list.size() >= 2); - - Short first = list.get(0); - - int lastIndex = list.size() - 1; - Short last = list.get(lastIndex); - - UtMock.assume(last < first); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - return doubles.sorted().toArray(); - } - - static int x = 0; - - @SuppressWarnings("ResultOfMethodCallIgnored") - int peekExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final DoubleConsumer action = value -> x += value; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - DoubleStream afterPeek; - if (list.contains(null)) { - afterPeek = doubles.peek(action); - } else { - afterPeek = doubles.peek(action); - } - - // use terminal operation to force peek action - afterPeek.count(); - - return beforeStaticValue; - } - - double[] limitExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.size() <= 2) { - return doubles.limit(2).toArray(); - } else { - return doubles.limit(2).toArray(); - } - } - - double[] skipExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.size() <= 2) { - return doubles.skip(2).toArray(); - } else { - return doubles.skip(2).toArray(); - } - } - - int forEachExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final DoubleConsumer action = value -> x += value; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.contains(null)) { - doubles.forEach(action); - } else { - doubles.forEach(action); - } - - return beforeStaticValue; - } - - double[] toArrayExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (size <= 1) { - return doubles.toArray(); - } else { - return doubles.toArray(); - } - } - - double reduceExample(List list) { - UtMock.assume(list != null); - - final double identity = 42; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.isEmpty()) { - return doubles.reduce(identity, Double::sum); - } else { - return doubles.reduce(identity, Double::sum); - } - } - - OptionalDouble optionalReduceExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (size == 0) { - return doubles.reduce(Double::sum); - } - - return doubles.reduce(Double::sum); - } - - // TODO collect example - - double sumExample(List list) { - UtMock.assume(list != null); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.isEmpty()) { - return doubles.sum(); - } else { - return doubles.sum(); - } - } - - OptionalDouble minExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (size == 0) { - return doubles.min(); - } - - return doubles.min(); - } - - OptionalDouble maxExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (size == 0) { - return doubles.max(); - } - - return doubles.max(); - } - - long countExample(List list) { - UtMock.assume(list != null); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.isEmpty()) { - return doubles.count(); - } else { - return doubles.count(); - } - } - - OptionalDouble averageExample(List list) { - UtMock.assume(list != null); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.isEmpty()) { - return doubles.average(); - } else { - return doubles.average(); - } - } - - DoubleSummaryStatistics summaryStatisticsExample(List list) { - UtMock.assume(list != null); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.isEmpty()) { - return doubles.summaryStatistics(); - } else { - return doubles.summaryStatistics(); - } - } - - boolean anyMatchExample(List list) { - UtMock.assume(list != null); - - final DoublePredicate predicate = value -> value != 0; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - if (list.isEmpty()) { - return doubles.anyMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return doubles.anyMatch(predicate); - } - - if (first == null || first == 0) { - return doubles.anyMatch(predicate); - } - - if (second == null || second == 0) { - return doubles.anyMatch(predicate); - } - - return doubles.anyMatch(predicate); - } - - boolean allMatchExample(List list) { - UtMock.assume(list != null); - - final DoublePredicate predicate = value -> value != 0; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - if (list.isEmpty()) { - return doubles.allMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return doubles.allMatch(predicate); - } - - if (first == null || first == 0) { - return doubles.allMatch(predicate); - } - - if (second == null || second == 0) { - return doubles.allMatch(predicate); - } - - return doubles.allMatch(predicate); - } - - boolean noneMatchExample(List list) { - UtMock.assume(list != null); - - final DoublePredicate predicate = value -> value != 0; - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - if (list.isEmpty()) { - return doubles.noneMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return doubles.noneMatch(predicate); - } - - if (first == null || first == 0) { - return doubles.noneMatch(predicate); - } - - if (second == null || second == 0) { - return doubles.noneMatch(predicate); - } - - return doubles.noneMatch(predicate); - } - - OptionalDouble findFirstExample(List list) { - UtMock.assume(list != null); - - final ToDoubleFunction shortToDoubleFunction = value -> value == null ? 0 : value.doubleValue(); - final DoubleStream doubles = list.stream().mapToDouble(shortToDoubleFunction); - - if (list.isEmpty()) { - return doubles.findFirst(); - } - - if (list.get(0) == null) { - return doubles.findFirst(); - } else { - return doubles.findFirst(); - } - } - - Object[] boxedExample(List list) { - UtMock.assume(list != null); - - return list.stream().mapToDouble(value -> value == null ? 0 : value.doubleValue()).boxed().toArray(); - } - - double iteratorSumExample(List list) { - UtMock.assume(list != null); - - double sum = 0; - PrimitiveIterator.OfDouble streamIterator = list.stream().mapToDouble(value -> value == null ? 0 : value.doubleValue()).iterator(); - - if (list.isEmpty()) { - while (streamIterator.hasNext()) { - // unreachable - Double value = streamIterator.next(); - sum += value; - } - } else { - while (streamIterator.hasNext()) { - Double value = streamIterator.next(); - sum += value; - } - } - - return sum; - } - - DoubleStream streamOfExample(double[] values) { - UtMock.assume(values != null); - - if (values.length == 0) { - return DoubleStream.empty(); - } else { - return DoubleStream.of(values); - } - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - long closedStreamExample(List values) { - UtMock.assume(values != null); - - DoubleStream doubleStream = values.stream().mapToDouble(value -> value == null ? 0 : value.doubleValue()); - doubleStream.count(); - - return doubleStream.count(); - } - - double[] generateExample() { - return DoubleStream.generate(() -> 42).limit(10).toArray(); - } - - double[] iterateExample() { - return DoubleStream.iterate(42, x -> x + 1).limit(10).toArray(); - } - - double[] concatExample() { - final double identity = 42; - DoubleStream first = DoubleStream.generate(() -> identity).limit(10); - DoubleStream second = DoubleStream.iterate(identity, x -> x + 1).limit(10); - - return DoubleStream.concat(first, second).toArray(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stream/IntStreamExample.java b/utbot-sample/src/main/java/org/utbot/examples/stream/IntStreamExample.java deleted file mode 100644 index 2e3e33f1..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stream/IntStreamExample.java +++ /dev/null @@ -1,532 +0,0 @@ -package org.utbot.examples.stream; - -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; -import java.util.IntSummaryStatistics; -import java.util.List; -import java.util.OptionalDouble; -import java.util.OptionalInt; -import java.util.PrimitiveIterator; -import java.util.function.IntConsumer; -import java.util.function.IntFunction; -import java.util.function.IntPredicate; -import java.util.function.IntToDoubleFunction; -import java.util.function.IntToLongFunction; -import java.util.function.IntUnaryOperator; -import java.util.function.ToIntFunction; -import java.util.stream.DoubleStream; -import java.util.stream.IntStream; -import java.util.stream.LongStream; - -@SuppressWarnings("IfStatementWithIdenticalBranches") -public class IntStreamExample { - IntStream returningStreamAsParameterExample(IntStream s) { - UtMock.assume(s != null); - - return s; - } - - int useParameterStream(IntStream s) { - UtMock.assume(s != null); - - final int[] values = s.toArray(); - - if (values.length == 0) { - return 0; - } else { - return values.length; - } - } - - boolean filterExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - int newSize = list.stream().mapToInt(shortToIntFunction).filter(x -> x != 0).toArray().length; - - return prevSize != newSize; - } - - int[] mapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final IntUnaryOperator mapper = value -> value * 2; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.contains(null)) { - return ints.map(mapper).toArray(); - } else { - return ints.map(mapper).toArray(); - } - } - - Object[] mapToObjExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final IntFunction mapper = value -> new int[]{value, value}; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.contains(null)) { - return ints.mapToObj(mapper).toArray(); - } else { - return ints.mapToObj(mapper).toArray(); - } - } - - long[] mapToLongExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final IntToLongFunction mapper = value -> value * 2L; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.contains(null)) { - return ints.mapToLong(mapper).toArray(); - } else { - return ints.mapToLong(mapper).toArray(); - } - } - - double[] mapToDoubleExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final IntToDoubleFunction mapper = value -> (double) value / 2; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.contains(null)) { - return ints.mapToDouble(mapper).toArray(); - } else { - return ints.mapToDouble(mapper).toArray(); - } - } - - int[] flatMapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - return ints.flatMap(x -> Arrays.stream(new int[]{x, x})).toArray(); - } - - boolean distinctExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - int newSize = list.stream().mapToInt(shortToIntFunction).distinct().toArray().length; - - return prevSize != newSize; - } - - int[] sortedExample(List list) { - UtMock.assume(list != null && list.size() >= 2); - - Short first = list.get(0); - - int lastIndex = list.size() - 1; - Short last = list.get(lastIndex); - - UtMock.assume(last < first); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - return ints.sorted().toArray(); - } - - static int x = 0; - - @SuppressWarnings("ResultOfMethodCallIgnored") - int peekExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final IntConsumer action = value -> x += value; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - IntStream afterPeek; - if (list.contains(null)) { - afterPeek = ints.peek(action); - } else { - afterPeek = ints.peek(action); - } - - // use terminal operation to force peek action - afterPeek.count(); - - return beforeStaticValue; - } - - int[] limitExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.size() <= 2) { - return ints.limit(2).toArray(); - } else { - return ints.limit(2).toArray(); - } - } - - int[] skipExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.size() <= 2) { - return ints.skip(2).toArray(); - } else { - return ints.skip(2).toArray(); - } - } - - int forEachExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final IntConsumer action = value -> x += value; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.contains(null)) { - ints.forEach(action); - } else { - ints.forEach(action); - } - - return beforeStaticValue; - } - - int[] toArrayExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (size <= 1) { - return ints.toArray(); - } else { - return ints.toArray(); - } - } - - int reduceExample(List list) { - UtMock.assume(list != null); - - final int identity = 42; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.isEmpty()) { - return ints.reduce(identity, Integer::sum); - } else { - return ints.reduce(identity, Integer::sum); - } - } - - OptionalInt optionalReduceExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (size == 0) { - return ints.reduce(Integer::sum); - } - - return ints.reduce(Integer::sum); - } - - // TODO collect example - - int sumExample(List list) { - UtMock.assume(list != null); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.isEmpty()) { - return ints.sum(); - } else { - return ints.sum(); - } - } - - OptionalInt minExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (size == 0) { - return ints.min(); - } - - return ints.min(); - } - - OptionalInt maxExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (size == 0) { - return ints.max(); - } - - return ints.max(); - } - - long countExample(List list) { - UtMock.assume(list != null); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.isEmpty()) { - return ints.count(); - } else { - return ints.count(); - } - } - - OptionalDouble averageExample(List list) { - UtMock.assume(list != null); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.isEmpty()) { - return ints.average(); - } else { - return ints.average(); - } - } - - IntSummaryStatistics summaryStatisticsExample(List list) { - UtMock.assume(list != null); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.isEmpty()) { - return ints.summaryStatistics(); - } else { - return ints.summaryStatistics(); - } - } - - boolean anyMatchExample(List list) { - UtMock.assume(list != null); - - final IntPredicate predicate = value -> value != 0; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - if (list.isEmpty()) { - return ints.anyMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return ints.anyMatch(predicate); - } - - if (first == null || first == 0) { - return ints.anyMatch(predicate); - } - - if (second == null || second == 0) { - return ints.anyMatch(predicate); - } - - return ints.anyMatch(predicate); - } - - boolean allMatchExample(List list) { - UtMock.assume(list != null); - - final IntPredicate predicate = value -> value != 0; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - if (list.isEmpty()) { - return ints.allMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return ints.allMatch(predicate); - } - - if (first == null || first == 0) { - return ints.allMatch(predicate); - } - - if (second == null || second == 0) { - return ints.allMatch(predicate); - } - - return ints.allMatch(predicate); - } - - boolean noneMatchExample(List list) { - UtMock.assume(list != null); - - final IntPredicate predicate = value -> value != 0; - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - if (list.isEmpty()) { - return ints.noneMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return ints.noneMatch(predicate); - } - - if (first == null || first == 0) { - return ints.noneMatch(predicate); - } - - if (second == null || second == 0) { - return ints.noneMatch(predicate); - } - - return ints.noneMatch(predicate); - } - - OptionalInt findFirstExample(List list) { - UtMock.assume(list != null); - - final ToIntFunction shortToIntFunction = value -> value == null ? 0 : value.intValue(); - final IntStream ints = list.stream().mapToInt(shortToIntFunction); - - if (list.isEmpty()) { - return ints.findFirst(); - } - - if (list.get(0) == null) { - return ints.findFirst(); - } else { - return ints.findFirst(); - } - } - - LongStream asLongStreamExample(List list) { - UtMock.assume(list != null); - - return list.stream().mapToInt(value -> value == null ? 0 : value.intValue()).asLongStream(); - } - - DoubleStream asDoubleStreamExample(List list) { - UtMock.assume(list != null); - - return list.stream().mapToInt(value -> value == null ? 0 : value.intValue()).asDoubleStream(); - } - - Object[] boxedExample(List list) { - UtMock.assume(list != null); - - return list.stream().mapToInt(value -> value == null ? 0 : value.intValue()).boxed().toArray(); - } - - @SuppressWarnings("DuplicatedCode") - int iteratorSumExample(List list) { - UtMock.assume(list != null); - - int sum = 0; - PrimitiveIterator.OfInt streamIterator = list.stream().mapToInt(value -> value == null ? 0 : value.intValue()).iterator(); - - if (list.isEmpty()) { - while (streamIterator.hasNext()) { - // unreachable - Integer value = streamIterator.next(); - sum += value; - } - } else { - while (streamIterator.hasNext()) { - Integer value = streamIterator.next(); - sum += value; - } - } - - return sum; - } - - IntStream streamOfExample(int[] values) { - UtMock.assume(values != null); - - if (values.length == 0) { - return IntStream.empty(); - } else { - return IntStream.of(values); - } - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - long closedStreamExample(List values) { - UtMock.assume(values != null); - - IntStream intStream = values.stream().mapToInt(value -> value == null ? 0 : value.intValue()); - intStream.count(); - - return intStream.count(); - } - - int[] generateExample() { - return IntStream.generate(() -> 42).limit(10).toArray(); - } - - int[] iterateExample() { - return IntStream.iterate(42, x -> x + 1).limit(10).toArray(); - } - - int[] concatExample() { - final int identity = 42; - IntStream first = IntStream.generate(() -> identity).limit(10); - IntStream second = IntStream.iterate(identity, x -> x + 1).limit(10); - - return IntStream.concat(first, second).toArray(); - } - - int[] rangeExample() { - return IntStream.range(0, 10).toArray(); - } - - int[] rangeClosedExample() { - return IntStream.rangeClosed(0, 10).toArray(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stream/LongStreamExample.java b/utbot-sample/src/main/java/org/utbot/examples/stream/LongStreamExample.java deleted file mode 100644 index c8217140..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stream/LongStreamExample.java +++ /dev/null @@ -1,524 +0,0 @@ -package org.utbot.examples.stream; - -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; -import java.util.List; -import java.util.LongSummaryStatistics; -import java.util.OptionalDouble; -import java.util.OptionalLong; -import java.util.PrimitiveIterator; -import java.util.function.LongConsumer; -import java.util.function.LongFunction; -import java.util.function.LongPredicate; -import java.util.function.LongToDoubleFunction; -import java.util.function.LongToIntFunction; -import java.util.function.LongUnaryOperator; -import java.util.function.ToLongFunction; -import java.util.stream.DoubleStream; -import java.util.stream.LongStream; - -@SuppressWarnings("IfStatementWithIdenticalBranches") -public class LongStreamExample { - LongStream returningStreamAsParameterExample(LongStream s) { - UtMock.assume(s != null); - - return s; - } - - int useParameterStream(LongStream s) { - UtMock.assume(s != null); - - final long[] values = s.toArray(); - - if (values.length == 0) { - return 0; - } else { - return values.length; - } - } - - boolean filterExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - int newSize = list.stream().mapToLong(shortToLongFunction).filter(x -> x != 0).toArray().length; - - return prevSize != newSize; - } - - long[] mapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final LongUnaryOperator mapper = value -> value * 2; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.contains(null)) { - return longs.map(mapper).toArray(); - } else { - return longs.map(mapper).toArray(); - } - } - - Object[] mapToObjExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final LongFunction mapper = value -> new long[]{value, value}; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.contains(null)) { - return longs.mapToObj(mapper).toArray(); - } else { - return longs.mapToObj(mapper).toArray(); - } - } - - int[] mapToIntExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final LongToIntFunction mapper = value -> (int) value; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.contains(null)) { - return longs.mapToInt(mapper).toArray(); - } else { - return longs.mapToInt(mapper).toArray(); - } - } - - double[] mapToDoubleExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final LongToDoubleFunction mapper = value -> (double) value / 2; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.contains(null)) { - return longs.mapToDouble(mapper).toArray(); - } else { - return longs.mapToDouble(mapper).toArray(); - } - } - - long[] flatMapExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - return longs.flatMap(x -> Arrays.stream(new long[]{x, x})).toArray(); - } - - boolean distinctExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int prevSize = list.size(); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - int newSize = list.stream().mapToLong(shortToLongFunction).distinct().toArray().length; - - return prevSize != newSize; - } - - long[] sortedExample(List list) { - UtMock.assume(list != null && list.size() >= 2); - - Short first = list.get(0); - - int lastIndex = list.size() - 1; - Short last = list.get(lastIndex); - - UtMock.assume(last < first); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - return longs.sorted().toArray(); - } - - static int x = 0; - - @SuppressWarnings("ResultOfMethodCallIgnored") - int peekExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final LongConsumer action = value -> x += value; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - LongStream afterPeek; - if (list.contains(null)) { - afterPeek = longs.peek(action); - } else { - afterPeek = longs.peek(action); - } - - // use terminal operation to force peek action - afterPeek.count(); - - return beforeStaticValue; - } - - long[] limitExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.size() <= 2) { - return longs.limit(2).toArray(); - } else { - return longs.limit(2).toArray(); - } - } - - long[] skipExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.size() <= 2) { - return longs.skip(2).toArray(); - } else { - return longs.skip(2).toArray(); - } - } - - int forEachExample(List list) { - UtMock.assume(list != null && !list.isEmpty()); - - int beforeStaticValue = x; - - final LongConsumer action = value -> x += value; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.contains(null)) { - longs.forEach(action); - } else { - longs.forEach(action); - } - - return beforeStaticValue; - } - - long[] toArrayExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (size <= 1) { - return longs.toArray(); - } else { - return longs.toArray(); - } - } - - long reduceExample(List list) { - UtMock.assume(list != null); - - final long identity = 42; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.isEmpty()) { - return longs.reduce(identity, Long::sum); - } else { - return longs.reduce(identity, Long::sum); - } - } - - OptionalLong optionalReduceExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (size == 0) { - return longs.reduce(Long::sum); - } - - return longs.reduce(Long::sum); - } - - // TODO collect example - - long sumExample(List list) { - UtMock.assume(list != null); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.isEmpty()) { - return longs.sum(); - } else { - return longs.sum(); - } - } - - OptionalLong minExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (size == 0) { - return longs.min(); - } - - return longs.min(); - } - - OptionalLong maxExample(List list) { - UtMock.assume(list != null); - - int size = list.size(); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (size == 0) { - return longs.max(); - } - - return longs.max(); - } - - long countExample(List list) { - UtMock.assume(list != null); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.isEmpty()) { - return longs.count(); - } else { - return longs.count(); - } - } - - OptionalDouble averageExample(List list) { - UtMock.assume(list != null); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.isEmpty()) { - return longs.average(); - } else { - return longs.average(); - } - } - - LongSummaryStatistics summaryStatisticsExample(List list) { - UtMock.assume(list != null); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.isEmpty()) { - return longs.summaryStatistics(); - } else { - return longs.summaryStatistics(); - } - } - - boolean anyMatchExample(List list) { - UtMock.assume(list != null); - - final LongPredicate predicate = value -> value != 0; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - if (list.isEmpty()) { - return longs.anyMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return longs.anyMatch(predicate); - } - - if (first == null || first == 0) { - return longs.anyMatch(predicate); - } - - if (second == null || second == 0) { - return longs.anyMatch(predicate); - } - - return longs.anyMatch(predicate); - } - - boolean allMatchExample(List list) { - UtMock.assume(list != null); - - final LongPredicate predicate = value -> value != 0; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - if (list.isEmpty()) { - return longs.allMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return longs.allMatch(predicate); - } - - if (first == null || first == 0) { - return longs.allMatch(predicate); - } - - if (second == null || second == 0) { - return longs.allMatch(predicate); - } - - return longs.allMatch(predicate); - } - - boolean noneMatchExample(List list) { - UtMock.assume(list != null); - - final LongPredicate predicate = value -> value != 0; - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - if (list.isEmpty()) { - return longs.noneMatch(predicate); - } - - UtMock.assume(list.size() == 2); - - Short first = list.get(0); - Short second = list.get(1); - - if ((first == null || first == 0) && (second == null || second == 0)) { - return longs.noneMatch(predicate); - } - - if (first == null || first == 0) { - return longs.noneMatch(predicate); - } - - if (second == null || second == 0) { - return longs.noneMatch(predicate); - } - - return longs.noneMatch(predicate); - } - - OptionalLong findFirstExample(List list) { - UtMock.assume(list != null); - - final ToLongFunction shortToLongFunction = value -> value == null ? 0 : value.longValue(); - final LongStream longs = list.stream().mapToLong(shortToLongFunction); - - if (list.isEmpty()) { - return longs.findFirst(); - } - - if (list.get(0) == null) { - return longs.findFirst(); - } else { - return longs.findFirst(); - } - } - - DoubleStream asDoubleStreamExample(List list) { - UtMock.assume(list != null); - - return list.stream().mapToLong(value -> value == null ? 0 : value.longValue()).asDoubleStream(); - } - - Object[] boxedExample(List list) { - UtMock.assume(list != null); - - return list.stream().mapToLong(value -> value == null ? 0 : value.longValue()).boxed().toArray(); - } - - long iteratorSumExample(List list) { - UtMock.assume(list != null); - - long sum = 0; - PrimitiveIterator.OfLong streamIterator = list.stream().mapToLong(value -> value == null ? 0 : value.longValue()).iterator(); - - if (list.isEmpty()) { - while (streamIterator.hasNext()) { - // unreachable - Long value = streamIterator.next(); - sum += value; - } - } else { - while (streamIterator.hasNext()) { - Long value = streamIterator.next(); - sum += value; - } - } - - return sum; - } - - LongStream streamOfExample(long[] values) { - UtMock.assume(values != null); - - if (values.length == 0) { - return LongStream.empty(); - } else { - return LongStream.of(values); - } - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - long closedStreamExample(List values) { - UtMock.assume(values != null); - - LongStream intStream = values.stream().mapToLong(value -> value == null ? 0 : value.longValue()); - intStream.count(); - - return intStream.count(); - } - - long[] generateExample() { - return LongStream.generate(() -> 42).limit(10).toArray(); - } - - long[] iterateExample() { - return LongStream.iterate(42, x -> x + 1).limit(10).toArray(); - } - - long[] concatExample() { - final long identity = 42; - LongStream first = LongStream.generate(() -> identity).limit(10); - LongStream second = LongStream.iterate(identity, x -> x + 1).limit(10); - - return LongStream.concat(first, second).toArray(); - } - - long[] rangeExample() { - return LongStream.range(0, 10).toArray(); - } - - long[] rangeClosedExample() { - return LongStream.rangeClosed(0, 10).toArray(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/stream/StreamsAsMethodResultExample.java b/utbot-sample/src/main/java/org/utbot/examples/stream/StreamsAsMethodResultExample.java deleted file mode 100644 index 566a57f0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/stream/StreamsAsMethodResultExample.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.examples.stream; - -import org.utbot.api.mock.*; - -import java.util.List; -import java.util.stream.DoubleStream; -import java.util.stream.IntStream; -import java.util.stream.LongStream; -import java.util.stream.Stream; - -@SuppressWarnings({"IfStatementWithIdenticalBranches", "RedundantOperationOnEmptyContainer"}) -public class StreamsAsMethodResultExample { - Stream returningStreamExample(List list) { - UtMock.assume(list != null); - - if (list.isEmpty()) { - return list.stream(); - } - - return list.stream(); - } - - IntStream returningIntStreamExample(List list) { - UtMock.assume(list != null); - - final int size = list.size(); - - if (size == 0) { - return list.stream().mapToInt(value -> value); - } - - UtMock.assume(size == 1); - - final Integer integer = list.get(0); - - if (integer == null) { - return list.stream().mapToInt(value -> value); - } - - return list.stream().mapToInt(value -> value); - } - - LongStream returningLongStreamExample(List list) { - UtMock.assume(list != null); - - final int size = list.size(); - - if (size == 0) { - return list.stream().mapToLong(value -> value); - } - - UtMock.assume(size == 1); - - final Integer integer = list.get(0); - - if (integer == null) { - return list.stream().mapToLong(value -> value); - } - - return list.stream().mapToLong(value -> value); - } - - DoubleStream returningDoubleStreamExample(List list) { - UtMock.assume(list != null); - - final int size = list.size(); - - if (size == 0) { - return list.stream().mapToDouble(value -> value); - } - - UtMock.assume(size == 1); - - final Integer integer = list.get(0); - - if (integer == null) { - return list.stream().mapToDouble(value -> value); - } - - return list.stream().mapToDouble(value -> value); - } -} - diff --git a/utbot-sample/src/main/java/org/utbot/examples/strings/GenericExamples.java b/utbot-sample/src/main/java/org/utbot/examples/strings/GenericExamples.java deleted file mode 100644 index 55f0be41..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/strings/GenericExamples.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.examples.strings; - -public class GenericExamples { - public boolean containsOk(T obj) { - return obj.toString().contains("ok"); - } - - public boolean containsOkExample() { - return new GenericExamples().containsOk("Elders have spoken"); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/strings/StringExamples.java b/utbot-sample/src/main/java/org/utbot/examples/strings/StringExamples.java deleted file mode 100644 index ffdec578..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/strings/StringExamples.java +++ /dev/null @@ -1,522 +0,0 @@ -package org.utbot.examples.strings; - -import org.jetbrains.annotations.NotNull; -import org.utbot.api.mock.UtMock; - -import java.util.Arrays; - -import static java.lang.Boolean.valueOf; - -class IntPair { - int fst; - int snd; - - @Override - public String toString() { - return fst + ", " + snd; - } -} - -public class StringExamples { - public String concat(String fst, String snd) { - return fst + snd; - } - - public String concatWithObject(IntPair pair) { - if (pair == null) { - return "fst.toString() = " + pair; - } else { - return "fst.toString() = " + pair; - } - } - - public String stringConstants(String s) { - return "String('" + s + "')"; - } - - @SuppressWarnings("ConstantConditions") - public boolean containsOnLiterals() { - return "abcdef".contains("ab"); - } - - public String intToString(int a, int b) { - if (a > b) { - return Integer.toString(a); - } else { - return Integer.toString(b); - } - } - - public String[] intToStringWithConstants() { - return new String[]{ - Integer.toString(Integer.MIN_VALUE), - Integer.toString(Integer.MIN_VALUE + 100), - Integer.toString(0), - Integer.toString(Integer.MAX_VALUE - 100), - Integer.toString(Integer.MAX_VALUE) - }; - } - - public String longToString(long a, long b) { - if (a > b) { - return Long.toString(a); - } else { - return Long.toString(b); - } - } - - public String[] longToStringWithConstants() { - return new String[]{ - Long.toString(Long.MIN_VALUE), - Long.toString(Long.MIN_VALUE + 100L), - Long.toString(0), - Long.toString(Long.MAX_VALUE - 100L), - Long.toString(Long.MAX_VALUE) - }; - } - - public String startsWithLiteral(String str) { - if (str.startsWith("1234567890")) { - str = str.replace("3", "A"); - } else { - str = str.trim(); - } - - if (str.charAt(0) == 'x') { - return str; - } else { - return str.toLowerCase(); - } - } - - public String byteToString(byte a, byte b) { - if (a > b) { - return Byte.toString(a); - } else { - return Byte.toString(b); - } - } - - public String[] byteToStringWithConstants() { - return new String[]{ - Byte.toString(Byte.MIN_VALUE), - Byte.toString((byte) (Byte.MIN_VALUE + 100)), - Byte.toString((byte) 0), - Byte.toString((byte) (Byte.MAX_VALUE - 100)), - Byte.toString(Byte.MAX_VALUE) - }; - } - - public String replace(String a, String b) { - return a.replace("abc", b); - } - - public String charToString(char a, char b) { - if (a > b) { - return Character.toString(a); - } else { - return Character.toString(b); - } - } - - public String shortToString(short a, short b) { - if (a > b) { - return Short.toString(a); - } else { - return Short.toString(b); - } - } - - public String[] shortToStringWithConstants() { - return new String[]{ - Short.toString(Short.MIN_VALUE), - Short.toString((short) (Short.MIN_VALUE + 100)), - Short.toString((short) 0), - Short.toString((short) (Short.MAX_VALUE - 100)), - Short.toString(Short.MAX_VALUE) - }; - } - - public String booleanToString(boolean a, boolean b) { - if (a ^ b) { - return Boolean.toString(a ^ b); - } else { - return Boolean.toString(a ^ b); - } - } - - public int stringToInt(String s) { - int i = Integer.valueOf(s); - if (i < 0) { - return i; - } else { - return i; - } - } - - public long stringToLong(String s) { - long l = Long.valueOf(s); - if (l < 0) { - return l; - } else { - return l; - } - } - - public byte stringToByte(String s) { - byte b = Byte.valueOf(s); - if (b < 0) { - return b; - } else { - return b; - } - } - - public short stringToShort(String s) { - short si = Short.valueOf(s); - if (si < 0) { - return si; - } else { - return si; - } - } - - public boolean stringToBoolean(String s) { - boolean b = valueOf(s); - if (b) { - return b; - } else { - return b; - } - } - - public String concatWithInts(int a, int b) { - if (a == b) { - throw new IllegalArgumentException("Interval is wrong, a equals to b: (" + a + ", " + b + ")"); - } - if (a < b) { - return "a < b, a:" + a + ", b:" + b; - } - return "a > b, a:" + a + ", b:" + b; - } - - @SuppressWarnings({"StringBufferMayBeStringBuilder", "StringBufferReplaceableByString"}) - public String useStringBuffer(String fst, String snd) { - StringBuffer buffer = new StringBuffer(); - buffer.append(fst); - buffer.append(", "); - buffer.append(snd); - return buffer.toString(); - } - - // This test checks StringBuilder can be correctly constructed - public void stringBuilderAsParameterExample(StringBuilder sb) { - UtMock.assume(sb != null); - } - - public String nullableStringBuffer(StringBuffer buffer, int i) { - if (i >= 0) { - buffer.append("Positive"); - } else { - buffer.append("Negative"); - } - return buffer.toString(); - } - - @SuppressWarnings("RedundantIfStatement") - public boolean isStringBuilderEmpty(@NotNull StringBuilder stringBuilder) { - String content = stringBuilder.toString(); - if (content.length() == 0) { - return true; - } - - return false; - } - - public boolean isValidUuid(String uuid) { - return isNotBlank(uuid) && uuid - .matches("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"); - } - - public boolean isValidUuidShortVersion(String uuid) { - return uuid != null && uuid.matches("[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"); - } - - @SuppressWarnings("IfStatementWithIdenticalBranches") - public int splitExample(String s) { - UtMock.assume(s != null); - UtMock.assume(s.length() == 3); - - final char firstChar = s.charAt(0); - final char secondChar = s.charAt(1); - final char thirdChar = s.charAt(2); - - final boolean isFirstWhitespace = Character.isWhitespace(firstChar); - final boolean isSecondWhitespace = Character.isWhitespace(secondChar); - final boolean isThirdWhitespace = Character.isWhitespace(thirdChar); - - if (isFirstWhitespace) { - if (isSecondWhitespace) { - if (isThirdWhitespace) { - return s.split("\\s+").length; - } else { - return s.split("\\s+").length; - } - } else { - if (isThirdWhitespace) { - return s.split("\\s+").length; - } else { - return s.split("\\s+").length; - } - } - } else { - if (isSecondWhitespace) { - if (isThirdWhitespace) { - return s.split("\\s+").length; - } else { - return s.split("\\s+").length; - } - } else { - if (isThirdWhitespace) { - return s.split("\\s+").length; - } else { - return s.split("\\s+").length; - } - } - } - } - - public boolean isNotBlank(CharSequence cs) { - return !isBlank(cs); - } - - // Apache StringUtils - public boolean isBlank(CharSequence cs) { - int strLen = length(cs); - if (strLen != 0) { - for (int i = 0; i < strLen; ++i) { - if (!Character.isWhitespace(cs.charAt(i))) { - return false; - } - } - - } - return true; - } - - // Apache StringUtils - public int length(CharSequence cs) { - return cs == null ? 0 : cs.length(); - } - - public boolean longer(CharSequence cs, int i) { - if (i <= 0) { - throw new IllegalArgumentException(); - } - return length(cs) > i; - } - - public boolean equalChar(CharSequence cs) { - return (cs.charAt(0) == "abc".charAt(0)); - } - - public String substring(String s, int o) { - String subs = s.substring(o); - if (subs.equals("password") && o != 0) { - return subs; - } else if (subs.equals("password")) { - return subs; - } else { - return subs; - } - } - - public String substringWithEndIndex(String s, int b, int e) { - String subs = s.substring(b, e); - if (subs.equals("password") && b != 0 && e != s.length()) { - return subs; - } else { - return subs; - } - } - - public String substringWithEndIndexNotEqual(String s, int e) { - return s.substring(1, e); - } - - @SuppressWarnings("StringOperationCanBeSimplified") - public boolean fullSubstringEquality(String s) { -// // TODO: otherwise string length is negative somewhere in substring -// if (s.length() < 3) { -// return false; -// } - return s.substring(0).equals(s); - } - - @SuppressWarnings("StringEquality") - public int useIntern(String s) { - String abc = "abc"; - if (!s.equals(abc)) { - return 1; - } - String s1 = s.substring(1); - String s2 = abc.substring(1); - if (s1 == s2) { - return 2; - } - String s3 = s1.intern(); - String s4 = s2.intern(); - return s3 == s4 ? 3 : 4; - } - - public int prefixAndSuffix(String s) { - if (s.length() != 5) { - return 0; - } - if (!s.startsWith("ab")) { - return 1; - } - if (!s.endsWith("de")) { - return 2; - } - return s.contains("+") ? 3 : 4; - } - - public int prefixWithTwoArgs(String s) { - return s.startsWith("abc", 1) ? 1 : 2; - } - - public int prefixWithOffset(int o) { - return "babc".startsWith("abc", o) ? 1 : 2; - } - - public boolean startsWith(String s, String prefix) { - if (prefix.length() < 2) { - throw new IllegalArgumentException(); - } - if (s.startsWith(prefix)) { - return true; - } else { - return false; - } - } - - public int startsWithOffset(String s, String prefix, int index) { - if (prefix.length() < 2) { - throw new IllegalArgumentException(); - } - boolean starts = s.startsWith(prefix, index); - if (starts && index > 0) { - return 0; - } else if (starts) { - return 1; - } else { - return 2; - } - } - - public boolean endsWith(String s, String suffix) { - if (suffix.length() < 2) { - throw new IllegalArgumentException(); - } - boolean ends = s.endsWith(suffix); - if (ends) { - return true; - } else { - return false; - } - } - - public String replaceAll(String s, String regex, String replacement) { - return s.replaceAll(regex, replacement); - } - - public int indexOf(String s, String find) { - int i = s.indexOf(find); - if (i > 0) { - return i; - } else if (i == 0) { - return i; - } else { - return i; - } - } - - public int indexOfWithOffset(String s, String find, int offset) { - int i = s.indexOf(find, offset); - if (i > offset && offset > 0) { - return i; - } else if (i == offset) { - return i; - } else { - return i; - } - } - - public int lastIndexOf(String s, String find) { - int i = s.lastIndexOf(find); - if (i < s.length() - find.length()) { - return i; - } else if (i >= 0) { - return i; - } else { - return i; - } - } - - public int lastIndexOfWithOffset(String s, String find, int offset) { - int i = s.lastIndexOf(find, offset); - if (i >= 0 && i < offset - find.length() && offset < s.length()) { - return i; - } else if (i >= 0) { - return i; - } else { - return i; - } - } - - public int compareCodePoints(String s, String t, int i) { - boolean less = s.codePointAt(i) < t.codePointAt(i); - if (i == 0 && less) { - return 0; - } else if (i != 0 && less) { - return 1; - } else if (i == 0){ - return 2; - } else { - return 3; - } - } - - public char[] toCharArray(String s) { - return s.toCharArray(); - } - - // Quark related, SAT-1056 - public Object getObj(String str) { - return str; - } - - // More complex case - public Object getObjWithCondition(String str) { - if (str == null) { - return "null"; - } - if (str.equals("BEDA")) { - return "48858"; - } - return str; - } - - public String equalsIgnoreCase(String s) { - if ("SUCCESS".equalsIgnoreCase(s)) { - return "success"; - } else { - return "failure"; - } - } - - public String listToString() { - return Arrays.asList("a", "b", "c").toString(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/structures/Heap.java b/utbot-sample/src/main/java/org/utbot/examples/structures/Heap.java deleted file mode 100644 index 2f4e6109..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/structures/Heap.java +++ /dev/null @@ -1,88 +0,0 @@ -package org.utbot.examples.structures; - -public class Heap { - int maxSize = 10; - int heapSize = 0, number = 0; - Pair[] queue = new Pair[maxSize]; - - public static boolean isHeap(long[] values) { - if (values.length < 3) { - throw new IllegalArgumentException(); - } - - boolean isHeap = true; - - for (int i = 0; i < values.length / 2 + 1; i++) { - if (i * 2 + 1 < values.length && values[2 * i + 1] < values[i] || - i * 2 + 2 < values.length && values[2 * i + 2] < values[i]) { - isHeap = false; - break; - } - } - - return isHeap; - } - - /* - Add key to the heap - */ - public void push(long key) { - heapSize++; - queue[heapSize - 1].setFirst(key); - queue[heapSize - 1].setSecond(number); - siftUp(heapSize - 1); - } - - /* - Extract min value from the heap - */ - public long extractMin() { - long min = queue[0].getFirst(); - queue[0] = queue[heapSize - 1]; - heapSize--; - siftDown(0); - return min; - } - - /* - Change value added by operation with operationNumber with key - */ - public void decreaseKey(long operationNumber, long key) { - for (int i = 0; i < heapSize; i++) { - if (queue[i].getSecond() == operationNumber) { - queue[i].setFirst(key); - siftUp(i); - } - } - } - - public void siftUp(int i) { - while (queue[i].getFirst() < queue[(i - 1) / 2].getFirst()) { - swap(i, (i - 1) / 2); - i = (i - 1) / 2; - } - } - - public void siftDown(int i) { - while (2 * i + 1 < heapSize) { - int left = 2 * i + 1; - int right = 2 * i + 2; - int j = left; - if (right < heapSize && queue[right].getFirst() < queue[left].getFirst()) { - j = right; - } - if (queue[i].getFirst() <= queue[j].getFirst()) { - break; - } - - swap(i, j); - i = j; - } - } - - public void swap(int fstPos, int sndPos) { - Pair tmp = queue[fstPos]; - queue[fstPos] = queue[sndPos]; - queue[sndPos] = tmp; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/structures/MinStack.java b/utbot-sample/src/main/java/org/utbot/examples/structures/MinStack.java deleted file mode 100644 index 0d709695..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/structures/MinStack.java +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.examples.structures; - -public class MinStack { - long[] stack; - long[] minStack; - int size; - - public MinStack() { - stack = new long[10]; - minStack = new long[10]; - size = 0; - } - - public void addValue(long value) { - stack[size] = value; - if (size == 0) { - minStack[size] = value; - } else { - minStack[size] = Math.min(minStack[size - 1], value); - } - size++; - } - - public void removeValue() { - if (size <= 0) { - throw new RuntimeException("Stack has no elements"); - } - size--; - } - - public long getMin() { - return minStack[size - 1]; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/structures/MinStackExample.java b/utbot-sample/src/main/java/org/utbot/examples/structures/MinStackExample.java deleted file mode 100644 index c363d90d..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/structures/MinStackExample.java +++ /dev/null @@ -1,67 +0,0 @@ -package org.utbot.examples.structures; - -public class MinStackExample { - - // TODO JIRA:406 - // bug with default values. We have to initialize them in constructor, but we don't - // So we have null array inside and other strange values - // For now I'll set field to the right values by hand - public MinStack create(long[] values) { - if (values.length < 3) { - throw new IllegalArgumentException(); - } - values[0] += 100; - values[1] += 200; - values[2] -= 300; - - MinStack stack = construct(new long[0]); - - for (long value : values) { - stack.addValue(value); - } - - long value = stack.getMin(); - stack.addValue(value - 3000); - - return stack; - } - - public MinStack addSingleValue(long[] initialValues) { - MinStack stack = construct(initialValues); - - long minValue = stack.getMin(); - long value = minValue - 100; - stack.addValue(value); - return stack; - } - - public long getMinValue(long[] initialValues) { - MinStack stack = construct(initialValues); - - stack.addValue(-1); - stack.addValue(4); - stack.addValue(-500); - stack.removeValue(); - return stack.getMin(); - } - - public MinStack removeValue(long[] initialValues) { - MinStack stack = construct(initialValues); - - stack.removeValue(); - return stack; - } - - public MinStack construct(long[] values) { - MinStack stack = new MinStack(); - stack.size = 0; - stack.minStack = new long[10]; - stack.stack = new long[10]; - - for (long value : values) { - stack.addValue(value); - } - - return stack; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/structures/Pair.java b/utbot-sample/src/main/java/org/utbot/examples/structures/Pair.java deleted file mode 100644 index 1ad3f547..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/structures/Pair.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.utbot.examples.structures; - - -public class Pair { - private long first, second; - - public Pair() { - } - - public Pair(long first, long second) { - this.first = first; - this.second = second; - } - - public long getFirst() { - return first; - } - - public void setFirst(long first) { - this.first = first; - } - - public long getSecond() { - return second; - } - - public void setSecond(long second) { - this.second = second; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/structures/StandardStructures.java b/utbot-sample/src/main/java/org/utbot/examples/structures/StandardStructures.java deleted file mode 100644 index 6de05970..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/structures/StandardStructures.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.examples.structures; - -import java.util.ArrayDeque; -import java.util.ArrayList; -import java.util.Deque; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -public class StandardStructures { - public List getList(List list) { - if (list instanceof ArrayList) { - return list; - } - - if (list instanceof LinkedList) { - return list; - } - - if (list == null) { - return null; - } - - return list; - } - - public Map getMap(Map map) { - if (map instanceof TreeMap) { - return map; - } - - if (map == null) { - return null; - } - - return map; - } - - public Deque getDeque(Deque deque) { - if (deque instanceof ArrayDeque) { - return deque; - } - - if (deque instanceof LinkedList) { - return deque; - } - - if (deque == null) { - return null; - } - - return deque; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintBranching.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintBranching.java deleted file mode 100644 index 4ab1923c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintBranching.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintBranchingConfig.yaml - */ -public class TaintBranching { - - public String source() { - return "t"; - } - - public void sink(String s) { - // - } - - public void bad(boolean cond) { - String s = source(); - if (cond) { - sink(s); - } else { - // - } - } - - public void good(boolean cond) { - String s = source(); - if (cond) { - sink("n"); - } else { - // - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintCleanerConditions.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintCleanerConditions.java deleted file mode 100644 index 0312f9ac..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintCleanerConditions.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintCleanerConditionsConfig.yaml - */ -public class TaintCleanerConditions { - - public String source() { - return "t"; - } - - public String sourceEmpty() { - return ""; - } - - public void sink(String s) { - // - } - - public void cleanerArgCondition(String s) { - // - } - - public boolean cleanerReturnCondition(String s) { - return s.isEmpty(); - } - - public void badArg() { - String s = source(); - cleanerArgCondition(s); - sink(s); - } - - public void badReturn() { - String s = source(); - boolean isClean = cleanerReturnCondition(s); - sink(s); - } - - public void badThis() { - String s = source(); - boolean res = s.isEmpty(); - sink(s); - } - - public void goodArg() { - String s = sourceEmpty(); - cleanerArgCondition(s); - sink(s); - } - - public void goodReturn() { - String s = sourceEmpty(); - boolean isClean = cleanerReturnCondition(s); - sink(s); - } - - public void goodThis() { - String s = sourceEmpty(); - boolean res = s.isEmpty(); - sink(s); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintCleanerSimple.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintCleanerSimple.java deleted file mode 100644 index b9f727ea..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintCleanerSimple.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintCleanerSimpleConfig.yaml - */ -public class TaintCleanerSimple { - - public String source() { - return "t"; - } - - public void cleaner(String s) { - // - } - - public void notCleaner(String s) { - // - } - - public void sink(String s) { - // - } - - public void bad() { - String s = source(); - notCleaner(s); - sink(s); - } - - public void good() { - String s = source(); - cleaner(s); - sink(s); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintLongPath.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintLongPath.java deleted file mode 100644 index 12621305..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintLongPath.java +++ /dev/null @@ -1,33 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintLongPathConfig.yaml - */ -public class TaintLongPath { - - public String source() { - return "t"; - } - - public void sink(String s) { - // - } - - public void bad() { - String s = source(); - bad2(s); - } - - public void bad2(String s) { - bad3(s); - } - - public void bad3(String s) { - sink(s); - } - - public void good() { - String s = source(); - sink("n"); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintOtherClass.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintOtherClass.java deleted file mode 100644 index a33076f6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintOtherClass.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.examples.taint; - -public class TaintOtherClass { - - public void bad() { - Inner inner = new Inner(); - String s = inner.source(); - String sp = inner.pass(s); - inner.sink(sp); - } - - public void good() { - Inner inner = new Inner(); - String s = inner.source(); - inner.cleaner(s); - inner.sink(s); - } -} - -class Inner { - - public String source() { - return "t"; - } - - public String pass(String s) { - return s + "p"; - } - - public void cleaner(String s) { - // - } - - public void sink(String s) { - // - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintPassConditions.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintPassConditions.java deleted file mode 100644 index 7f5b38bf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintPassConditions.java +++ /dev/null @@ -1,71 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintPassConditionsConfig.yaml - */ -public class TaintPassConditions { - - public String source() { - return "t"; - } - - public String sourceEmpty() { - return ""; - } - - public void sink(String s) { - // - } - - public String passArgCondition(String s, boolean isPass) { - if (isPass) { - return s + "p"; - } else { - return ""; - } - } - - public String passReturnCondition(String s, boolean isPass) { - if (isPass) { - return s + "p"; - } else { - return ""; - } - } - - public void badArg() { - String s = source(); - String sp = passArgCondition(s, true); - sink(sp); - } - - public void badReturn() { - String s = source(); - String sp = passReturnCondition(s, true); - sink(sp); - } - - public void badThis() { - String s = source(); - String sp = s.concat("#"); - sink(sp); - } - - public void goodArg() { - String s = source(); - String sp = passArgCondition(s, false); - sink(sp); - } - - public void goodReturn() { - String s = source(); - String sp = passReturnCondition(s, false); - sink(sp); - } - - public void goodThis() { - String s = sourceEmpty(); - String sp = s.concat("#"); - sink(sp); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintPassSimple.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintPassSimple.java deleted file mode 100644 index c76bf76b..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintPassSimple.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintPassSimpleConfig.yaml - */ -public class TaintPassSimple { - - public String source() { - return "t"; - } - - public String pass(String s) { - return s + "p"; - } - - public String notPass(String s) { - return s + "p"; - } - - public void sink(String s) { - // - } - - public void bad() { - String s = source(); - String sp = pass(s); - sink(sp); - } - - public void badDoublePass() { - String s = source(); - String sp = pass(s); - String spp = pass(sp); - sink(spp); - } - - public void good() { - String s = source(); - String sp = notPass(s); - sink(sp); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSeveralMarks.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSeveralMarks.java deleted file mode 100644 index 52da4847..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSeveralMarks.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintSeveralMarksConfig.yaml - */ -public class TaintSeveralMarks { - - public String source1() { - return "1"; - } - - public String source2() { - return "2"; - } - - public String source12() { - return "12"; - } - - public String pass1(String s) { - return s + "1"; - } - - public String pass2(String s) { - return s + "2"; - } - - - public void cleaner1(String s) { - // - } - - public void cleaner2(String s) { - // - } - - public void sink1(String s) { - // - } - - public void sink2(String s) { - // - } - - public void sink13(String s) { - // - } - - public void sink123(String s) { - // - } - - public void sinkAll(String s) { - // - } - - public void bad1() { - String s = source1(); - String sp = pass1(s); - sink1(sp); - } - - public void bad2() { - String s = source2(); - String sp = pass2(s); - sink2(sp); - } - - public void bad13() { - String s = source1(); - sink13(s); - } - - public void bad123() { - String s12 = source12(); - sink123(s12); - } - - public void badSourceAll() { - String s = source12(); - sink1(s); - sink2(s); - sinkAll(s); - } - - public void badSinkAll() { - String s1 = source1(); - String s2 = source2(); - sinkAll(s1); - sinkAll(s2); - } - - public void badWrongCleaner() { - String s = source1(); - cleaner2(s); - sink1(s); - } - - public void good1() { - String s = source1(); - cleaner1(s); - sink1(s); - } - - public void good2() { - String s = source2(); - cleaner2(s); - sink2(s); - } - - public void good13() { - String s = source2(); - sink13(s); - } - - public void goodWrongSource() { - String s = source1(); - sink2(s); - } - - public void goodWrongSink() { - String s = source2(); - sink1(s); - } - - public void goodWrongPass() { - String s = source1(); - String sp = pass2(s); - sink1(sp); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSignature.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSignature.java deleted file mode 100644 index 39f973fd..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSignature.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintSignatureConfig.yaml - */ -public class TaintSignature { - - // sources - - public String source() { - return "t"; - } - - public String source(boolean cond) { // fake - return "t"; - } - - public String source(int a, int b) { // fake - return "t"; - } - - // passes - - public String pass(String s) { - return s + "p"; - } - - public String pass(String s, int b) { // fake - return s + "p"; - } - - // cleaners - - public void cleaner(String s) { - // - } - - public void cleaner(String s, String t) { // fake - // - } - - // sinks - - public void sink(String s) { - // - } - - public void sink(String s, int a) { // fake - // - } - - public void badFakeCleaner() { - String s = source(); - String sp = pass(s); - cleaner(sp, s); // fake - sink(sp); - } - - public void goodCleaner() { - String s = source(); - String sp = pass(s); - cleaner(sp); - sink(sp); - } - - public void goodFakeSources() { - String s = source(true); - String t = source(1, 2); - sink(s); - sink(t); - } - - public void goodFakePass() { - String s = source(); - String sp = pass(s, 1); // fake - sink(sp); - } - - public void goodFakeSink() { - String s = source(); - sink(s, 1); // fake - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSimple.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSimple.java deleted file mode 100644 index e02c2ef1..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSimple.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintSimpleConfig.yaml - */ -public class TaintSimple { - - public String source() { - return "t"; - } - - public void sink(String s) { - // - } - - public void bad() { - String s = source(); - sink(s); - } - - public void good() { - String s = source(); - sink("n"); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSinkConditions.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSinkConditions.java deleted file mode 100644 index 786b73f1..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSinkConditions.java +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintSinkConditionsConfig.yaml - */ -public class TaintSinkConditions { - - public String source() { - return "t"; - } - - public String sourceEmpty() { - return ""; - } - - public void sink(String s, boolean isSink) { - // - } - - public void badArg() { - String s = source(); - sink(s, true); - } - - public void badThis() { - String s = source(); - byte[] res = s.getBytes(); - } - - public void goodArg() { - String s = source(); - sink(s, false); - } - - public void goodThis() { - String s = sourceEmpty(); - byte[] res = s.getBytes(); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSourceConditions.java b/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSourceConditions.java deleted file mode 100644 index 0da33cbf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/taint/TaintSourceConditions.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.examples.taint; - -/** - * Config: ./utbot-sample/src/main/resources/taint/TaintSourceConditionsConfig.yaml - */ -public class TaintSourceConditions { - - public String sourceArgCondition(boolean isSource) { - if (isSource) { - return "t"; - } else { - return ""; - } - } - - public String sourceReturnCondition(boolean isSource) { - if (isSource) { - return "t"; - } else { - return ""; - } - } - - public void sink(String s) { - // - } - - public void badArg() { - String s = sourceArgCondition(true); - sink(s); - } - - public void badReturn() { - String s = sourceReturnCondition(true); - sink(s); - } - - public void badThis() { - String s = "t"; - String res = s.toLowerCase(); - sink(res); - } - - public void goodArg() { - String s = sourceArgCondition(false); - sink(s); - } - - public void goodReturn() { - String s = sourceArgCondition(false); - sink(s); - } - - public void goodThis() { - String s = ""; - String res = s.toLowerCase(); - sink(res); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/ternary/Ternary.java b/utbot-sample/src/main/java/org/utbot/examples/ternary/Ternary.java deleted file mode 100644 index b60231c2..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/ternary/Ternary.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.utbot.examples.ternary; - -public class Ternary { - public int max(int val1, int val2) { - return val1 >= val2 ? val1 : val2; - } - - public int simpleOperation(int exp1, int exp2) { - int result = 12 > 10 ? ++exp1 : ++exp2; - return result; - } - - - public int parse(String input) { - int value = input == null || input.equals("") ? 0 : Integer.parseInt(input); - return value; - } - - public String stringExpr(int num) { - return num > 10 ? "Number is greater than 10" : - num > 5 ? "Number is greater than 5" : "Number is less than equal to 5"; - } - - public int minValue(int a, int b) { - return (a < b) ? a : b; - } - - public int subDelay(boolean flag) { - return flag ? 100 : 0; - } - - public int plusOrMinus(int num1, int num2) { - return (num1 > num2) ? (num1 + num2) : (num1 - num2); - } - - public int longTernary(int num1, int num2) { - return num1 > num2 ? 1 : num1 == num2 ? 2 : 3; - } - - public int veryLongTernary(int num1, int num2, int num3) { - return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5; - } - - public int intFunc(int num1, int num2) { - return num1 > num2 ? intFunc1() : intFunc2(); - } - - public int minMax(int num1, int num2) { - int a = num1 > num2 ? - max(num1, num2) * 3 - : minValue(num1, num2) * 5; - a += 80; - a *= 5; - return a; - } - - public int ternaryInTheMiddle(int num1, int num2, int num3) { - return max(num1 + 228, num2 > num3 ? num2 + 1 : num3 + 2) + 4; - } - - public int twoIfsOneLine(int num1, int num2) { - int a = 0; - if (num1 > num2){a = (num1 - 10) > 0 ? 2 : 3;} - else {a = num2 - 200;} - return a; - } - - private int intFunc1() { - return 10; - } - - private int intFunc2() { - return 20; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/thirdparty/numbers/ArithmeticUtils.java b/utbot-sample/src/main/java/org/utbot/examples/thirdparty/numbers/ArithmeticUtils.java deleted file mode 100644 index bd6db858..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/thirdparty/numbers/ArithmeticUtils.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.utbot.examples.thirdparty.numbers; - -/** - * Some useful, arithmetics related, additions to the built-in functions in - * {@link Math}. - */ -public final class ArithmeticUtils { - - /** - * Negative exponent exception message part 1. - */ - private static final String NEGATIVE_EXPONENT_1 = "negative exponent ({"; - /** - * Negative exponent exception message part 2. - */ - private static final String NEGATIVE_EXPONENT_2 = "})"; - - /** - * Raise an int to an int power. - * - *

    Special cases:

    - *
      - *
    • {@code k^0} returns {@code 1} (including {@code k=0}) - *
    • {@code k^1} returns {@code k} (including {@code k=0}) - *
    • {@code 0^0} returns {@code 1} - *
    • {@code 0^e} returns {@code 0} - *
    • {@code 1^e} returns {@code 1} - *
    • {@code (-1)^e} returns {@code -1 or 1} if {@code e} is odd or even - *
    - * - * @param k Number to raise. - * @param e Exponent (must be positive or zero). - * @return \( k^e \) - * @throws IllegalArgumentException if {@code e < 0}. - * @throws ArithmeticException if the result would overflow. - */ - public int pow(final int k, - final int e) { - if (e < 0) { - throw new IllegalArgumentException(NEGATIVE_EXPONENT_1 + e + NEGATIVE_EXPONENT_2); - } - - if (k == 0) { - return e == 0 ? 1 : 0; - } - - if (k == 1) { - return 1; - } - - if (k == -1) { - return (e & 1) == 0 ? 1 : -1; - } - - if (e >= 31) { - throw new ArithmeticException("integer overflow"); - } - - int exp = e; - int result = 1; - int k2p = k; - while (true) { - if ((exp & 0x1) != 0) { - result = Math.multiplyExact(result, k2p); - } - - exp >>= 1; - if (exp == 0) { - break; - } - - k2p = Math.multiplyExact(k2p, k2p); - } - - return result; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/threads/CountDownLatchExamples.java b/utbot-sample/src/main/java/org/utbot/examples/threads/CountDownLatchExamples.java deleted file mode 100644 index b1ff95af..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/threads/CountDownLatchExamples.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.examples.threads; - -import org.utbot.api.mock.UtMock; - -import java.util.concurrent.CountDownLatch; - -public class CountDownLatchExamples { - long getAndDown(CountDownLatch countDownLatch) { - UtMock.assume(countDownLatch != null); - - final long count = countDownLatch.getCount(); - - if (count < 0) { - // Unreachable - return -1; - } - - countDownLatch.countDown(); - final long nextCount = countDownLatch.getCount(); - - if (nextCount < 0) { - // Unreachable - return -2; - } - - if (count == 0) { - // Could not differs from 0 too - return nextCount; - } - - if (count - nextCount != 1) { - // Unreachable - return -3; - } - - return nextCount; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/threads/ExecutorServiceExamples.java b/utbot-sample/src/main/java/org/utbot/examples/threads/ExecutorServiceExamples.java deleted file mode 100644 index c5500534..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/threads/ExecutorServiceExamples.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.examples.threads; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.Executors; - -public class ExecutorServiceExamples { - public void throwingInExecute() { - Executors.newSingleThreadExecutor().execute(() -> { - throw new IllegalStateException(); - }); - } - - public int changingCollectionInExecute() { - List list = new ArrayList<>(); - - Executors.newSingleThreadExecutor().execute(() -> { - list.add(42); - }); - - return list.get(0); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/threads/FutureExamples.java b/utbot-sample/src/main/java/org/utbot/examples/threads/FutureExamples.java deleted file mode 100644 index 2b233f23..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/threads/FutureExamples.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.examples.threads; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; - -public class FutureExamples { - public void throwingRunnableExample() throws ExecutionException, InterruptedException { - final CompletableFuture future = CompletableFuture.runAsync(() -> { - throw new IllegalStateException(); - }); - - future.get(); - } - - public int resultFromGet() throws ExecutionException, InterruptedException { - final CompletableFuture future = CompletableFuture.supplyAsync(() -> 42); - - return future.get(); - } - - public int changingCollectionInFuture() throws ExecutionException, InterruptedException { - List values = new ArrayList<>(); - - final CompletableFuture future = CompletableFuture.runAsync(() -> values.add(42)); - - future.get(); - - return values.get(0); - } - - // NOTE: this tests looks similar as the test above BUT it is important to check correctness of the wrapper - // for CompletableFuture - an actions is executed regardless of invoking `get` method. - @SuppressWarnings("unused") - public int changingCollectionInFutureWithoutGet() { - List values = new ArrayList<>(); - - final CompletableFuture future = CompletableFuture.runAsync(() -> values.add(42)); - - return values.get(0); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/threads/ThreadExamples.java b/utbot-sample/src/main/java/org/utbot/examples/threads/ThreadExamples.java deleted file mode 100644 index 21cc1bbf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/threads/ThreadExamples.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.examples.threads; - -import java.util.ArrayList; -import java.util.List; - -public class ThreadExamples { - public void explicitExceptionInStart() { - new Thread(() -> { - throw new IllegalStateException(); - }).start(); - } - - public int changingCollectionInThread() { - List values = new ArrayList<>(); - - new Thread(() -> values.add(42)).start(); - - return values.get(0); - } - - @SuppressWarnings("unused") - public int changingCollectionInThreadWithoutStart() { - List values = new ArrayList<>(); - - final Thread thread = new Thread(() -> values.add(42)); - - return values.get(0); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/types/CastExamples.java b/utbot-sample/src/main/java/org/utbot/examples/types/CastExamples.java deleted file mode 100644 index 8d52e47f..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/types/CastExamples.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.examples.types; - -public class CastExamples { - public byte longToByte(long a, long b) { - byte castA = (byte) a; - byte castB = (byte) b; - byte c = (byte) (castA + castB); - if (c > 10) { - return c; - } - return (byte) (castA > castB ? -1 : 0); - } - - public long shortToLong(short a, short b) { - long c = (long) a + (long) b; - if (c > 10) { - return c; - } - return (long) a > (long) b ? -1 : 0; - } - - public double floatToDouble(float a, float b) { - double c = (double) a + (double) b; - if (c > Float.MAX_VALUE) { - return 2; - } - if (c > 10) { - return 1; - } - return (double) a > (double) b ? -1 : 0; - } - - public float doubleToFloatArray(double x) { - float[] a = new float[1]; - a[0] = (float) x + 5; - if (a[0] > 20) { - return 1; - } - return 0; - } - - public int floatToInt(float x) { - if (x < 0) { - if ((int) x < 0) { - return 1; - } - return 2; // smth small to int zero - } - return 3; - } - - public char shortToChar(short a, short b) { - char c = (char) ((char) a + (char) b); - if (c > 10) { - return c; - } - return (char) ((char) a > (char) b ? -1 : 0); - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/types/CollectionAsField.java b/utbot-sample/src/main/java/org/utbot/examples/types/CollectionAsField.java deleted file mode 100644 index 157f34f6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/types/CollectionAsField.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.utbot.examples.types; - -import java.util.HashMap; -import java.util.Map; - -public class CollectionAsField { - public static Map staticMap = new HashMap<>(); - public Map nonStaticMap = new HashMap<>(); - public T field; -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/types/Generics.java b/utbot-sample/src/main/java/org/utbot/examples/types/Generics.java deleted file mode 100644 index 5272a4d3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/types/Generics.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.examples.types; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class Generics { - public boolean genericAsField(CollectionAsField object) { - if (object != null && object.field != null) { - return object.field.equals("abc"); - } - - return false; - } - - public String mapAsStaticField() { - CollectionAsField.staticMap.put("key", "value"); - return CollectionAsField.staticMap.get("key"); - } - - public String mapAsParameter(Map map) { - map.put("key", "value"); - return map.get("key"); - } - - public String mapAsNonStaticField(CollectionAsField object) { - object.nonStaticMap.put("key", "value"); - return object.nonStaticMap.get("key"); - } - - @SuppressWarnings({"rawtypes", "unchecked"}) - public String methodWithRawType(Map map) { - nestedMethodWithGenericInfo(map); - map.put("key", "value"); - - return (String) map.get("key"); - } - - @SuppressWarnings("UnusedReturnValue") - private Map nestedMethodWithGenericInfo(Map map) { - return map; - } - - public int methodWithArrayTypeBoundary() { - return new ArrayTypeParameters().methodWithArrayTypeBoundary(null); - } -} - -class ArrayTypeParameters { - public int methodWithArrayTypeBoundary(List list) { - if (list.isEmpty()) { - return -1; - } - - return 1; - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/types/PathDependentGenericsExample.java b/utbot-sample/src/main/java/org/utbot/examples/types/PathDependentGenericsExample.java deleted file mode 100644 index e0861705..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/types/PathDependentGenericsExample.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.examples.types; - -import org.utbot.api.mock.UtMock; - -import java.util.List; - -public class PathDependentGenericsExample { - public int pathDependentGenerics(GenericParent element) { - if (element instanceof ClassWithOneGeneric) { - functionWithOneGeneric((ClassWithOneGeneric) element); - return 1; - } - - if (element instanceof ClassWithTwoGenerics) { - functionWithTwoGenerics((ClassWithTwoGenerics) element); - return 2; - } - - return 3; - } - - public int functionWithSeveralTypeConstraintsForTheSameObject(Object element) { - if (element instanceof List) { - functionWithSeveralGenerics((List) element, (List) element); - - UtMock.assume(!((List) element).isEmpty()); - Object value = ((List) element).get(0); - UtMock.assume(value != null); - - if (value instanceof Number) { - return 1; - } else { - return 2; // unreachable - } - } - - return 3; - } - - private void functionWithSeveralGenerics(List firstValue, List anotherValue) { - } - - private void functionWithOneGeneric(ClassWithOneGeneric value) { - System.out.println(); - } - - private void functionWithTwoGenerics(ClassWithTwoGenerics value) { - System.out.println(); - } -} - -abstract class GenericParent { -} - -class ClassWithOneGeneric extends GenericParent { -} - -class ClassWithTwoGenerics extends GenericParent { -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/types/TypeBorders.java b/utbot-sample/src/main/java/org/utbot/examples/types/TypeBorders.java deleted file mode 100644 index 6e3cd32a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/types/TypeBorders.java +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.examples.types; - -@SuppressWarnings("All") -public class TypeBorders { - - public int byteBorder(byte x) { - if (x > Byte.MAX_VALUE) { - return 0; - } else if (x < Byte.MIN_VALUE) { - return 1; - } else if (x == Byte.MAX_VALUE) { - return 2; - } else if (x == Byte.MIN_VALUE) { - return 3; - } else { - return 4; - } - } - - public int shortBorder(short x) { - if (x > Short.MAX_VALUE) { - return 0; - } else if (x < Short.MIN_VALUE) { - return 1; - } else if (x == Short.MAX_VALUE) { - return 2; - } else if (x == Short.MIN_VALUE) { - return 3; - } else { - return 4; - } - } - - public int charBorder(char x) { - if (x > Character.MAX_VALUE) { - return 0; - } else if (x < Character.MIN_VALUE) { - return 1; - } else if (x == Character.MAX_VALUE) { - return 2; - } else if (x == Character.MIN_VALUE) { - return 3; - } else { - return 4; - } - } - - public int intBorder(int x) { - if (x > Integer.MAX_VALUE) { - return 0; - } else if (x < Integer.MIN_VALUE) { - return 1; - } else if (x == Integer.MAX_VALUE) { - return 2; - } else if (x == Integer.MIN_VALUE) { - return 3; - } else { - return 4; - } - } - - public int longBorder(long x) { - if (x > Long.MAX_VALUE) { - return 0; - } - if (x < Long.MIN_VALUE) { - return 1; - } else if (x == Long.MAX_VALUE) { - return 2; - } else if (x == Long.MIN_VALUE) { - return 3; - } else { - return 4; - } - } - - public int unreachableByteValue(byte x) { - int y = x; - if (y > 200) { - return 1; - } - return 0; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/types/TypeMatches.java b/utbot-sample/src/main/java/org/utbot/examples/types/TypeMatches.java deleted file mode 100644 index 54641320..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/types/TypeMatches.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.utbot.examples.types; - -public class TypeMatches { - public double compareDoubleByte(double a, byte b) { - if (a < b) { - return 0; - } else { - return 1; - } - } - - public short compareShortLong(short a, long b) { - if (a < b) { - return 0; - } else { - return 1; - } - } - - public float compareFloatDouble(float a, double b) { - if (a < b) { - return 0; - } else { - return 1; - } - } - - public int sumByteAndShort(byte a, short b) { - int s = a + b; - if (s > Short.MAX_VALUE) { - return 1; - } - if (s < Short.MIN_VALUE) { - return 2; - } - return 3; - } - - public int sumShortAndChar(short a, char b) { - int s = a + b; - if (s > Character.MAX_VALUE) { - return 1; - } - if (s < Character.MIN_VALUE) { - return 2; - } - return 3; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeOperations.java b/utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeOperations.java deleted file mode 100644 index 7b76b0ba..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeOperations.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.examples.unsafe; - -import sun.misc.Unsafe; - -import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedAction; - -public class UnsafeOperations { - public int getAddressSizeOrZero() { - try { - Field f = Unsafe.class.getDeclaredField("theUnsafe"); - f.setAccessible(true); - Unsafe unsafe = (Unsafe) f.get(null); - return unsafe.addressSize(); - } catch (NoSuchFieldException | IllegalAccessException e) { - throw new RuntimeException("Reflection failed"); - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeWithField.java b/utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeWithField.java deleted file mode 100644 index 83c3bf3d..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeWithField.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.examples.unsafe; - -import java.text.NumberFormat.Field; - -public class UnsafeWithField { - Field field; - - public Field setField(Field f) { - field = f; - return Field.INTEGER; - } -} \ No newline at end of file diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/BooleanWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/BooleanWrapper.java deleted file mode 100644 index 43b8d8a9..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/BooleanWrapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.examples.wrappers; - -@SuppressWarnings("ConstantConditions") -public class BooleanWrapper { - public Boolean primitiveToWrapper(boolean x) { - Boolean a = x; - if (a) { - return a; - } else { - return !a; - } - } - - public boolean wrapperToPrimitive(Boolean x) { - boolean a = x; - if (a) { - return a; - } else { - return !a; - } - } - - int equality(boolean a, boolean b) { - Boolean aWrapper = a; - Boolean bWrapper = b; - if (aWrapper.equals(bWrapper)) { - if (aWrapper == bWrapper) { - // Boolean instances got from boxing are the same - return 1; - } else { - // unreachable branch - return 2; - } - } else { - if (aWrapper == bWrapper) { - // unreachable branch - return 3; - } else { - return 4; - } - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/ByteWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/ByteWrapper.java deleted file mode 100644 index 811089f0..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/ByteWrapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.utbot.examples.wrappers; - -public class ByteWrapper { - public Byte primitiveToWrapper(byte i) { - Byte a = i; - if (a >= 0) { - return (byte) -a; - } else { - return a; - } - } - - public byte wrapperToPrimitive(Byte i) { - byte a = i; - if (a >= 0) { - return (byte) -a; - } else { - return a; - } - } - - int equality(byte a, byte b) { - Byte aWrapper = a; - Byte bWrapper = b; - if (aWrapper.equals(bWrapper)) { - if (aWrapper == bWrapper) { - // all the byte instances are absolutely equal - return 1; - } else { - // unreachable branch - return 2; - } - } else { - if (aWrapper == bWrapper) { - // unreachable branch - return 3; - } else { - return 4; - } - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/CharacterWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/CharacterWrapper.java deleted file mode 100644 index 9f8df4b3..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/CharacterWrapper.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.wrappers; - -public class CharacterWrapper { - public Character primitiveToWrapper(char i) { - Character a = i; - if (a >= 100) { - return a; - } else { - return (char) (a + 100); - } - } - - public char wrapperToPrimitive(Character i) { - char a = i; - if (a >= 100) { - return a; - } else { - return (char) (a + 100); - } - } - - int equality(char a, char b) { - Character aWrapper = a; - Character bWrapper = b; - if (aWrapper.equals(bWrapper)) { - if (aWrapper == bWrapper) { - // if a == b and aWrapper == bWrapper than a,b should be less than 127 - return 1; - } else { - return 2; - } - } else { - if (aWrapper == bWrapper) { - // unreachable branch - return 3; - } else { - return 4; - } - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/DoubleWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/DoubleWrapper.java deleted file mode 100644 index 0d5d838c..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/DoubleWrapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.wrappers; - -public class DoubleWrapper { - public Double primitiveToWrapper(double i) { - Double a = i; - if (a >= 0) { - return a; - } else { - return -a; - } - } - - public double wrapperToPrimitive(Double i) { - double a = i; - if (a >= 0) { - return a; - } else { - return -a; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/FloatWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/FloatWrapper.java deleted file mode 100644 index a4ec9acf..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/FloatWrapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.utbot.examples.wrappers; - -public class FloatWrapper { - Float primitiveToWrapper(float i) { - Float a = i; - if (a >= 0) { - return a; - } else { - return -a; - } - } - - float wrapperToPrimitive(Float i) { - float a = i; - if (a >= 0) { - return a; - } else { - return -a; - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/IntegerWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/IntegerWrapper.java deleted file mode 100644 index cd8cf12a..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/IntegerWrapper.java +++ /dev/null @@ -1,58 +0,0 @@ -package org.utbot.examples.wrappers; - -public class IntegerWrapper { - - public Integer primitiveToWrapper(int i) { - Integer a = i; - if (a >= 0) { - return -a; - } else { - return a; - } - } - - public int wrapperToPrimitive(Integer i) { - int a = i; - if (a >= 0) { - return -a; - } else { - return a; - } - } - - public int bitCount(Integer i) { - if (Integer.bitCount(i) == 5) { - return 1; - } else { - return 0; - } - } - - public int numberOfZeros(Integer i) { - if (Integer.numberOfLeadingZeros(i) < 5 && Integer.numberOfTrailingZeros(i) < 5) { - return 1; - } else { - return 0; - } - } - - public int equality(int a, int b) { - Integer aWrapper = a; - Integer bWrapper = b; - if (aWrapper.equals(bWrapper)) { - if (aWrapper == bWrapper) { - // if a == b and aWrapper == bWrapper than a,b should be in -128..127 - return 1; - } else { - return 2; - } - } else { - if (aWrapper == bWrapper) { - // unreachable branch - return 3; - } else { - return 4; - } - } - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/LongWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/LongWrapper.java deleted file mode 100644 index 158512b6..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/LongWrapper.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.examples.wrappers; - -public class LongWrapper { - Long primitiveToWrapper(long i) { - Long a = i; - if (a >= 0) { - return -a; - } else { - return a; - } - } - - long wrapperToPrimitive(Long i) { - long a = i; - if (a >= 0) { - return -a; - } else { - return a; - } - } - - int equality(long a, long b) { - Long aWrapper = a; - Long bWrapper = b; - if (aWrapper.equals(bWrapper)) { - if (aWrapper == bWrapper) { - // if a == b and aWrapper == bWrapper than a,b should be in -128..127 - return 1; - } else { - return 2; - } - } else { - if (aWrapper == bWrapper) { - // unreachable branch - return 3; - } else { - return 4; - } - } - } - - Long parseLong(String line) { - return Long.parseLong(line, 16); - } -} diff --git a/utbot-sample/src/main/java/org/utbot/examples/wrappers/ShortWrapper.java b/utbot-sample/src/main/java/org/utbot/examples/wrappers/ShortWrapper.java deleted file mode 100644 index 127e8404..00000000 --- a/utbot-sample/src/main/java/org/utbot/examples/wrappers/ShortWrapper.java +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.examples.wrappers; - -public class ShortWrapper { - Short primitiveToWrapper(short i) { - Short a = i; - if (a >= 0) { - return (short) -a; - } else { - return a; - } - } - - short wrapperToPrimitive(Short i) { - short a = i; - if (a >= 0) { - return (short) -a; - } else { - return a; - } - } - - int equality(short a, short b) { - Short aWrapper = a; - Short bWrapper = b; - if (aWrapper.equals(bWrapper)) { - if (aWrapper == bWrapper) { - // if a == b and aWrapper == bWrapper than a,b should be in -128..127 - return 1; - } else { - return 2; - } - } else { - if (aWrapper == bWrapper) { - // unreachable branch - return 3; - } else { - return 4; - } - } - } -} diff --git a/utbot-sample/src/main/kotlin/org/utbot/examples/codegen/FileWithTopLevelFunctions.kt b/utbot-sample/src/main/kotlin/org/utbot/examples/codegen/FileWithTopLevelFunctions.kt deleted file mode 100644 index f9b281a5..00000000 --- a/utbot-sample/src/main/kotlin/org/utbot/examples/codegen/FileWithTopLevelFunctions.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.examples.codegen - -class CustomClass - -fun topLevelSum(a: Int, b: Int): Int { - return a + b -} - -fun Int.extensionOnBasicType(other: Int): Int { - return this + other -} - -fun CustomClass.extensionOnCustomClass(other: CustomClass): Boolean { - return this === other -} \ No newline at end of file diff --git a/utbot-sample/src/main/resources/taint/TaintBranchingConfig.yaml b/utbot-sample/src/main/resources/taint/TaintBranchingConfig.yaml deleted file mode 100644 index 70ad529c..00000000 --- a/utbot-sample/src/main/resources/taint/TaintBranchingConfig.yaml +++ /dev/null @@ -1,9 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintBranching.source: - add-to: return - marks: bad - -sinks: - - org.utbot.examples.taint.TaintBranching.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintCleanerConditionsConfig.yaml b/utbot-sample/src/main/resources/taint/TaintCleanerConditionsConfig.yaml deleted file mode 100644 index 15940253..00000000 --- a/utbot-sample/src/main/resources/taint/TaintCleanerConditionsConfig.yaml +++ /dev/null @@ -1,29 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintCleanerConditions.source: - add-to: return - marks: bad - - org.utbot.examples.taint.TaintCleanerConditions.sourceEmpty: - add-to: return - marks: bad - -cleaners: - - org.utbot.examples.taint.TaintCleanerConditions.cleanerArgCondition: - remove-from: arg1 - marks: bad - conditions: - arg1: "" - - org.utbot.examples.taint.TaintCleanerConditions.cleanerReturnCondition: - remove-from: arg1 - marks: bad - conditions: - return: true - - java.lang.String.isEmpty: - remove-from: this - marks: bad - conditions: - this: "" - -sinks: - - org.utbot.examples.taint.TaintCleanerConditions.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintCleanerSimpleConfig.yaml b/utbot-sample/src/main/resources/taint/TaintCleanerSimpleConfig.yaml deleted file mode 100644 index 9761b1ad..00000000 --- a/utbot-sample/src/main/resources/taint/TaintCleanerSimpleConfig.yaml +++ /dev/null @@ -1,14 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintCleanerSimple.source: - add-to: return - marks: bad - -cleaners: - - org.utbot.examples.taint.TaintCleanerSimple.cleaner: - remove-from: arg1 - marks: bad - -sinks: - - org.utbot.examples.taint.TaintCleanerSimple.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintLongPathConfig.yaml b/utbot-sample/src/main/resources/taint/TaintLongPathConfig.yaml deleted file mode 100644 index 813971f1..00000000 --- a/utbot-sample/src/main/resources/taint/TaintLongPathConfig.yaml +++ /dev/null @@ -1,9 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintLongPath.source: - add-to: return - marks: bad - -sinks: - - org.utbot.examples.taint.TaintLongPath.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintOtherClassConfig.yaml b/utbot-sample/src/main/resources/taint/TaintOtherClassConfig.yaml deleted file mode 100644 index ec02e984..00000000 --- a/utbot-sample/src/main/resources/taint/TaintOtherClassConfig.yaml +++ /dev/null @@ -1,20 +0,0 @@ -sources: - - org.utbot.examples.taint.Inner.source: - add-to: return - marks: bad - -passes: - - org.utbot.examples.taint.Inner.pass: - get-from: arg1 - add-to: return - marks: bad - -cleaners: - - org.utbot.examples.taint.Inner.cleaner: - remove-from: arg1 - marks: bad - -sinks: - - org.utbot.examples.taint.Inner.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintPassConditionsConfig.yaml b/utbot-sample/src/main/resources/taint/TaintPassConditionsConfig.yaml deleted file mode 100644 index 86ba0d17..00000000 --- a/utbot-sample/src/main/resources/taint/TaintPassConditionsConfig.yaml +++ /dev/null @@ -1,34 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintPassConditions.source: - add-to: return - marks: bad - - org.utbot.examples.taint.TaintPassConditions.sourceEmpty: - add-to: return - marks: bad - -passes: - - org.utbot.examples.taint.TaintPassConditions.passArgCondition: - get-from: arg1 - add-to: return - marks: bad - conditions: - arg2: true - - org.utbot.examples.taint.TaintPassConditions.passReturnCondition: - get-from: arg1 - add-to: return - marks: bad - conditions: - return: - not: "" - - java.lang.String.concat: - get-from: [ this, arg1 ] - add-to: return - marks: bad - conditions: - this: - not: "" - -sinks: - - org.utbot.examples.taint.TaintPassConditions.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintPassSimpleConfig.yaml b/utbot-sample/src/main/resources/taint/TaintPassSimpleConfig.yaml deleted file mode 100644 index f2995edf..00000000 --- a/utbot-sample/src/main/resources/taint/TaintPassSimpleConfig.yaml +++ /dev/null @@ -1,15 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintPassSimple.source: - add-to: return - marks: bad - -passes: - - org.utbot.examples.taint.TaintPassSimple.pass: - get-from: arg1 - add-to: return - marks: bad - -sinks: - - org.utbot.examples.taint.TaintPassSimple.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintSeveralMarksConfig.yaml b/utbot-sample/src/main/resources/taint/TaintSeveralMarksConfig.yaml deleted file mode 100644 index 4b2bd7cc..00000000 --- a/utbot-sample/src/main/resources/taint/TaintSeveralMarksConfig.yaml +++ /dev/null @@ -1,45 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintSeveralMarks.source1: - add-to: return - marks: mark1 - - org.utbot.examples.taint.TaintSeveralMarks.source2: - add-to: return - marks: mark2 - - org.utbot.examples.taint.TaintSeveralMarks.source12: - add-to: return - marks: [ mark1, mark2 ] - -passes: - - org.utbot.examples.taint.TaintSeveralMarks.pass1: - get-from: arg1 - add-to: return - marks: mark1 - - org.utbot.examples.taint.TaintSeveralMarks.pass2: - get-from: arg1 - add-to: return - marks: mark2 - -cleaners: - - org.utbot.examples.taint.TaintSeveralMarks.cleaner1: - remove-from: arg1 - marks: mark1 - - org.utbot.examples.taint.TaintSeveralMarks.cleaner2: - remove-from: arg1 - marks: mark2 - -sinks: - - org.utbot.examples.taint.TaintSeveralMarks.sink1: - check: arg1 - marks: mark1 - - org.utbot.examples.taint.TaintSeveralMarks.sink2: - check: arg1 - marks: mark2 - - org.utbot.examples.taint.TaintSeveralMarks.sink13: - check: arg1 - marks: [ mark1, mark3 ] - - org.utbot.examples.taint.TaintSeveralMarks.sink123: - check: arg1 - marks: [ mark1, mark2, mark3 ] - - org.utbot.examples.taint.TaintSeveralMarks.sinkAll: - check: arg1 - marks: [] diff --git a/utbot-sample/src/main/resources/taint/TaintSignatureConfig.yaml b/utbot-sample/src/main/resources/taint/TaintSignatureConfig.yaml deleted file mode 100644 index 73ef64c5..00000000 --- a/utbot-sample/src/main/resources/taint/TaintSignatureConfig.yaml +++ /dev/null @@ -1,24 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintSignature.source: - signature: [ ] - add-to: return - marks: bad - -passes: - - org.utbot.examples.taint.TaintSignature.pass: - signature: [ ] - get-from: arg1 - add-to: return - marks: bad - -cleaners: - - org.utbot.examples.taint.TaintSignature.cleaner: - signature: [ ] - remove-from: arg1 - marks: bad - -sinks: - - org.utbot.examples.taint.TaintSignature.sink: - signature: [ ] - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintSimpleConfig.yaml b/utbot-sample/src/main/resources/taint/TaintSimpleConfig.yaml deleted file mode 100644 index a501b407..00000000 --- a/utbot-sample/src/main/resources/taint/TaintSimpleConfig.yaml +++ /dev/null @@ -1,9 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintSimple.source: - add-to: return - marks: bad - -sinks: - - org.utbot.examples.taint.TaintSimple.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/taint/TaintSinkConditionsConfig.yaml b/utbot-sample/src/main/resources/taint/TaintSinkConditionsConfig.yaml deleted file mode 100644 index 75392fc7..00000000 --- a/utbot-sample/src/main/resources/taint/TaintSinkConditionsConfig.yaml +++ /dev/null @@ -1,21 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintSinkConditions.source: - add-to: return - marks: bad - - org.utbot.examples.taint.TaintSinkConditions.sourceEmpty: - add-to: return - marks: bad - -sinks: - - org.utbot.examples.taint.TaintSinkConditions.sink: - check: arg1 - marks: bad - conditions: - arg2: true - - java.lang.String.getBytes: - check: this - marks: bad - conditions: - this: - not: - "" diff --git a/utbot-sample/src/main/resources/taint/TaintSourceConditionsConfig.yaml b/utbot-sample/src/main/resources/taint/TaintSourceConditionsConfig.yaml deleted file mode 100644 index 0fc1fc41..00000000 --- a/utbot-sample/src/main/resources/taint/TaintSourceConditionsConfig.yaml +++ /dev/null @@ -1,24 +0,0 @@ -sources: - - org.utbot.examples.taint.TaintSourceConditions.sourceArgCondition: - add-to: return - marks: bad - conditions: - arg1: true - - org.utbot.examples.taint.TaintSourceConditions.sourceReturnCondition: - add-to: return - marks: bad - conditions: - return: - not: "" - - java.lang.String.toLowerCase: - add-to: return - marks: bad - conditions: - this: - not: - "" - -sinks: - - org.utbot.examples.taint.TaintSourceConditions.sink: - check: arg1 - marks: bad diff --git a/utbot-sample/src/main/resources/utbot-api.jar b/utbot-sample/src/main/resources/utbot-api.jar deleted file mode 100644 index a29bf950..00000000 Binary files a/utbot-sample/src/main/resources/utbot-api.jar and /dev/null differ diff --git a/utbot-sample/src/test/java/donotdelete.txt b/utbot-sample/src/test/java/donotdelete.txt deleted file mode 100644 index d000ba59..00000000 --- a/utbot-sample/src/test/java/donotdelete.txt +++ /dev/null @@ -1 +0,0 @@ -Anchor to have src/test/java folder committed to Git \ No newline at end of file diff --git a/utbot-spring-analyzer/build.gradle.kts b/utbot-spring-analyzer/build.gradle.kts deleted file mode 100644 index 9f126411..00000000 --- a/utbot-spring-analyzer/build.gradle.kts +++ /dev/null @@ -1,61 +0,0 @@ -import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer - -val springBootVersion: String by rootProject -val rdVersion: String by rootProject -val commonsLoggingVersion: String by rootProject -val kotlinLoggingVersion: String by rootProject -val commonsIOVersion: String by rootProject - -plugins { - id("com.github.johnrengelman.shadow") version "7.1.2" - id("java") - application -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} - -val shadowJarConfiguration: Configuration by configurations.creating {} -configurations.implementation.get().extendsFrom(shadowJarConfiguration) - -dependencies { - // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot - compileOnly("org.springframework.boot:spring-boot:$springBootVersion") - compileOnly("io.github.microutils:kotlin-logging:$kotlinLoggingVersion") - - fun ModuleDependency.excludeSlf4jApi() = exclude(group = "org.slf4j", module = "slf4j-api") - - // TODO stop putting dependencies that are only used in SpringAnalyzerProcess into shadow jar - implementation(project(":utbot-rd")) { excludeSlf4jApi() } - implementation(project(":utbot-core")) { excludeSlf4jApi() } - implementation(project(":utbot-framework-api")) { excludeSlf4jApi() } - - runtimeOnly(project(":utbot-spring-commons")) { excludeSlf4jApi() } - implementation(project(":utbot-spring-commons-api")) { excludeSlf4jApi() } - - implementation("com.jetbrains.rd:rd-framework:$rdVersion") { excludeSlf4jApi() } - implementation("com.jetbrains.rd:rd-core:$rdVersion") { excludeSlf4jApi() } - implementation("commons-logging:commons-logging:$commonsLoggingVersion") { excludeSlf4jApi() } -} - -application { - mainClass.set("org.utbot.spring.process.SpringAnalyzerProcessMainKt") -} - -tasks.shadowJar { - isZip64 = true - - transform(Log4j2PluginsCacheFileTransformer::class.java) - archiveFileName.set("utbot-spring-analyzer-shadow.jar") -} - -val springAnalyzerJar: Configuration by configurations.creating { - isCanBeResolved = false - isCanBeConsumed = true -} - -artifacts { - add(springAnalyzerJar.name, tasks.shadowJar) -} diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/analyzer/SpringApplicationAnalyzer.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/analyzer/SpringApplicationAnalyzer.kt deleted file mode 100644 index ba81bff3..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/analyzer/SpringApplicationAnalyzer.kt +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.spring.analyzer - -import org.utbot.spring.api.provider.InstantiationSettings -import org.utbot.spring.api.ApplicationData -import org.utbot.spring.api.provider.SpringApiProviderFacade -import org.utbot.spring.exception.UtBotSpringShutdownException -import org.utbot.spring.generated.BeanDefinitionData -import org.utbot.spring.utils.SourceFinder - -class SpringApplicationAnalyzer { - - fun getBeanDefinitions(applicationData: ApplicationData): Array { - // TODO: get rid of SourceFinder - val configurationClasses = SourceFinder(applicationData).findSources() - val instantiationSettings = InstantiationSettings( - configurationClasses, - applicationData.springSettings.profiles.toTypedArray(), - ) - - return SpringApiProviderFacade.getInstance(this::class.java.classLoader) - .useMostSpecificNonFailingApi(instantiationSettings) { springApi -> - UtBotSpringShutdownException - .catch { springApi.getOrLoadSpringApplicationContext() } - .beanDefinitions - .toTypedArray() - }.result.getOrThrow() - } -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/api/ApplicationData.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/api/ApplicationData.kt deleted file mode 100644 index b776eb9c..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/api/ApplicationData.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.spring.api - -import org.utbot.framework.plugin.api.SpringSettings.* - -class ApplicationData( - val springSettings: PresentSpringSettings -) diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/config/TestApplicationConfiguration.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/config/TestApplicationConfiguration.kt deleted file mode 100644 index 5fdee855..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/config/TestApplicationConfiguration.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.spring.config - -import org.springframework.beans.factory.config.BeanFactoryPostProcessor -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration -import org.springframework.context.annotation.ImportResource -import org.utbot.spring.postProcessors.UtBotBeanFactoryPostProcessor - -@Configuration -@ImportResource -open class TestApplicationConfiguration { - - @Bean - open fun utBotBeanFactoryPostProcessor(): BeanFactoryPostProcessor = UtBotBeanFactoryPostProcessor -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/configurators/ApplicationConfigurationType.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/configurators/ApplicationConfigurationType.kt deleted file mode 100644 index e48be875..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/configurators/ApplicationConfigurationType.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.spring.configurators - -enum class ApplicationConfigurationType { - - XmlConfiguration, - - /** - * Any Java-based configuration, including both simple @Configuration and @SpringBootApplication - */ - JavaConfiguration, -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/configurators/XmlConfigurationParser.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/configurators/XmlConfigurationParser.kt deleted file mode 100644 index 71c75c08..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/configurators/XmlConfigurationParser.kt +++ /dev/null @@ -1,43 +0,0 @@ -package org.utbot.spring.configurators - -import org.w3c.dom.Document -import org.w3c.dom.Element -import javax.xml.parsers.DocumentBuilderFactory -import javax.xml.transform.TransformerFactory -import javax.xml.transform.dom.DOMSource -import javax.xml.transform.stream.StreamResult - -class XmlConfigurationParser(private val userXmlFilePath: String, private val fakeXmlFilePath: String) { - - fun fillFakeApplicationXml() { - val builder = DocumentBuilderFactory.newInstance().newDocumentBuilder() - val doc = builder.parse(userXmlFilePath) - - // Property placeholders may contain file names relative to user project, - // they will not be found in ours. We import all properties using another approach. - deletePropertyPlaceholders(doc) - writeXmlFile(doc) - } - - private fun deletePropertyPlaceholders(doc: Document) { - val elements = doc.getElementsByTagName("context:property-placeholder") - val elementsCount = elements.length - - // Xml file may contain several property placeholders: - // see https://stackoverflow.com/questions/26618400/how-to-use-multiple-property-placeholder-in-a-spring-xml-file - for (i in 0 until elementsCount) { - val element = elements.item(i) as Element - element.parentNode.removeChild(element) - } - - doc.normalize() - } - - private fun writeXmlFile(doc: Document) { - val tFormer = TransformerFactory.newInstance().newTransformer() - val source = DOMSource(doc) - val destination = StreamResult(fakeXmlFilePath) - - tFormer.transform(source, destination) - } -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/exception/UtBotSpringShutdownException.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/exception/UtBotSpringShutdownException.kt deleted file mode 100644 index 6d80ba91..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/exception/UtBotSpringShutdownException.kt +++ /dev/null @@ -1,34 +0,0 @@ -package org.utbot.spring.exception - -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import org.utbot.spring.generated.BeanDefinitionData - -private val logger = getLogger() - -/** - * Use this exception to shutdown the application - * when all required analysis actions are completed. - */ -class UtBotSpringShutdownException( - message: String, - val beanDefinitions: List -): RuntimeException(message) { - companion object { - fun catch(block: () -> Unit): UtBotSpringShutdownException { - try { - block() - throw IllegalStateException("UtBotSpringShutdownException has not been thrown") - } catch (e: Throwable) { - // Spring sometimes wraps exceptions in other exceptions, so we go over - // all the causes to determine if UtBotSpringShutdownException was thrown - for(cause in generateSequence(e) { it.cause }) - if (cause is UtBotSpringShutdownException) { - logger.info { "UtBotSpringShutdownException has been successfully caught" } - return cause - } - throw e - } - } - } -} diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/generated/SpringAnalyzerProcessModel.Generated.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/generated/SpringAnalyzerProcessModel.Generated.kt deleted file mode 100644 index 066048b6..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/generated/SpringAnalyzerProcessModel.Generated.kt +++ /dev/null @@ -1,348 +0,0 @@ -@file:Suppress("EXPERIMENTAL_API_USAGE","EXPERIMENTAL_UNSIGNED_LITERALS","PackageDirectoryMismatch","UnusedImport","unused","LocalVariableName","CanBeVal","PropertyName","EnumEntryName","ClassName","ObjectPropertyName","UnnecessaryVariable","SpellCheckingInspection") -package org.utbot.spring.generated - -import com.jetbrains.rd.framework.* -import com.jetbrains.rd.framework.base.* -import com.jetbrains.rd.framework.impl.* - -import com.jetbrains.rd.util.lifetime.* -import com.jetbrains.rd.util.reactive.* -import com.jetbrains.rd.util.string.* -import com.jetbrains.rd.util.* -import kotlin.time.Duration -import kotlin.reflect.KClass -import kotlin.jvm.JvmStatic - - - -/** - * #### Generated from [SpringAnalyzerModel.kt:8] - */ -class SpringAnalyzerProcessModel private constructor( - private val _analyze: RdCall -) : RdExtBase() { - //companion - - companion object : ISerializersOwner { - - override fun registerSerializersCore(serializers: ISerializers) { - serializers.register(SpringAnalyzerParams) - serializers.register(BeanAdditionalData) - serializers.register(BeanDefinitionData) - serializers.register(SpringAnalyzerResult) - } - - - @JvmStatic - @JvmName("internalCreateModel") - @Deprecated("Use create instead", ReplaceWith("create(lifetime, protocol)")) - internal fun createModel(lifetime: Lifetime, protocol: IProtocol): SpringAnalyzerProcessModel { - @Suppress("DEPRECATION") - return create(lifetime, protocol) - } - - @JvmStatic - @Deprecated("Use protocol.springAnalyzerProcessModel or revise the extension scope instead", ReplaceWith("protocol.springAnalyzerProcessModel")) - fun create(lifetime: Lifetime, protocol: IProtocol): SpringAnalyzerProcessModel { - SpringAnalyzerRoot.register(protocol.serializers) - - return SpringAnalyzerProcessModel() - } - - - const val serializationHash = 8094902537230457267L - - } - override val serializersOwner: ISerializersOwner get() = SpringAnalyzerProcessModel - override val serializationHash: Long get() = SpringAnalyzerProcessModel.serializationHash - - //fields - val analyze: RdCall get() = _analyze - //methods - //initializer - init { - _analyze.async = true - } - - init { - bindableChildren.add("analyze" to _analyze) - } - - //secondary constructor - private constructor( - ) : this( - RdCall(SpringAnalyzerParams, SpringAnalyzerResult) - ) - - //equals trait - //hash code trait - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("SpringAnalyzerProcessModel (") - printer.indent { - print("analyze = "); _analyze.print(printer); println() - } - printer.print(")") - } - //deepClone - override fun deepClone(): SpringAnalyzerProcessModel { - return SpringAnalyzerProcessModel( - _analyze.deepClonePolymorphic() - ) - } - //contexts -} -val IProtocol.springAnalyzerProcessModel get() = getOrCreateExtension(SpringAnalyzerProcessModel::class) { @Suppress("DEPRECATION") SpringAnalyzerProcessModel.create(lifetime, this) } - - - -/** - * #### Generated from [SpringAnalyzerModel.kt:13] - */ -data class BeanAdditionalData ( - val factoryMethodName: String, - val parameterTypes: List, - val configClassFqn: String -) : IPrintable { - //companion - - companion object : IMarshaller { - override val _type: KClass = BeanAdditionalData::class - - @Suppress("UNCHECKED_CAST") - override fun read(ctx: SerializationCtx, buffer: AbstractBuffer): BeanAdditionalData { - val factoryMethodName = buffer.readString() - val parameterTypes = buffer.readList { buffer.readString() } - val configClassFqn = buffer.readString() - return BeanAdditionalData(factoryMethodName, parameterTypes, configClassFqn) - } - - override fun write(ctx: SerializationCtx, buffer: AbstractBuffer, value: BeanAdditionalData) { - buffer.writeString(value.factoryMethodName) - buffer.writeList(value.parameterTypes) { v -> buffer.writeString(v) } - buffer.writeString(value.configClassFqn) - } - - - } - //fields - //methods - //initializer - //secondary constructor - //equals trait - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || other::class != this::class) return false - - other as BeanAdditionalData - - if (factoryMethodName != other.factoryMethodName) return false - if (parameterTypes != other.parameterTypes) return false - if (configClassFqn != other.configClassFqn) return false - - return true - } - //hash code trait - override fun hashCode(): Int { - var __r = 0 - __r = __r*31 + factoryMethodName.hashCode() - __r = __r*31 + parameterTypes.hashCode() - __r = __r*31 + configClassFqn.hashCode() - return __r - } - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("BeanAdditionalData (") - printer.indent { - print("factoryMethodName = "); factoryMethodName.print(printer); println() - print("parameterTypes = "); parameterTypes.print(printer); println() - print("configClassFqn = "); configClassFqn.print(printer); println() - } - printer.print(")") - } - //deepClone - //contexts -} - - -/** - * #### Generated from [SpringAnalyzerModel.kt:19] - */ -data class BeanDefinitionData ( - val beanName: String, - val beanTypeFqn: String, - val additionalData: BeanAdditionalData? -) : IPrintable { - //companion - - companion object : IMarshaller { - override val _type: KClass = BeanDefinitionData::class - - @Suppress("UNCHECKED_CAST") - override fun read(ctx: SerializationCtx, buffer: AbstractBuffer): BeanDefinitionData { - val beanName = buffer.readString() - val beanTypeFqn = buffer.readString() - val additionalData = buffer.readNullable { BeanAdditionalData.read(ctx, buffer) } - return BeanDefinitionData(beanName, beanTypeFqn, additionalData) - } - - override fun write(ctx: SerializationCtx, buffer: AbstractBuffer, value: BeanDefinitionData) { - buffer.writeString(value.beanName) - buffer.writeString(value.beanTypeFqn) - buffer.writeNullable(value.additionalData) { BeanAdditionalData.write(ctx, buffer, it) } - } - - - } - //fields - //methods - //initializer - //secondary constructor - //equals trait - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || other::class != this::class) return false - - other as BeanDefinitionData - - if (beanName != other.beanName) return false - if (beanTypeFqn != other.beanTypeFqn) return false - if (additionalData != other.additionalData) return false - - return true - } - //hash code trait - override fun hashCode(): Int { - var __r = 0 - __r = __r*31 + beanName.hashCode() - __r = __r*31 + beanTypeFqn.hashCode() - __r = __r*31 + if (additionalData != null) additionalData.hashCode() else 0 - return __r - } - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("BeanDefinitionData (") - printer.indent { - print("beanName = "); beanName.print(printer); println() - print("beanTypeFqn = "); beanTypeFqn.print(printer); println() - print("additionalData = "); additionalData.print(printer); println() - } - printer.print(")") - } - //deepClone - //contexts -} - - -/** - * #### Generated from [SpringAnalyzerModel.kt:9] - */ -data class SpringAnalyzerParams ( - val springSettings: ByteArray -) : IPrintable { - //companion - - companion object : IMarshaller { - override val _type: KClass = SpringAnalyzerParams::class - - @Suppress("UNCHECKED_CAST") - override fun read(ctx: SerializationCtx, buffer: AbstractBuffer): SpringAnalyzerParams { - val springSettings = buffer.readByteArray() - return SpringAnalyzerParams(springSettings) - } - - override fun write(ctx: SerializationCtx, buffer: AbstractBuffer, value: SpringAnalyzerParams) { - buffer.writeByteArray(value.springSettings) - } - - - } - //fields - //methods - //initializer - //secondary constructor - //equals trait - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || other::class != this::class) return false - - other as SpringAnalyzerParams - - if (!(springSettings contentEquals other.springSettings)) return false - - return true - } - //hash code trait - override fun hashCode(): Int { - var __r = 0 - __r = __r*31 + springSettings.contentHashCode() - return __r - } - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("SpringAnalyzerParams (") - printer.indent { - print("springSettings = "); springSettings.print(printer); println() - } - printer.print(")") - } - //deepClone - //contexts -} - - -/** - * #### Generated from [SpringAnalyzerModel.kt:25] - */ -data class SpringAnalyzerResult ( - val beanDefinitions: Array -) : IPrintable { - //companion - - companion object : IMarshaller { - override val _type: KClass = SpringAnalyzerResult::class - - @Suppress("UNCHECKED_CAST") - override fun read(ctx: SerializationCtx, buffer: AbstractBuffer): SpringAnalyzerResult { - val beanDefinitions = buffer.readArray {BeanDefinitionData.read(ctx, buffer)} - return SpringAnalyzerResult(beanDefinitions) - } - - override fun write(ctx: SerializationCtx, buffer: AbstractBuffer, value: SpringAnalyzerResult) { - buffer.writeArray(value.beanDefinitions) { BeanDefinitionData.write(ctx, buffer, it) } - } - - - } - //fields - //methods - //initializer - //secondary constructor - //equals trait - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || other::class != this::class) return false - - other as SpringAnalyzerResult - - if (!(beanDefinitions contentDeepEquals other.beanDefinitions)) return false - - return true - } - //hash code trait - override fun hashCode(): Int { - var __r = 0 - __r = __r*31 + beanDefinitions.contentDeepHashCode() - return __r - } - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("SpringAnalyzerResult (") - printer.indent { - print("beanDefinitions = "); beanDefinitions.print(printer); println() - } - printer.print(")") - } - //deepClone - //contexts -} diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/generated/SpringAnalyzerRoot.Generated.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/generated/SpringAnalyzerRoot.Generated.kt deleted file mode 100644 index 4a4e0649..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/generated/SpringAnalyzerRoot.Generated.kt +++ /dev/null @@ -1,59 +0,0 @@ -@file:Suppress("EXPERIMENTAL_API_USAGE","EXPERIMENTAL_UNSIGNED_LITERALS","PackageDirectoryMismatch","UnusedImport","unused","LocalVariableName","CanBeVal","PropertyName","EnumEntryName","ClassName","ObjectPropertyName","UnnecessaryVariable","SpellCheckingInspection") -package org.utbot.spring.generated - -import com.jetbrains.rd.framework.* -import com.jetbrains.rd.framework.base.* -import com.jetbrains.rd.framework.impl.* - -import com.jetbrains.rd.util.lifetime.* -import com.jetbrains.rd.util.reactive.* -import com.jetbrains.rd.util.string.* -import com.jetbrains.rd.util.* -import kotlin.time.Duration -import kotlin.reflect.KClass -import kotlin.jvm.JvmStatic - - - -/** - * #### Generated from [SpringAnalyzerModel.kt:6] - */ -class SpringAnalyzerRoot private constructor( -) : RdExtBase() { - //companion - - companion object : ISerializersOwner { - - override fun registerSerializersCore(serializers: ISerializers) { - SpringAnalyzerRoot.register(serializers) - SpringAnalyzerProcessModel.register(serializers) - } - - - - - - const val serializationHash = -4315357569975275049L - - } - override val serializersOwner: ISerializersOwner get() = SpringAnalyzerRoot - override val serializationHash: Long get() = SpringAnalyzerRoot.serializationHash - - //fields - //methods - //initializer - //secondary constructor - //equals trait - //hash code trait - //pretty print - override fun print(printer: PrettyPrinter) { - printer.println("SpringAnalyzerRoot (") - printer.print(")") - } - //deepClone - override fun deepClone(): SpringAnalyzerRoot { - return SpringAnalyzerRoot( - ) - } - //contexts -} diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/loggers/RDApacheCommonsLogFactory.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/loggers/RDApacheCommonsLogFactory.kt deleted file mode 100644 index 0c78cb87..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/loggers/RDApacheCommonsLogFactory.kt +++ /dev/null @@ -1,46 +0,0 @@ -package org.utbot.spring.loggers - -import com.jetbrains.rd.util.LogLevel -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import org.apache.commons.logging.Log -import org.apache.commons.logging.impl.LogFactoryImpl -import org.utbot.spring.exception.UtBotSpringShutdownException - -@Suppress("unused") // used via -Dorg.apache.commons.logging.LogFactory=org.utbot.spring.loggers.RDApacheCommonsLogFactory -class RDApacheCommonsLogFactory : LogFactoryImpl() { - override fun getInstance(name: String): Log { - val logger = getLogger(category = name) - return object : Log { - private fun log(level: LogLevel, message: Any?, throwable: Throwable?) { - if (throwable is UtBotSpringShutdownException) { - // avoid polluting logs with stack trace of expected exception - logger.info { message } - logger.info { "${throwable::class.java.name}: ${throwable.message}" } - } else - logger.log(level, message, throwable) - } - private fun isEnabled(level: LogLevel) = logger.isEnabled(level) - - override fun trace(message: Any?) = log(LogLevel.Trace, message, throwable = null) - override fun trace(message: Any?, t: Throwable?) = log(LogLevel.Trace, message, throwable = t) - override fun debug(message: Any?) = log(LogLevel.Debug, message, throwable = null) - override fun debug(message: Any?, t: Throwable?) = log(LogLevel.Debug, message, throwable = t) - override fun info(message: Any?) = log(LogLevel.Info, message, throwable = null) - override fun info(message: Any?, t: Throwable?) = log(LogLevel.Info, message, throwable = t) - override fun warn(message: Any?) = log(LogLevel.Warn, message, throwable = null) - override fun warn(message: Any?, t: Throwable?) = log(LogLevel.Warn, message, throwable = t) - override fun error(message: Any?) = log(LogLevel.Error, message, throwable = null) - override fun error(message: Any?, t: Throwable?) = log(LogLevel.Error, message, throwable = t) - override fun fatal(message: Any?) = log(LogLevel.Fatal, message, throwable = null) - override fun fatal(message: Any?, t: Throwable?) = log(LogLevel.Fatal, message, throwable = t) - - override fun isTraceEnabled() = isEnabled(LogLevel.Trace) - override fun isDebugEnabled() = isEnabled(LogLevel.Debug) - override fun isInfoEnabled() = isEnabled(LogLevel.Info) - override fun isErrorEnabled() = isEnabled(LogLevel.Error) - override fun isFatalEnabled() = isEnabled(LogLevel.Fatal) - override fun isWarnEnabled() = isEnabled(LogLevel.Warn) - } - } -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/postProcessors/UtBotBeanFactoryPostProcessor.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/postProcessors/UtBotBeanFactoryPostProcessor.kt deleted file mode 100644 index 705d0503..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/postProcessors/UtBotBeanFactoryPostProcessor.kt +++ /dev/null @@ -1,92 +0,0 @@ -package org.utbot.spring.postProcessors - -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import com.jetbrains.rd.util.warn -import org.springframework.beans.factory.BeanCreationException -import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition -import org.springframework.beans.factory.config.BeanFactoryPostProcessor -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory -import org.springframework.beans.factory.support.BeanDefinitionRegistry -import org.springframework.core.PriorityOrdered -import org.springframework.core.type.StandardMethodMetadata -import org.utbot.spring.exception.UtBotSpringShutdownException -import org.utbot.spring.generated.BeanAdditionalData -import org.utbot.spring.generated.BeanDefinitionData - -val logger = getLogger() - -object UtBotBeanFactoryPostProcessor : BeanFactoryPostProcessor, PriorityOrdered { - /** - * Sets the priority of post processor to highest to avoid side effects from others. - */ - override fun getOrder(): Int = PriorityOrdered.HIGHEST_PRECEDENCE - - override fun postProcessBeanFactory(beanFactory: ConfigurableListableBeanFactory) { - logger.info { "Started post-processing bean factory in UtBot" } - - val beanDefinitions = findBeanDefinitions(beanFactory) - logger.info { "Detected ${beanDefinitions.size} bean qualified names" } - - logger.info { "Finished post-processing bean factory in UtBot" } - - destroyBeanDefinitions(beanFactory) - throw UtBotSpringShutdownException("Finished post-processing bean factory in UtBot", beanDefinitions) - } - - private fun findBeanDefinitions(beanFactory: ConfigurableListableBeanFactory): List = - beanFactory.beanDefinitionNames - .mapNotNull { getBeanDefinitionData(beanFactory, it) } - .filterNot { - it.beanTypeFqn.startsWith("org.utbot.spring") || - UtBotBeanFactoryPostProcessor.javaClass.simpleName.equals(it.beanName, ignoreCase = true) - } - - private fun getBeanDefinitionData(beanFactory: ConfigurableListableBeanFactory, beanName: String): BeanDefinitionData? { - val beanDefinition = beanFactory.getBeanDefinition(beanName) - - var beanAdditionalData: BeanAdditionalData? = null - val beanTypeFqn = if (beanDefinition is AnnotatedBeanDefinition) { - if (beanDefinition.factoryMethodMetadata == null) { - // there's no factoryMethod so bean is defined with @Component-like annotation rather than @Bean annotation - // same approach isn't applicable for @Bean beans, because for them, it returns name of @Configuration class - beanDefinition.metadata.className - .also { fqn -> - logger.info { "Got $fqn as metadata.className for @Component-like bean: $beanName" } - } - } else try { - val parameterTypes = - (beanDefinition.factoryMethodMetadata as? StandardMethodMetadata) - ?.introspectedMethod - ?.parameterTypes - ?.map { it.name } - ?: emptyList() - - beanAdditionalData = BeanAdditionalData( - factoryMethodName = beanDefinition.factoryMethodMetadata.methodName, - parameterTypes = parameterTypes, - configClassFqn = beanDefinition.factoryMethodMetadata.declaringClassName - ) - - // we determine a real return type later in [UtTestsDialogProcessor.createTests] - beanDefinition.factoryMethodMetadata.returnTypeName - } catch (e: BeanCreationException) { - logger.warn { "Failed to get bean: $beanName" } - null - } - } else { - beanDefinition.beanClassName.also { fqn -> - logger.info { "Got $fqn as beanClassName for XML-like bean: $beanName" } - } - } - - return beanTypeFqn?.let { BeanDefinitionData(beanName, beanTypeFqn, beanAdditionalData) } - } - - private fun destroyBeanDefinitions(beanFactory: ConfigurableListableBeanFactory) { - for (beanDefinitionName in beanFactory.beanDefinitionNames) { - val beanRegistry = beanFactory as BeanDefinitionRegistry - beanRegistry.removeBeanDefinition(beanDefinitionName) - } - } -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/process/SpringAnalyzerProcess.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/process/SpringAnalyzerProcess.kt deleted file mode 100644 index 044ef0c4..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/process/SpringAnalyzerProcess.kt +++ /dev/null @@ -1,99 +0,0 @@ -package org.utbot.spring.process - -import com.jetbrains.rd.util.lifetime.LifetimeDefinition -import kotlinx.coroutines.runBlocking -import mu.KotlinLogging -import org.utbot.common.JarUtils -import org.utbot.common.getPid -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.services.WorkingDirService -import org.utbot.framework.process.AbstractRDProcessCompanion -import org.utbot.rd.ProcessWithRdServer -import org.utbot.rd.exceptions.InstantProcessDeathException -import org.utbot.rd.generated.LoggerModel -import org.utbot.rd.generated.loggerModel -import org.utbot.rd.loggers.setup -import org.utbot.rd.onSchedulerBlocking -import org.utbot.rd.startBlocking -import org.utbot.rd.startUtProcessWithRdServer -import org.utbot.rd.terminateOnException -import org.utbot.spring.generated.SpringAnalyzerParams -import org.utbot.spring.generated.SpringAnalyzerProcessModel -import org.utbot.spring.generated.SpringAnalyzerResult -import org.utbot.spring.generated.springAnalyzerProcessModel -import java.io.File -import org.utbot.framework.plugin.api.SpringSettings.* -import org.utbot.framework.process.kryo.KryoHelper - -class SpringAnalyzerProcessInstantDeathException : - InstantProcessDeathException( - UtSettings.springAnalyzerProcessDebugPort, - UtSettings.runSpringAnalyzerProcessWithDebug - ) - -private val logger = KotlinLogging.logger {} - -private var classpathArgs = listOf() - -private const val SPRING_ANALYZER_JAR_FILENAME = "utbot-spring-analyzer-shadow.jar" - -private val springAnalyzerJarFile = - JarUtils.extractJarFileFromResources( - jarFileName = SPRING_ANALYZER_JAR_FILENAME, - jarResourcePath = "lib/$SPRING_ANALYZER_JAR_FILENAME", - targetDirectoryName = "spring-analyzer" - ) - -class SpringAnalyzerProcess private constructor( - rdProcess: ProcessWithRdServer -) : ProcessWithRdServer by rdProcess { - - companion object : AbstractRDProcessCompanion( - debugPort = UtSettings.springAnalyzerProcessDebugPort, - runWithDebug = UtSettings.runSpringAnalyzerProcessWithDebug, - suspendExecutionInDebugMode = UtSettings.suspendSpringAnalyzerProcessExecutionInDebugMode, - processSpecificCommandLineArgs = { - listOf("-Dorg.apache.commons.logging.LogFactory=org.utbot.spring.loggers.RDApacheCommonsLogFactory") + classpathArgs - } - ) { - fun createBlocking(classpath: List) = runBlocking { SpringAnalyzerProcess(classpath) } - - suspend operator fun invoke(classpathItems: List): SpringAnalyzerProcess = - LifetimeDefinition().terminateOnException { lifetime -> - val extendedClasspath = listOf(springAnalyzerJarFile.path) + classpathItems - - val rdProcess = startUtProcessWithRdServer(lifetime) { port -> - classpathArgs = listOf( - "-cp", - extendedClasspath.joinToString(File.pathSeparator), - "org.utbot.spring.process.SpringAnalyzerProcessMainKt" - ) - val cmd = obtainProcessCommandLine(port) - val process = ProcessBuilder(cmd) - .directory(WorkingDirService.provide().toFile()) - .start() - - logger.info { "Spring Analyzer process started with PID = ${process.getPid}" } - - if (!process.isAlive) throw SpringAnalyzerProcessInstantDeathException() - - process - } - rdProcess.awaitProcessReady() - val proc = SpringAnalyzerProcess(rdProcess) - proc.loggerModel.setup(logger, proc.lifetime) - return proc - } - } - - private val springAnalyzerModel: SpringAnalyzerProcessModel = onSchedulerBlocking { protocol.springAnalyzerProcessModel } - private val loggerModel: LoggerModel = onSchedulerBlocking { protocol.loggerModel } - private val kryoHelper = KryoHelper(lifetime) - - fun getBeanDefinitions( - springSettings: PresentSpringSettings - ): SpringAnalyzerResult { - val params = SpringAnalyzerParams(kryoHelper.writeObject(springSettings)) - return springAnalyzerModel.analyze.startBlocking(params) - } -} diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/process/SpringAnalyzerProcessMain.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/process/SpringAnalyzerProcessMain.kt deleted file mode 100644 index 8a1d72f8..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/process/SpringAnalyzerProcessMain.kt +++ /dev/null @@ -1,55 +0,0 @@ -package org.utbot.spring.process - -import com.jetbrains.rd.framework.IProtocol -import com.jetbrains.rd.util.Logger -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import com.jetbrains.rd.util.lifetime.Lifetime -import com.jetbrains.rd.util.reactive.adviseOnce -import org.utbot.common.AbstractSettings -import org.utbot.framework.process.kryo.KryoHelper -import org.utbot.rd.ClientProtocolBuilder -import org.utbot.rd.IdleWatchdog -import org.utbot.rd.RdSettingsContainerFactory -import org.utbot.rd.generated.loggerModel -import org.utbot.rd.generated.settingsModel -import org.utbot.rd.loggers.UtRdRemoteLoggerFactory -import org.utbot.spring.analyzer.SpringApplicationAnalyzer -import org.utbot.spring.api.ApplicationData -import org.utbot.spring.generated.SpringAnalyzerProcessModel -import org.utbot.spring.generated.SpringAnalyzerResult -import org.utbot.spring.generated.springAnalyzerProcessModel -import java.io.File -import kotlin.time.Duration.Companion.seconds - -private val messageFromMainTimeoutMillis = 120.seconds -private val logger = getLogger() - -@Suppress("unused") -object SpringAnalyzerProcessMain - -suspend fun main(args: Array) = - ClientProtocolBuilder().withProtocolTimeout(messageFromMainTimeoutMillis).start(args) { - loggerModel.initRemoteLogging.adviseOnce(lifetime) { - Logger.set(Lifetime.Eternal, UtRdRemoteLoggerFactory(loggerModel)) - logger.info { "-----------------------------------------------------------------------" } - logger.info { "------------------NEW SPRING ANALYZER PROCESS STARTED------------------" } - logger.info { "-----------------------------------------------------------------------" } - } - AbstractSettings.setupFactory(RdSettingsContainerFactory(protocol.settingsModel)) - springAnalyzerProcessModel.setup(it, protocol) - } - -private fun SpringAnalyzerProcessModel.setup(watchdog: IdleWatchdog, realProtocol: IProtocol) { - val kryoHelper = KryoHelper(realProtocol.lifetime) - - watchdog.measureTimeForActiveCall(analyze, "Analyzing Spring Application") { params -> - val applicationData = ApplicationData( - kryoHelper.readObject(params.springSettings) - ) - - SpringAnalyzerResult( - SpringApplicationAnalyzer().getBeanDefinitions(applicationData) - ) - } -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/PathsUtils.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/PathsUtils.kt deleted file mode 100644 index 7fe7dfba..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/PathsUtils.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.spring.utils - -import kotlin.io.path.Path - -object PathsUtils { - const val EMPTY_PATH = "" - - fun createFakeFilePath(fileName: String): String = "fake_${Path(fileName).fileName}" -} diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/SourceFinder.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/SourceFinder.kt deleted file mode 100644 index 027dabbd..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/SourceFinder.kt +++ /dev/null @@ -1,46 +0,0 @@ -package org.utbot.spring.utils - -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import org.springframework.context.annotation.ImportResource -import org.utbot.common.patchAnnotation -import org.utbot.framework.plugin.api.SpringConfiguration.* -import org.utbot.spring.api.ApplicationData -import org.utbot.spring.config.TestApplicationConfiguration -import java.nio.file.Path -import kotlin.io.path.Path - -private val logger = getLogger() - -class SourceFinder( - private val applicationData: ApplicationData -) { - private val classLoader: ClassLoader = this::class.java.classLoader - - fun findSources(): Array> = - when (val config = applicationData.springSettings.configuration) { - is JavaBasedConfiguration -> { - logger.info { "Using java Spring configuration" } - arrayOf( - TestApplicationConfiguration::class.java, - classLoader.loadClass(config.configBinaryName) - ) - } - - is XMLConfiguration -> { - logger.info { "Using xml Spring configuration" } - - // Put `applicationData.configurationFile` in `@ImportResource` of `TestApplicationConfiguration` - patchImportResourceAnnotation(Path(config.absolutePath).fileName) - - arrayOf(TestApplicationConfiguration::class.java) - } - } - - private fun patchImportResourceAnnotation(userXmlFilePath: Path) = - patchAnnotation( - annotation = TestApplicationConfiguration::class.java.getAnnotation(ImportResource::class.java), - property = "value", - newValue = arrayOf(String.format("classpath:%s", "$userXmlFilePath")) - ) -} \ No newline at end of file diff --git a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/TempFileManager.kt b/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/TempFileManager.kt deleted file mode 100644 index 14c8e96a..00000000 --- a/utbot-spring-analyzer/src/main/kotlin/org/utbot/spring/utils/TempFileManager.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.spring.utils - -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import java.io.File -import java.io.IOException - -private val logger = getLogger() - -class TempFileManager(private val fakeFilesList: List) { - - fun createTempFiles() { - for (fileName in fakeFilesList) { - val fakeXmlFileAbsolutePath = PathsUtils.createFakeFilePath(fileName) - - try { - File(fakeXmlFileAbsolutePath).createNewFile() - } catch (e: IOException) { - logger.info { "Fake xml file creation failed with exception $e" } - } - - } - } - - fun deleteTempFiles() { - for (fileName in fakeFilesList) { - val fakeXmlFileAbsolutePath = PathsUtils.createFakeFilePath(fileName) - - try { - File(fakeXmlFileAbsolutePath).delete() - } catch (e: IOException) { - logger.info { "Fake xml file deletion failed with exception $e" } - } - - } - } -} \ No newline at end of file diff --git a/utbot-spring-commons-api/build.gradle.kts b/utbot-spring-commons-api/build.gradle.kts deleted file mode 100644 index 76786b8c..00000000 --- a/utbot-spring-commons-api/build.gradle.kts +++ /dev/null @@ -1,8 +0,0 @@ -plugins { - id("java") -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} \ No newline at end of file diff --git a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/SpringApi.kt b/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/SpringApi.kt deleted file mode 100644 index 3457204c..00000000 --- a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/SpringApi.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.spring.api - -import java.net.URLClassLoader - -//TODO: `userSourcesClassLoader` must not be passed as a method argument, requires refactoring -interface SpringApi { - /** - * NOTE! [Any] return type is used here because Spring itself may not be on the classpath of the API user - * - * @throws [UTSpringContextLoadingException] as a wrapper for all runtime exceptions - */ - fun getOrLoadSpringApplicationContext(): Any - - fun getBean(beanName: String): Any - - fun getDependenciesForBean(beanName: String, userSourcesClassLoader: URLClassLoader): Set - - fun resetBean(beanName: String) - - fun resolveRepositories(beanNames: Set, userSourcesClassLoader: URLClassLoader): Set - - /** - * NOTE! Should be called on one thread with method under test and value constructor, - * because transactions are bound to threads - */ - fun beforeTestMethod() - - /** - * NOTE! Should be called on one thread with method under test and value constructor, - * because transactions are bound to threads - */ - fun afterTestMethod() -} - -data class RepositoryDescription( - val beanName: String, - val repositoryName: String, - val entityName: String, -) \ No newline at end of file diff --git a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/UTSpringContextLoadingException.kt b/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/UTSpringContextLoadingException.kt deleted file mode 100644 index d8bbf2b7..00000000 --- a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/UTSpringContextLoadingException.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.spring.api - -/** - * Used primarily to let code generation distinguish between - * parts of stack trace inside UTBot (including RD, etc.) - * and parts of stack trace inside Spring and user application. - */ -class UTSpringContextLoadingException(override val cause: Throwable) : Exception( - "Failed to load Spring application context", - cause -) diff --git a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/provider/InstantiationSettings.kt b/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/provider/InstantiationSettings.kt deleted file mode 100644 index ea2146a3..00000000 --- a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/provider/InstantiationSettings.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.spring.api.provider - -class InstantiationSettings( - val configurationClasses: Array>, - val profiles: Array, -) { - override fun toString(): String = - "InstantiationSettings(configurationClasses=${configurationClasses.contentToString()}, profiles=${profiles.contentToString()})" -} \ No newline at end of file diff --git a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/provider/SpringApiProviderFacade.kt b/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/provider/SpringApiProviderFacade.kt deleted file mode 100644 index 49b90d2a..00000000 --- a/utbot-spring-commons-api/src/main/kotlin/org/utbot/spring/api/provider/SpringApiProviderFacade.kt +++ /dev/null @@ -1,41 +0,0 @@ -package org.utbot.spring.api.provider - -import org.utbot.spring.api.SpringApi - -/** - * Stateless provider of independent [SpringApi] instances that do not have shared state, - * meaning each [SpringApi] instance will when needed start its own Spring Application. - */ -interface SpringApiProviderFacade { - fun provideMostSpecificAvailableApi(instantiationSettings: InstantiationSettings): ProviderResult - - /** - * [apiUser] is consequently invoked on all available (on the classpath) - * [SpringApi] types from most specific (e.g. Spring Boot) to least specific (e.g. Pure Spring) - * until it executes without throwing exception, then obtained result is returned. - * - * All exceptions are collected into [ProviderResult.exceptions]. - */ - fun useMostSpecificNonFailingApi( - instantiationSettings: InstantiationSettings, - apiUser: (SpringApi) -> T - ): ProviderResult - - companion object { - fun getInstance(classLoader: ClassLoader): SpringApiProviderFacade = - classLoader - .loadClass("org.utbot.spring.provider.SpringApiProviderFacadeImpl") - .getConstructor() - .newInstance() as SpringApiProviderFacade - } - - /** - * [result] can be a [Result.success] while [exceptions] is not empty, - * if we failed to use most specific [SpringApi] available (e.g. SpringBoot), but - * were able to successfully fall back to less specific [SpringApi] (e.g. PureSpring). - */ - class ProviderResult( - val result: Result, - val exceptions: List - ) -} \ No newline at end of file diff --git a/utbot-spring-commons/build.gradle.kts b/utbot-spring-commons/build.gradle.kts deleted file mode 100644 index 61131d1a..00000000 --- a/utbot-spring-commons/build.gradle.kts +++ /dev/null @@ -1,44 +0,0 @@ -import com.github.jengelman.gradle.plugins.shadow.transformers.Log4j2PluginsCacheFileTransformer - -val springVersion: String by rootProject -val springBootVersion: String by rootProject -val rdVersion: String by rootProject - -plugins { - id("com.github.johnrengelman.shadow") version "7.1.2" - id("java") -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} - -dependencies { - implementation(project(":utbot-spring-commons-api")) - implementation(project(":utbot-core")) - - // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot - compileOnly("org.springframework.boot:spring-boot:$springBootVersion") - compileOnly("org.springframework.boot:spring-boot-test-autoconfigure:$springBootVersion") - compileOnly("org.springframework:spring-test:$springVersion") - compileOnly("org.springframework:spring-tx:$springVersion") - compileOnly("org.springframework.data:spring-data-commons:$springBootVersion") - implementation("com.jetbrains.rd:rd-core:$rdVersion") { exclude(group = "org.slf4j", module = "slf4j-api") } -} - -tasks.shadowJar { - isZip64 = true - - transform(Log4j2PluginsCacheFileTransformer::class.java) - archiveFileName.set("utbot-spring-commons-shadow.jar") -} - -val springCommonsJar: Configuration by configurations.creating { - isCanBeResolved = false - isCanBeConsumed = true -} - -artifacts { - add(springCommonsJar.name, tasks.shadowJar) -} diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/SpringApiImpl.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/SpringApiImpl.kt deleted file mode 100644 index 687654cb..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/SpringApiImpl.kt +++ /dev/null @@ -1,171 +0,0 @@ -package org.utbot.spring - -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.warn -import org.springframework.beans.factory.support.BeanDefinitionRegistry -import org.springframework.context.ConfigurableApplicationContext -import org.springframework.data.repository.CrudRepository -import org.springframework.test.context.ActiveProfiles -import org.springframework.test.context.ContextConfiguration -import org.springframework.test.context.TestContextManager -import org.utbot.common.hasOnClasspath -import org.utbot.common.patchAnnotation -import org.utbot.spring.api.SpringApi -import org.utbot.spring.api.RepositoryDescription -import org.utbot.spring.api.UTSpringContextLoadingException -import org.utbot.spring.api.provider.InstantiationSettings -import org.utbot.spring.dummy.DummySpringIntegrationTestClass -import org.utbot.spring.utils.DependencyUtils.isSpringDataOnClasspath -import org.utbot.spring.utils.RepositoryUtils -import java.lang.reflect.Method -import java.net.URLClassLoader -import kotlin.reflect.jvm.javaMethod - -private val logger = getLogger() - -class SpringApiImpl( - instantiationSettings: InstantiationSettings, - dummyTestClass: Class, -) : SpringApi { - private lateinit var dummyTestClassInstance: DummySpringIntegrationTestClass - private val dummyTestClass = dummyTestClass.also { - patchAnnotation( - annotation = it.getAnnotation(ActiveProfiles::class.java), - property = "value", - newValue = instantiationSettings.profiles - ) - patchAnnotation( - annotation = it.getAnnotation(ContextConfiguration::class.java), - property = "classes", - newValue = instantiationSettings.configurationClasses - ) - } - private val dummyTestMethod: Method = DummySpringIntegrationTestClass::dummyTestMethod.javaMethod!! - private val testContextManager: TestContextManager = TestContextManager(this.dummyTestClass) - - private val context get() = getOrLoadSpringApplicationContext() - - override fun getOrLoadSpringApplicationContext() = try { - testContextManager.testContext.applicationContext as ConfigurableApplicationContext - } catch (e: Throwable) { - throw UTSpringContextLoadingException(e) - } - - override fun getBean(beanName: String): Any = context.getBean(beanName) - - override fun getDependenciesForBean(beanName: String, userSourcesClassLoader: URLClassLoader): Set { - val analyzedBeanNames = mutableSetOf() - return getDependenciesForBeanInternal(beanName, analyzedBeanNames, userSourcesClassLoader) - } - - private fun getDependenciesForBeanInternal( - beanName: String, - analyzedBeanNames: MutableSet, - userSourcesClassLoader: URLClassLoader, - ): Set { - if (beanName in analyzedBeanNames) { - return emptySet() - } - - analyzedBeanNames.add(beanName) - - val dependencyBeanNames = context.beanFactory - .getDependenciesForBean(beanName) - // this filtering is applied to avoid inner beans - .filter { it in context.beanDefinitionNames } - .filter { name -> - val clazz = getBean(name)::class.java - // here immediate hierarchy is enough because proxies are inherited directly - val immediateClazzHierarchy = clazz.interfaces + clazz.superclass + clazz - immediateClazzHierarchy.any { clazz -> userSourcesClassLoader.hasOnClasspath(clazz.name) } - } - .toSet() - - return setOf(beanName) + dependencyBeanNames.flatMap { getDependenciesForBean(it, userSourcesClassLoader) } - } - - override fun resetBean(beanName: String) { - val beanDefinitionRegistry = context.beanFactory as BeanDefinitionRegistry - - val beanDefinition = context.beanFactory.getBeanDefinition(beanName) - beanDefinitionRegistry.removeBeanDefinition(beanName) - beanDefinitionRegistry.registerBeanDefinition(beanName, beanDefinition) - } - - override fun resolveRepositories(beanNames: Set, userSourcesClassLoader: URLClassLoader): Set { - if (!isSpringDataOnClasspath) return emptySet() - val repositoryBeans = beanNames - .map { beanName -> SimpleBeanDefinition(beanName, getBean(beanName)) } - .filter { beanDef -> describesRepository(beanDef.bean) } - .toSet() - - val descriptions = mutableSetOf() - - for (repositoryBean in repositoryBeans) { - val repositoryClass = repositoryBean.bean::class.java - val repositoryClassName = repositoryClass - .interfaces - .filter { clazz -> userSourcesClassLoader.hasOnClasspath(clazz.name) } - .filter { CrudRepository::class.java.isAssignableFrom(it) } - .map { it.name } - .firstOrNull() ?: CrudRepository::class.java.name - - val entity = RepositoryUtils.getEntityClass(repositoryClass) - - if (entity != null) { - descriptions += RepositoryDescription( - beanName = repositoryBean.beanName, - repositoryName = repositoryClassName, - entityName = entity.name, - ) - } else { - logger.warn { - "Failed to get entity class for bean ${repositoryBean.beanName} " + - "that was recognised as a repository of type $repositoryClassName" - } - } - } - - return descriptions - } - - private var beforeTestClassCalled = false - private var isInsideTestMethod = false - - private fun beforeTestClass() { - beforeTestClassCalled = true - testContextManager.beforeTestClass() - dummyTestClassInstance = dummyTestClass.getConstructor().newInstance() - testContextManager.prepareTestInstance(dummyTestClassInstance) - } - - override fun beforeTestMethod() { - if (!beforeTestClassCalled) - beforeTestClass() - if (isInsideTestMethod) { - logger.warn { "afterTestMethod() wasn't called for previous test method, calling it from beforeTestMethod()" } - afterTestMethod() - } - testContextManager.beforeTestMethod(dummyTestClassInstance, dummyTestMethod) - testContextManager.beforeTestExecution(dummyTestClassInstance, dummyTestMethod) - isInsideTestMethod = true - } - - override fun afterTestMethod() { - testContextManager.afterTestExecution(dummyTestClassInstance, dummyTestMethod, null) - testContextManager.afterTestMethod(dummyTestClassInstance, dummyTestMethod, null) - isInsideTestMethod = false - } - - private fun describesRepository(bean: Any): Boolean = - try { - bean is CrudRepository<*, *> - } catch (e: ClassNotFoundException) { - false - } - - data class SimpleBeanDefinition( - val beanName: String, - val bean: Any, - ) -} \ No newline at end of file diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummyPureSpringIntegrationTestClass.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummyPureSpringIntegrationTestClass.kt deleted file mode 100644 index 351472d2..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummyPureSpringIntegrationTestClass.kt +++ /dev/null @@ -1,8 +0,0 @@ -package org.utbot.spring.dummy - -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase - -open class DummyPureSpringIntegrationTestClass : DummySpringIntegrationTestClass() - -@AutoConfigureTestDatabase -class DummyPureSpringIntegrationTestClassAutoconfigTestDB : DummyPureSpringIntegrationTestClass() diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummySpringBootIntegrationTestClass.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummySpringBootIntegrationTestClass.kt deleted file mode 100644 index 0efc7128..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummySpringBootIntegrationTestClass.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.spring.dummy - -import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase -import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.test.context.SpringBootTestContextBootstrapper -import org.springframework.test.context.BootstrapWith - -@SpringBootTest -@BootstrapWith(SpringBootTestContextBootstrapper::class) -open class DummySpringBootIntegrationTestClass : DummySpringIntegrationTestClass() - -@AutoConfigureTestDatabase -class DummySpringBootIntegrationTestClassAutoconfigTestDB : DummySpringBootIntegrationTestClass() diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummySpringIntegrationTestClass.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummySpringIntegrationTestClass.kt deleted file mode 100644 index e5dbbbf7..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/dummy/DummySpringIntegrationTestClass.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.spring.dummy - -import org.springframework.test.context.ActiveProfiles -import org.springframework.test.context.ContextConfiguration -import org.springframework.transaction.annotation.Isolation -import org.springframework.transaction.annotation.Transactional - -@ActiveProfiles(/* fills dynamically */) -@ContextConfiguration(/* fills dynamically */) -@Transactional(isolation = Isolation.SERIALIZABLE) -abstract class DummySpringIntegrationTestClass { - fun dummyTestMethod() {} -} \ No newline at end of file diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/PureSpringApiProvider.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/PureSpringApiProvider.kt deleted file mode 100644 index 371bb93a..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/PureSpringApiProvider.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.spring.provider - -import org.utbot.spring.api.provider.InstantiationSettings -import org.utbot.spring.SpringApiImpl -import org.utbot.spring.dummy.DummyPureSpringIntegrationTestClass -import org.utbot.spring.dummy.DummyPureSpringIntegrationTestClassAutoconfigTestDB -import org.utbot.spring.utils.DependencyUtils.isSpringDataOnClasspath - -class PureSpringApiProvider : SpringApiProvider { - - override fun isAvailable() = true - - override fun provideAPI(instantiationSettings: InstantiationSettings) = - SpringApiImpl( - instantiationSettings, - if (isSpringDataOnClasspath) DummyPureSpringIntegrationTestClassAutoconfigTestDB::class.java - else DummyPureSpringIntegrationTestClass::class.java - ) -} \ No newline at end of file diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringApiProvider.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringApiProvider.kt deleted file mode 100644 index 66b30109..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringApiProvider.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.spring.provider - -import org.utbot.spring.api.SpringApi -import org.utbot.spring.api.provider.InstantiationSettings - -interface SpringApiProvider { - - fun isAvailable(): Boolean - - fun provideAPI(instantiationSettings: InstantiationSettings): SpringApi -} diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringApiProviderFacadeImpl.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringApiProviderFacadeImpl.kt deleted file mode 100644 index 519115a3..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringApiProviderFacadeImpl.kt +++ /dev/null @@ -1,53 +0,0 @@ -package org.utbot.spring.provider - -import com.jetbrains.rd.util.error -import org.utbot.spring.api.provider.InstantiationSettings - -import com.jetbrains.rd.util.getLogger -import com.jetbrains.rd.util.info -import org.springframework.boot.SpringBootVersion -import org.springframework.core.SpringVersion -import org.utbot.spring.api.SpringApi -import org.utbot.spring.api.provider.SpringApiProviderFacade -import org.utbot.spring.api.provider.SpringApiProviderFacade.ProviderResult - -private val logger = getLogger() - -class SpringApiProviderFacadeImpl : SpringApiProviderFacade { - - override fun provideMostSpecificAvailableApi(instantiationSettings: InstantiationSettings): ProviderResult = - useMostSpecificNonFailingApi(instantiationSettings) { api -> - api.getOrLoadSpringApplicationContext() - api - } - - override fun useMostSpecificNonFailingApi( - instantiationSettings: InstantiationSettings, - apiUser: (SpringApi) -> T - ): ProviderResult { - logger.info { "Current Java version is: " + System.getProperty("java.version") } - logger.info { "Current Spring version is: " + runCatching { SpringVersion.getVersion() }.getOrNull() } - logger.info { "Current Spring Boot version is: " + runCatching { SpringBootVersion.getVersion() }.getOrNull() } - logger.info { "InstantiationSettings: $instantiationSettings" } - - val exceptions = mutableListOf() - - val apiProviders = sequenceOf(SpringBootApiProvider(), PureSpringApiProvider()) - - val result = apiProviders - .filter { apiProvider -> apiProvider.isAvailable() } - .map { apiProvider -> - logger.info { "Using Spring API from $apiProvider" } - val result = runCatching { apiUser(apiProvider.provideAPI(instantiationSettings)) } - result.onFailure { e -> - exceptions.add(e) - logger.error("Using Spring API from $apiProvider failed", e) - } - result - } - .firstOrNull { it.isSuccess } - ?: Result.failure(exceptions.first()) - - return ProviderResult(result, exceptions) - } -} diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringBootApiProvider.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringBootApiProvider.kt deleted file mode 100644 index 42166664..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/provider/SpringBootApiProvider.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.spring.provider - -import org.utbot.spring.api.provider.InstantiationSettings -import org.utbot.spring.dummy.DummySpringBootIntegrationTestClass -import org.utbot.spring.SpringApiImpl -import org.utbot.spring.dummy.DummySpringBootIntegrationTestClassAutoconfigTestDB -import org.utbot.spring.utils.DependencyUtils.isSpringBootTestOnClasspath -import org.utbot.spring.utils.DependencyUtils.isSpringDataOnClasspath - -class SpringBootApiProvider : SpringApiProvider { - - override fun isAvailable(): Boolean = isSpringBootTestOnClasspath - - override fun provideAPI(instantiationSettings: InstantiationSettings) = - SpringApiImpl( - instantiationSettings, - if (isSpringDataOnClasspath) DummySpringBootIntegrationTestClassAutoconfigTestDB::class.java - else DummySpringBootIntegrationTestClass::class.java - ) -} \ No newline at end of file diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/utils/DependencyUtils.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/utils/DependencyUtils.kt deleted file mode 100644 index 4be1dd46..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/utils/DependencyUtils.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.spring.utils - -import org.springframework.boot.test.context.SpringBootTestContextBootstrapper -import org.springframework.data.repository.CrudRepository - -object DependencyUtils { - val isSpringDataOnClasspath = try { - CrudRepository::class.java.name - true - } catch (e: Throwable) { - false - } - - val isSpringBootTestOnClasspath = try { - SpringBootTestContextBootstrapper::class.java.name - true - } catch (e: Throwable) { - false - } -} diff --git a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/utils/RepositoryUtils.kt b/utbot-spring-commons/src/main/kotlin/org/utbot/spring/utils/RepositoryUtils.kt deleted file mode 100644 index 7502e06a..00000000 --- a/utbot-spring-commons/src/main/kotlin/org/utbot/spring/utils/RepositoryUtils.kt +++ /dev/null @@ -1,29 +0,0 @@ -package org.utbot.spring.utils - -import org.springframework.core.GenericTypeResolver -import org.springframework.data.repository.CrudRepository - -/** - * This util class allows to obtain some data from Spring repository. - * For example, information about entity it is working with. - * - * Private methods implementation is taken from https://stackoverflow.com/a/76229273. - */ -object RepositoryUtils { - - fun getEntityClass(repositoryClass: Class<*>): Class<*>? = - getGenericType(repositoryClass, CrudRepository::class.java, 0) - - private fun getGenericType(classInstance: Class<*>, classToGetGenerics: Class<*>, genericPosition: Int): Class<*>? { - val typeArguments = getGenericType(classInstance, classToGetGenerics) - if (typeArguments != null && typeArguments.size >= genericPosition) { - return typeArguments[genericPosition] - } - - return null - } - - private fun getGenericType(classInstance: Class<*>, classToGetGenerics: Class<*>): Array?>? { - return GenericTypeResolver.resolveTypeArguments(classInstance, classToGetGenerics) - } -} \ No newline at end of file diff --git a/utbot-spring-sample/build.gradle b/utbot-spring-sample/build.gradle deleted file mode 100644 index df512a72..00000000 --- a/utbot-spring-sample/build.gradle +++ /dev/null @@ -1,19 +0,0 @@ -plugins { - id 'java-library' -} - -dependencies { - implementation 'org.projectlombok:lombok:1.18.20' - annotationProcessor 'org.projectlombok:lombok:1.18.20' - - implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion - implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion -} - -// This is required to avoid conflict between SpringBoot standard logger and the logger of our project. -// See https://stackoverflow.com/a/28735604 for more details. -configurations { - all { - exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' - } -} \ No newline at end of file diff --git a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/OrderRepository.java b/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/OrderRepository.java deleted file mode 100644 index c4446c59..00000000 --- a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/OrderRepository.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.examples.spring.autowiring; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.utbot.examples.spring.autowiring.oneBeanForOneType.Order; - -public interface OrderRepository extends JpaRepository { -} diff --git a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/Order.java b/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/Order.java deleted file mode 100644 index 5a2f2529..00000000 --- a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/Order.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.utbot.examples.spring.autowiring.oneBeanForOneType; - -import lombok.*; -import lombok.extern.jackson.Jacksonized; - -import javax.persistence.*; - -@Getter -@Setter -@Builder -@ToString -@Jacksonized -@NoArgsConstructor -@AllArgsConstructor -@Entity -@Table(name = "orders") -public class Order { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - Long id; - String buyer; - Double price; - int qty; -} diff --git a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedAndNonInjectedField.java b/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedAndNonInjectedField.java deleted file mode 100644 index 89309ca3..00000000 --- a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedAndNonInjectedField.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.spring.autowiring.oneBeanForOneType; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.utbot.examples.spring.autowiring.OrderRepository; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class ServiceWithInjectedAndNonInjectedField { - - public List selectedOrders = new ArrayList<>(); - - @Autowired - private OrderRepository orderRepository; - - public Integer getOrdersSize() { - return orderRepository.findAll().size() + selectedOrders.size(); - } - -} diff --git a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedField.java b/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedField.java deleted file mode 100644 index 9b492c30..00000000 --- a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedField.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.spring.autowiring.oneBeanForOneType; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.utbot.examples.spring.autowiring.OrderRepository; - -import java.util.List; - -@Service -public class ServiceWithInjectedField { - - @Autowired - private OrderRepository orderRepository; - - public List getOrders() { - return orderRepository.findAll(); - } - - public Order createOrder(Order order) { - return orderRepository.save(order); - } -} diff --git a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/Person.java b/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/Person.java deleted file mode 100644 index 64c9cb9d..00000000 --- a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/Person.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.examples.spring.autowiring.twoAndMoreBeansForOneType; - -public class Person { - private String firstName; - private String lastName; - - private Integer age; - - public Person(String firstName, String secondName, Integer age) { - this.firstName = firstName; - this.lastName = secondName; - this.age = age; - } - - public String getName() { - return firstName + " " + lastName; - } - - public Integer getAge(){ - return age; - } -} \ No newline at end of file diff --git a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/ServiceOfBeansWithSameType.java b/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/ServiceOfBeansWithSameType.java deleted file mode 100644 index bf4f045e..00000000 --- a/utbot-spring-sample/src/main/java/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/ServiceOfBeansWithSameType.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.utbot.examples.spring.autowiring.twoAndMoreBeansForOneType; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class ServiceOfBeansWithSameType { - @Autowired - private Person personOne; - - @Autowired - private Person personTwo; - - public final List baseOrders = new ArrayList<>(); - - // a method for testing the case when the Engine produces one model on @Autowired variables of the same type - public Integer ageSum(){ - return personOne.getAge() + personTwo.getAge(); - } - - // a method for testing the case when the Engine produces two models on @Autowired variables of the same type - public Boolean checker() { - return personOne.getName().equals("k") && personTwo.getName().length() > 5 && baseOrders.isEmpty(); - } -} \ No newline at end of file diff --git a/utbot-spring-test/build.gradle b/utbot-spring-test/build.gradle deleted file mode 100644 index c186b9c6..00000000 --- a/utbot-spring-test/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -dependencies { - testImplementation(project(":utbot-framework")) - testImplementation project(':utbot-testing') - testImplementation project(':utbot-spring-sample') - - // To use JUnit4, comment out JUnit5 and uncomment JUnit4 dependencies here. Please also check "test" section - // testImplementation group: 'junit', name: 'junit', version: '4.13.1' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.8.1' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.8.1' - - // used for testing code generation - testImplementation group: 'junit', name: 'junit', version: junit4Version - testImplementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - testImplementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - testImplementation group: 'org.mockito', name: 'mockito-inline', version: mockitoInlineVersion - testImplementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - - testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion -} - -configurations { - all { - exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging' - } -} - -test { - if (System.getProperty('DEBUG', 'false') == 'true') { - jvmArgs '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9009' - } -} diff --git a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/SpringNoConfigUtValueTestCaseChecker.kt b/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/SpringNoConfigUtValueTestCaseChecker.kt deleted file mode 100644 index ed541032..00000000 --- a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/SpringNoConfigUtValueTestCaseChecker.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.examples.spring.autowiring - -import org.utbot.examples.spring.utils.standardSpringTestingConfigurations -import org.utbot.testing.UtValueTestCaseChecker -import org.utbot.testing.springNoConfigApplicationContext -import kotlin.reflect.KClass - -abstract class SpringNoConfigUtValueTestCaseChecker( - testClass: KClass<*> -) : UtValueTestCaseChecker( - testClass, - configurations = standardSpringTestingConfigurations, - applicationContext = springNoConfigApplicationContext -) \ No newline at end of file diff --git a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedAndNonInjectedFieldTests.kt b/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedAndNonInjectedFieldTests.kt deleted file mode 100644 index f86ddf91..00000000 --- a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedAndNonInjectedFieldTests.kt +++ /dev/null @@ -1,35 +0,0 @@ -package org.utbot.examples.spring.autowiring.oneBeanForOneType - -import org.junit.jupiter.api.Test -import org.utbot.examples.spring.autowiring.SpringNoConfigUtValueTestCaseChecker -import org.utbot.examples.spring.utils.findAllRepositoryCall -import org.utbot.examples.spring.utils.springAdditionalDependencies -import org.utbot.examples.spring.utils.springMockStrategy -import org.utbot.testing.DoNotCalculate -import org.utbot.testing.ignoreExecutionsNumber -import org.utbot.testing.isException -import org.utbot.testing.singleMock -import org.utbot.testing.value - -internal class ServiceWithInjectedAndNonInjectedFieldTests : SpringNoConfigUtValueTestCaseChecker( - testClass = ServiceWithInjectedAndNonInjectedField::class, -) { - @Test - fun testGetOrdersSize() { - checkThisMocksAndExceptions( - method = ServiceWithInjectedAndNonInjectedField::getOrdersSize, - // TODO: replace with `branches = eq(3)` - // after the fix of `speculativelyCannotProduceNullPointerException` in SpringApplicationContext - branches = ignoreExecutionsNumber, - { thisInstance, mocks, r: Result -> - val orderRepository = mocks.singleMock("orderRepository", findAllRepositoryCall) - val repositorySize = orderRepository.value?>()!!.size - repositorySize + thisInstance.selectedOrders.size == r.getOrNull() - }, - { _, _, r: Result -> r.isException() }, - coverage = DoNotCalculate, - mockStrategy = springMockStrategy, - additionalDependencies = springAdditionalDependencies, - ) - } -} \ No newline at end of file diff --git a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedFieldTests.kt b/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedFieldTests.kt deleted file mode 100644 index c123d7f2..00000000 --- a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/oneBeanForOneType/ServiceWithInjectedFieldTests.kt +++ /dev/null @@ -1,45 +0,0 @@ -package org.utbot.examples.spring.autowiring.oneBeanForOneType - -import org.junit.jupiter.api.Test -import org.utbot.examples.spring.autowiring.SpringNoConfigUtValueTestCaseChecker -import org.utbot.examples.spring.utils.findAllRepositoryCall -import org.utbot.examples.spring.utils.saveRepositoryCall -import org.utbot.examples.spring.utils.springAdditionalDependencies -import org.utbot.examples.spring.utils.springMockStrategy -import org.utbot.testcheckers.eq -import org.utbot.testing.* - -internal class ServiceWithInjectedFieldTests : SpringNoConfigUtValueTestCaseChecker( - testClass = ServiceWithInjectedField::class, -) { - @Test - fun testGetOrders() { - checkMocks( - method = ServiceWithInjectedField::getOrders, - branches = eq(1), - { mocks, r -> - val orderRepository = mocks.singleMock("orderRepository", findAllRepositoryCall) - orderRepository.value?>() == r - }, - coverage = DoNotCalculate, - mockStrategy = springMockStrategy, - additionalDependencies = springAdditionalDependencies, - ) - } - - @Test - fun testCreateOrder() { - checkThisMocksAndExceptions( - method = ServiceWithInjectedField::createOrder, - // TODO: replace with `branches = eq(1)` after fix of https://github.com/UnitTestBot/UTBotJava/issues/2367 - branches = ignoreExecutionsNumber, - { _, _, mocks, r: Result -> - val orderRepository = mocks.singleMock("orderRepository", saveRepositoryCall) - orderRepository.value() == r.getOrNull() - }, - coverage = DoNotCalculate, - mockStrategy = springMockStrategy, - additionalDependencies = springAdditionalDependencies, - ) - } -} \ No newline at end of file diff --git a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/ServiceOfBeansWithSameTypeTest.kt b/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/ServiceOfBeansWithSameTypeTest.kt deleted file mode 100644 index d57d5464..00000000 --- a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/autowiring/twoAndMoreBeansForOneType/ServiceOfBeansWithSameTypeTest.kt +++ /dev/null @@ -1,144 +0,0 @@ -package org.utbot.examples.spring.autowiring.twoAndMoreBeansForOneType - -import org.junit.jupiter.api.Test -import org.utbot.examples.spring.autowiring.SpringNoConfigUtValueTestCaseChecker -import org.utbot.examples.spring.utils.* -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.testcheckers.eq -import org.utbot.testing.* - -class ServiceOfBeansWithSameTypeTest : SpringNoConfigUtValueTestCaseChecker( - testClass = ServiceOfBeansWithSameType::class, -) { - - /** - * In this test, we check the case when the Engine produces two models on two @Autowired variables of the same type. - * - * The engine produce two models only in the tests, when `baseOrder` is a testing participant. - * In these tests, we mock all the variables and get the only necessary `mock.values` in each variable. - */ - @Test - fun testChecker() { - checkThisMocksAndExceptions( - method = ServiceOfBeansWithSameType::checker, - branches = eq(6), - {_, mocks, r -> - val personOne = mocks.singleMock("personOne", namePersonCall) - - val personOneName = personOne.value() - - val r1 = personOneName == null - - r1 && r.isException() - }, - {_, mocks, r -> - val person = mocks.singleMock("personOne", namePersonCall) - - val personOneName = (person.values[0] as? UtConcreteValue<*>)?.value - val personTwoName = (person.values[1] as? UtConcreteValue<*>)?.value - - val r1 = personOneName == "k" - val r2 = personTwoName == null - - r1 && r2 && r.isException() - }, - {_, mocks, r -> - val personOne = mocks.singleMock("personOne", namePersonCall) - - val personOneName = personOne.value() - - val r1 = personOneName != "k" - - r1 && (r.getOrNull() == false) - }, - {_, mocks, r -> - val person = mocks.singleMock("personOne", namePersonCall) - - val personOneName = (person.values[0] as? UtConcreteValue<*>)?.value - val personTwoName = (person.values[1] as? UtConcreteValue<*>)?.value.toString() - - val r1 = personOneName == "k" - val r2 = personTwoName.length <= 5 - - r1 && r2 && (r.getOrNull() == false) - }, - - //In this test Engine produces two models on two @Autowired variables of the same type - {thisInstance, mocks, r -> - val personOne = mocks.singleMock("personOne", namePersonCall) - val personTwo = mocks.singleMock("personTwo", namePersonCall) - - val personOneName = (personOne.values[0] as? UtConcreteValue<*>)?.value - val personTwoName = (personTwo.values[0] as? UtConcreteValue<*>)?.value.toString() - val baseOrders = thisInstance.baseOrders - - val r1 = personOneName == "k" - val r2 = personTwoName.length > 5 - val r3 = baseOrders.isEmpty() - - r1 && r2 && r3 && (r.getOrNull() == true) - }, - - {thisInstance, mocks, r -> - val personOne = mocks.singleMock("personOne", namePersonCall) - val personTwo = mocks.singleMock("personTwo", namePersonCall) - - val personOneName = (personOne.values[0] as? UtConcreteValue<*>)?.value - val personTwoName = (personTwo.values[0] as? UtConcreteValue<*>)?.value.toString() - val baseOrders = thisInstance.baseOrders - - val r1 = personOneName == "k" - val r2 = personTwoName.length > 5 - val r3 = baseOrders.isNotEmpty() - - r1 && r2 && r3 && (r.getOrNull() == false) - }, - coverage = DoNotCalculate, - mockStrategy = springMockStrategy, - additionalDependencies = springAdditionalDependencies, - ) - } - - /** - * In this test, we check the case when the Engine produces one model on two @Autowired variables of the same type. - * - * Therefore, we only mock one of the variables and get all `mock.values` in it - */ - @Test - fun testAgeSum(){ - checkThisMocksAndExceptions( - method = ServiceOfBeansWithSameType::ageSum, - branches = eq(3), - { _, mocks, r -> - val personOne = mocks.singleMock("personOne", agePersonCall) - - val personOneAge = (personOne.values[0] as? UtConcreteValue<*>)?.value - val isPersonOneAgeNull = personOneAge == null - - isPersonOneAgeNull && r.isException() - }, - { _, mocks, r -> - val personOne = mocks.singleMock("personOne", agePersonCall) - - val personOneAge = (personOne.values[0] as? UtConcreteValue<*>)?.value - val personTwoAge = (personOne.values[1] as? UtConcreteValue<*>)?.value - - val isPersonOneAgeNull = personOneAge != null - val isPersonTwoAgeNotNull = personTwoAge == null - - isPersonOneAgeNull && isPersonTwoAgeNotNull && r.isException() - }, - { _, mocks, r -> - val personOne = mocks.singleMock("personOne", agePersonCall) - - val personOneAge = (personOne.values[0] as? UtConcreteValue<*>)?.value.toString().toInt() - val personTwoAge = (personOne.values[1] as? UtConcreteValue<*>)?.value.toString().toInt() - - personOneAge + personTwoAge == r.getOrNull() - }, - coverage = DoNotCalculate, - mockStrategy = springMockStrategy, - additionalDependencies = springAdditionalDependencies, - ) - } -} diff --git a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/utils/CallUtils.kt b/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/utils/CallUtils.kt deleted file mode 100644 index 86cb0648..00000000 --- a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/utils/CallUtils.kt +++ /dev/null @@ -1,38 +0,0 @@ -package org.utbot.examples.spring.utils - -import org.utbot.examples.spring.autowiring.OrderRepository -import org.utbot.examples.spring.autowiring.oneBeanForOneType.Order -import org.utbot.examples.spring.autowiring.twoAndMoreBeansForOneType.Person -import kotlin.reflect.KFunction1 -import kotlin.reflect.KFunction2 -import kotlin.reflect.full.functions - -@Suppress("UNCHECKED_CAST") -val findAllRepositoryCall: KFunction1?> = - OrderRepository::class - .functions - .single { it.name == "findAll" && it.parameters.size == 1 } - as KFunction1?> - - -@Suppress("UNCHECKED_CAST") -val saveRepositoryCall: KFunction2 = - OrderRepository::class - .functions - .single { it.name == "save" && it.parameters.size == 2 } - as KFunction2 - - -@Suppress("UNCHECKED_CAST") -val namePersonCall: KFunction1 = - Person::class - .functions - .single { it.name == "getName" && it.parameters.size == 1 } - as KFunction1 - -@Suppress("UNCHECKED_CAST") -val agePersonCall: KFunction1 = - Person::class - .functions - .single { it.name == "getAge" && it.parameters.size == 1 } - as KFunction1 \ No newline at end of file diff --git a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/utils/SpringTestingConfiguration.kt b/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/utils/SpringTestingConfiguration.kt deleted file mode 100644 index 3a967775..00000000 --- a/utbot-spring-test/src/test/kotlin/org/utbot/examples/spring/utils/SpringTestingConfiguration.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.examples.spring.utils - -import org.springframework.data.jpa.repository.JpaRepository -import org.springframework.data.repository.PagingAndSortingRepository -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.SpringConfiguration -import org.utbot.testing.TestExecution - -val standardSpringTestingConfigurations: List = listOf( - SpringConfiguration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, TestExecution) -) - -val springMockStrategy = MockStrategyApi.OTHER_CLASSES - -val springAdditionalDependencies: Array> = arrayOf( - JpaRepository::class.java, - PagingAndSortingRepository::class.java, -) \ No newline at end of file diff --git a/utbot-spring-test/src/test/resources/log4j2.xml b/utbot-spring-test/src/test/resources/log4j2.xml deleted file mode 100644 index ac3d2f2a..00000000 --- a/utbot-spring-test/src/test/resources/log4j2.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/utbot-summary-tests/build.gradle b/utbot-summary-tests/build.gradle deleted file mode 100644 index 8f356f6e..00000000 --- a/utbot-summary-tests/build.gradle +++ /dev/null @@ -1,15 +0,0 @@ -plugins { - id 'java-library' -} - -evaluationDependsOn(':utbot-framework') -compileTestJava.dependsOn tasks.getByPath(':utbot-framework:testClasses') - -dependencies { - implementation(project(":utbot-framework")) - implementation(project(':utbot-instrumentation')) - testImplementation project(':utbot-sample') - testImplementation group: 'junit', name: 'junit', version: junit4Version - testImplementation project(':utbot-testing') - testImplementation project(':utbot-framework').sourceSets.test.output -} diff --git a/utbot-summary-tests/src/test/kotlin/examples/CustomJavaDocTagsEnabler.kt b/utbot-summary-tests/src/test/kotlin/examples/CustomJavaDocTagsEnabler.kt deleted file mode 100644 index 5929caad..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/CustomJavaDocTagsEnabler.kt +++ /dev/null @@ -1,25 +0,0 @@ -package examples - -import org.junit.jupiter.api.extension.AfterEachCallback -import org.junit.jupiter.api.extension.BeforeEachCallback -import org.junit.jupiter.api.extension.ExtensionContext -import org.utbot.framework.UtSettings - -/** - * Controls the value of useCustomJavaDocTags global variable. - * - * Should be used in summary tests containing custom JavaDoc tags. - * To use it, add an annotation @ExtendWith(CustomJavaDocTagsEnabler::class) under test class. - */ -class CustomJavaDocTagsEnabler(private val enable: Boolean = true) : BeforeEachCallback, AfterEachCallback { - private var previousValue = false - - override fun beforeEach(context: ExtensionContext?) { - previousValue = UtSettings.useCustomJavaDocTags - UtSettings.useCustomJavaDocTags = enable - } - - override fun afterEach(context: ExtensionContext?) { - UtSettings.useCustomJavaDocTags = previousValue - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/SummaryTestCaseGeneratorTest.kt b/utbot-summary-tests/src/test/kotlin/examples/SummaryTestCaseGeneratorTest.kt deleted file mode 100644 index 4de64113..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/SummaryTestCaseGeneratorTest.kt +++ /dev/null @@ -1,317 +0,0 @@ -package examples - -import org.junit.jupiter.api.* -import org.utbot.common.WorkaroundReason -import org.utbot.common.workaround -import org.utbot.framework.UtSettings.checkNpeInNestedMethods -import org.utbot.framework.UtSettings.checkNpeInNestedNotPrivateMethods -import org.utbot.framework.UtSettings.checkSolverTimeoutMillis -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.summary.comment.nextSynonyms -import org.utbot.summary.summarizeAll -import org.utbot.testing.CoverageMatcher -import org.utbot.testing.TestExecution -import org.utbot.testing.UtValueTestCaseChecker -import kotlin.reflect.KClass -import kotlin.reflect.KFunction - -private const val NEW_LINE = "\n" -private const val POINT_IN_THE_LIST = " * " -private const val COMMENT_SEPARATOR = "-------------------------------------------------------------" - -@Disabled -open class SummaryTestCaseGeneratorTest( - testClass: KClass<*>, - testCodeGeneration: Boolean = false, -) : UtValueTestCaseChecker(testClass, testCodeGeneration) { - private lateinit var cookie: AutoCloseable - - @BeforeEach - fun setup() { - cookie = UtContext.setUtContext(UtContext(ClassLoader.getSystemClassLoader())) - } - - @AfterEach - fun tearDown() { - cookie.close() - } - - inline fun summaryCheck( - method: KFunction, - mockStrategy: MockStrategyApi, - coverageMatcher: CoverageMatcher, - summaryKeys: List, - methodNames: List = listOf(), - displayNames: List = listOf(), - clusterInfo: List> = listOf(), - additionalMockAlwaysClasses: Set = emptySet() - ) { - workaround(WorkaroundReason.HACK) { - // @todo change to the constructor parameter - checkSolverTimeoutMillis = 0 - checkNpeInNestedMethods = true - checkNpeInNestedNotPrivateMethods = true - } - val testSet = executionsModel( - method.executableId, - mockStrategy, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - val testSetWithSummarization = listOf(testSet).summarizeAll(searchDirectory, sourceFile = null).single() - - testSetWithSummarization.executions.checkMatchersWithTextSummary(summaryKeys) - testSetWithSummarization.executions.checkMatchersWithMethodNames(methodNames) - testSetWithSummarization.executions.checkMatchersWithDisplayNames(displayNames) - testSetWithSummarization.checkClusterInfo(clusterInfo) - } - - /** - * It removes from the String all whitespaces, tabs etc. - * - * Also, it replaces all randomly added words from [nextSynonyms] that totally influence on the determinism in test name generation. - * - * @see Explanation of the used regular expression. - */ - private fun String.normalize(): String { - var result = this.replace("\\s+".toRegex(), "") - nextSynonyms.forEach { - result = result.replace(it, "") - } - return result - } - - // TODO: if next synonyms and normalize function will be removed, this method could be moved as overridden equals to the dataClass [UtClusterInfo] - private fun UtClusterInfo.normalizedAndEquals(other: UtClusterInfo): Boolean { - if (header != other.header) return false - - return if (content == null) { - other.content == null - } else { - if (other.content == null) false - else { - content!!.normalize() == other.content!!.normalize() - } - } - } - - /** - * Verifies that there are the same number of clusters, its content and number of included tests in each cluster. - */ - fun UtMethodTestSet.checkClusterInfo(clusterInfo: List>) { - if (clusterInfo.isEmpty()) { - return - } - - Assertions.assertEquals(this.clustersInfo.size, clusterInfo.size) - - this.clustersInfo.forEachIndexed { index, it -> - Assertions.assertTrue(it.first!!.normalizedAndEquals(clusterInfo[index].first)) - Assertions.assertEquals(it.second.count(), clusterInfo[index].second) - } - } - - - fun List.checkMatchersWithTextSummary( - comments: List, - ) { - if (comments.isEmpty()) { - return - } - val notMatchedExecutions = this.filter { execution -> - comments.none { comment -> - val normalize = execution.summary?.toString()?.normalize() - normalize?.contains(comment.normalize()) == true - } - } - - val notMatchedComments = comments.filter { comment -> - this.none { execution -> - val normalize = execution.summary?.toString()?.normalize() - normalize?.contains(comment.normalize()) == true - } - } - - Assertions.assertTrue(notMatchedExecutions.isEmpty() && notMatchedComments.isEmpty()) { - buildString { - if (notMatchedExecutions.isNotEmpty()) { - append( - "\nThe following comments were produced by the UTBot, " + - "but were not found in the list of comments passed in the check() method:\n\n${ - commentsFromExecutions( - notMatchedExecutions - ) - }" - ) - } - - if (notMatchedComments.isNotEmpty()) { - append( - "\nThe following comments were passed in the check() method, " + - "but were not found in the list of comments produced by the UTBot:\n\n${ - comments( - notMatchedComments - ) - }" - ) - } - } - } - } - - fun List.checkMatchersWithMethodNames( - methodNames: List, - ) { - if (methodNames.isEmpty()) { - return - } - val notMatchedExecutions = this.filter { execution -> - methodNames.none { methodName -> execution.testMethodName?.equals(methodName) == true } - } - - val notMatchedMethodNames = methodNames.filter { methodName -> - this.none { execution -> execution.testMethodName?.equals(methodName) == true } - } - - Assertions.assertTrue(notMatchedExecutions.isEmpty() && notMatchedMethodNames.isEmpty()) { - buildString { - if (notMatchedExecutions.isNotEmpty()) { - append( - "\nThe following method names were produced by the UTBot, " + - "but were not found in the list of method names passed in the check() method:\n\n${ - methodNamesFromExecutions( - notMatchedExecutions - ) - }" - ) - } - - if (notMatchedMethodNames.isNotEmpty()) { - append( - "\nThe following method names were passed in the check() method, " + - "but were not found in the list of method names produced by the UTBot:\n\n${ - methodNames( - notMatchedMethodNames - ) - }" - ) - } - } - } - } - - fun List.checkMatchersWithDisplayNames( - displayNames: List, - ) { - if (displayNames.isEmpty()) { - return - } - val notMatchedExecutions = this.filter { execution -> - displayNames.none { displayName -> execution.displayName?.equals(displayName) == true } - } - - val notMatchedDisplayNames = displayNames.filter { displayName -> - this.none { execution -> execution.displayName?.equals(displayName) == true } - } - - Assertions.assertTrue(notMatchedExecutions.isEmpty() && notMatchedDisplayNames.isEmpty()) { - buildString { - if (notMatchedExecutions.isNotEmpty()) { - append( - "\nThe following display names were produced by the UTBot, " + - "but were not found in the list of display names passed in the check() method:\n\n${ - displayNamesFromExecutions( - notMatchedExecutions - ) - }" - ) - } - - if (notMatchedDisplayNames.isNotEmpty()) { - append( - "\nThe following display names were passed in the check() method, " + - "but were not found in the list of display names produced by the UTBot:\n\n${ - displayNames( - notMatchedDisplayNames - ) - }" - ) - } - } - } - } - - private fun commentsFromExecutions(executions: List): String { - return buildString { - append(COMMENT_SEPARATOR) - executions.forEach { - append(NEW_LINE) - append(NEW_LINE) - append(it.summary?.joinToString(separator = "", postfix = NEW_LINE)) - append(COMMENT_SEPARATOR) - append(NEW_LINE) - } - append(NEW_LINE) - } - } - - private fun comments(comments: List): String { - return buildString { - append(COMMENT_SEPARATOR) - comments.forEach { - append(NEW_LINE) - append(NEW_LINE) - append(it) - append(NEW_LINE) - append(COMMENT_SEPARATOR) - append(NEW_LINE) - } - append(NEW_LINE) - } - } - - private fun displayNamesFromExecutions(executions: List): String { - return buildString { - executions.forEach { - append(POINT_IN_THE_LIST) - append(it.displayName) - append(NEW_LINE) - } - append(NEW_LINE) - } - } - - private fun displayNames(displayNames: List): String { - return buildString { - displayNames.forEach { - append(POINT_IN_THE_LIST) - append(it) - append(NEW_LINE) - } - append(NEW_LINE) - } - } - - private fun methodNamesFromExecutions(executions: List): String { - return buildString { - executions.forEach { - append(POINT_IN_THE_LIST) - append(it.testMethodName) - append(NEW_LINE) - } - append(NEW_LINE) - } - } - - private fun methodNames(methodNames: List): String { - return buildString { - methodNames.forEach { - append(POINT_IN_THE_LIST) - append(it) - append(NEW_LINE) - } - append(NEW_LINE) - } - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryArrayQuickSortExampleTest.kt b/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryArrayQuickSortExampleTest.kt deleted file mode 100644 index 45c47177..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryArrayQuickSortExampleTest.kt +++ /dev/null @@ -1,593 +0,0 @@ -package examples.algorithms - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Tag -import org.junit.jupiter.api.Test -import org.utbot.examples.algorithms.ArraysQuickSort -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtClusterInfo -import org.utbot.testing.DoNotCalculate - -@Tag("slow") -class SummaryArrayQuickSortExampleTest : SummaryTestCaseGeneratorTest( - ArraysQuickSort::class, -) { - @Test - fun testSort() { - val summary1 = "Test does not iterate for(int k = left; k < right; run[count] = k), for(int lo = run[count] - 1, hi = k; ++lo < --hi; ), while(++k <= right && a[k - 1] >= a[k]), while(++k <= right && a[k - 1] <= a[k]), while(k < right && a[k] == a[k + 1]), executes conditions:\n" + - " (right - left < 286): False,\n" + - " (count == 0): True\n" + - "returns from: return;\n" - val summary2 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): True,\n" + - " (leftmost): True\n" + - " returns from: return;\n" + - " \n" + - "Test further returns from: return;\n" - val summary3 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it executes conditions:\n" + - " (length < 47): True,\n" + - " (leftmost): True\n" + - " iterates the loop for(int i = left, j = i; i < right; j = ++i) once. \n" + - " Test further does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), returns from: return;\n" + - " \n" + - "Test further returns from: return;\n" - val summary4 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it executes conditions:\n" + - " (length < 47): True,\n" + - " (leftmost): True\n" + - " iterates the loop for(int i = left, j = i; i < right; j = ++i) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (j-- == left): True\n" + - " Test then does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), returns from: return;\n" + - " \n" + - "Test later returns from: return;\n" - val summary5 = "Test executes conditions:\n" + - " (right - left < 286): False\n" + - "iterates the loop while(k < right && a[k] == a[k + 1]) once. \n" + - "Test throws ArrayIndexOutOfBoundsException in: while(k < right && a[k] == a[k + 1])\n" - val summary6 = "Test executes conditions:\n" + - " (right - left < 286): False\n" + - "iterates the loop while(k < right && a[k] == a[k + 1]) once. \n" + - "Test throws NullPointerException in: while(k < right && a[k] == a[k + 1])\n" - val summary7 = "Test executes conditions:\n" + - " (right - left < 286): False\n" + - "iterates the loop while(k < right && a[k] == a[k + 1]) once. \n" + - "Test throws ArrayIndexOutOfBoundsException in: while(k < right && a[k] == a[k + 1])\n" - val summary8 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary9 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary10 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False\n" + - " \n" + - "Test throws NullPointerException in: internalSort(a, left, right, true);\n" - val summary11 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it executes conditions:\n" + - " (length < 47): True,\n" + - " (leftmost): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary12 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it executes conditions:\n" + - " (length < 47): True,\n" + - " (leftmost): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary13 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it executes conditions:\n" + - " (length < 47): True,\n" + - " (leftmost): True\n" + - " \n" + - "Test throws NullPointerException in: internalSort(a, left, right, true);\n" - val summary14 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary15 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary16 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate for(int k = less - 1; ++k <= great; ), while(a[great] == pivot2), while(a[less] == pivot1), for(int k = less - 1; ++k <= great; ), while(a[--great] > pivot2), while(a[++less] < pivot1), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): True,\n" + - " (t < a[e3]): True,\n" + - " (if (t < a[e2]) {\n" + - " a[e3] = a[e2];\n" + - " a[e2] = t;\n" + - " if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - " }\n" + - "}): False,\n" + - " (a[e1] != a[e2]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary17 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate for(int k = less - 1; ++k <= great; ), while(a[great] == pivot2), while(a[less] == pivot1), for(int k = less - 1; ++k <= great; ), while(a[--great] > pivot2), while(a[++less] < pivot1), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): True,\n" + - " (t < a[e3]): True,\n" + - " (if (t < a[e2]) {\n" + - " a[e3] = a[e2];\n" + - " a[e2] = t;\n" + - " if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - " }\n" + - "}): True,\n" + - " (if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - "}): False,\n" + - " (a[e1] != a[e2]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary18 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): True,\n" + - " (t < a[e3]): True,\n" + - " (if (t < a[e2]) {\n" + - " a[e3] = a[e2];\n" + - " a[e2] = t;\n" + - " if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - " }\n" + - "}): True,\n" + - " (if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - "}): True,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): True,\n" + - " (a[e3] != a[e4]): True,\n" + - " (a[e4] != a[e5]): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary19 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate for(int k = less - 1; ++k <= great; ), while(a[great] == pivot2), while(a[less] == pivot1), for(int k = less - 1; ++k <= great; ), while(a[--great] > pivot2), while(a[++less] < pivot1), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): True,\n" + - " (t < a[e3]): False,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): False,\n" + - " (a[k] == pivot): True,\n" + - " (a[k] == pivot): False,\n" + - " (ak < pivot): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary20 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate for(int k = less - 1; ++k <= great; ), while(a[great] == pivot2), while(a[less] == pivot1), for(int k = less - 1; ++k <= great; ), while(a[--great] > pivot2), while(a[++less] < pivot1), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): True,\n" + - " (t < a[e2]): True,\n" + - " (if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - "}): True,\n" + - " (a[e5] < a[e4]): False,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): True,\n" + - " (a[e3] != a[e4]): False,\n" + - " (ak < pivot): True,\n" + - " (ak < pivot): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary21 = "Test executes conditions:\n" + - " (right - left < 286): False\n" + - "iterates the loop while(k < right && a[k] == a[k + 1]) twice. \n" + - "Test throws ArrayIndexOutOfBoundsException in: while(k < right && a[k] == a[k + 1])\n" - val summary22 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): True,\n" + - " (a[e3] < a[e2]): True,\n" + - " (t < a[e1]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary23 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): True,\n" + - " (a[e3] < a[e2]): True,\n" + - " (t < a[e1]): False,\n" + - " (a[e4] < a[e3]): True,\n" + - " (t < a[e2]): True,\n" + - " (if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - "}): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary24 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): True,\n" + - " (a[e3] < a[e2]): True,\n" + - " (t < a[e1]): False,\n" + - " (a[e4] < a[e3]): True,\n" + - " (t < a[e2]): True,\n" + - " (if (t < a[e1]) {\n" + - " a[e2] = a[e1];\n" + - " a[e1] = t;\n" + - "}): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary25 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary26 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): True,\n" + - " (t < a[e1]): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary27 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): True,\n" + - " (t < a[e1]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): False,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): True,\n" + - " (a[e3] != a[e4]): True,\n" + - " (a[e4] != a[e5]): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary28 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): False,\n" + - " (a[e3] < a[e2]): True,\n" + - " (t < a[e1]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): True,\n" + - " (t < a[e3]): False,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): True,\n" + - " (a[e3] != a[e4]): True,\n" + - " (a[e4] != a[e5]): True\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary29 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate while(last < a[--right]), for(int k = left; ++left <= right; k = ++left), while(a2 < a[--k]), while(a1 < a[--k]), for(int i = left, j = i; i < right; j = ++i), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): True,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): True,\n" + - " (t < a[e2]): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary30 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate for(int k = less - 1; ++k <= great; ), while(a[great] == pivot2), while(a[less] == pivot1), for(int k = less - 1; ++k <= great; ), while(a[--great] > pivot2), while(a[++less] < pivot1), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): True,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): False,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): True,\n" + - " (a[e3] != a[e4]): False,\n" + - " (a[k] == pivot): False,\n" + - " (ak < pivot): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary31 = "Test executes conditions:\n" + - " (right - left < 286): True\n" + - "calls {@link org.utbot.examples.algorithms.ArraysQuickSort#internalSort(int[],int,int,boolean)},\n" + - " there it does not iterate for(int k = less - 1; ++k <= great; ), while(a[great] == pivot2), while(a[less] == pivot1), for(int k = less - 1; ++k <= great; ), while(a[--great] > pivot2), while(a[++less] < pivot1), executes conditions:\n" + - " (length < 47): False,\n" + - " (a[e2] < a[e1]): True,\n" + - " (a[e3] < a[e2]): False,\n" + - " (a[e4] < a[e3]): False,\n" + - " (a[e5] < a[e4]): False,\n" + - " (a[e1] != a[e2]): True,\n" + - " (a[e2] != a[e3]): True,\n" + - " (a[e3] != a[e4]): True,\n" + - " (a[e4] != a[e5]): False,\n" + - " (a[k] == pivot): False,\n" + - " (ak < pivot): False\n" + - " \n" + - "Test throws ArrayIndexOutOfBoundsException in: internalSort(a, left, right, true);\n" - val summary32 = "Test executes conditions:\n" + - " (right - left < 286): False\n" + - "iterates the loop for(int k = left; k < right; run[count] = k) once,\n" + - " inside this loop, the test iterates the loop while(k < right && a[k] == a[k + 1]) once. \n" + - "Test then executes conditions:\n" + - " (k == right): False,\n" + - " (a[k] < a[k + 1]): True\n" + - "iterates the loop while(++k <= right && a[k - 1] <= a[k])\n" + - "Test throws ArrayIndexOutOfBoundsException in: while(++k <= right && a[k - 1] <= a[k])\n" - val summary33 = "Test executes conditions:\n" + - " (right - left < 286): False\n" + - "iterates the loop for(int k = left; k < right; run[count] = k) once,\n" + - " inside this loop, the test iterates the loop while(k < right && a[k] == a[k + 1]) twice. \n" + - "Test then does not iterate while(++k <= right && a[k - 1] <= a[k]), executes conditions:\n" + - " (k == right): False\n" + - " (a[k] < a[k + 1]): False\n" + - " (a[k] > a[k + 1]): True\n" + - "iterates the loop while(++k <= right && a[k - 1] >= a[k])\n" + - "Test throws ArrayIndexOutOfBoundsException in: while(++k <= right && a[k - 1] >= a[k])\n" - - val methodName1 = "testSort_CountEqualsZero" - val methodName2 = "testSort_Leftmost" - val methodName3 = "testSort_AiGreaterOrEqualJOfA" - val methodName4 = "testSort_PostfixDecrementJEqualsLeft" - val methodName5 = "testSort_ThrowArrayIndexOutOfBoundsException" - val methodName6 = "testSort_ThrowNullPointerException" - val methodName7 = "testSort_ThrowArrayIndexOutOfBoundsException_1" - val methodName8 = "testSort_ThrowArrayIndexOutOfBoundsException_2" - val methodName9 = "testSort_ThrowArrayIndexOutOfBoundsException_3" - val methodName10 = "testSort_ThrowNullPointerException_1" - val methodName11 = "testSort_ThrowArrayIndexOutOfBoundsException_4" - val methodName12 = "testSort_ThrowArrayIndexOutOfBoundsException_5" - val methodName13 = "testSort_ThrowNullPointerException_2" - val methodName14 = "testSort_ThrowArrayIndexOutOfBoundsException_6" - val methodName15 = "testSort_ThrowArrayIndexOutOfBoundsException_7" - val methodName16 = "testSort_TGreaterOrEqualE2OfA" - val methodName17 = "testSort_TGreaterOrEqualE1OfA" - val methodName18 = "testSort_TLessThanE1OfA" - val methodName19 = "testSort_KOfAEqualsPivot" - val methodName20 = "testSort_AkLessThanPivot" - val methodName21 = "testSort_ThrowArrayIndexOutOfBoundsException_8" - val methodName22 = "testSort_ThrowArrayIndexOutOfBoundsException_9" - val methodName23 = "testSort_TGreaterOrEqualE1OfA_1" - val methodName24 = "testSort_ThrowArrayIndexOutOfBoundsException_10" - val methodName25 = "testSort_ThrowArrayIndexOutOfBoundsException_11" - val methodName26 = "testSort_TLessThanE1OfA_1" - val methodName27 = "testSort_ThrowArrayIndexOutOfBoundsException_12" - val methodName28 = "testSort_ThrowArrayIndexOutOfBoundsException_13" - val methodName29 = "testSort_TGreaterOrEqualE2OfA_1" - val methodName30 = "testSort_ThrowArrayIndexOutOfBoundsException_14" - val methodName31 = "testSort_E4OfAEqualsE5OfA" - val methodName32 = "testSort_PrefixIncrementKLessOrEqualRightAndK1OfALessOrEqualKOfA" - val methodName33 = "testSort_PrefixIncrementKLessOrEqualRightAndK1OfAGreaterOrEqualKOfA" - - val displayName1 = "right - left < 286 : False -> return" - val displayName2 = "length < 47 : True -> return" - val displayName3 = "while(ai < a[j]) -> return" - val displayName4 = "while(ai < a[j]) -> return" - val displayName5 = "while(k < right && a[k] == a[k + 1]) -> ThrowArrayIndexOutOfBoundsException" - val displayName6 = "while(k < right && a[k] == a[k + 1]) -> ThrowNullPointerException" - val displayName7 = "while(k < right && a[k] == a[k + 1]) -> ThrowArrayIndexOutOfBoundsException" - val displayName8 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName9 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName10 = "internalSort(a, left, right, true) : True -> ThrowNullPointerException" - val displayName11 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName12 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName13 = "internalSort(a, left, right, true) : True -> ThrowNullPointerException" - val displayName14 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName15 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName16 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName17 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName18 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName19 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName20 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName21 = "while(k < right && a[k] == a[k + 1]) -> ThrowArrayIndexOutOfBoundsException" - val displayName22 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName23 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName24 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName25 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName26 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName27 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName28 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName29 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName30 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName31 = "internalSort(a, left, right, true) : True -> ThrowArrayIndexOutOfBoundsException" - val displayName32 = "while(++k <= right && a[k - 1] <= a[k]) -> ThrowArrayIndexOutOfBoundsException" - val displayName33 = "while(++k <= right && a[k - 1] >= a[k]) -> ThrowArrayIndexOutOfBoundsException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6, - summary7, - summary8, - summary9, - summary10, - summary11, - summary12, - summary13, - summary14, - summary15, - summary16, - summary17, - summary18, - summary19, - summary20, - summary21, - summary22, - summary23, - summary24, - summary25, - summary26, - summary27, - summary28, - summary29, - summary30, - summary31, - summary32, - summary33 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6, - displayName7, - displayName8, - displayName9, - displayName10, - displayName11, - displayName12, - displayName13, - displayName14, - displayName15, - displayName16, - displayName17, - displayName18, - displayName19, - displayName20, - displayName21, - displayName22, - displayName23, - displayName24, - displayName25, - displayName26, - displayName27, - displayName28, - displayName29, - displayName30, - displayName31, - displayName32, - displayName33 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7, - methodName8, - methodName9, - methodName10, - methodName11, - methodName12, - methodName13, - methodName14, - methodName15, - methodName16, - methodName17, - methodName18, - methodName19, - methodName20, - methodName21, - methodName22, - methodName23, - methodName24, - methodName25, - methodName26, - methodName27, - methodName28, - methodName29, - methodName30, - methodName31, - methodName32, - methodName33 - ) - - val clusterInfo = listOf( - Pair(UtClusterInfo("SYMBOLIC EXECUTION ENGINE: SUCCESSFUL EXECUTIONS for method sort(int[], int, int, int[], int, int)", null), 4), - Pair( - UtClusterInfo( - "SYMBOLIC EXECUTION ENGINE: ERROR SUITE for method sort(int[], int, int, int[], int, int)", null - ), 29 - ) - ) - - - val method = ArraysQuickSort::sort - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames, clusterInfo) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryBinarySearchTest.kt b/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryBinarySearchTest.kt deleted file mode 100644 index a9175c1b..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryBinarySearchTest.kt +++ /dev/null @@ -1,94 +0,0 @@ -package examples.algorithms - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.algorithms.BinarySearch -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryBinarySearchTest : SummaryTestCaseGeneratorTest( - BinarySearch::class, -) { - @Test - fun testLeftBinSearch() { - val summary1 = "Test does not iterate while(left < right - 1), executes conditions:\n" + - " (found): False\n" + - "returns from: return -1;\n" - val summary2 = "Test iterates the loop while(left < right - 1) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (array[middle] == key): False,\n" + - " (array[middle] < key): True\n" + - "Test later executes conditions:\n" + - " (found): False\n" + - "returns from: return -1;" - val summary3 = "Test iterates the loop while(left < right - 1) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (array[middle] == key): True,\n" + - " (array[middle] < key): False\n" + - "Test later executes conditions:\n" + - " (found): True\n" + - "returns from: return right + 1;\n" - val summary4 = "Test iterates the loop while(left < right - 1) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (array[middle] == key): True,\n" + - " (array[middle] < key): False\n" + - "Test afterwards executes conditions:\n" + - " (found): True\n" + - "returns from: return right + 1;\n" - val summary5 = "Test invokes:\n" + - " org.utbot.examples.algorithms.BinarySearch#isUnsorted(long[]) once\n" + - "throws NullPointerException when: isUnsorted(array)\n" - val summary6 = "Test invokes:\n" + - " org.utbot.examples.algorithms.BinarySearch#isUnsorted(long[]) once\n" + - "executes conditions:\n" + - " (isUnsorted(array)): True\n" + - "throws IllegalArgumentException when: isUnsorted(array)\n" - - val methodName1 = "testLeftBinSearch_NotFound" - val methodName2 = "testLeftBinSearch_MiddleOfArrayLessThanKey" - val methodName3 = "testLeftBinSearch_Found" - val methodName4 = "testLeftBinSearch_Found_1" - val methodName5 = "testLeftBinSearch_ThrowNullPointerException" - val methodName6 = "testLeftBinSearch_ThrowIllegalArgumentException" - - val displayName1 = "found : False -> return -1" - val displayName2 = "array[middle] == key : False -> return -1" - val displayName3 = "while(left < right - 1) -> return right + 1" - val displayName4 = "while(left < right - 1) -> return right + 1" - val displayName5 = "isUnsorted(array) -> ThrowNullPointerException" - val displayName6 = "isUnsorted(array) -> ThrowIllegalArgumentException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6 - ) - - val method = BinarySearch::leftBinSearch - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryCorrectBracketSequences.kt b/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryCorrectBracketSequences.kt deleted file mode 100644 index 9fb1ef82..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryCorrectBracketSequences.kt +++ /dev/null @@ -1,52 +0,0 @@ -package examples.algorithms - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.algorithms.CorrectBracketSequences -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryCorrectBracketSequences : SummaryTestCaseGeneratorTest( - CorrectBracketSequences::class, -) { - @Test - fun testIsTheSameType() { - val commonSummary = "Test returns from: return a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']';\n" - - val methodName1 = "testIsTheSameType_ANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsChar" - val methodName2 = "testIsTheSameType_ANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsChar_1" - val methodName3 = "testIsTheSameType_AEqualsCharAndBEqualsCharOrAEqualsCharAndBEqualsCharOrAEqualsCharAndBEqualsChar" - val methodName4 = "testIsTheSameType_ANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsChar_2" - val methodName5 = "testIsTheSameType_ANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsCharOrANotEqualsCharAndBNotEqualsChar_3" - val methodName6 = "testIsTheSameType_AEqualsCharAndBEqualsCharOrAEqualsCharAndBEqualsCharOrAEqualsCharAndBEqualsChar_1" - val methodName7 = "testIsTheSameType_AEqualsCharAndBEqualsCharOrAEqualsCharAndBEqualsCharOrAEqualsCharAndBEqualsChar_2" - - val commonDiplayName1 = "return a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']' : False -> return a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']'" - val commonDisplayName2 = "return a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']' : True -> return a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']'" - - val summaryKeys = listOf( - commonSummary - ) - - val displayNames = listOf( - commonDiplayName1, - commonDisplayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7 - ) - - val method = CorrectBracketSequences::isTheSameType - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryReturnExampleTest.kt b/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryReturnExampleTest.kt deleted file mode 100644 index ac60b7d8..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummaryReturnExampleTest.kt +++ /dev/null @@ -1,506 +0,0 @@ -package examples.algorithms - -import examples.SummaryTestCaseGeneratorTest -import org.utbot.examples.algorithms.ReturnExample -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryReturnExampleTest : SummaryTestCaseGeneratorTest( - ReturnExample::class, -) { - @Test - fun testCompare() { - val summary1 = "Test executes conditions:\n" + - " (a < 0): True\n" + - "returns from:\n" + - " 1st return statement: return a;\n" - val summary2 = "Test executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): True\n" + - "returns from:\n" + - " 1st return statement: return a;\n" - val summary3 = "Test executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): True\n" + - "returns from:\n" + - " 1st return statement: return c;\n" - val summary4 = "Test executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): False,\n" + - " (a < b): True\n" + - "returns from:\n" + - " 2nd return statement: return a;\n" - val summary5 = "Test executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): False,\n" + - " (a < b): False\n" + - "returns from:\n" + - " 2nd return statement: return c;\n" - val summary6 = "Test executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): True\n" + - "returns from: return b;\n" - - val methodName1 = "testCompare_ALessThanZero" - val methodName2 = "testCompare_BLessThanZero" - val methodName3 = "testCompare_BEquals10" - val methodName4 = "testCompare_ALessThanB" - val methodName5 = "testCompare_AGreaterOrEqualB" - val methodName6 = "testCompare_AGreaterThanB" - - val displayName1 = "a < 0 : False -> return a" - val displayName2 = "b < 0 : True -> return a" - val displayName3 = "b == 10 : True -> return c" - val displayName4 = "a < b : True -> return a" - val displayName5 = "a < b : False -> return c" - val displayName6 = "a > b : True -> return b" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6 - ) - - val method = ReturnExample::compare - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCompareChar() { - val summary1 = "Test executes conditions:\n" + - " (n < 1): True\n" + - "returns from: return ' ';\n" - val summary2 = "Test executes conditions:\n" + - " (n < 1): False\n" + - "iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): True\n" + - "returns from: return b;" - val summary3 = "Test executes conditions:\n" + - " (n < 1): False\n" + - "iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): False,\n" + - " (Character.toChars(i)[0] == b): True\n" + - "returns from:\n" + - " 1st return statement: return a;" - val summary4 = "Test executes conditions:\n" + - " (n < 1): False\n" + - "iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): False,\n" + - " (Character.toChars(i)[0] == b): False\n" + - "Test then returns from:\n" + - " 2nd return statement: return a;\n" - - val methodName1 = "testCompareChars_NLessThan1" - val methodName2 = "testCompareChars_0OfCharacterToCharsIEqualsA" // TODO: a weird unclear naming - val methodName3 = "testCompareChars_0OfCharacterToCharsIEqualsB" - val methodName4 = "testCompareChars_0OfCharacterToCharsINotEqualsB" - - val displayName1 = "n < 1 : True -> return ' '" - val displayName2 = "Character.toChars(i)[0] == a : True -> return b" - val displayName3 = "Character.toChars(i)[0] == b : True -> return a" - val displayName4 = "Character.toChars(i)[0] == b : False -> return a" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = ReturnExample::compareChars - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testInnerVoidCompareChars() { - val summary1 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): True\n" + - " returns from: return ' ';\n" + - " " // TODO: generates empty String or \n a the end - val summary2 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): False\n" + - " iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): True\n" + - " returns from: return b;" - val summary3 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): False\n" + - " iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): False,\n" + - " (Character.toChars(i)[0] == b): False\n" + - " Test then returns from: return a;\n" + - " " // TODO: generates empty String or \n a the end - val summary4 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): False\n" + - " iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): False,\n" + - " (Character.toChars(i)[0] == b): True\n" + - " returns from: return a;" - - val methodName1 = "testInnerVoidCompareChars_NLessThan1" - val methodName2 = "testInnerVoidCompareChars_0OfCharacterToCharsIEqualsA" // TODO: a weird unclear naming - val methodName3 = "testInnerVoidCompareChars_0OfCharacterToCharsINotEqualsB" - val methodName4 = "testInnerVoidCompareChars_0OfCharacterToCharsIEqualsB" - - val displayName1 = "n < 1 : True -> return ' '" - val displayName2 = "Character.toChars(i)[0] == a : True -> return b" - val displayName3 = "Character.toChars(i)[0] == b : False -> return a" - val displayName4 = "Character.toChars(i)[0] == b : True -> return a" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = ReturnExample::innerVoidCompareChars - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testInnerReturnCompareChars() { - val summary1 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): True\n" + - " returns from: return ' ';\n" + - " \n" + - "Test later returns from: return compareChars(a, b, n);\n" - val summary2 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): False\n" + - " iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): True\n" + - " returns from: return b;\n" + - "Test later returns from: return compareChars(a, b, n);\n" - val summary3 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): False\n" + - " iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): False,\n" + - " (Character.toChars(i)[0] == b): False\n" + - " Test then returns from: return a;\n" + - " \n" + // - "Test afterwards returns from: return compareChars(a, b, n);\n" - val summary4 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compareChars(char,char,int)},\n" + - " there it executes conditions:\n" + - " (n < 1): False\n" + - " iterates the loop for(int i = 0; i < n; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (Character.toChars(i)[0] == a): False,\n" + - " (Character.toChars(i)[0] == b): True\n" + - " returns from: return a;\n" + - "Test afterwards returns from: return compareChars(a, b, n);\n" - - val methodName1 = "testInnerReturnCompareChars_NLessThan1" - val methodName2 = "testInnerReturnCompareChars_0OfCharacterToCharsIEqualsA" // TODO: a weird unclear naming - val methodName3 = "testInnerReturnCompareChars_0OfCharacterToCharsINotEqualsB" - val methodName4 = "testInnerReturnCompareChars_0OfCharacterToCharsIEqualsB" - - val displayName1 = "n < 1 : True -> return ' '" - val displayName2 = "Character.toChars(i)[0] == a : True -> return b" - val displayName3 = "Character.toChars(i)[0] == b : False -> return a" - val displayName4 = "Character.toChars(i)[0] == b : True -> return a" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = ReturnExample::innerReturnCompareChars - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testInnerVoidCompare() { - val summary1 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): True\n" + - " returns from: return a;\n" + - " " // TODO: remove blank line - val summary2 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): True\n" + - " returns from: return b;\n" + - " " // TODO: remove blank line - val summary3 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): True\n" + - " returns from: return c;\n" + - " " // TODO: remove blank line - val summary4 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): True\n" + - " returns from: return a;\n" + - " " // TODO: remove blank line - val summary5 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): False,\n" + - " (a < b): True\n" + - " returns from: return a;\n" + - " " // TODO: remove blank line - val summary6 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): False,\n" + - " (a < b): False\n" + - " returns from: return c;\n" + - " " // TODO: remove blank line - - val methodName1 = "testInnerVoidCallCompare_BLessThanZero" - val methodName2 = "testInnerVoidCallCompare_AGreaterThanB" - val methodName3 = "testInnerVoidCallCompare_BEquals10" - val methodName4 = "testInnerVoidCallCompare_ALessThanZero" - val methodName5 = "testInnerVoidCallCompare_ALessThanB" - val methodName6 = "testInnerVoidCallCompare_AGreaterOrEqualB" - - val displayName1 = "b < 0 : True -> return a" - val displayName2 = "a > b : True -> return b" - val displayName3 = "b == 10 : True -> return c" - val displayName4 = "a < 0 : False -> return a" - val displayName5 = "a < b : True -> return a" - val displayName6 = "a < b : False -> return c" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6 - ) - - val method = ReturnExample::innerVoidCallCompare - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testInnerReturnCompare() { - val summary1 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): True\n" + - " returns from: return a;\n" + - " \n" + - "Test then returns from: return compare(a, b);\n" - val summary2 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): True\n" + - " returns from: return b;\n" + - " \n" + - "Test afterwards returns from: return compare(a, b);\n" - val summary3 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): True\n" + - " returns from: return c;\n" + - " \n" + - "Test then returns from: return compare(a, b);\n" - val summary4 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): True\n" + - " returns from: return a;\n" + - " \n" + - "Test next returns from: return compare(a, b);\n" - val summary5 = "Test calls{@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): False,\n" + - " (a < b): True\n" + - " returns from: return a;\n" + - " \n" + - "Test afterwards returns from: return compare(a, b);\n" - val summary6 = "Test calls {@link org.utbot.examples.algorithms.ReturnExample#compare(int,int)},\n" + - " there it executes conditions:\n" + - " (a < 0): False,\n" + - " (b < 0): False,\n" + - " (b == 10): False,\n" + - " (a > b): False,\n" + - " (a < b): False\n" + - " returns from: return c;\n" + - " \n" + - "Test next returns from: return compare(a, b);\n" - - val methodName1 = "testInnerReturnCallCompare_BLessThanZero" - val methodName2 = "testInnerReturnCallCompare_AGreaterThanB" - val methodName3 = "testInnerReturnCallCompare_BEquals10" - val methodName4 = "testInnerReturnCallCompare_ALessThanZero" - val methodName5 = "testInnerReturnCallCompare_ALessThanB" - val methodName6 = "testInnerReturnCallCompare_AGreaterOrEqualB" - - val displayName1 = - "b < 0 : True -> return a" // TODO: the same display names for many tests with different test names - val displayName2 = "a > b : True -> return b" - val displayName3 = "b == 10 : True -> return c" - val displayName4 = "a < 0 : False -> return a" - val displayName5 = "a < b : True -> return a" - val displayName6 = "a < b : False -> return c" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6 - ) - - val method = ReturnExample::innerReturnCallCompare - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummarySortTest.kt b/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummarySortTest.kt deleted file mode 100644 index 416c8685..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/algorithms/SummarySortTest.kt +++ /dev/null @@ -1,57 +0,0 @@ -package examples.algorithms - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.algorithms.Sort -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummarySortTest : SummaryTestCaseGeneratorTest( - Sort::class, -) { - @Test - fun testDefaultSort() { - val summary1 = "Test \n" + - "throws NullPointerException when: array.length < 4\n" - val summary2 = "Test executes conditions:\n" + - " (array.length < 4): True\n" + - "throws IllegalArgumentException when: array.length < 4\n" - val summary3 = "Test executes conditions:\n" + - " (array.length < 4): False\n" + - "invokes:\n" + - " {@link java.util.Arrays#sort(int[])} once\n" + - "returns from: return array;\n" - - val methodName1 = "testDefaultSort_ThrowNullPointerException" - val methodName2 = "testDefaultSort_ThrowIllegalArgumentException" - val methodName3 = "testDefaultSort_ArrayLengthGreaterOrEqual4" - - val displayName1 = "array.length < 4 -> ThrowNullPointerException" - val displayName2 = "array.length < 4 -> ThrowIllegalArgumentException" - val displayName3 = "array.length < 4 : False -> return array" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = Sort::defaultSort - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/collections/SummaryListWrapperReturnsVoidTest.kt b/utbot-summary-tests/src/test/kotlin/examples/collections/SummaryListWrapperReturnsVoidTest.kt deleted file mode 100644 index e95a5940..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/collections/SummaryListWrapperReturnsVoidTest.kt +++ /dev/null @@ -1,132 +0,0 @@ -package examples.collections - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.collections.ListWrapperReturnsVoidExample -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -/** - * Tests verify that the previously discovered bug is not reproducible anymore. - * - * To get more details, see [issue-437](https://github.com/UnitTestBot/UTBotJava/issues/437) - */ -class SummaryListWrapperReturnsVoidTest : SummaryTestCaseGeneratorTest( - ListWrapperReturnsVoidExample::class, -) { - @Test - fun testRunForEach() { - val summary1 = "Test invokes:\n" + - " {@link java.util.List#forEach(java.util.function.Consumer)} once\n" + - "throws NullPointerException in: list.forEach(o -> {\n" + - " if (o == null)\n" + - " i[0]++;\n" + - "});\n" - val summary2 = "Test returns from: return i[0];" - val summary3 = "Test returns from: return i[0];" - val summary4 = "Test returns from: return i[0];" - - val methodName1 = "testRunForEach_ThrowNullPointerException" - val methodName2 = "testRunForEach_Return0OfI" - val methodName3 = "testRunForEach_Return0OfI_1" - val methodName4 = "testRunForEach_Return0OfI_2" - - val displayName1 = "list.forEach(o -> { if (o == null) i[0]++ }) : True -> ThrowNullPointerException" - val displayName2 = "-> return i[0]" - val displayName3 = "-> return i[0]" - val displayName4 = "-> return i[0]" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = ListWrapperReturnsVoidExample::runForEach - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testSumPositiveForEach() { - val summary1 = "Test throws NullPointerException in: list.forEach(i -> {\n" + - " if (i > 0) {\n" + - " sum[0] += i;\n" + - " }\n" + - "});" - val summary2 = "Test invokes: {@link java.util.List#forEach(java.util.function.Consumer)} once\n" + - "throws NullPointerException in: list.forEach(i -> {\n" + - " if (i > 0) {\n" + - " sum[0] += i;\n" + - " }\n" + - "});" - val summary3 = "Test executes conditions:\n" + - " (sum[0] == 0): True\n" + - "returns from: return 0;" - val summary4 = "Test executes conditions:\n" + - " (sum[0] == 0): True\n" + - "returns from: return 0;" - val summary5 = "Test executes conditions:\n" + - " (sum[0] == 0): False\n" + - "returns from: return sum[0];" - - val methodName1 = "testSumPositiveForEach_ThrowNullPointerException" - val methodName2 = "testSumPositiveForEach_ThrowNullPointerException_1" - val methodName3 = "testSumPositiveForEach_0OfSumEqualsZero" - val methodName4 = "testSumPositiveForEach_0OfSumEqualsZero_1" - val methodName5 = "testSumPositiveForEach_0OfSumNotEqualsZero" - - val displayName1 = "list.forEach(i -> { if (i > 0) { sum[0] += i } }) : True -> ThrowNullPointerException" - val displayName2 = "list.forEach(i -> { if (i > 0) { sum[0] += i } }) : True -> ThrowNullPointerException" - val displayName3 = "sum[0] == 0 : True -> return 0" - val displayName4 = "sum[0] == 0 : True -> return 0" - val displayName5 = "sum[0] == 0 : False -> return sum[0]" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5 - ) - - val method = ListWrapperReturnsVoidExample::sumPositiveForEach - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummaryConditionsTest.kt b/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummaryConditionsTest.kt deleted file mode 100644 index 39f854f6..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummaryConditionsTest.kt +++ /dev/null @@ -1,151 +0,0 @@ -package examples.controlflow - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.testing.DoNotCalculate -import org.utbot.examples.controlflow.Conditions -import org.utbot.framework.plugin.api.MockStrategyApi - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryConditionsTest : SummaryTestCaseGeneratorTest( - Conditions::class -) { - @Test - fun testSimpleCondition() { - val summary1 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#simpleCondition(boolean)}\n" + - "@utbot.executesCondition {@code (condition): False}\n" + - "@utbot.returnsFrom {@code return 0;}" - - val summary2 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#simpleCondition(boolean)}\n" + - "@utbot.executesCondition {@code (condition): True}\n" + - "@utbot.returnsFrom {@code return 1;}" - - val methodName1 = "testSimpleCondition_NotCondition" - val methodName2 = "testSimpleCondition_Condition" - - val displayName1 = "condition : False -> return 0" - val displayName2 = "condition : True -> return 1" - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - val method = Conditions::simpleCondition - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testReturnCastFromTernaryOperator() { - val summary1 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#returnCastFromTernaryOperator(long,int)}\n" + - "@utbot.returnsFrom {@code return (int) (a < 0 ? a + b : a);}\n" - val summary2 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#returnCastFromTernaryOperator(long,int)}\n" + - "@utbot.returnsFrom {@code return (int) (a < 0 ? a + b : a);}\n" - val summary3 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#returnCastFromTernaryOperator(long,int)}\n" + - "@utbot.throwsException {@link java.lang.ArithmeticException} in: a = a % b;\n" - - val methodName1 = "testReturnCastFromTernaryOperator_A0aba" - val methodName2 = "testReturnCastFromTernaryOperator_A0aba_1" - val methodName3 = "testReturnCastFromTernaryOperator_ThrowArithmeticException" - - val displayName1 = "return (int) (a < 0 ? a + b : a) : False -> return (int) (a < 0 ? a + b : a)" - val displayName2 = "return (int) (a < 0 ? a + b : a) : True -> return (int) (a < 0 ? a + b : a)" - val displayName3 = "a = a % b -> ThrowArithmeticException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = Conditions::returnCastFromTernaryOperator - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testElseIf() { - val summary1 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#elseIf(int)}\n" + - "@utbot.executesCondition {@code (id > 0): True}\n" + - "@utbot.returnsFrom {@code return 0;}" - - val summary2 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#elseIf(int)}\n" + - "@utbot.executesCondition {@code (id > 0): False}\n" + - "@utbot.executesCondition {@code (id == 0): False}\n" + - "@utbot.returnsFrom {@code return 1;}" - - val summary3 = "@utbot.classUnderTest {@link Conditions}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Conditions#elseIf(int)}\n" + - "@utbot.executesCondition {@code (id > 0): False}\n" + - "@utbot.executesCondition {@code (id == 0): True}\n" + - "@utbot.throwsException {@link java.lang.RuntimeException} when: id == 0" - - val methodName1 = "testElseIf_IdGreaterThanZero" - val methodName2 = "testElseIf_IdNotEqualsZero" - val methodName3 = "testElseIf_ThrowRuntimeException" - - val displayName1 = "id > 0 : True -> id > 0" - val displayName2 = "id > 0 : False -> return 1" - val displayName3 = "id == 0 -> ThrowRuntimeException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = Conditions::elseIf - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} diff --git a/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummaryCycleTest.kt b/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummaryCycleTest.kt deleted file mode 100644 index 63c2b844..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummaryCycleTest.kt +++ /dev/null @@ -1,129 +0,0 @@ -package examples.controlflow - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.controlflow.Cycles -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryCycleTest : SummaryTestCaseGeneratorTest( - Cycles::class, -) { - @Test - fun testLoopInsideLoop() { - val summary1 = "Test iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): True\n" + - "returns from: return 2;" - val summary2 = - "Test does not iterate for(int i = x - 5; i < x; i++), for(int j = i; j < x + i; j++), returns from: return -1;\n" // TODO: should it be formatted from the new string? - val summary3 = "Test iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): False\n" + - "iterates the loop for(int j = i; j < x + i; j++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (j == 7): True\n" + - "returns from: return 1;" - val summary4 = "Test iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): False\n" + - "iterates the loop for(int j = i; j < x + i; j++) twice,\n" + - " inside this loop, the test executes conditions:\n" + - " (j == 7): False\n" + - " (j == 7): True\n" + - "returns from: return 1;" - val summary5 = "Test iterates the loop for(int i = x - 5; i < x; i++) 5 times. \n" + - "Test afterwards does not iterate for(int j = i; j < x + i; j++), returns from: return -1;\n" // TODO: should it be formatted with separation of code? - - val methodName1 = "testLoopInsideLoop_ILessThanZero" - val methodName2 = "testLoopInsideLoop_ReturnNegative1" - val methodName3 = "testLoopInsideLoop_JEquals7" - val methodName4 = "testLoopInsideLoop_JNotEquals7" - val methodName5 = "testLoopInsideLoop_ReturnNegative1_1" - - - val displayName1 = "i < 0 : True -> return 2" - val displayName2 = "-> return -1" // TODO: add something before -> - val displayName3 = "i < 0 : False -> return 1" - val displayName4 = "j == 7 : False -> return 1" - val displayName5 = "-> return -1" - - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5 - ) - - val method = Cycles::loopInsideLoop - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testStructureLoop() { - val summary1 = "Test does not iterate for(int i = 0; i < x; i++), returns from: return -1;\n" - val summary2 = "Test iterates the loop for(int i = 0; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i == 2): False\n" + - "Test further returns from: return -1;\n" - val summary3 = "Test iterates the loop for(int i = 0; i < x; i++) 3 times,\n" + - " inside this loop, the test executes conditions:\n" + - " (i == 2): True\n" + - "returns from: return 1;" - - val methodName1 = "testStructureLoop_ReturnNegative1" - val methodName2 = "testStructureLoop_INotEquals2" - val methodName3 = "testStructureLoop_IEquals2" - - - val displayName1 = "-> return -1" - val displayName2 = "i == 2 : False -> return -1" - val displayName3 = "i == 2 : True -> return 1" - - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = Cycles::structureLoop - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummarySwitchTest.kt b/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummarySwitchTest.kt deleted file mode 100644 index 8b273059..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/controlflow/SummarySwitchTest.kt +++ /dev/null @@ -1,198 +0,0 @@ -package examples.controlflow - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.controlflow.Switch -import org.utbot.examples.exceptions.ExceptionExamples -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummarySwitchTest : SummaryTestCaseGeneratorTest( - Switch::class -) { - @Test - fun testSimpleSwitch() { - val summary1 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)}\n" + - "@utbot.activatesSwitch {@code switch(x) case: 10}\n" + - "@utbot.returnsFrom {@code return 10;}" - val summary2 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)}\n" + - "@utbot.activatesSwitch {@code switch(x) case: default}\n" + - "@utbot.returnsFrom {@code return -1;}" - val summary3 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)}\n" + - "@utbot.activatesSwitch {@code switch(x) case: 12}\n" + - "@utbot.returnsFrom {@code return 12;}" - val summary4 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)}\n" + - "@utbot.activatesSwitch {@code switch(x) case: 13}\n" + - "@utbot.returnsFrom {@code return 13;}" - - val methodName1 = "testSimpleSwitch_Return10" - val methodName2 = "testSimpleSwitch_ReturnNegative1" - val methodName3 = "testSimpleSwitch_Return12" - val methodName4 = "testSimpleSwitch_Return13" - - val displayName1 = "switch(x) case: 10 -> return 10" - val displayName2 = "switch(x) case: default -> return -1" - val displayName3 = "switch(x) case: 12 -> return 12" - val displayName4 = "switch(x) case: 13 -> return 13" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = Switch::simpleSwitch - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCharToIntSwitch() { - val summary1 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'C'}\n" + - "@utbot.returnsFrom {@code return 100;}\n" - val summary2 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'V'}\n" + - "@utbot.returnsFrom {@code return 5;}\n" - val summary3 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'I'}\n" + - "@utbot.returnsFrom {@code return 1;}\n" - val summary4 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'X'}\n" + - "@utbot.returnsFrom {@code return 10;}\n" - val summary5 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'M'}\n" + - "@utbot.returnsFrom {@code return 1000;}\n" - val summary6 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'D'}\n" + - "@utbot.returnsFrom {@code return 500;}\n" - val summary7 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.activatesSwitch {@code switch(c) case: 'L'}\n" + - "@utbot.returnsFrom {@code return 50;}\n" - val summary8 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#charToIntSwitch(char)}\n" + - "@utbot.invokes {@link java.lang.StringBuilder#append(java.lang.String)}\n" + - "@utbot.invokes {@link java.lang.StringBuilder#append(char)}\n" + - "@utbot.invokes {@link java.lang.StringBuilder#toString()}\n" + - "@utbot.activatesSwitch {@code switch(c) case: default}\n" + - "@utbot.throwsException {@link java.lang.IllegalArgumentException} when: switch(c) case: default\n" - - val methodName1 = "testCharToIntSwitch_Return100" - val methodName2 = "testCharToIntSwitch_Return5" - val methodName3 = "testCharToIntSwitch_Return1" - val methodName4 = "testCharToIntSwitch_Return10" - val methodName5 = "testCharToIntSwitch_Return1000" - val methodName6 = "testCharToIntSwitch_Return500" - val methodName7 = "testCharToIntSwitch_Return50" - val methodName8 = "testCharToIntSwitch_ThrowIllegalArgumentException" - - val displayName1 = "switch(c) case: 'C' -> return 100" - val displayName2 = "switch(c) case: 'V' -> return 5" - val displayName3 = "switch(c) case: 'I' -> return 1" - val displayName4 = "switch(c) case: 'X' -> return 10" - val displayName5 = "switch(c) case: 'M' -> return 1000" - val displayName6 = "switch(c) case: 'D' -> return 500" - val displayName7 = "switch(c) case: 'L' -> return 50" - val displayName8 = "switch(c) case: default -> ThrowIllegalArgumentException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6, - summary7, - summary8, - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6, - displayName7, - displayName8, - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7, - methodName8, - ) - - val method = Switch::charToIntSwitch - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testThrowExceptionInSwitchArgument() { - val summary1 = "@utbot.classUnderTest {@link Switch}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.controlflow.Switch#throwExceptionInSwitchArgument()}\n" + - "@utbot.invokes org.utbot.examples.controlflow.Switch#getChar()\n" + - "@utbot.throwsException {@link java.lang.RuntimeException} in: switch(getChar())\n" - - val methodName1 = "testThrowExceptionInSwitchArgument_ThrowRuntimeException" - - val displayName1 = "switch(getChar()) -> ThrowRuntimeException" - - val summaryKeys = listOf( - summary1, - ) - - val displayNames = listOf( - displayName1, - ) - - val methodNames = listOf( - methodName1, - ) - - val method = Switch::throwExceptionInSwitchArgument - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} diff --git a/utbot-summary-tests/src/test/kotlin/examples/enums/SummaryComplexEnumExampleTest.kt b/utbot-summary-tests/src/test/kotlin/examples/enums/SummaryComplexEnumExampleTest.kt deleted file mode 100644 index 66021da2..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/enums/SummaryComplexEnumExampleTest.kt +++ /dev/null @@ -1,137 +0,0 @@ -package examples.enums - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.enums.ComplexEnumExamples -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryComplexEnumExampleTest : SummaryTestCaseGeneratorTest( - ComplexEnumExamples::class -) { - @Test - fun testUnsafeWithField() { - val summary1 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#countEqualColors(org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color)}\n" + - "@utbot.executesCondition {@code (b == a): False}\n" + - "@utbot.executesCondition {@code (c == a): False}\n" + - "@utbot.executesCondition {@code (a == b): False}\n" + - "@utbot.executesCondition {@code (c == b): False}\n" + - "@utbot.executesCondition {@code (equalToA > equalToB): False}\n" + - "@utbot.returnsFrom {@code return equalToB;}" - val summary2 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#countEqualColors(org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color)}\n" + - "@utbot.executesCondition {@code (b == a): False}\n" + - "@utbot.executesCondition {@code (c == a): True}\n" + - "@utbot.executesCondition {@code (a == b): False}\n" + - "@utbot.executesCondition {@code (c == b): False}\n" + - "@utbot.executesCondition {@code (equalToA > equalToB): True}\n" + - "@utbot.returnsFrom {@code return equalToA;}\n" - val summary3 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#countEqualColors(org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color)}\n" + - "@utbot.executesCondition {@code (b == a): False}\n" + - "@utbot.executesCondition {@code (c == a): False}\n" + - "@utbot.executesCondition {@code (a == b): False}\n" + - "@utbot.executesCondition {@code (c == b): True}\n" + - "@utbot.executesCondition {@code (equalToA > equalToB): False}\n" + - "@utbot.returnsFrom {@code return equalToB;}\n" - val summary4 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#countEqualColors(org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color,org.utbot.examples.enums.ComplexEnumExamples.Color)}\n" + - "@utbot.executesCondition {@code (b == a): True}\n" + - "@utbot.executesCondition {@code (c == a): True}\n" + - "@utbot.executesCondition {@code (a == b): True}\n" + - "@utbot.executesCondition {@code (c == b): True}\n" + - "@utbot.executesCondition {@code (equalToA > equalToB): False}\n" + - "@utbot.returnsFrom {@code return equalToB;}" - - val methodName1 = "testCountEqualColors_EqualToALessOrEqualEqualToB" - val methodName2 = "testCountEqualColors_EqualToAGreaterThanEqualToB" - val methodName3 = "testCountEqualColors_EqualToALessOrEqualEqualToB_1" - val methodName4 = "testCountEqualColors_AEqualsB" - - val displayName1 = "b == a : False -> return equalToB" - val displayName2 = "equalToA > equalToB : True -> return equalToA" - val displayName3 = "b == a : False -> return equalToB" - val displayName4 = "b == a : True -> return equalToB" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - - val method = ComplexEnumExamples::countEqualColors - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testFindState() { - val summary1 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#findState(int)}\n" + - "@utbot.invokes {@link org.utbot.examples.enums.State#findStateByCode(int)}\n" + - "@utbot.returnsFrom {@code return State.findStateByCode(code);}\n" - val summary2 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#findState(int)}\n" + - "@utbot.invokes {@link org.utbot.examples.enums.State#findStateByCode(int)}\n" + - "@utbot.returnsFrom {@code return State.findStateByCode(code);}\n" - val summary3 = "@utbot.classUnderTest {@link ComplexEnumExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.enums.ComplexEnumExamples#findState(int)}\n" + - "@utbot.invokes {@link org.utbot.examples.enums.State#findStateByCode(int)}\n" + - "@utbot.returnsFrom {@code return State.findStateByCode(code);}\n" - - val methodName1 = "testFindState_ReturnStateFindStateByCode" - val methodName2 = "testFindState_ReturnStateFindStateByCode_1" - val methodName3 = "testFindState_ReturnStateFindStateByCode_2" - - val displayName1 = "-> return State.findStateByCode(code)" - val displayName2 = "-> return State.findStateByCode(code)" - val displayName3 = "-> return State.findStateByCode(code)" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - - val method = ComplexEnumExamples::findState - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/exceptions/SummaryExceptionClusteringExamplesTest.kt b/utbot-summary-tests/src/test/kotlin/examples/exceptions/SummaryExceptionClusteringExamplesTest.kt deleted file mode 100644 index 3751f75d..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/exceptions/SummaryExceptionClusteringExamplesTest.kt +++ /dev/null @@ -1,77 +0,0 @@ -package examples.exceptions - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.testing.DoNotCalculate -import org.utbot.examples.exceptions.ExceptionClusteringExamples -import org.utbot.framework.plugin.api.MockStrategyApi - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryExceptionClusteringExamplesTest : SummaryTestCaseGeneratorTest( - ExceptionClusteringExamples::class -) { - @Test - fun testDifferentExceptions() { - val summary1 = "@utbot.classUnderTest {@link ExceptionClusteringExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionClusteringExamples#differentExceptions(int)}\n" + - "@utbot.executesCondition {@code (i == 0): True}\n" + - "@utbot.throwsException {@link java.lang.ArithmeticException} in: return 100 / i;" - - val summary2 = "@utbot.classUnderTest {@link ExceptionClusteringExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionClusteringExamples#differentExceptions(int)}\n" + - "@utbot.executesCondition {@code (i == 0): False}\n" + - "@utbot.executesCondition {@code (i == 1): True}\n" + - "@utbot.throwsException {@link org.utbot.examples.exceptions.MyCheckedException} when: i == 1" - val summary3 = "@utbot.classUnderTest {@link ExceptionClusteringExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionClusteringExamples#differentExceptions(int)}\n" + - "@utbot.executesCondition {@code (i == 0): False}\n" + - "@utbot.executesCondition {@code (i == 1): False}\n" + - "@utbot.executesCondition {@code (i == 2): True}\n" + - "@utbot.throwsException {@link java.lang.IllegalArgumentException} when: i == 2" - val summary4 = "@utbot.classUnderTest {@link ExceptionClusteringExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionClusteringExamples#differentExceptions(int)}\n" + - "@utbot.executesCondition {@code (i == 0): False}\n" + - "@utbot.executesCondition {@code (i == 1): False}\n" + - "@utbot.executesCondition {@code (i == 2): False}\n" + - "@utbot.returnsFrom {@code return i * 2;}\n" - - val methodName1 = "testDifferentExceptions_ThrowArithmeticException" - val methodName2 = "testDifferentExceptions_ThrowMyCheckedException" - val methodName3 = "testDifferentExceptions_ThrowIllegalArgumentException" - val methodName4 = "testDifferentExceptions_INotEquals2" - - val displayName1 = "return 100 / i : True -> ThrowArithmeticException" - val displayName2 = "i == 1 -> ThrowMyCheckedException" - val displayName3 = "i == 2 -> ThrowIllegalArgumentException" - val displayName4 = "i == 0 : False -> return i * 2" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = ExceptionClusteringExamples::differentExceptions - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/exceptions/SummaryExceptionExampleTest.kt b/utbot-summary-tests/src/test/kotlin/examples/exceptions/SummaryExceptionExampleTest.kt deleted file mode 100644 index 8d054cfd..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/exceptions/SummaryExceptionExampleTest.kt +++ /dev/null @@ -1,129 +0,0 @@ -package examples.exceptions - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.exceptions.ExceptionExamples -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryExceptionExampleTest : SummaryTestCaseGeneratorTest( - ExceptionExamples::class -) { - @Test - fun testDifferentExceptions() { - val summary1 = "@utbot.classUnderTest {@link ExceptionExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionExamples#nestedExceptions(int)}\n" + - "@utbot.returnsFrom {@code return checkAll(i);}" - val summary2 = "@utbot.classUnderTest {@link ExceptionExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionExamples#nestedExceptions(int)}\n" + - "@utbot.returnsFrom {@code return -100;}\n" + - "@utbot.caughtException {@code RuntimeException e}" - val summary3 = "@utbot.classUnderTest {@link ExceptionExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionExamples#nestedExceptions(int)}\n" + - "@utbot.returnsFrom {@code return 100;}\n" + - "@utbot.caughtException {@code NullPointerException e}" - - val methodName1 = "testNestedExceptions_ReturnCheckAll" - val methodName2 = "testNestedExceptions_CatchRuntimeException" - val methodName3 = "testNestedExceptions_CatchNullPointerException" - - val displayName1 = "-> return checkAll(i)" - val displayName2 = "Catch (RuntimeException e) -> return -100" - val displayName3 = "Catch (NullPointerException e) -> return 100" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = ExceptionExamples::nestedExceptions - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testHangForSeconds() { - val summary1 = "@utbot.classUnderTest {@link ExceptionExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionExamples#hangForSeconds(int)}\n" + - "@utbot.returnsFrom {@code return seconds;}\n" - val summary2 = "@utbot.classUnderTest {@link ExceptionExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionExamples#hangForSeconds(int)}\n" + - "@utbot.iterates iterate the loop {@code for(int i = 0; i < seconds; i++)} once\n" + - "@utbot.returnsFrom {@code return seconds;}\n" + - "@utbot.detectsSuspiciousBehavior in: return seconds;\n" - - val methodName1 = "testHangForSeconds_ReturnSeconds" - val methodName2 = "testHangForSeconds_ThreadSleep" - - val displayName1 = "-> return seconds" - val displayName2 = "return seconds -> TimeoutExceeded" - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - val method = ExceptionExamples::hangForSeconds - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testThrowExceptionInMethodUnderTest() { - val summary1 = "@utbot.classUnderTest {@link ExceptionExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.exceptions.ExceptionExamples#throwExceptionInMethodUnderTest()}\n" + - "@utbot.throwsException {@link java.lang.RuntimeException} in: throw new RuntimeException(\"Exception message\");\n" - - val methodName1 = "testThrowExceptionInMethodUnderTest_ThrowRuntimeException" - - val displayName1 = " -> ThrowRuntimeException" - - val summaryKeys = listOf( - summary1, - ) - - val displayNames = listOf( - displayName1, - ) - - val methodNames = listOf( - methodName1, - ) - - val method = ExceptionExamples::throwExceptionInMethodUnderTest - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/inner/SummaryInnerCallsTest.kt b/utbot-summary-tests/src/test/kotlin/examples/inner/SummaryInnerCallsTest.kt deleted file mode 100644 index b6072aa0..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/inner/SummaryInnerCallsTest.kt +++ /dev/null @@ -1,828 +0,0 @@ -package examples.inner - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.inner.InnerCalls -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryInnerCallsTest : SummaryTestCaseGeneratorTest( - InnerCalls::class, -) { - @Test - fun testCallLoopInsideLoop() { - val summary1 = "Test calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): False\n" + - " iterates the loop for(int j = i; j < x + i; j++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (j == 7): True\n" + - " returns from: return 1;\n" + - "Test afterwards returns from: return cycles.loopInsideLoop(x);\n" - val summary2 = "Test calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): True\n" + - " returns from: return 2;\n" + - "Test then returns from: return cycles.loopInsideLoop(x);\n" - val summary3 = "Test calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it does not iterate for(int i = x - 5; i < x; i++), for(int j = i; j < x + i; j++), returns from: return -1;\n" + - " \n" + - "Test later returns from: return cycles.loopInsideLoop(x);\n" - val summary4 = "Test calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): False\n" + - " iterates the loop for(int j = i; j < x + i; j++) twice,\n" + - " inside this loop, the test executes conditions:\n" + - " (j == 7): False\n" + - " (j == 7): True\n" + - " returns from: return 1;\n" + - "Test later returns from: return cycles.loopInsideLoop(x);\n" - val summary5 = "Test calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) 5 times. \n" + - " Test further does not iterate for(int j = i; j < x + i; j++), returns from: return -1;\n" + - " \n" + - "Test then returns from: return cycles.loopInsideLoop(x);\n" - - val methodName1 = "testCallLoopInsideLoop_JEquals7" - val methodName2 = "testCallLoopInsideLoop_ILessThanZero" - val methodName3 = "testCallLoopInsideLoop_ReturnNegative1" - val methodName4 = "testCallLoopInsideLoop_JNotEquals7" - val methodName5 = "testCallLoopInsideLoop_ReturnNegative1_1" - - - val displayName1 = "i < 0 : False -> return 1" - val displayName2 = "i < 0 : True -> return 2" - val displayName3 = "loopInsideLoop -> return -1" - val displayName4 = "j == 7 : False -> return 1" - val displayName5 = "loopInsideLoop -> return -1" - - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5 - ) - - val method = InnerCalls::callLoopInsideLoop - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallLeftBinSearch() { - //NOTE: 5 and 6 cases has different paths but throws the equal exception. - val summary1 = "Test calls {@link org.utbot.examples.algorithms.BinarySearch#leftBinSearch(long[],long)},\n" + - " there it does not iterate while(left < right - 1), executes conditions:\n" + - " (found): False\n" + - " returns from: return -1;\n" + - " \n" + - "Test then returns from: return binarySearch.leftBinSearch(array, key);\n" - val summary2 = "Test calls {@link org.utbot.examples.algorithms.BinarySearch#leftBinSearch(long[],long)},\n" + - " there it iterates the loop while(left < right - 1) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (array[middle] == key): False,\n" + - " (array[middle] < key): True\n" + - " Test afterwards executes conditions:\n" + - " (found): False\n" + - " returns from: return -1;\n" + - " \n" + - "Test next returns from: return binarySearch.leftBinSearch(array, key);\n" - val summary3 = "Test calls {@link org.utbot.examples.algorithms.BinarySearch#leftBinSearch(long[],long)},\n" + - " there it iterates the loop while(left < right - 1) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (array[middle] == key): False,\n" + - " (array[middle] < key): False\n" + - " Test afterwards executes conditions:\n" + - " (found): False\n" + - " returns from: return -1;\n" + - " \n" + - "Test next returns from: return binarySearch.leftBinSearch(array, key);\n" - val summary4 = "Test calls {@link org.utbot.examples.algorithms.BinarySearch#leftBinSearch(long[],long)},\n" + - " there it iterates the loop while(left < right - 1) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (array[middle] == key): True,\n" + - " (array[middle] < key): False\n" + - " Test then executes conditions:\n" + - " (found): True\n" + - " returns from: return right + 1;\n" + - " \n" + - "Test further returns from: return binarySearch.leftBinSearch(array, key);\n" - val summary5 = "Test \n" + - "throws IllegalArgumentException in: return binarySearch.leftBinSearch(array, key);\n" - val summary6 = "Test \n" + - "throws IllegalArgumentException in: return binarySearch.leftBinSearch(array, key);\n" - val summary7 = "Test calls {@link org.utbot.examples.algorithms.BinarySearch#leftBinSearch(long[],long)},\n" + - " there it invokes:\n" + - " org.utbot.examples.algorithms.BinarySearch#isUnsorted(long[]) once\n" + - " triggers recursion of leftBinSearch once, \n" + - "Test throws NullPointerException in: return binarySearch.leftBinSearch(array, key);\n" - - val methodName1 = "testCallLeftBinSearch_NotFound" - val methodName2 = "testCallLeftBinSearch_MiddleOfArrayLessThanKey" - val methodName3 = "testCallLeftBinSearch_NotFound_1" - val methodName4 = "testCallLeftBinSearch_Found" - val methodName5 = "testCallLeftBinSearch_ThrowIllegalArgumentException" - val methodName6 = "testCallLeftBinSearch_ThrowIllegalArgumentException_1" - val methodName7 = "testCallLeftBinSearch_ThrowNullPointerException" - - - val displayName1 = "found : False -> return -1" - val displayName2 = "array[middle] < key : True -> return -1" - val displayName3 = "while(left < right - 1) -> return -1" - val displayName4 = "array[middle] == key : True -> return right + 1" - val displayName5 = - "return binarySearch.leftBinSearch(array, key) : True -> ThrowIllegalArgumentException" // TODO: probably return statement could be removed - val displayName6 = "return binarySearch.leftBinSearch(array, key) : True -> ThrowIllegalArgumentException" - val displayName7 = "return binarySearch.leftBinSearch(array, key) : True -> ThrowNullPointerException" - - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6, - summary7 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6, - displayName7 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7 - ) - - val method = InnerCalls::callLeftBinSearch - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - // TODO: SAT-1211 - @Test - fun testCallCreateNewThreeDimensionalArray() { - val summary1 = - "Test calls {@link org.utbot.examples.arrays.ArrayOfArrays#createNewThreeDimensionalArray(int,int)},\n" + - " there it executes conditions:\n" + - " (length != 2): True\n" + - " returns from: return new int[0][][];\n" + - " " - val summary2 = - "Test calls {@link org.utbot.examples.arrays.ArrayOfArrays#createNewThreeDimensionalArray(int,int)},\n" + - " there it executes conditions:\n" + - " (length != 2): False\n" + - " iterates the loop for(int i = 0; i < length; i++) once,\n" + - " inside this loop, the test iterates the loop for(int j = 0; j < length; j++) once,\n" + - " inside this loop, the test iterates the loop for(int k = 0; k < length; k++)\n" + - " Test then returns from: return matrix;\n" + - " " - - val methodName1 = "testCallCreateNewThreeDimensionalArray_LengthNotEquals2" - val methodName2 = "testCallCreateNewThreeDimensionalArray_LengthEquals2" - - val displayName1 = "length != 2 : True -> return new int[0][][]" - val displayName2 = "length != 2 : False -> return matrix" - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - val method = InnerCalls::callCreateNewThreeDimensionalArray - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallInitExamples() { - // NOTE: paths are different for test cases 1 and 2 - val summary1 = "Test calls {@link org.utbot.examples.exceptions.ExceptionExamples#initAnArray(int)},\n" + - " there it catches exception:\n" + - " IndexOutOfBoundsException e\n" + - " returns from: return -3;\n" + - " \n" + - "Test later returns from: return exceptionExamples.initAnArray(n);\n" - val summary2 = "Test calls {@link org.utbot.examples.exceptions.ExceptionExamples#initAnArray(int)},\n" + - " there it catches exception:\n" + - " IndexOutOfBoundsException e\n" + - " returns from: return -3;\n" + - " \n" + - "Test then returns from: return exceptionExamples.initAnArray(n);\n" - val summary3 = "Test calls {@link org.utbot.examples.exceptions.ExceptionExamples#initAnArray(int)},\n" + - " there it catches exception:\n" + - " NegativeArraySizeException e\n" + - " returns from: return -2;\n" + - " \n" + - "Test next returns from: return exceptionExamples.initAnArray(n);\n" - val summary4 = "Test calls {@link org.utbot.examples.exceptions.ExceptionExamples#initAnArray(int)},\n" + - " there it returns from: return a[n - 1] + a[n - 2];\n" + - " \n" + - "Test afterwards returns from: return exceptionExamples.initAnArray(n);\n" - - val methodName1 = "testCallInitExamples_CatchIndexOutOfBoundsException" - val methodName2 = "testCallInitExamples_CatchIndexOutOfBoundsException_1" - val methodName3 = "testCallInitExamples_CatchNegativeArraySizeException" - val methodName4 = "testCallInitExamples_ReturnN1OfAPlusN2OfA" - - val displayName1 = "Catch (IndexOutOfBoundsException e) -> return -3" - val displayName2 = "Catch (IndexOutOfBoundsException e) -> return -3" - val displayName3 = "Catch (NegativeArraySizeException e) -> return -2" - val displayName4 = "initAnArray -> return a[n - 1] + a[n - 2]" - - val method = InnerCalls::callInitExamples - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallFactorial() { - val summary1 = "Test calls {@link org.utbot.examples.recursion.Recursion#factorial(int)},\n" + - " there it executes conditions:\n" + - " (n == 0): True\n" + - " returns from: return 1;\n" + - " \n" + - "Test next returns from: return r.factorial(n);\n" - val summary2 = "Test calls {@link org.utbot.examples.recursion.Recursion#factorial(int)},\n" + - " there it executes conditions:\n" + - " (n == 0): False\n" + - " triggers recursion of factorial once, returns from: return n * factorial(n - 1);\n" + - " \n" + - "Test further returns from: return r.factorial(n);\n" - val summary3 = "Test calls {@link org.utbot.examples.recursion.Recursion#factorial(int)},\n" + - " there it executes conditions:\n" + - " (n < 0): True\n" + - " triggers recursion of factorial once, \n" + - "Test throws IllegalArgumentException in: return r.factorial(n);\n" - - val methodName1 = "testCallFactorial_ThrowIllegalArgumentException" - val methodName2 = "testCallFactorial_NNotEqualsZero" - val methodName3 = "testCallFactorial_NEqualsZero" - - val displayName1 = "n == 0 : True -> return 1" - val displayName2 = "n == 0 : False -> return n * factorial(n - 1)" - val displayName3 = "return r.factorial(n) : True -> ThrowIllegalArgumentException" - - val method = InnerCalls::callFactorial - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallSimpleInvoke() { - val summary1 = "Test calls {@link org.utbot.examples.invokes.InvokeExample#simpleFormula(int,int)},\n" + - " there it executes conditions:\n" + - " (fst < 100): False,\n" + - " (snd < 100): True\n" + - " \n" + - "Test throws IllegalArgumentException in: return invokeExample.simpleFormula(f, s);\n" - val summary2 = "Test calls {@link org.utbot.examples.invokes.InvokeExample#simpleFormula(int,int)},\n" + - " there it executes conditions:\n" + - " (fst < 100): True\n" + - " \n" + - "Test throws IllegalArgumentException in: return invokeExample.simpleFormula(f, s);\n" - val summary3 = "Test calls {@link org.utbot.examples.invokes.InvokeExample#simpleFormula(int,int)},\n" + - " there it executes conditions:\n" + - " (fst < 100): False,\n" + - " (snd < 100): False\n" + - " invokes:\n" + - " org.utbot.examples.invokes.InvokeExample#half(int) once,\n" + - " org.utbot.examples.invokes.InvokeExample#mult(int,int) once\n" + - " returns from: return mult(x, y);\n" + - " \n" + - "Test then returns from: return invokeExample.simpleFormula(f, s);\n" - - val methodName1 = "testCallSimpleInvoke_ThrowIllegalArgumentException" - val methodName2 = "testCallSimpleInvoke_ThrowIllegalArgumentException_1" - val methodName3 = "testCallSimpleInvoke_SndGreaterOrEqual100" - - val displayName1 = "return invokeExample.simpleFormula(f, s) : True -> ThrowIllegalArgumentException" - val displayName2 = "return invokeExample.simpleFormula(f, s) : True -> ThrowIllegalArgumentException" - val displayName3 = "fst < 100 : True -> return mult(x, y)" - - val method = InnerCalls::callSimpleInvoke - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallComplicatedMethod() { - val summary1 = - "Test calls {@link org.utbot.examples.strings.StringExamples#indexOf(java.lang.String,java.lang.String)},\n" + - " there it invokes:\n" + - " {@link java.lang.String#indexOf(java.lang.String)} once\n" + - " triggers recursion of indexOf once, \n" + - "Test throws NullPointerException in: return stringExamples.indexOf(s, key);\n" - val summary2 = - "Test calls {@link org.utbot.examples.strings.StringExamples#indexOf(java.lang.String,java.lang.String)},\n" + - " there it invokes:\n" + - " {@link java.lang.String#indexOf(java.lang.String)} once\n" + - " \n" + - "Test throws NullPointerException \n" - val summary3 = - "Test calls {@link org.utbot.examples.strings.StringExamples#indexOf(java.lang.String,java.lang.String)},\n" + - " there it executes conditions:\n" + - " (i > 0): False,\n" + - " (i == 0): True\n" + - " returns from: return i;\n" + - " \n" + - "Test further returns from: return stringExamples.indexOf(s, key);\n" - val summary4 = - "Test calls {@link org.utbot.examples.strings.StringExamples#indexOf(java.lang.String,java.lang.String)},\n" + - " there it executes conditions:\n" + - " (i > 0): False,\n" + - " (i == 0): False\n" + - " returns from: return i;\n" + - " \n" + - "Test later returns from: return stringExamples.indexOf(s, key);\n" - val summary5 = - "Test calls {@link org.utbot.examples.strings.StringExamples#indexOf(java.lang.String,java.lang.String)},\n" + - " there it executes conditions:\n" + - " (i > 0): True\n" + - " returns from: return i;\n" + - " \n" + - "Test afterwards returns from: return stringExamples.indexOf(s, key);\n" - - val methodName1 = "testCallStringExample_ThrowNullPointerException" - val methodName2 = "testCallStringExample_ThrowNullPointerException_1" - val methodName3 = "testCallStringExample_IEqualsZero" - val methodName4 = "testCallStringExample_INotEqualsZero" - val methodName5 = "testCallStringExample_IGreaterThanZero" - - val displayName1 = "return stringExamples.indexOf(s, key) : True -> ThrowNullPointerException" - val displayName2 = " -> ThrowNullPointerException" - val displayName3 = "i == 0 : True -> return i" - val displayName4 = "i == 0 : False -> return i" - val displayName5 = "i > 0 : True -> return i" - - val method = InnerCalls::callStringExample - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallSimpleSwitch() { - val summary1 = "Test calls {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)},\n" + - " there it activates switch(x) case: 12, returns from: return 12;\n" + - " " - val summary2 = "Test calls {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)},\n" + - " there it activates switch(x) case: 13, returns from: return 13;\n" + - " " - val summary3 = "Test calls {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)},\n" + - " there it activates switch(x) case: 10, returns from: return 10;\n" + - " " - val summary4 = "Test calls {@link org.utbot.examples.controlflow.Switch#simpleSwitch(int)},\n" + - " there it activates switch(x) case: default, returns from: return -1;\n" + - " " - - val methodName1 = "testCallSimpleSwitch_Return12" - val methodName2 = "testCallSimpleSwitch_Return13" - val methodName3 = "testCallSimpleSwitch_Return10" - val methodName4 = "testCallSimpleSwitch_ReturnNegative1" - - val displayName1 = "switch(x) case: 12 -> return 12" - val displayName2 = "switch(x) case: 13 -> return 13" - val displayName3 = "switch(x) case: 10 -> return 10" - val displayName4 = "switch(x) case: default -> return -1" - - val method = InnerCalls::callSimpleSwitch - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testCallLookup() { - val summary1 = "Test calls {@link org.utbot.examples.controlflow.Switch#lookupSwitch(int)},\n" + - " there it activates switch(x) case: 20, returns from: return 20;\n" + - " " - val summary2 = "Test calls {@link org.utbot.examples.controlflow.Switch#lookupSwitch(int)},\n" + - " there it activates switch(x) case: 30, returns from: return 30;\n" + - " " - val summary3 = "Test calls {@link org.utbot.examples.controlflow.Switch#lookupSwitch(int)},\n" + - " there it activates switch(x) case: 0, returns from: return 0;\n" + - " " - val summary4 = "Test calls {@link org.utbot.examples.controlflow.Switch#lookupSwitch(int)},\n" + - " there it activates switch(x) case: default, returns from: return -1;\n" + - " " - - val methodName1 = "testCallLookup_Return20" - val methodName2 = "testCallLookup_Return30" - val methodName3 = "testCallLookup_ReturnZero" - val methodName4 = "testCallLookup_ReturnNegative1" - - val displayName1 = "switch(x) case: 20 -> return 20" - val displayName2 = "switch(x) case: 30 -> return 30" - val displayName3 = "switch(x) case: 0 -> return 0" - val displayName4 = "switch(x) case: default -> return -1" - - val method = InnerCalls::callLookup - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testDoubleCall() { - val summary1 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callSimpleInvoke(int,int)},\n" + - " there it calls {@link org.utbot.examples.invokes.InvokeExample#simpleFormula(int,int)},\n" + - " there it executes conditions:\n" + - " (fst < 100): True\n" + - " \n" + - "Test throws IllegalArgumentException in: callSimpleInvoke(f, s);\n" - val summary2 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callSimpleInvoke(int,int)},\n" + - " there it calls {@link org.utbot.examples.invokes.InvokeExample#simpleFormula(int,int)},\n" + - " there it executes conditions:\n" + - " (fst < 100): False,\n" + - " (snd < 100): True\n" + - " \n" + - "Test throws IllegalArgumentException in: callSimpleInvoke(f, s);\n" - val summary3 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callSimpleInvoke(int,int)},\n" + - " there it calls {@link org.utbot.examples.invokes.InvokeExample#simpleFormula(int,int)},\n" + - " there it executes conditions:\n" + - " (fst < 100): False,\n" + - " (snd < 100): False\n" + - " invokes:\n" + - " org.utbot.examples.invokes.InvokeExample#half(int) once,\n" + - " org.utbot.examples.invokes.InvokeExample#mult(int,int) once\n" + - " returns from: return mult(x, y);\n" + - " \n" + - " Test later returns from: return invokeExample.simpleFormula(f, s);\n" + - " " - - val methodName1 = "testDoubleSimpleInvoke_ThrowIllegalArgumentException" - val methodName2 = "testDoubleSimpleInvoke_ThrowIllegalArgumentException_1" - val methodName3 = "testDoubleSimpleInvoke_SndGreaterOrEqual100" - - val displayName1 = "callSimpleInvoke(f, s) : True -> ThrowIllegalArgumentException" - val displayName2 = "callSimpleInvoke(f, s) : True -> ThrowIllegalArgumentException" - val displayName3 = "fst < 100 : True -> return mult(x, y)" - - val method = InnerCalls::doubleSimpleInvoke - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testDoubleCallLoopInsideLoop() { - val summary1 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callLoopInsideLoop(int)},\n" + - " there it calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): True\n" + - " returns from: return 2;\n" + - " Test afterwards returns from: return cycles.loopInsideLoop(x);\n" + - " \n" + - "Test further returns from: return result;\n" - val summary2 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callLoopInsideLoop(int)},\n" + - " there it calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it does not iterate for(int i = x - 5; i < x; i++), for(int j = i; j < x + i; j++), returns from: return -1;\n" + - " \n" + - " Test next returns from: return cycles.loopInsideLoop(x);\n" + - " \n" + - "Test later returns from: return result;\n" - val summary3 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callLoopInsideLoop(int)},\n" + - " there it calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): False\n" + - " iterates the loop for(int j = i; j < x + i; j++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (j == 7): True\n" + - " returns from: return 1;\n" + - " Test next returns from: return cycles.loopInsideLoop(x);\n" + - " \n" + - "Test further returns from: return result;\n" - val summary4 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callLoopInsideLoop(int)},\n" + - " there it calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) once,\n" + - " inside this loop, the test executes conditions:\n" + - " (i < 0): False\n" + - " iterates the loop for(int j = i; j < x + i; j++) twice,\n" + - " inside this loop, the test executes conditions:\n" + - " (j == 7): False\n" + - " (j == 7): True\n" + - " returns from: return 1;\n" + - " Test further returns from: return cycles.loopInsideLoop(x);\n" + - " \n" + - "Test then returns from: return result;\n" - val summary5 = "Test calls {@link org.utbot.examples.inner.InnerCalls#callLoopInsideLoop(int)},\n" + - " there it calls {@link org.utbot.examples.controlflow.Cycles#loopInsideLoop(int)},\n" + - " there it iterates the loop for(int i = x - 5; i < x; i++) 5 times. \n" + - " Test later does not iterate for(int j = i; j < x + i; j++), returns from: return -1;\n" + - " \n" + - " Test afterwards returns from: return cycles.loopInsideLoop(x);\n" + - " \n" + - "Test then returns from: return result;\n" - - val methodName1 = "testDoubleCallLoopInsideLoop_ILessThanZero" - val methodName2 = "testDoubleCallLoopInsideLoop_ReturnNegative1" - val methodName3 = "testDoubleCallLoopInsideLoop_JEquals7" - val methodName4 = "testDoubleCallLoopInsideLoop_JNotEquals7" - val methodName5 = "testDoubleCallLoopInsideLoop_ReturnNegative1_1" - - val displayName1 = "i < 0 : True -> return 2" - val displayName2 = "loopInsideLoop -> return -1" - val displayName3 = "i < 0 : False -> return 1" - val displayName4 = "j == 7 : False -> return 1" - val displayName5 = "loopInsideLoop -> return -1" - - val method = InnerCalls::doubleCallLoopInsideLoop - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testInnerCallFib() { - val summary1 = "Test calls {@link org.utbot.examples.recursion.Recursion#fib(int)},\n" + - " there it executes conditions:\n" + - " (n == 0): False,\n" + - " (n == 1): True\n" + - " returns from: return 1;\n" + - " \n" + - "Test next returns from: return r.fib(n);\n" - val summary2 = "Test calls {@link org.utbot.examples.recursion.Recursion#fib(int)},\n" + - " there it executes conditions:\n" + - " (n == 0): True\n" + - " returns from: return 0;\n" + - " \n" + - "Test next returns from: return r.fib(n);\n" - val summary3 = "Test calls {@link org.utbot.examples.recursion.Recursion#fib(int)},\n" + - " there it executes conditions:\n" + - " (n == 0): False,\n" + - " (n == 1): False\n" + - " triggers recursion of fib twice, returns from: return fib(n - 1) + fib(n - 2);\n" + - " \n" + - "Test next returns from: return r.fib(n);\n" - val summary4 = "Test calls {@link org.utbot.examples.recursion.Recursion#fib(int)},\n" + - " there it executes conditions:\n" + - " (n < 0): True\n" + - " triggers recursion of fib once, \n" + - "Test throws IllegalArgumentException in: return r.fib(n);\n" - - val methodName1 = "testCallFib_NEquals1" - val methodName2 = "testCallFib_ThrowIllegalArgumentException" - val methodName3 = "testCallFib_NNotEquals1" - val methodName4 = "testCallFib_NEqualsZero" - - val displayName1 = "n == 1 : True -> return 1" - val displayName2 = "n == 0 : True -> return 0" - val displayName3 = "n == 1 : False -> return fib(n - 1) + fib(n - 2)" - val displayName4 = "return r.fib(n) : True -> ThrowIllegalArgumentException" - - val method = InnerCalls::callFib - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/inner/SummaryNestedCallsTest.kt b/utbot-summary-tests/src/test/kotlin/examples/inner/SummaryNestedCallsTest.kt deleted file mode 100644 index 93216593..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/inner/SummaryNestedCallsTest.kt +++ /dev/null @@ -1,63 +0,0 @@ -package examples.inner - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.inner.NestedCalls -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryNestedCallsTest : SummaryTestCaseGeneratorTest( - NestedCalls::class, -) { - @Test - fun testInvokeExample() { - val summary1 = "Test calls {@link org.utbot.examples.inner.NestedCalls.ExceptionExamples#initAnArray(int)},\n" + - " there it catches exception:\n" + - " IndexOutOfBoundsException e\n" + - " returns from: return -3;\n" + - " \n" + - "Test next returns from: return exceptionExamples.initAnArray(n);\n" - val summary2 = "Test calls {@link org.utbot.examples.inner.NestedCalls.ExceptionExamples#initAnArray(int)},\n" + - " there it catches exception:\n" + - " NegativeArraySizeException e\n" + - " returns from: return -2;\n" + - " \n" + - "Test afterwards returns from: return exceptionExamples.initAnArray(n);" - val summary3 = "Test calls {@link org.utbot.examples.inner.NestedCalls.ExceptionExamples#initAnArray(int)},\n" + - " there it returns from: return a[n - 1] + a[n - 2];\n" + - " \n" + - "Test next returns from: return exceptionExamples.initAnArray(n);\n" - - val methodName1 = "testCallInitExamples_CatchIndexOutOfBoundsException" - val methodName2 = "testCallInitExamples_CatchNegativeArraySizeException" - val methodName3 = "testCallInitExamples_ReturnN1OfAPlusN2OfA" - - val displayName1 = "Catch (IndexOutOfBoundsException e) -> return -3" - val displayName2 = "Catch (NegativeArraySizeException e) -> return -2" - val displayName3 = "initAnArray -> return a[n - 1] + a[n - 2]" - - val method = NestedCalls::callInitExamples - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/mock/SummaryCommonMocksExample.kt b/utbot-summary-tests/src/test/kotlin/examples/mock/SummaryCommonMocksExample.kt deleted file mode 100644 index 77933d82..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/mock/SummaryCommonMocksExample.kt +++ /dev/null @@ -1,41 +0,0 @@ -package examples.mock - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.mock.CommonMocksExample -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummaryCommonMocksExample : SummaryTestCaseGeneratorTest( - CommonMocksExample::class, -) { - @Test - fun testClinitMockExample() { - val summary1 = "Test invokes:\n" + - " {@link java.lang.Integer#intValue()} twice\n" + - "returns from: return -ObjectWithFinalStatic.keyValue;\n" - - val methodName1 = "testClinitMockExample_IntegerIntValue" - - val displayName1 = "IntegerIntValue -> return -ObjectWithFinalStatic.keyValue" - - - val summaryKeys = listOf( - summary1 - ) - - val displayNames = listOf( - displayName1 - ) - - val methodNames = listOf( - methodName1 - ) - - val method = CommonMocksExample::clinitMockExample - val mockStrategy = MockStrategyApi.OTHER_CLASSES - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/nested/SummaryNestedTest.kt b/utbot-summary-tests/src/test/kotlin/examples/nested/SummaryNestedTest.kt deleted file mode 100644 index 0252e3d9..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/nested/SummaryNestedTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package examples.nested - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.nested.DeepNested -import org.utbot.examples.recursion.Recursion -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryNestedTest : SummaryTestCaseGeneratorTest( - DeepNested.Nested1.Nested2::class -) { - @Test - fun testNested() { - val summary1 = "@utbot.classUnderTest {@link DeepNested.Nested1.Nested2}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.nested.DeepNested.Nested1.Nested2#f(int)}\n" + - "@utbot.executesCondition {@code (i > 0): False}\n" + - "@utbot.returnsFrom {@code return 0;}\n" - - val summary2 = "@utbot.classUnderTest {@link DeepNested.Nested1.Nested2}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.nested.DeepNested.Nested1.Nested2#f(int)}\n" + - "@utbot.executesCondition {@code (i > 0): True}\n" + - "@utbot.returnsFrom {@code return 10;}" - - val methodName1 = "testF_ILessOrEqualZero" - val methodName2 = "testF_IGreaterThanZero" - - val displayName1 = "i > 0 : False -> return 0" - val displayName2 = "i > 0 : True -> return 10" - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - val method = DeepNested.Nested1.Nested2::f - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/objects/SummarySimpleClassExampleTest.kt b/utbot-summary-tests/src/test/kotlin/examples/objects/SummarySimpleClassExampleTest.kt deleted file mode 100644 index 0a2e69bb..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/objects/SummarySimpleClassExampleTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package examples.objects - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.objects.SimpleClassExample -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -class SummarySimpleClassExampleTest : SummaryTestCaseGeneratorTest( - SimpleClassExample::class, -) { - @Test - fun testImmutableFieldAccess() { - val summary1 = "Test \n" + - "throws NullPointerException when: c.b == 10\n" - val summary2 = "Test executes conditions:\n" + - " (c.b == 10): False\n" + - "returns from: return 1;\n" - val summary3 = "Test executes conditions:\n" + - " (c.b == 10): True\n" + - "returns from: return 0;\n" - - val methodName1 = "testImmutableFieldAccess_ThrowNullPointerException" - val methodName2 = "testImmutableFieldAccess_CBNotEquals10" - val methodName3 = "testImmutableFieldAccess_CBEquals10" - - val displayName1 = "c.b == 10 -> ThrowNullPointerException" - val displayName2 = "c.b == 10 : False -> return 1" - val displayName3 = "c.b == 10 : True -> return 0" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = SimpleClassExample::immutableFieldAccess - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/recursion/SummaryRecursionTest.kt b/utbot-summary-tests/src/test/kotlin/examples/recursion/SummaryRecursionTest.kt deleted file mode 100644 index 7fa6019f..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/recursion/SummaryRecursionTest.kt +++ /dev/null @@ -1,131 +0,0 @@ -package examples.recursion - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.recursion.Recursion -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryRecursionTest : SummaryTestCaseGeneratorTest( - Recursion::class -) { - @Test - fun testFib() { - val summary1 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#fib(int)}\n" + - "@utbot.executesCondition {@code (n == 0): False}\n" + - "@utbot.executesCondition {@code (n == 1): True}\n" + - "@utbot.returnsFrom {@code return 1;}" - val summary2 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#fib(int)}\n" + - "@utbot.executesCondition {@code (n == 0): True}\n" + - "@utbot.returnsFrom {@code return 0;}\n" - val summary3 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#fib(int)}\n" + - "@utbot.executesCondition {@code (n == 1): False}\n" + - "@utbot.invokes {@link org.utbot.examples.recursion.Recursion#fib(int)}\n" + - "@utbot.invokes {@link org.utbot.examples.recursion.Recursion#fib(int)}\n" + - "@utbot.triggersRecursion fib, where the test execute conditions:\n" + - " {@code (n == 1): True}\n" + - "return from: {@code return 1;}" + - "@utbot.returnsFrom {@code return fib(n - 1) + fib(n - 2);}" - val summary4 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#fib(int)}\n" + - "@utbot.executesCondition {@code (n < 0): True}\n" + - "@utbot.throwsException {@link java.lang.IllegalArgumentException} when: n < 0" - - val methodName1 = "testFib_Return1" - val methodName2 = "testFib_ReturnZero" - val methodName3 = "testFib_NNotEquals1" - val methodName4 = "testFib_ThrowIllegalArgumentException" - - val displayName1 = "n == 0 : False -> return 1" - val displayName2 = "n == 0 : True -> return 0" - val displayName3 = "return 1 -> return 0" //it looks weird - val displayName4 = "n < 0 -> ThrowIllegalArgumentException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val method = Recursion::fib - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testFactorial() { - val summary1 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#factorial(int)}\n" + - //TODO: Lost information about executed condition, - // see [issue-900](https://github.com/UnitTestBot/UTBotJava/issues/900) - //"@utbot.executesCondition {@code (n == 0): True}\n" - "@utbot.returnsFrom {@code return 1;}" - val summary2 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#factorial(int)}\n" + - "@utbot.executesCondition {@code (n == 0): False}\n" + - "@utbot.invokes {@link org.utbot.examples.recursion.Recursion#factorial(int)}\n" + - "@utbot.triggersRecursion factorial, where the test return from: {@code return 1;}" + - "@utbot.returnsFrom {@code return n * factorial(n - 1);}" - val summary3 = "@utbot.classUnderTest {@link Recursion}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.recursion.Recursion#factorial(int)}\n" + - "@utbot.executesCondition {@code (n < 0): True}\n" + - "@utbot.throwsException {@link java.lang.IllegalArgumentException} when: n < 0" - - val methodName1 = "testFactorial_Return1" - val methodName2 = "testFactorial_NNotEqualsZero" - val methodName3 = "testFactorial_ThrowIllegalArgumentException" - - //TODO: Display names are not complete, see [issue-899](https://github.com/UnitTestBot/UTBotJava/issues/899). - //they should be equal "n == 0 : True -> return 1" and "n == 0 : False -> return n * factorial(n - 1)" respectively - val displayName1 = "-> return 1" - val displayName2 = "-> return 1" - val displayName3 = "n < 0 -> ThrowIllegalArgumentException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = Recursion::factorial - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/structures/SummaryMinStackTest.kt b/utbot-summary-tests/src/test/kotlin/examples/structures/SummaryMinStackTest.kt deleted file mode 100644 index c920c1bf..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/structures/SummaryMinStackTest.kt +++ /dev/null @@ -1,204 +0,0 @@ -package examples.structures - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.structures.MinStack -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryMinStackTest : SummaryTestCaseGeneratorTest( - MinStack::class -) { - @Test - fun testGetMin() { - val summary1 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#getMin()}\n" + - "@utbot.throwsException {@link java.lang.ArrayIndexOutOfBoundsException} in: return minStack[size - 1];" - - val summary2 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#getMin()}\n" + - "@utbot.throwsException {@link java.lang.NullPointerException} in: return minStack[size - 1];" - - val summary3 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#getMin()}\n" + - "@utbot.returnsFrom {@code return minStack[size - 1];}\n" - - val methodName1 = "testGetMin_ThrowArrayIndexOutOfBoundsException" - val methodName2 = "testGetMin_ThrowNullPointerException" - val methodName3 = "testGetMin_ReturnSize1OfMinStack" - - val displayName1 = "return minStack[size - 1] : True -> ThrowArrayIndexOutOfBoundsException" - val displayName2 = "return minStack[size - 1] : True -> ThrowNullPointerException" - val displayName3 = "-> return minStack[size - 1]" - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - val method = MinStack::getMin - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testRemoveValue() { - val summary1 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#removeValue()}\n" + - "@utbot.executesCondition {@code (size <= 0): True}\n" + - "@utbot.throwsException {@link java.lang.RuntimeException} when: size <= 0" - - val summary2 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#removeValue()}\n" + - "@utbot.executesCondition {@code (size <= 0): False}\n" - - val methodName1 = "testRemoveValue_ThrowRuntimeException" - val methodName2 = "testRemoveValue_SizeGreaterThanZero" - - val displayName1 = "size <= 0 -> ThrowRuntimeException" - val displayName2 = "-> size <= 0 : False" - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - val method = MinStack::removeValue - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testAddValue() { - val summary1 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.throwsException {@link java.lang.ArrayIndexOutOfBoundsException} in: stack[size] = value;" - - val summary2 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.throwsException {@link java.lang.NullPointerException} in: stack[size] = value;" - - val summary3 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): True}\n" + - "@utbot.throwsException {@link java.lang.ArrayIndexOutOfBoundsException} in: minStack[size] = value;" - - val summary4 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): True}\n" + - "@utbot.throwsException {@link java.lang.NullPointerException} in: minStack[size] = value;" - - val summary5 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): False}\n" + - "@utbot.throwsException {@link java.lang.NullPointerException} in: minStack[size] = Math.min(minStack[size - 1], value);" - - val summary6 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): False}\n" + - "@utbot.throwsException {@link java.lang.ArrayIndexOutOfBoundsException} in: minStack[size] = Math.min(minStack[size - 1], value);" - val summary7 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): False}\n" + - "@utbot.invokes {@link java.lang.Math#min(long,long)}\n" + - "@utbot.throwsException {@link java.lang.ArrayIndexOutOfBoundsException} in: minStack[size] = Math.min(minStack[size - 1], value);" - val summary8 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): True}\n" - val summary9 = "@utbot.classUnderTest {@link MinStack}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.structures.MinStack#addValue(long)}\n" + - "@utbot.executesCondition {@code (size == 0): False}\n" + - "@utbot.invokes {@link java.lang.Math#min(long,long)}\n" - - val methodName1 = "testAddValue_ThrowArrayIndexOutOfBoundsException" - val methodName2 = "testAddValue_ThrowNullPointerException" - val methodName3 = "testAddValue_ThrowArrayIndexOutOfBoundsException_1" - val methodName4 = "testAddValue_ThrowNullPointerException_1" - val methodName5 = "testAddValue_ThrowNullPointerException_2" - val methodName6 = "testAddValue_ThrowArrayIndexOutOfBoundsException_2" - val methodName7 = "testAddValue_ThrowArrayIndexOutOfBoundsException_3" - val methodName8 = "testAddValue_SizeEqualsZero" - val methodName9 = "testAddValue_SizeNotEqualsZero" - - val displayName1 = "stack[size] = value -> ThrowArrayIndexOutOfBoundsException" - val displayName2 = "stack[size] = value -> ThrowNullPointerException" - val displayName3 = "minStack[size] = value -> ThrowArrayIndexOutOfBoundsException" - val displayName4 = "minStack[size] = value -> ThrowNullPointerException" - val displayName5 = "minStack[size] = Math.min(minStack[size - 1], value) -> ThrowNullPointerException" - val displayName6 = "minStack[size] = Math.min(minStack[size - 1], value) -> ThrowArrayIndexOutOfBoundsException" - val displayName7 = "minStack[size] = Math.min(minStack[size - 1], value) -> ThrowArrayIndexOutOfBoundsException" - val displayName8 = "-> size == 0 : True" - val displayName9 = "size == 0 : False -> MathMin" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6, - summary7, - summary8, - summary9 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6, - displayName7, - displayName8, - displayName9 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7, - methodName8, - methodName9, - ) - - val method = MinStack::addValue - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/ternary/SummaryTernaryTest.kt b/utbot-summary-tests/src/test/kotlin/examples/ternary/SummaryTernaryTest.kt deleted file mode 100644 index c6c5b6da..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/ternary/SummaryTernaryTest.kt +++ /dev/null @@ -1,596 +0,0 @@ -package examples.ternary - -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.utbot.examples.ternary.Ternary -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate -class SummaryTernaryTest : SummaryTestCaseGeneratorTest( - Ternary::class, -) { - @Test - fun testMax() { - val summary1 = "Test executes conditions:\n" + - " (val1 >= val2): False\n" + - "returns from: return val1 >= val2 ? val1 : val2;\n" - val summary2 = "Test executes conditions:\n" + - " (val1 >= val2): True\n" + - "returns from: return val1 >= val2 ? val1 : val2;\n" - - val methodName1 = "testMax_Val1LessThanVal2" - val methodName2 = "testMax_Val1GreaterOrEqualVal2" - - val displayName1 = "val1 >= val2 : False -> return val1 >= val2 ? val1 : val2" - val displayName2 = "val1 >= val2 : True -> return val1 >= val2 ? val1 : val2" - - val method = Ternary::max - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testSimpleOperation() { - val summary1 = "Test returns from: return result;\n" - - val methodName1 = "testSimpleOperation_ReturnResult" - - val displayName1 = "-> return result" - - val method = Ternary::simpleOperation - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1 - ) - - val displayNames = listOf( - displayName1 - ) - - val methodNames = listOf( - methodName1 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testStringExpr() { - val summary1 = "Test executes conditions:\n" + - " (num > 10): True\n" + - "returns from: return num > 10 ? \"Number is greater than 10\" : num > 5 ? \"Number is greater than 5\" : \"Number is less than equal to 5\";\n" - val summary2 = "Test executes conditions:\n" + - " (num > 10): False,\n" + - " (num > 5): False\n" + - "returns from: return num > 10 ? \"Number is greater than 10\" : num > 5 ? \"Number is greater than 5\" : \"Number is less than equal to 5\";\n" - val summary3 = "Test executes conditions:\n" + - " (num > 10): False,\n" + - " (num > 5): True\n" + - "returns from: return num > 10 ? \"Number is greater than 10\" : num > 5 ? \"Number is greater than 5\" : \"Number is less than equal to 5\";\n" - - val methodName1 = "testStringExpr_NumGreaterThan10" - val methodName2 = "testStringExpr_NumLessOrEqual5" - val methodName3 = "testStringExpr_NumGreaterThan5" - - val displayName1 = - "num > 10 : True -> return num > 10 ? \"Number is greater than 10\" : num > 5 ? \"Number is greater than 5\" : \"Number is less than equal to 5\"" - val displayName2 = - "num > 5 : False -> return num > 10 ? \"Number is greater than 10\" : num > 5 ? \"Number is greater than 5\" : \"Number is less than equal to 5\"" - val displayName3 = - "num > 5 : True -> return num > 10 ? \"Number is greater than 10\" : num > 5 ? \"Number is greater than 5\" : \"Number is less than equal to 5\"" - - val method = Ternary::stringExpr - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testParse() { - val summary1 = "Test executes conditions:\n" + - " (input == null || input.equals(\"\")): False\n" + - "returns from: return value;\n" - val summary2 = "Test executes conditions:\n" + - " (input == null || input.equals(\"\")): True\n" + - "invokes:\n" + - " {@link java.lang.String#equals(java.lang.Object)} once\n" + - "returns from: return value;\n" - val summary3 = "Test executes conditions:\n" + - " (input == null || input.equals(\"\")): True\n" + - "invokes:\n" + - " {@link java.lang.String#equals(java.lang.Object)} once\n" + - "executes conditions:\n" + - " (input == null || input.equals(\"\")): False\n" + - "invokes:\n" + - " {@link java.lang.Integer#parseInt(java.lang.String)} once\n" + - "throws NumberFormatException in: Integer.parseInt(input)" - - val methodName1 = "testParse_InputEqualsNullOrInputEquals" - val methodName2 = "testParse_InputNotEqualsNullOrInputEquals" - val methodName3 = "testParse_ThrowNumberFormatException" - - val displayName1 = "input == null || input.equals(\"\") : False -> return value" - val displayName2 = "input == null || input.equals(\"\") : True -> return value" - val displayName3 = "Integer.parseInt(input) : True -> ThrowNumberFormatException" - - val method = Ternary::parse - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testMinValue() { - val summary1 = "Test executes conditions:\n" + - " ((a < b)): False\n" + - "returns from: return (a < b) ? a : b;\n" - val summary2 = "Test executes conditions:\n" + - " ((a < b)): True\n" + - "returns from: return (a < b) ? a : b;\n" - - val methodName1 = "testMinValue_AGreaterOrEqualB" - val methodName2 = "testMinValue_ALessThanB" - - val displayName1 = "a < b : False -> return (a < b) ? a : b" - val displayName2 = "a < b : True -> return (a < b) ? a : b" - - val method = Ternary::minValue - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testSubDelay() { - val summary1 = "Test executes conditions:\n" + - " (flag): False\n" + - "returns from: return flag ? 100 : 0;\n" - val summary2 = "Test executes conditions:\n" + - " (flag): True\n" + - "returns from: return flag ? 100 : 0;\n" - - val methodName1 = "testSubDelay_NotFlag" - val methodName2 = "testSubDelay_Flag" - - val displayName1 = "flag : False -> return flag ? 100 : 0" - val displayName2 = "flag : True -> return flag ? 100 : 0" - - val method = Ternary::subDelay - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testPlusOrMinus() { - val summary1 = "Test executes conditions:\n" + - " ((num1 > num2)): False\n" + - "returns from: return (num1 > num2) ? (num1 + num2) : (num1 - num2);\n" - val summary2 = "Test executes conditions:\n" + - " ((num1 > num2)): True\n" + - "returns from: return (num1 > num2) ? (num1 + num2) : (num1 - num2);\n" - - val methodName1 = "testPlusOrMinus_Num1LessOrEqualNum2" - val methodName2 = "testPlusOrMinus_Num1GreaterThanNum2" - - val displayName1 = "num1 > num2 : False -> return (num1 > num2) ? (num1 + num2) : (num1 - num2)" - val displayName2 = "num1 > num2 : True -> return (num1 > num2) ? (num1 + num2) : (num1 - num2)" - - val method = Ternary::plusOrMinus - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testLongTernary() { - val summary1 = "Test executes conditions:\n" + - " (num1 > num2): True\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : 3;\n" - val summary2 = "Test executes conditions:\n" + - " (num1 > num2): False,\n" + - " (num1 == num2): True\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : 3;\n" - val summary3 = "Test executes conditions:\n" + - " (num1 > num2): False,\n" + - " (num1 == num2): False\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : 3;\n" - - val methodName1 = "testLongTernary_Num1GreaterThanNum2" - val methodName2 = "testLongTernary_Num1EqualsNum2" - val methodName3 = "testLongTernary_Num1NotEqualsNum2" - - val displayName1 = "num1 > num2 : True -> return num1 > num2 ? 1 : num1 == num2 ? 2 : 3" - val displayName2 = "num1 == num2 : True -> return num1 > num2 ? 1 : num1 == num2 ? 2 : 3" - val displayName3 = "num1 == num2 : False -> return num1 > num2 ? 1 : num1 == num2 ? 2 : 3" - - val method = Ternary::longTernary - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testVeryLongTernary() { - val summary1 = "Test executes conditions:\n" + - " (num1 > num2): True\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5;\n" - val summary2 = "Test executes conditions:\n" + - " (num1 > num2): False,\n" + - " (num1 == num2): False,\n" + - " (num2 > num3): False,\n" + - " (num2 == num3): False\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5;\n" - val summary3 = "Test executes conditions:\n" + - " (num1 > num2): False,\n" + - " (num1 == num2): True\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5;\n" - val summary4 = "Test executes conditions:\n" + - " (num1 > num2): False,\n" + - " (num1 == num2): False,\n" + - " (num2 > num3): False,\n" + - " (num2 == num3): True\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5;\n" - val summary5 = "Test executes conditions:\n" + - " (num1 > num2): False,\n" + - " (num1 == num2): False,\n" + - " (num2 > num3): True\n" + - "returns from: return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5;\n" - - val methodName1 = "testVeryLongTernary_Num1GreaterThanNum2" - val methodName2 = "testVeryLongTernary_Num2NotEqualsNum3" - val methodName3 = "testVeryLongTernary_Num1EqualsNum2" - val methodName4 = "testVeryLongTernary_Num2EqualsNum3" - val methodName5 = "testVeryLongTernary_Num2GreaterThanNum3" - - val displayName1 = - "num1 > num2 : True -> return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5" - val displayName2 = - "num2 == num3 : False -> return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5" - val displayName3 = - "num1 == num2 : True -> return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5" - val displayName4 = - "num2 == num3 : True -> return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5" - val displayName5 = - "num2 > num3 : True -> return num1 > num2 ? 1 : num1 == num2 ? 2 : num2 > num3 ? 3 : num2 == num3 ? 4 : 5" - - val method = Ternary::veryLongTernary - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testMinMax() { - val summary1 = "Test executes conditions:\n" + - " (num1 > num2): False\n" + - "calls {@link org.utbot.examples.ternary.Ternary#minValue(int,int)},\n" + - " there it executes conditions:\n" + - " ((a < b)): True\n" + - " returns from: return (a < b) ? a : b;\n" + - " \n" + - "Test then returns from: return a;\n" - val summary2 = "Test executes conditions:\n" + - " (num1 > num2): True\n" + - "calls {@link org.utbot.examples.ternary.Ternary#max(int,int)},\n" + - " there it executes conditions:\n" + - " (val1 >= val2): True\n" + - " returns from: return val1 >= val2 ? val1 : val2;\n" + - " \n" + - "Test further returns from: return a;\n" - val summary3 = "Test executes conditions:\n" + - " (num1 > num2): False\n" + - "calls {@link org.utbot.examples.ternary.Ternary#minValue(int,int)},\n" + - " there it executes conditions:\n" + - " ((a < b)): False\n" + - " returns from: return (a < b) ? a : b;\n" + - " \n" + - "Test next returns from: return a;\n" - - val methodName1 = "testMinMax_ALessThanB" - val methodName2 = "testMinMax_Val1GreaterOrEqualVal2" - val methodName3 = "testMinMax_AGreaterOrEqualB" - - val displayName1 = "a < b : True -> return (a < b) ? a : b" - val displayName2 = "val1 >= val2 : True -> return val1 >= val2 ? val1 : val2" - val displayName3 = "a < b : False -> return (a < b) ? a : b" - - val method = Ternary::minMax - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - - @Test - fun testIntFunc() { - val summary1 = "Test executes conditions:\n" + - " (num1 > num2): True\n" + - "invokes:\n" + - " org.utbot.examples.ternary.Ternary#intFunc1() once\n" + - "returns from: return num1 > num2 ? intFunc1() : intFunc2();\n" - val summary2 = "Test executes conditions:\n" + - " (num1 > num2): False\n" + - "invokes:\n" + - " org.utbot.examples.ternary.Ternary#intFunc2() once\n" + - "returns from: return num1 > num2 ? intFunc1() : intFunc2();\n" - - val methodName1 = "testIntFunc_Num1GreaterThanNum2" - val methodName2 = "testIntFunc_Num1LessOrEqualNum2" - - val displayName1 = "num1 > num2 : True -> return num1 > num2 ? intFunc1() : intFunc2()" - val displayName2 = "num1 > num2 : False -> return num1 > num2 ? intFunc1() : intFunc2()" - - val method = Ternary::intFunc - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testTernaryInTheMiddle() { - val summary1 = "Test executes conditions:\n" + - " (num2 > num3): True\n" + - "returns from: return max(num1 + 228, num2 > num3 ? num2 + 1 : num3 + 2) + 4;\n" - val summary2 = "Test executes conditions:\n" + - " (num2 > num3): False\n" + - "returns from: return max(num1 + 228, num2 > num3 ? num2 + 1 : num3 + 2) + 4;\n" - - val methodName1 = "testTernaryInTheMiddle_Num2GreaterThanNum3" - val methodName2 = "testTernaryInTheMiddle_Num2LessOrEqualNum3" - - val displayName1 = "num2 > num3 : True -> return max(num1 + 228, num2 > num3 ? num2 + 1 : num3 + 2) + 4" - val displayName2 = "num2 > num3 : False -> return max(num1 + 228, num2 > num3 ? num2 + 1 : num3 + 2) + 4" - - val method = Ternary::ternaryInTheMiddle - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - - @Test - fun testTwoIfsOneLine() { - val summary1 = "Test executes conditions:\n" + - " (num1 > num2): False\n" + - "returns from: return a;\n" - val summary2 = "Test executes conditions:\n" + - " (num1 > num2): True,\n" + - " ((num1 - 10) > 0): False\n" + - "returns from: return a;\n" - val summary3 = "Test executes conditions:\n" + - " (num1 > num2): True,\n" + - " ((num1 - 10) > 0): True\n" + - "returns from: return a;\n" - - val methodName1 = "testTwoIfsOneLine_Num1LessOrEqualNum2" - val methodName2 = "testTwoIfsOneLine_Num1Minus10LessOrEqualZero" - val methodName3 = "testTwoIfsOneLine_Num1Minus10GreaterThanZero" - - val displayName1 = "num1 > num2 : False -> return a" - val displayName2 = "(num1 - 10) > 0 : False -> return a" - val displayName3 = "(num1 - 10) > 0 : True -> return a" - - val method = Ternary::twoIfsOneLine - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3 - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/examples/unsafe/UnsafeWithFieldTest.kt b/utbot-summary-tests/src/test/kotlin/examples/unsafe/UnsafeWithFieldTest.kt deleted file mode 100644 index ad0c12c0..00000000 --- a/utbot-summary-tests/src/test/kotlin/examples/unsafe/UnsafeWithFieldTest.kt +++ /dev/null @@ -1,43 +0,0 @@ -package examples.unsafe - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.unsafe.UnsafeWithField -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class UnsafeWithFieldTest : SummaryTestCaseGeneratorTest( - UnsafeWithField::class -) { - @Test - fun testUnsafeWithField() { - val summary1 = "@utbot.classUnderTest {@link UnsafeWithField}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.unsafe.UnsafeWithField#setField(java.text.NumberFormat.Field)}\n" + - "@utbot.returnsFrom {@code return Field.INTEGER;}" - - val methodName1 = "testSetField_ReturnFieldINTEGER" - - val displayName1 = "-> return Field.INTEGER" - - val summaryKeys = listOf( - summary1 - ) - - val displayNames = listOf( - displayName1 - ) - - val methodNames = listOf( - methodName1 - ) - - val method = UnsafeWithField::setField - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/math/SummaryIntMathLogTest.kt b/utbot-summary-tests/src/test/kotlin/math/SummaryIntMathLogTest.kt deleted file mode 100644 index bc3b2832..00000000 --- a/utbot-summary-tests/src/test/kotlin/math/SummaryIntMathLogTest.kt +++ /dev/null @@ -1,71 +0,0 @@ -package math - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import guava.examples.math.IntMath -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtClusterInfo -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryIntMathLogTest : SummaryTestCaseGeneratorTest( - IntMath::class, -) { - @Test - fun testLog2() { - val summary1 = "@utbot.classUnderTest {@link IntMath}\n" + - "@utbot.methodUnderTest {@link guava.examples.math.IntMath#log2(int,java.math.RoundingMode)}\n" - val summary2 = "@utbot.classUnderTest {@link IntMath}\n" + - "@utbot.methodUnderTest {@link guava.examples.math.IntMath#log2(int,java.math.RoundingMode)}\n" - val summary3 = "@utbot.classUnderTest {@link IntMath}\n" + - "@utbot.methodUnderTest {@link guava.examples.math.IntMath#log2(int,java.math.RoundingMode)}\n" - val summary4 = "@utbot.classUnderTest {@link IntMath}\n" + - "@utbot.methodUnderTest {@link guava.examples.math.IntMath#log2(int,java.math.RoundingMode)}\n" + - "@utbot.invokes {@link java.math.RoundingMode#ordinal()}\n" + - "@utbot.throwsException {@link java.lang.NullPointerException} in: switch(mode)" - - val methodName1 = "testLog2_IntegerNumberOfLeadingZeros" - val methodName2 = "testLog2_IntegerNumberOfLeadingZeros_1" - val methodName3 = "testLog2_IntMathLessThanBranchFree" - val methodName4 = "testLog2_ThrowNullPointerException" - - val displayName1 = "switch(mode) case: FLOOR -> return (Integer.SIZE - 1) - Integer.numberOfLeadingZeros(x)" - val displayName2 = "switch(mode) case: CEILING -> return Integer.SIZE - Integer.numberOfLeadingZeros(x - 1)" - val displayName3 = "switch(mode) case: HALF_EVEN -> return logFloor + lessThanBranchFree(cmp, x)" - val displayName4 = "switch(mode) -> ThrowNullPointerException" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val clusterInfo = listOf( - Pair(UtClusterInfo("SYMBOLIC EXECUTION: SUCCESSFUL EXECUTIONS for method log2(int, java.math.RoundingMode)", null), 3), - Pair(UtClusterInfo("SYMBOLIC EXECUTION: ERROR SUITE for method log2(int, java.math.RoundingMode)", null), 1) - ) - - val method = IntMath::log2 - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames, clusterInfo) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/math/SummaryIntMathPowTest.kt b/utbot-summary-tests/src/test/kotlin/math/SummaryIntMathPowTest.kt deleted file mode 100644 index 788874ec..00000000 --- a/utbot-summary-tests/src/test/kotlin/math/SummaryIntMathPowTest.kt +++ /dev/null @@ -1,148 +0,0 @@ -package math - -import examples.SummaryTestCaseGeneratorTest -import guava.examples.math.IntMath -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtClusterInfo -import org.utbot.testing.DoNotCalculate -class SummaryIntMathPowTest : SummaryTestCaseGeneratorTest( - IntMath::class, -) { - @Test - fun testPow() { - val summary1 = "Test activates switch(b) case: 1, returns from: return 1;\n" - val summary2 = "Test executes conditions:\n" + - " (k < Integer.SIZE): False\n" + - "returns from: return 0;\n" - val summary3 = "Test executes conditions:\n" + - " ((k < Integer.SIZE)): False\n" + - "returns from: return (k < Integer.SIZE) ? (1 << k) : 0;\n" - val summary4 = "Test iterates the loop for(int accum = 1; ; k >>= 1) once,\n" + - " inside this loop, the test returns from: return b * accum;" - val summary5 = "Test executes conditions:\n" + - " ((k < Integer.SIZE)): True\n" + - "returns from: return (k < Integer.SIZE) ? (1 << k) : 0;\n" - val summary6 = "Test executes conditions:\n" + - " ((k == 0)): False\n" + - "returns from: return (k == 0) ? 1 : 0;\n" - val summary7 = "Test iterates the loop for(int accum = 1; ; k >>= 1) once,\n" + - " inside this loop, the test returns from: return accum;" - val summary8 = "Test executes conditions:\n" + - " ((k == 0)): True\n" + - "returns from: return (k == 0) ? 1 : 0;\n" - val summary9 = "Test executes conditions:\n" + - " (k < Integer.SIZE): True,\n" + - " (((k & 1) == 0)): True\n" + - "returns from: return ((k & 1) == 0) ? (1 << k) : -(1 << k);\n" - val summary10 = "Test executes conditions:\n" + - " (k < Integer.SIZE): True,\n" + - " (((k & 1) == 0)): False\n" + - "returns from: return ((k & 1) == 0) ? (1 << k) : -(1 << k);\n" - val summary11 = "Test executes conditions:\n" + - " (((k & 1) == 0)): False\n" + - "returns from: return ((k & 1) == 0) ? 1 : -1;\n" - val summary12 = "Test executes conditions:\n" + - " (((k & 1) == 0)): True\n" + - "returns from: return ((k & 1) == 0) ? 1 : -1;\n" - val summary13 = "Test iterates the loop for(int accum = 1; ; k >>= 1) twice,\n" + - " inside this loop, the test executes conditions:\n" + - " (((k & 1) == 0)): False\n" + - "returns from: return b * accum;" - val summmary14 = "Test iterates the loop for(int accum = 1; ; k >>= 1) twice,\n" + - " inside this loop, the test executes conditions:\n" + - " (((k & 1) == 0)): True\n" + - "returns from: return b * accum;" - - val methodName1 = "testPow_Return1" - val methodName2 = "testPow_KGreaterOrEqualIntegerSIZE" - val methodName3 = "testPow_KGreaterOrEqualIntegerSIZE_1" - val methodName4 = "testPow_ReturnBMultiplyAccum" - val methodName5 = "testPow_KLessThanIntegerSIZE" - val methodName6 = "testPow_KNotEqualsZero" - val methodName7 = "testPow_ReturnAccum" - val methodName8 = "testPow_KEqualsZero" - val methodName9 = "testPow_KBitwiseAnd1EqualsZero" - val methodName10 = "testPow_KBitwiseAnd1NotEqualsZero" - val methodName11 = "testPow_KBitwiseAnd1NotEqualsZero_1" - val methodName12 = "testPow_KBitwiseAnd1EqualsZero_1" - val methodName13 = "testPow_KBitwiseAnd1NotEqualsZero_2" - val methodName14 = "testPow_KBitwiseAnd1EqualsZero_2" - - val displayName1 = "switch(b) case: 1 -> return 1" - val displayName2 = "k < Integer.SIZE : False -> return 0" - val displayName3 = "k < Integer.SIZE : False -> return (k < Integer.SIZE) ? (1 << k) : 0" - val displayName4 = "-> return b * accum" // TODO: weird display name with missed part before -> - val displayName5 = "k < Integer.SIZE : True -> return (k < Integer.SIZE) ? (1 << k) : 0" - val displayName6 = "k == 0 : False -> return (k == 0) ? 1 : 0" - val displayName7 = "-> return accum" // TODO: weird display name with missed part before -> - val displayName8 = "k == 0 : True -> return (k == 0) ? 1 : 0" - val displayName9 = "(k & 1) == 0 : True -> return ((k & 1) == 0) ? (1 << k) : -(1 << k)" - val displayName10 = "(k & 1) == 0 : False -> return ((k & 1) == 0) ? (1 << k) : -(1 << k)" - val displayName11 = "(k & 1) == 0 : False -> return ((k & 1) == 0) ? 1 : -1" - val displayName12 = "(k & 1) == 0 : True -> return ((k & 1) == 0) ? 1 : -1" - val displayName13 = "(k & 1) == 0 : False -> return b * accum" - val displayName14 = "(k & 1) == 0 : True -> return b * accum" - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6, - summary7, - summary8, - summary9, - summary10, - summary11, - summary12, - summary13, - summmary14 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6, - displayName7, - displayName8, - displayName9, - displayName10, - displayName11, - displayName12, - displayName13, - displayName14 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7, - methodName8, - methodName9, - methodName10, - methodName11, - methodName12, - methodName13, - methodName14 - ) - - val clusterInfo = listOf( - Pair(UtClusterInfo("SYMBOLIC EXECUTION: SUCCESSFUL EXECUTIONS for method pow(int, int)", null), 14) - ) - - val method = IntMath::pow - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames, clusterInfo) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/math/SummaryOfMathTest.kt b/utbot-summary-tests/src/test/kotlin/math/SummaryOfMathTest.kt deleted file mode 100644 index a74203cf..00000000 --- a/utbot-summary-tests/src/test/kotlin/math/SummaryOfMathTest.kt +++ /dev/null @@ -1,257 +0,0 @@ -package math - -import examples.SummaryTestCaseGeneratorTest -import guava.examples.math.Stats -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.UtClusterInfo -import org.utbot.testing.DoNotCalculate - -/** - * It runs test generation for the poor analogue of the Stats.of method ported from the guava-26.0 framework - * and validates generated docs, display names and test method names. - * - * @see Related issue - */ -class SummaryOfMathTest : SummaryTestCaseGeneratorTest( - Stats::class, -) { - @Test - @Disabled("Test fails, https://github.com/UnitTestBot/UTBotJava/issues/826") - fun testOfInts() { - val summary1 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(int[])},\n" + - " there it triggers recursion of addAll once, \n" + - "Test throws NullPointerException in: acummulator.addAll(values);\n" - val summary2 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(int[])},\n" + - " there it does not iterate for(int value: values), \n" + - "Test later calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test then returns from: return acummulator.snapshot();" - val summary3 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(int[])},\n" + - " there it iterates the loop for(int value: values) once. \n" + - "Test later calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test then returns from: return acummulator.snapshot();" - val summary4 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(int[])},\n" + - " there it iterates the loop for(int value: values) twice. \n" + - "Test later calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test later returns from: return acummulator.snapshot();\n" - - val methodName1 = "testOfInts_StatsAccumulatorAddAll" - val methodName2 = "testOfInts_snapshot" - val methodName3 = "testOfInts_IterateForEachLoop" - val methodName4 = "testOfInts_IterateForEachLoop_1" - - val displayName1 = "acummulator.addAll(values) : True -> ThrowNullPointerException" - val displayName2 = "snapshot -> return new Stats(count, mean, sumOfSquaresOfDeltas, min, max)" - val displayName3 = "addAll -> return new Stats(count, mean, sumOfSquaresOfDeltas, min, max)" - val displayName4 = "addAll -> return new Stats(count, mean, sumOfSquaresOfDeltas, min, max)" - - val method = Stats::ofInts - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4 - ) - - val clusterInfo = listOf( - Pair(UtClusterInfo("SUCCESSFUL EXECUTIONS for method ofInts(int[])", null), 3), - Pair(UtClusterInfo("ERROR SUITE for method ofInts(int[])", null), 1) - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames, clusterInfo) - } - - @Test - @Disabled("Test is flaky, https://github.com/UnitTestBot/UTBotJava/issues/826") - fun testOfDoubles() { - val summary1 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it triggers recursion of addAll once, \n" + - "Test throws NullPointerException in: acummulator.addAll(values);\n" - val summary2 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it does not iterate for(double value: values), \n" + - "Test next calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test later returns from: return acummulator.snapshot();\n" - val summary3 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it iterates the loop for(double value: values) twice,\n" + - " inside this loop, the test calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (count == 0): True\n" + - " (!isFinite(value)): True\n" + - " calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (count == 0): False\n" + - " (isFinite(value) && isFinite(mean)): True\n" + - " (if (isFinite(value) && isFinite(mean)) {\n" + - " double delta = value - mean;\n" + - " mean += delta / count;\n" + - " sumOfSquaresOfDeltas += delta * (value - mean);\n" + - "} else {\n" + - " mean = calculateNewMeanNonFinite(mean, value);\n" + - " sumOfSquaresOfDeltas = NaN;\n" + - "}): False\n" + - "Test afterwards calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test afterwards returns from: return acummulator.snapshot();\n" - val summary4 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it iterates the loop for(double value: values) twice,\n" + - " inside this loop, the test calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (!isFinite(value)): False\n" + - "Test next calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test then returns from: return acummulator.snapshot();\n" - val summary5 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it iterates the loop for(double value: values) twice,\n" + - " inside this loop, the test calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (count == 0): True\n" + - " (!isFinite(value)): False\n" + - " calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (count == 0): False\n" + - " (isFinite(value) && isFinite(mean)): True\n" + - " (if (isFinite(value) && isFinite(mean)) {\n" + - " double delta = value - mean;\n" + - " mean += delta / count;\n" + - " sumOfSquaresOfDeltas += delta * (value - mean);\n" + - "} else {\n" + - " mean = calculateNewMeanNonFinite(mean, value);\n" + - " sumOfSquaresOfDeltas = NaN;\n" + - "}): True\n" + - "Test later calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test then returns from: return acummulator.snapshot();\n" - val summary6 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it iterates the loop for(double value: values) twice,\n" + - " inside this loop, the test calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (!isFinite(value)): True\n" + - "Test then calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test afterwards returns from: return acummulator.snapshot();\n" - val summary7 = "Test calls {@link guava.examples.math.StatsAccumulator#addAll(double[])},\n" + - " there it iterates the loop for(double value: values) twice,\n" + - " inside this loop, the test calls {@link guava.examples.math.StatsAccumulator#add(double)},\n" + - " there it executes conditions:\n" + - " (!isFinite(value)): True\n" + - "Test later calls {@link guava.examples.math.StatsAccumulator#snapshot()},\n" + - " there it returns from: return new Stats(count, mean, sumOfSquaresOfDeltas, min, max);\n" + - " \n" + - "Test further returns from: return acummulator.snapshot();\n" - - val methodName1 = "testOfDoubles_StatsAccumulatorAddAll" - val methodName2 = "testOfDoubles_snapshot" - val methodName3 = "testOfDoubles_IsFiniteAndIsFinite" - val methodName4 = "testOfDoubles_IsFinite" - val methodName5 = "testOfDoubles_IsFiniteAndIsFinite_1" - val methodName6 = "testOfDoubles_NotIsFinite" - val methodName7 = "testOfDoubles_NotIsFinite_1" - - val displayName1 = "acummulator.addAll(values) : True -> ThrowNullPointerException" - val displayName2 = "snapshot -> return new Stats(count, mean, sumOfSquaresOfDeltas, min, max)" - val displayName3 = "!isFinite(value) : True -> StatsAccumulatorCalculateNewMeanNonFinite" - val displayName4 = "add -> !isFinite(value) : False" - val displayName5 = "!isFinite(value) : False -> isFinite(value) && isFinite(mean)" - val displayName6 = "add -> !isFinite(value) : True" - val displayName7 = "add -> !isFinite(value) : True" - - val method = Stats::ofDoubles - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - val summaryKeys = listOf( - summary1, - summary2, - summary3, - summary4, - summary5, - summary6, - summary7 - ) - - val displayNames = listOf( - displayName1, - displayName2, - displayName3, - displayName4, - displayName5, - displayName6, - displayName7 - ) - - val methodNames = listOf( - methodName1, - methodName2, - methodName3, - methodName4, - methodName5, - methodName6, - methodName7 - ) - - val clusterInfo = listOf( - Pair(UtClusterInfo("SYMBOLIC EXECUTION: SUCCESSFUL EXECUTIONS #0 for method ofDoubles(double[])", null), 3), - Pair( - UtClusterInfo( - "SYMBOLIC EXECUTION: SUCCESSFUL EXECUTIONS #1 for method ofDoubles(double[])", "\n" + - "Common steps:\n" + - "
    \n" +
    -                            "Tests execute conditions:\n" +
    -                            "    {@code (null): True}\n" +
    -                            "call {@link guava.examples.math.StatsAccumulator#add(double)},\n" +
    -                            "    there it execute conditions:\n" +
    -                            "        {@code (count == 0): True}\n" +
    -                            "    invoke:\n" +
    -                            "        {@link guava.examples.math.StatsAccumulator#isFinite(double)} twice\n" +
    -                            "Tests later invoke:\n" +
    -                            "    {@link guava.examples.math.StatsAccumulator#add(double)} once\n" +
    -                            "execute conditions:\n" +
    -                            "    {@code (null): False}\n" +
    -                            "call {@link guava.examples.math.StatsAccumulator#isFinite(double)},\n" +
    -                            "    there it invoke:\n" +
    -                            "        {@link guava.examples.math.StatsAccumulator#isFinite(double)} once\n" +
    -                            "    execute conditions:\n" +
    -                            "        {@code (null): False}\n" +
    -                            "    invoke:\n" +
    -                            "        {@link guava.examples.math.StatsAccumulator#calculateNewMeanNonFinite(double,double)} twice,\n" +
    -                            "        {@link java.lang.Math#min(double,double)} twice,\n" +
    -                            "        {@link java.lang.Math#max(double,double)} twice\n" +
    -                            "
    " - ), 3 - ), - Pair(UtClusterInfo("SYMBOLIC EXECUTION: ERROR SUITE for method ofDoubles(double[])", null), 1) - ) - - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames, clusterInfo) - } -} \ No newline at end of file diff --git a/utbot-summary-tests/src/test/kotlin/math/SummaryOverflowExamples.kt b/utbot-summary-tests/src/test/kotlin/math/SummaryOverflowExamples.kt deleted file mode 100644 index e67605af..00000000 --- a/utbot-summary-tests/src/test/kotlin/math/SummaryOverflowExamples.kt +++ /dev/null @@ -1,54 +0,0 @@ -package math - -import examples.CustomJavaDocTagsEnabler -import examples.SummaryTestCaseGeneratorTest -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.extension.ExtendWith -import org.utbot.examples.math.OverflowExamples -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.testcheckers.withTreatingOverflowAsError -import org.utbot.testing.DoNotCalculate - -@ExtendWith(CustomJavaDocTagsEnabler::class) -class SummaryOverflowExamples : SummaryTestCaseGeneratorTest( - OverflowExamples::class -) { - @Test - fun testShortMulOverflow() { - val summary1 = "@utbot.classUnderTest {@link OverflowExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.math.OverflowExamples#shortMulOverflow(short,short)}\n" + - "@utbot.returnsFrom {@code return (short) (x * y);}\n" - val summary2 = "@utbot.classUnderTest {@link OverflowExamples}\n" + - "@utbot.methodUnderTest {@link org.utbot.examples.math.OverflowExamples#shortMulOverflow(short,short)}\n" + - "@utbot.detectsSuspiciousBehavior in: return (short) (x * y);\n" - - val methodName1 = "testShortMulOverflow_ReturnXy" - val methodName2 = "testShortMulOverflow_DetectOverflow" - - val displayName1 = "-> return (short) (x * y)" - val displayName2 = "return (short) (x * y) : True -> DetectOverflow" - - val summaryKeys = listOf( - summary1, - summary2 - ) - - val displayNames = listOf( - displayName1, - displayName2 - ) - - val methodNames = listOf( - methodName1, - methodName2 - ) - - val method = OverflowExamples::shortMulOverflow - val mockStrategy = MockStrategyApi.NO_MOCKS - val coverage = DoNotCalculate - - withTreatingOverflowAsError { - summaryCheck(method, mockStrategy, coverage, summaryKeys, methodNames, displayNames) - } - } -} \ No newline at end of file diff --git a/utbot-summary/build.gradle.kts b/utbot-summary/build.gradle.kts deleted file mode 100644 index 3c41ca53..00000000 --- a/utbot-summary/build.gradle.kts +++ /dev/null @@ -1,20 +0,0 @@ -val kotlinLoggingVersion: String by rootProject -val junit4Version: String by rootProject -val junit5Version: String by rootProject -val sootVersion: String by rootProject -val mockitoVersion: String by rootProject - -dependencies { - implementation(project(":utbot-framework-api")) - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude(group="com.google.guava", module="guava") - } - implementation(project(":utbot-java-fuzzing")) - implementation(project(":utbot-instrumentation")) - implementation(group = "com.github.haifengl", name = "smile-kotlin", version = "2.6.0") - implementation(group = "com.github.haifengl", name = "smile-core", version = "2.6.0") - implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) - implementation("com.github.javaparser:javaparser-core:3.22.1") - testImplementation("org.mockito:mockito-core:$mockitoVersion") - testImplementation("org.junit.jupiter:junit-jupiter:$junit5Version") -} diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/AbstractTextBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/AbstractTextBuilder.kt deleted file mode 100644 index 02c389b6..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/AbstractTextBuilder.kt +++ /dev/null @@ -1,139 +0,0 @@ -package org.utbot.summary - -import com.github.javaparser.ast.expr.BinaryExpr -import com.github.javaparser.ast.expr.VariableDeclarationExpr -import com.github.javaparser.ast.stmt.ExpressionStmt -import com.github.javaparser.ast.stmt.ForEachStmt -import com.github.javaparser.ast.stmt.ForStmt -import com.github.javaparser.ast.stmt.IfStmt -import com.github.javaparser.ast.stmt.Statement -import com.github.javaparser.ast.stmt.SwitchStmt -import com.github.javaparser.ast.stmt.WhileStmt -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.classic.symbolic.IterationDescription -import org.utbot.summary.comment.classic.symbolic.SimpleSentenceBlock -import org.utbot.summary.comment.classic.symbolic.StmtDescription -import org.utbot.summary.comment.classic.symbolic.StmtType -import org.utbot.summary.comment.getTextIterationDescription -import org.utbot.summary.comment.getTextTypeIterationDescription -import org.utbot.summary.comment.numberWithSuffix -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTagWithoutExecution -import soot.SootMethod -import soot.jimple.Stmt -import soot.jimple.internal.JIfStmt -import soot.jimple.internal.JReturnStmt - -abstract class AbstractTextBuilder( - val traceTag: TraceTagWithoutExecution, - val sootToAST: MutableMap -) { - - - protected val methodToNoIterationDescription: MutableMap> = - mutableMapOf() - - protected fun skippedIterations() { - methodToNoIterationDescription.clear() - for ((method, methodAST) in sootToAST) { - val iterationDescriptions = traceTag.noIterationCall.mapNotNull { stmts -> - val stmt = stmts.firstOrNull { stmt -> - (stmt is JIfStmt) && methodAST[stmt] is Statement - } - stmt?.let { - val toLine = stmts.maxOf { it.javaSourceStartLineNumber } - val fromLine = stmts.minOf { it.javaSourceStartLineNumber } - IterationDescription( - fromLine, - toLine, - getTextIterationDescription(methodAST[stmt] as Statement), - getTextTypeIterationDescription(methodAST[stmt] as Statement) - ) - } - }.reversed().toMutableList() - methodToNoIterationDescription[method] = iterationDescriptions - } - } - - protected fun textReturn( - statementTag: StatementTag, - sentenceBlock: SimpleSentenceBlock, - stmt: Stmt, - jimpleToASTMap: JimpleToASTMap - ) { - val numberReturn = traceTag.returnsToNumber?.get(stmt) ?: 0 - val prefixReturnText: String - val returnType: StmtType - - if (numberReturn > 0) { - val numberReturnWithSuffix = numberWithSuffix(numberReturn) - prefixReturnText = "$numberReturnWithSuffix return statement: " - returnType = StmtType.CountedReturn - } else { - prefixReturnText = "" - returnType = StmtType.Return - } - jimpleToASTMap[statementTag.step.stmt]?.let { - val description = if (it is IfStmt) it.thenStmt else it - sentenceBlock.stmtTexts.add( - StmtDescription( - returnType, - description.toString(), - prefix = prefixReturnText - ) - ) - } - } - - protected fun textSwitchCase(step: Step, jimpleToASTMap: JimpleToASTMap): String? = - (jimpleToASTMap[step.stmt] as? SwitchStmt) - ?.let { switchStmt -> - NodeConverter.convertSwitchStmt(switchStmt, step, removeSpaces = false) - } - - protected fun textCondition(statementTag: StatementTag, jimpleToASTMap: JimpleToASTMap): String? { - var reversed = true - val jCondition = statementTag.step.stmt - val astBinaryExpr = jimpleToASTMap[statementTag.step.stmt] - if (jCondition is JIfStmt && astBinaryExpr is BinaryExpr) { - reversed = JimpleToASTMap.isOperatorReversed(jCondition, astBinaryExpr) - } - // filters - if (jCondition is JIfStmt - && (astBinaryExpr is WhileStmt - || astBinaryExpr is ForStmt - || astBinaryExpr is ForEachStmt) - ) { - return null - } - if (astBinaryExpr is ExpressionStmt - && astBinaryExpr.expression is VariableDeclarationExpr - ) { - return null - } - if (astBinaryExpr.toString().contains("return")) { - return null - } - return conditionStep(statementTag.step, reversed, jimpleToASTMap) - } - - protected open fun conditionStep(step: Step, reversed: Boolean, jimpleToASTMap: JimpleToASTMap): String { - var description = "(${jimpleToASTMap[step.stmt]}): " - description += if ((step.decision == 1 && reversed) || (step.decision == 0 && !reversed)) "False" - else "True" - return description - } - - - // In traceTags we have description of each not executed iterations but don't know after which statement we can - // consider it skipped. - // This method identifies iterations which can be considered as skipped after given statementTag - // - // it.from <= statementTag.line && it.to <= statementTag.line filters iteration descriptions - // that described after given statement - protected fun statementTagSkippedIteration(statementTag: StatementTag, sootMethod: SootMethod) = - methodToNoIterationDescription.getOrDefault(sootMethod, emptyList()).filter { iterationDescription -> - iterationDescription.from <= statementTag.line && iterationDescription.to <= statementTag.line - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/DBSCANClusteringConstants.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/DBSCANClusteringConstants.kt deleted file mode 100644 index 29b4a52d..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/DBSCANClusteringConstants.kt +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.summary - -import org.utbot.framework.plugin.api.util.IndentUtil - -object DBSCANClusteringConstants { - /** - * Sets minimum number of successful execution - * for applying the clustering algorithm. - */ - internal const val MIN_NUMBER_OF_EXECUTIONS_FOR_CLUSTERING: Int = 4 - - /** - * DBSCAN hyperparameter. - * - * Sets minimum number of executions to form a cluster. - */ - internal const val MIN_EXEC_DBSCAN: Int = 2 - - /** - * DBSCAN hyperparameter. - * - * Sets radius of search for algorithm. - */ - internal const val RADIUS_DBSCAN: Float = 5.0f -} - -object SummarySentenceConstants { - const val SENTENCE_SEPARATION = ",\n" - const val TAB = IndentUtil.TAB - const val NEW_LINE = "\n" - const val DOT_SYMBOL = '.' - const val COMMA_SYMBOL = ',' - const val SEMI_COLON_SYMBOL = ';' - const val CARRIAGE_RETURN = "\r" - - const val FROM_TO_NAMES_TRANSITION = "->" - const val FROM_TO_NAMES_COLON = ":" - const val AT_CODE = "@code" - const val OPEN_BRACKET = "{" - const val CLOSE_BRACKET = "}" - - const val JAVA_CLASS_DELIMITER = "$" - const val JAVA_DOC_CLASS_DELIMITER = "." -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/NodeConverter.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/NodeConverter.kt deleted file mode 100644 index a1e02cfa..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/NodeConverter.kt +++ /dev/null @@ -1,438 +0,0 @@ -package org.utbot.summary - -import com.github.javaparser.ast.Node -import com.github.javaparser.ast.body.VariableDeclarator -import com.github.javaparser.ast.expr.ArrayAccessExpr -import com.github.javaparser.ast.expr.ArrayCreationExpr -import com.github.javaparser.ast.expr.BinaryExpr -import com.github.javaparser.ast.expr.BooleanLiteralExpr -import com.github.javaparser.ast.expr.CastExpr -import com.github.javaparser.ast.expr.CharLiteralExpr -import com.github.javaparser.ast.expr.ClassExpr -import com.github.javaparser.ast.expr.ConditionalExpr -import com.github.javaparser.ast.expr.DoubleLiteralExpr -import com.github.javaparser.ast.expr.EnclosedExpr -import com.github.javaparser.ast.expr.FieldAccessExpr -import com.github.javaparser.ast.expr.InstanceOfExpr -import com.github.javaparser.ast.expr.IntegerLiteralExpr -import com.github.javaparser.ast.expr.LiteralExpr -import com.github.javaparser.ast.expr.LongLiteralExpr -import com.github.javaparser.ast.expr.MethodCallExpr -import com.github.javaparser.ast.expr.NameExpr -import com.github.javaparser.ast.expr.NullLiteralExpr -import com.github.javaparser.ast.expr.StringLiteralExpr -import com.github.javaparser.ast.expr.UnaryExpr -import com.github.javaparser.ast.expr.VariableDeclarationExpr -import com.github.javaparser.ast.stmt.CatchClause -import com.github.javaparser.ast.stmt.ExpressionStmt -import com.github.javaparser.ast.stmt.ForEachStmt -import com.github.javaparser.ast.stmt.ForStmt -import com.github.javaparser.ast.stmt.IfStmt -import com.github.javaparser.ast.stmt.ReturnStmt -import com.github.javaparser.ast.stmt.SwitchEntry -import com.github.javaparser.ast.stmt.SwitchStmt -import com.github.javaparser.ast.stmt.ThrowStmt -import com.github.javaparser.ast.stmt.WhileStmt -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.SummarySentenceConstants.SEMI_COLON_SYMBOL -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.getTextIterationDescription -import soot.jimple.internal.JIfStmt -import soot.jimple.internal.JLookupSwitchStmt -import soot.jimple.internal.JReturnStmt -import soot.jimple.internal.JTableSwitchStmt -import kotlin.jvm.optionals.getOrNull - - -private const val STATEMENT_DECISION_TRUE = 1 -private const val STATEMENT_DECISION_FALSE = 0 - -class NodeConverter { - - companion object { - /** - * Converts ASTNode into String - * @return String that can be a javadoc - */ - fun convertNodeToString(ASTNode: Node, step: Step): String? { - var res = "" - var node = ASTNode - if (node is EnclosedExpr) node = JimpleToASTMap.unEncloseExpr(node) - convertNodeToStringRecursively(node, step)?.let { - res += it - } - if (step.decision == STATEMENT_DECISION_TRUE) { - if (node is BooleanLiteralExpr - || node is NameExpr - || node is MethodCallExpr - || node is CastExpr - || node is FieldAccessExpr - || node is InstanceOfExpr - || node is ArrayAccessExpr - ) res = "Not$res" - else if (node is UnaryExpr && node.operator == UnaryExpr.Operator.LOGICAL_COMPLEMENT) { - res = - res.removePrefix(convertUnaryOperator(UnaryExpr.Operator.LOGICAL_COMPLEMENT)) // double negative expression is positive expression - } - } - return res.ifEmpty { null } - } - - /** - * Used in a conversion of Node into javadoc String - */ - private fun convertNodeToStringRecursively(ASTNode: Node, step: Step): String? { - val res = when (ASTNode) { - is EnclosedExpr -> convertNodeToStringRecursively(JimpleToASTMap.unEncloseExpr(ASTNode), step) - is BinaryExpr -> convertBinaryExpr(ASTNode, step) - is UnaryExpr -> - convertUnaryOperator(ASTNode.operator) + - convertNodeToStringRecursively(ASTNode.expression, step) - is NameExpr -> "${ASTNode.name}" - is LiteralExpr -> convertLiteralExpression(ASTNode) - is ArrayAccessExpr -> "${ASTNode.index.toString().capitalize()}Of${ - ASTNode.name.toString().capitalize() - }" - is FieldAccessExpr -> { - if (ASTNode.scope is FieldAccessExpr) "${ - convertNodeToStringRecursively( - ASTNode.scope, - step - ) - }${ASTNode.name.toString().capitalize()}" - else "${ASTNode.scope.toString().capitalize()}${ASTNode.name.toString().capitalize()}" - } - is CastExpr -> ASTNode.expression.toString().capitalize() - is MethodCallExpr -> { - if (ASTNode.scope.isPresent) "${ - ASTNode.scope.get().toString().capitalize() - }${ASTNode.name.toString().capitalize()}" - else ASTNode.name.toString().capitalize() - } - is InstanceOfExpr -> { - if (step.decision == STATEMENT_DECISION_TRUE) "${ - ASTNode.expression.toString().capitalize() - }NotInstanceOf${ASTNode.type.toString().capitalize()}" - else "${ASTNode.expression.toString().capitalize()}InstanceOf${ - ASTNode.type.toString().capitalize() - }" - } - is ClassExpr -> "${ASTNode.type}Class" - is ArrayCreationExpr -> "NewArrayOf${ASTNode.createdType().toString().capitalize()}" - is ReturnStmt -> { - if (ASTNode.expression.isPresent) convertNodeToStringRecursively( - ASTNode.expression.get(), - step - ) - else "" - } - is ConditionalExpr -> "${convertNodeToStringRecursively(ASTNode.condition, step)}" - is VariableDeclarationExpr -> ASTNode.variables.joinToString(separator = "") { variable -> - convertNodeToStringRecursively( - variable, - step - ) ?: "" - } - - is VariableDeclarator -> { - val initializer = ASTNode.initializer - if (initializer.isPresent) "${ASTNode.type.toString().capitalize()}${ - ASTNode.name.toString().capitalize() - }InitializedBy${convertNodeToStringRecursively(ASTNode.initializer.get(), step)}" - else "${ASTNode.type.toString().capitalize()}${ASTNode.name.toString().capitalize()}IsInitialized" - } - is CatchClause -> ASTNode.parameter.type.toString() - .capitalize() //add ${ASTNode.parameter.name.toString().capitalize() to print variable name - - is WhileStmt -> convertNodeToStringRecursively(ASTNode.condition, step) - is IfStmt -> convertNodeToStringRecursively(ASTNode.condition, step) - is SwitchEntry -> convertSwitchEntry(ASTNode, step, removeSpaces = true) - is ThrowStmt -> "Throws${ASTNode.expression.toString().removePrefix("new").capitalize()}" - is SwitchStmt -> convertSwitchStmt(ASTNode, step, removeSpaces = true) - is ExpressionStmt -> convertNodeToStringRecursively(ASTNode.expression, step) - - else -> { - null - } - } ?: return null - return postProcessName(res) - } - - /** - * Converts ASTNode into String - * @return String that can be a DisplayName - */ - fun convertNodeToDisplayNameString(ASTNode: Node, step: Step): String { - var node = ASTNode - if (node is ExpressionStmt) node = node.expression - if (node is EnclosedExpr) node = JimpleToASTMap.unEncloseExpr(node) - var res = convertNodeToDisplayNameStringRecursively(node, step) - if (node is ReturnStmt) node = node.expression.getOrNull() ?: node - if (step.stmt is JReturnStmt) return res - if (nodeContainsBooleanCondition(node)) { - res += if (step.decision == STATEMENT_DECISION_TRUE) { - " : False" - } else { - " : True" - } - } - return res - } - - /** - * Checks if node contain any boolean condition - */ - private fun nodeContainsBooleanCondition(node: Node): Boolean { - if (node is ArrayAccessExpr - || node is FieldAccessExpr - || node is CastExpr - || node is NameExpr - || node is BinaryExpr - || node is MethodCallExpr - || node is InstanceOfExpr - || node is UnaryExpr - || node is BooleanLiteralExpr - || node is VariableDeclarationExpr && node.variables.any { nodeContainsBooleanCondition(it) } - ) return true - if (node is VariableDeclarator) { - val initializer = node.initializer.getOrNull() - if (initializer != null) { - return nodeContainsBooleanCondition(initializer) - } - } - return false - } - - /** - * Used in a conversion of Node into DisplayName String - */ - private fun convertNodeToDisplayNameStringRecursively(ASTNode: Node, step: Step): String { - val res = when (ASTNode) { - is EnclosedExpr -> convertNodeToDisplayNameStringRecursively( - JimpleToASTMap.unEncloseExpr(ASTNode), - step - ) - is WhileStmt -> getTextIterationDescription(ASTNode) - is ForStmt -> getTextIterationDescription(ASTNode) - is ForEachStmt -> getTextIterationDescription(ASTNode) - is IfStmt -> convertNodeToDisplayNameStringRecursively(ASTNode.condition, step) - is SwitchEntry -> convertSwitchEntry(ASTNode, step, removeSpaces = false) - is ThrowStmt -> "Throws ${ASTNode.expression.toString().removePrefix("new").capitalize()}" - is SwitchStmt -> convertSwitchStmt(ASTNode, step, removeSpaces = false) - is ExpressionStmt -> convertNodeToDisplayNameStringRecursively(ASTNode.expression, step) - is VariableDeclarationExpr -> ASTNode.variables.joinToString(separator = " ") { variable -> - convertNodeToDisplayNameStringRecursively( - variable, - step - ) - } - else -> { - ASTNode.toString() - } - } - return displayNamePostprocessor(res) - } - - /** - * Replaces one+ whitespaces with one whitespace - */ - private fun displayNamePostprocessor(displayName: String) = - displayName.replace("\\s+".toRegex(), " ").replace("$SEMI_COLON_SYMBOL", "") - - private fun convertBinaryExpr(binaryExpr: BinaryExpr, step: Step): String { - var res = "" - val left = convertNodeToStringRecursively(binaryExpr.left, step) - if (left != null) res += left.capitalize() - val stmt = step.stmt - res += if (stmt is JIfStmt) { - convertBinaryOperator( - binaryExpr.operator, - JimpleToASTMap.isOperatorReversed(stmt, binaryExpr), - step.decision - ).capitalize() - } else { - convertBinaryOperator(binaryExpr.operator, false, step.decision).capitalize() - } - val right = convertNodeToStringRecursively(binaryExpr.right, step) - if (right != null) res += right.capitalize() - return res - } - - fun convertSwitchStmt(switchStmt: SwitchStmt, step: Step, removeSpaces: Boolean = true): String = - convertSwitchLabel(switchStmt, step) - ?.let { label -> - val selector = switchStmt.selector.toString() - formatSwitchLabel(label, selector, removeSpaces) - } - ?: "switch(${switchStmt.selector})" - - fun convertSwitchEntry(switchEntry: SwitchEntry, step: Step, removeSpaces: Boolean = true): String = - (switchEntry.parentNode.getOrNull() as? SwitchStmt) - ?.let { switchStmt -> - val label = convertSwitchLabel(switchStmt, step) ?: getSwitchLabel(switchEntry) - val selector = switchStmt.selector.toString() - formatSwitchLabel(label, selector, removeSpaces) - } - ?: switchEntry.toString() - - private fun getSwitchLabel(node: SwitchEntry): String { - val case = node.labels.first - return if (case.isPresent) "${case.get()}" else "default" - } - - private fun formatSwitchLabel(label: String, selector: String, removeSpaces: Boolean = true): String { - return if (removeSpaces) "Switch${selector.capitalize()}Case" + label.replace(" ", "") - else "switch($selector) case: $label" - } - - private fun convertSwitchLabel(switchStmt: SwitchStmt, step: Step): String? = - when (val stmt = step.stmt) { - is JLookupSwitchStmt -> { - val lookup = stmt.lookupValues - val case = - if (step.decision >= lookup.size) null - else lookup[step.decision].value - - JimpleToASTMap.getSwitchCaseLabel(switchStmt, case) - } - - is JTableSwitchStmt -> { - JimpleToASTMap - .mapSwitchCase(switchStmt, step) - ?.let { getSwitchLabel(it) } - } - - else -> null - } - - /** - * Converts literal into String - */ - private fun convertLiteralExpression(literal: LiteralExpr): String { - val res = when (literal) { - is StringLiteralExpr -> literal.asString() - is CharLiteralExpr -> if (isLegitSymbolForFunctionName(literal.asChar())) "${literal.asChar()}" else "Char" - is DoubleLiteralExpr -> { - when (val literalAsDouble = literal.asDouble()) { - Double.NaN -> "NaN" - Double.MIN_VALUE -> "MinValue" - Double.MAX_VALUE -> "MaxValue" - Double.NEGATIVE_INFINITY -> "NegativeInfinity" - Double.POSITIVE_INFINITY -> "Infinity" - else -> { - when { - literalAsDouble != literalAsDouble -> "NaN" - literalAsDouble < 0 -> "Negative${literal.asDouble().toInt()}d" - literalAsDouble == 0.0 -> "Zero" - literalAsDouble == -0.0 -> "Zero" - else -> "${ - literal.asDouble().toInt() - }d" //seems kinda wrong, . can be replaced with "dot" or something else - } - } - } - } - is IntegerLiteralExpr -> { - var str = "" - if (literal.asNumber().toInt() < 0) str += "Negative" - str += if (literal.asNumber().toInt() == 0) "Zero" else "$literal" - str - } - is LongLiteralExpr -> { - var str = "" - if (literal.asNumber().toLong() < 0) str += "Negative" - str += if (literal.asNumber().toInt() == 0) "Zero" else "$literal" - str - } - is BooleanLiteralExpr -> literal.toString() - is NullLiteralExpr -> "Null" - else -> "" - } - return res.capitalize() - } - - /** - * Checks if symbol can be used in function name - * @see Java documentation: Identifiers - */ - private fun isLegitSymbolForFunctionName(ch: Char): Boolean { - return (ch in '0'..'9' - || ch in 'a'..'z' - || ch in 'A'..'Z' - || ch == '_' - || ch == '$' - ) - } - - /** - * Capitalizes method name. - * - * It splits the text by delimiters, capitalizes each part, removes special characters and concatenates result. - */ - private fun postProcessName(name: String) = - name.split(".", "(", ")", ",") - .joinToString("") { it -> it.capitalize().filter { isLegitSymbolForFunctionName(it) } } - - /** - * Converts Javaparser BinaryOperator and all of its children into a String - */ - private fun convertBinaryOperator( - binaryOperator: BinaryExpr.Operator, - isOperatorReversed: Boolean, - decision: Int - ): String { - var operator = binaryOperator - if ((isOperatorReversed && decision == STATEMENT_DECISION_TRUE) || (!isOperatorReversed && decision == STATEMENT_DECISION_FALSE)) { - operator = reverseBinaryOperator(operator) ?: binaryOperator - } - return when (operator) { - BinaryExpr.Operator.OR -> "Or" - BinaryExpr.Operator.AND -> "And" - BinaryExpr.Operator.BINARY_OR -> "BitwiseOr" - BinaryExpr.Operator.BINARY_AND -> "BitwiseAnd" - BinaryExpr.Operator.XOR -> "Xor" - BinaryExpr.Operator.EQUALS -> "Equals" - BinaryExpr.Operator.NOT_EQUALS -> "NotEquals" - BinaryExpr.Operator.LESS -> "LessThan" - BinaryExpr.Operator.GREATER -> "GreaterThan" - BinaryExpr.Operator.LESS_EQUALS -> "LessOrEqual" - BinaryExpr.Operator.GREATER_EQUALS -> "GreaterOrEqual" - BinaryExpr.Operator.LEFT_SHIFT -> "LeftShift" - BinaryExpr.Operator.SIGNED_RIGHT_SHIFT -> "RightShift" - BinaryExpr.Operator.UNSIGNED_RIGHT_SHIFT -> "UnsignedRightShift" - BinaryExpr.Operator.PLUS -> "Plus" - BinaryExpr.Operator.MINUS -> "Minus" - BinaryExpr.Operator.MULTIPLY -> "Multiply" - BinaryExpr.Operator.DIVIDE -> "Divide" - BinaryExpr.Operator.REMAINDER -> "RemainderOf" //does it sounds strange? or is it ok - } - } - - /** - * Reverts Javaparser binary operator if possible - */ - private fun reverseBinaryOperator(operator: BinaryExpr.Operator) = when (operator) { - BinaryExpr.Operator.EQUALS -> BinaryExpr.Operator.NOT_EQUALS - BinaryExpr.Operator.NOT_EQUALS -> BinaryExpr.Operator.EQUALS - BinaryExpr.Operator.LESS -> BinaryExpr.Operator.GREATER_EQUALS - BinaryExpr.Operator.GREATER -> BinaryExpr.Operator.LESS_EQUALS - BinaryExpr.Operator.LESS_EQUALS -> BinaryExpr.Operator.GREATER - BinaryExpr.Operator.GREATER_EQUALS -> BinaryExpr.Operator.LESS - else -> null - } - - /** - * Converts Javaparser unary operator to String - */ - private fun convertUnaryOperator(unaryOperator: UnaryExpr.Operator) = when (unaryOperator) { - UnaryExpr.Operator.PLUS -> "Plus" - UnaryExpr.Operator.MINUS -> "Negative" - UnaryExpr.Operator.PREFIX_INCREMENT -> "PrefixIncrement" - UnaryExpr.Operator.PREFIX_DECREMENT -> "PrefixDecrement" - UnaryExpr.Operator.LOGICAL_COMPLEMENT -> "Not" //! or LogicalComplement - UnaryExpr.Operator.BITWISE_COMPLEMENT -> "BitwiseComplement" - UnaryExpr.Operator.POSTFIX_INCREMENT -> "PostfixIncrement" - UnaryExpr.Operator.POSTFIX_DECREMENT -> "PostfixDecrement" - } - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt deleted file mode 100644 index d53f59b7..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/Summarization.kt +++ /dev/null @@ -1,436 +0,0 @@ -package org.utbot.summary - -import com.github.javaparser.ast.body.MethodDeclaration -import org.utbot.framework.plugin.api.UtClusterInfo -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.framework.plugin.api.UtExecutionCluster -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.instrumentation.instrumentation.instrumenter.Instrumenter -import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.analysis.ExecutionStructureAnalysis -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.ast.SourceCodeParser -import org.utbot.summary.comment.cluster.SymbolicExecutionClusterCommentBuilder -import org.utbot.summary.comment.classic.symbolic.SimpleCommentBuilder -import org.utbot.summary.name.SimpleNameBuilder -import java.io.File -import java.nio.file.Path -import mu.KotlinLogging -import org.utbot.common.measureTime -import org.utbot.common.info -import org.utbot.framework.SummariesGenerationType.* -import org.utbot.framework.UtSettings.enableClusterCommentsGeneration -import org.utbot.framework.UtSettings.enableJavaDocGeneration -import org.utbot.framework.UtSettings.useDisplayNameArrowStyle -import org.utbot.framework.UtSettings.enableDisplayNameGeneration -import org.utbot.framework.UtSettings.enableTestNamesGeneration -import org.utbot.framework.UtSettings.summaryGenerationType -import org.utbot.framework.UtSettings.useCustomJavaDocTags -import org.utbot.framework.plugin.api.util.isConstructor -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue -import org.utbot.fuzzer.UtFuzzedExecution -import org.utbot.summary.fuzzer.names.MethodBasedNameSuggester -import org.utbot.summary.fuzzer.names.ModelBasedNameSuggester -import org.utbot.summary.comment.customtags.symbolic.CustomJavaDocCommentBuilder -import soot.SootMethod - -private val logger = KotlinLogging.logger {} - -fun Collection.summarizeAll(searchDirectory: Path, sourceFile: File?): List = logger.info().measureTime({ - "----------------------------------------------------------------------------------------\n" + - "-------------------Summarization started for ${this.size} test cases--------------------\n" + - "----------------------------------------------------------------------------------------" - }) { - this.map { - it.summarizeOne(searchDirectory, sourceFile) - } -} - -private fun UtMethodTestSet.summarizeOne(searchDirectory: Path, sourceFile: File?): UtMethodTestSet = logger.info().measureTime({ "Summarization for ${this.method}"} ){ - if (summaryGenerationType == NONE) return this - - val sourceFileToAnalyze = sourceFile - ?: when (summaryGenerationType) { - FULL -> Instrumenter.adapter.computeSourceFileByClass(this.method.classId.jClass, searchDirectory) - LIGHT, - NONE -> null - } - - makeDiverseExecutions(this) - - // HACK: we avoid calling [invokeDescriptions] method to save time, it is useless in Contest - val invokeDescriptions = when (summaryGenerationType) { - FULL -> invokeDescriptions(this, searchDirectory) - LIGHT, - NONE -> emptyList() - } - - // every cluster has summary and list of executions - val executionClusters = Summarization(sourceFileToAnalyze, invokeDescriptions).fillSummaries(this) - val updatedExecutions = executionClusters.flatMap { it.executions } - var pos = 0 - val clustersInfo = executionClusters.map { - val clusterSize = it.executions.size - val indices = pos until (pos + clusterSize) - pos += clusterSize - it.clusterInfo to indices - } - return this.copy( - executions = updatedExecutions, - clustersInfo = clustersInfo - ) // TODO: looks weird and don't create the real copy -} - -class Summarization(val sourceFile: File?, val invokeDescriptions: List) { - private val tagGenerator = TagGenerator() - private val jimpleBodyAnalysis = ExecutionStructureAnalysis() - - fun fillSummaries(testSet: UtMethodTestSet): List { - if (testSet.executions.isEmpty()) { - logger.info { - "No execution traces found in test case " + - "for method ${testSet.method.classId.name}, " + "${testSet.jimpleBody}" - } - return listOf(UtExecutionCluster(UtClusterInfo(), testSet.executions)) - } - - val executionClusters = mutableListOf() - - when (summaryGenerationType) { - FULL -> { - executionClusters += generateSummariesForTestsWithNonEmptyPathsProducedBySymbolicExecutor(testSet) - executionClusters += generateFuzzerBasedSummariesForTests(testSet) - executionClusters += generateSummariesForTestsWithEmptyPathsProducedBySymbolicExecutor(testSet) - } - LIGHT -> { - executionClusters += generateFuzzerBasedSummariesForTests(testSet, MethodDescriptionSource.SYMBOLIC) - executionClusters += generateFuzzerBasedSummariesForTests(testSet) - } - NONE -> error("We must not fill summaries if SummariesGenerationType is NONE") - } - - return if (enableClusterCommentsGeneration && executionClusters.size > 0) - executionClusters - else - listOf(UtExecutionCluster(UtClusterInfo(), testSet.executions)) - } - - private fun generateSummariesForTestsWithNonEmptyPathsProducedBySymbolicExecutor( - testSet: UtMethodTestSet - ): List { - val clustersToReturn: MutableList = mutableListOf() - val testSetWithNonEmptyPaths = prepareTestSetForByteCodeAnalysis(testSet) - - val sootToAST = sootToAST(testSetWithNonEmptyPaths) - val jimpleBody = testSet.jimpleBody - val updatedExecutions = mutableListOf() - val namesCounter = mutableMapOf() - - // analyze - if (jimpleBody != null && sootToAST != null) { - val methodUnderTest = jimpleBody.method - val clusteredTags = tagGenerator.testSetToTags(testSetWithNonEmptyPaths) - jimpleBodyAnalysis.traceStructuralAnalysis(jimpleBody, clusteredTags, methodUnderTest, invokeDescriptions) - val numberOfSuccessfulClusters = clusteredTags.filter { it.isSuccessful }.size - for (clusterTraceTags in clusteredTags) { - val clusterHeader = clusterTraceTags.clusterHeader.takeIf { enableClusterCommentsGeneration } - val clusterContent = if ( - enableClusterCommentsGeneration && clusterTraceTags.isSuccessful // add only for successful executions - && numberOfSuccessfulClusters > 1 // there is more than one successful execution - && clusterTraceTags.traceTags.size > 1 // add if there is more than 1 execution - ) { - SymbolicExecutionClusterCommentBuilder(clusterTraceTags.commonStepsTraceTag, sootToAST) - .buildString(methodUnderTest) - .takeIf { it.isNotBlank() } - ?.let { - buildString { - append("${NEW_LINE}Common steps:") - append("$NEW_LINE$it") - } - } - } else { - null // TODO: handle it correctly, something like common cluster or something else - } - - for (traceTags in clusterTraceTags.traceTags) { - if (enableJavaDocGeneration) { - if (useCustomJavaDocTags) { - traceTags.execution.summary = - CustomJavaDocCommentBuilder(traceTags, sootToAST).buildDocStatements(methodUnderTest) - } else { - traceTags.execution.summary = - SimpleCommentBuilder(traceTags, sootToAST).buildDocStmts(methodUnderTest) - } - } - - if (enableDisplayNameGeneration || enableTestNamesGeneration) { - val simpleNameBuilder = SimpleNameBuilder(traceTags, sootToAST, methodUnderTest) - val name = simpleNameBuilder.name - val displayName = simpleNameBuilder.displayName - val fromToName = simpleNameBuilder.fromToName - val nameIndex = namesCounter.getOrPut(name) { 0 } - namesCounter[name] = nameIndex + 1 - updatedExecutions += traceTags.execution - if (enableDisplayNameGeneration) { - if (!useDisplayNameArrowStyle) { - traceTags.execution.displayName = displayName - } else { - traceTags.execution.displayName = fromToName - } - } - if (enableTestNamesGeneration) { - traceTags.execution.testMethodName = name - if (nameIndex != 0) traceTags.execution.testMethodName += "_$nameIndex" - } - } - - logger.debug { "Summary:\n${traceTags.execution.summary}" } - logger.debug { "Name: ${traceTags.execution.testMethodName}" } - } - clustersToReturn.add( - UtExecutionCluster( - UtClusterInfo(clusterHeader, clusterContent), - clusterTraceTags.traceTags.map { it.execution } - ) - ) - } - - return clustersToReturn.toList() - } - - // if there is no Jimple body or no AST, return one cluster with empty summary and all executions - return listOf(UtExecutionCluster(UtClusterInfo(), testSet.executions)) - } - - private fun generateSummariesForTestsWithEmptyPathsProducedBySymbolicExecutor( - testSet: UtMethodTestSet, - ): List { - val clustersToReturn: MutableList = mutableListOf() - val testSetWithEmptyPaths = prepareTestSetWithEmptyPaths(testSet) - - val executionsWithEmptyPaths = testSetWithEmptyPaths.executions - - if (executionsWithEmptyPaths.isNotEmpty()) { - executionsWithEmptyPaths.forEach { - logger.info { - "The path for test ${it.testMethodName} " + - "for method ${testSet.method.classId.name} is empty and summaries could not be generated." - } - } - - val clusteredExecutions = groupExecutionsWithEmptyPaths(testSetWithEmptyPaths) - - clusteredExecutions.forEach { - clustersToReturn.add( - UtExecutionCluster( - UtClusterInfo(it.header), - it.executions - ) - ) - } - } - return clustersToReturn.toList() - } - - private fun generateFuzzerBasedSummariesForTests( - testSet: UtMethodTestSet, - descriptionSource: MethodDescriptionSource = MethodDescriptionSource.FUZZER - ): List { - val clustersToReturn: MutableList = mutableListOf() - val methodTestSet = when (descriptionSource) { - MethodDescriptionSource.FUZZER -> prepareTestSetWithFuzzedExecutions(testSet) - MethodDescriptionSource.SYMBOLIC -> prepareTestSetForByteCodeAnalysis(testSet) - } - - if (methodTestSet.executions.isNotEmpty()) { - methodTestSet.executions.forEach { utExecution -> - val nameSuggester = sequenceOf(ModelBasedNameSuggester(), MethodBasedNameSuggester(descriptionSource)) - val testMethodName = try { - nameSuggester.flatMap { - when (descriptionSource) { - MethodDescriptionSource.FUZZER -> { - with(utExecution as UtFuzzedExecution) { - it.suggest( - utExecution.fuzzedMethodDescription as FuzzedMethodDescription, - utExecution.fuzzingValues as List, - utExecution.result - ) - } - } - - MethodDescriptionSource.SYMBOLIC -> { - val executableId = testSet.method - val description = FuzzedMethodDescription(executableId).apply { - compilableName = if (!executableId.isConstructor) executableId.name else null - } - it.suggest( - description, - utExecution.stateBefore.parameters.map { value -> FuzzedValue(value) }, - utExecution.result - ) - } - } - }.firstOrNull() - } catch (t: Throwable) { - logger.error(t) { "Cannot create suggested test name for $utExecution" } // TODO: add better explanation or default behaviour - null - } - - utExecution.testMethodName = testMethodName?.testName - utExecution.displayName = testMethodName?.displayName - utExecution.summary = testMethodName?.javaDoc - } - - val clusteredExecutions = groupFuzzedExecutions(methodTestSet) - clusteredExecutions.forEach { - clustersToReturn.add( - UtExecutionCluster( - UtClusterInfo(it.header), - it.executions - ) - ) - } - } - - return clustersToReturn.toList() - } - - /** Filter and copies executions with non-empty paths. */ - private fun prepareTestSetForByteCodeAnalysis(testSet: UtMethodTestSet): UtMethodTestSet { - val executions = - testSet.executions.filterIsInstance() - .filter { it.path.isNotEmpty() } - - return UtMethodTestSet( - method = testSet.method, - executions = executions, - jimpleBody = testSet.jimpleBody, - errors = testSet.errors, - clustersInfo = testSet.clustersInfo - ) - } - - /** Filter and copies fuzzed executions. */ - private fun prepareTestSetWithFuzzedExecutions(testSet: UtMethodTestSet): UtMethodTestSet { - val executions = testSet.executions.filterIsInstance() - - return UtMethodTestSet( - method = testSet.method, - executions = executions, - jimpleBody = testSet.jimpleBody, - errors = testSet.errors, - clustersInfo = testSet.clustersInfo - ) - } - - /** Filter and copies executions with non-empty paths. */ - private fun prepareTestSetWithEmptyPaths(testSet: UtMethodTestSet): UtMethodTestSet { - val executions = - testSet.executions.filterIsInstance() - .filter { it.path.isEmpty() } - - return UtMethodTestSet( - method = testSet.method, - executions = executions, - jimpleBody = testSet.jimpleBody, - errors = testSet.errors, - clustersInfo = testSet.clustersInfo - ) - } - - /** ASTs of invokes are also included. */ - private fun sootToAST( - testSet: UtMethodTestSet - ): MutableMap? { - val sootToAST = mutableMapOf() - val jimpleBody = testSet.jimpleBody - if (jimpleBody == null) { - logger.debug { "No jimple body of method under test ${testSet.method.name}." } - return null - } - - if (sourceFile != null && sourceFile.exists()) { - val methodUnderTestAST = SourceCodeParser(sourceFile, testSet).methodAST - - if (methodUnderTestAST == null) { - logger.debug { "Couldn't parse source file with path ${sourceFile.absolutePath} of method under test ${testSet.method.name}." } - return null - } - - sootToAST[jimpleBody.method] = JimpleToASTMap(jimpleBody.units, methodUnderTestAST) - invokeDescriptions.forEach { - sootToAST[it.sootMethod] = JimpleToASTMap(it.sootMethod.jimpleBody().units, it.ast) - } - return sootToAST - } else { - logger.debug { "Couldn't find source file of method under test ${testSet.method.name}." } - return null - } - } -} - -private fun makeDiverseExecutions(testSet: UtMethodTestSet) { - val symbolicExecutions = testSet.executions.filterIsInstance() - - val maxDepth = symbolicExecutions.flatMap { it.path }.maxOfOrNull { it.depth } ?: 0 - - if (maxDepth > 0) { - logger.info { "Recursive function, max recursion: $maxDepth" } - return - } - - var diversity = percentageDiverseExecutions(symbolicExecutions) - if (diversity >= 50) { - logger.info { "Diversity execution path percentage: $diversity" } - return - } - - for (depth in 1..2) { - logger.info { "Depth to add: $depth" } - stepsUpToDepth(symbolicExecutions, depth) - diversity = percentageDiverseExecutions(symbolicExecutions) - - if (diversity >= 50) { - logger.info { "Diversity execution path percentage: $diversity" } - return - } - } -} - -private fun invokeDescriptions(testSet: UtMethodTestSet, searchDirectory: Path): List { - val sootInvokes = - testSet.executions.filterIsInstance().flatMap { it.path.invokeJimpleMethods() }.toSet() - - return sootInvokes - //TODO(SAT-1170) - .filterNot { "\$lambda" in it.declaringClass.name } - .mapNotNull { sootMethod -> - val methodFile = Instrumenter.adapter.computeSourceFileByNameAndPackage( - sootMethod.declaringClass.name, - sootMethod.declaringClass.javaPackageName.replace(".", File.separator), - searchDirectory - ) - - if (methodFile != null && methodFile.exists()) { - val ast = methodFile.let { - SourceCodeParser(sootMethod, it).methodAST - } - if (ast != null) InvokeDescription(sootMethod, ast) else null - } else { - null - } - } -} - -data class InvokeDescription(val sootMethod: SootMethod, val ast: MethodDeclaration) - -/** - * Sometimes, we need to use fuzzer for preparing summaries even for [UtSymbolicExecution]s. - * See [Summarization.generateFuzzerBasedSummariesForTests]. - */ -enum class MethodDescriptionSource { - FUZZER, - SYMBOLIC, -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/TagGenerator.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/TagGenerator.kt deleted file mode 100644 index 0e594748..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/TagGenerator.kt +++ /dev/null @@ -1,269 +0,0 @@ -package org.utbot.summary - -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.UtConcreteExecutionFailure -import org.utbot.framework.plugin.api.UtConcreteExecutionProcessedFailure -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.framework.plugin.api.UtExplicitlyThrownException -import org.utbot.framework.plugin.api.UtImplicitlyThrownException -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.UtOverflowFailure -import org.utbot.framework.plugin.api.UtSandboxFailure -import org.utbot.framework.plugin.api.UtStreamConsumingFailure -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.framework.plugin.api.UtTimeoutException -import org.utbot.framework.plugin.api.UtTaintAnalysisFailure -import org.utbot.framework.plugin.api.util.humanReadableName -import org.utbot.framework.plugin.api.util.isCheckedException -import org.utbot.fuzzer.UtFuzzedExecution -import org.utbot.summary.DBSCANClusteringConstants.MIN_NUMBER_OF_EXECUTIONS_FOR_CLUSTERING -import org.utbot.summary.clustering.MatrixUniqueness -import org.utbot.summary.clustering.SplitSteps -import org.utbot.summary.tag.TraceTag -import org.utbot.summary.tag.TraceTagWithoutExecution - -class TagGenerator { - fun testSetToTags(testSet: UtMethodTestSet): List { - val clusteredExecutions = toClusterExecutions(testSet) - val traceTagClusters = mutableListOf() - - val numberOfSuccessfulClusters = clusteredExecutions.filterIsInstance().size - - if (clusteredExecutions.isNotEmpty()) { - val listOfSplitSteps = clusteredExecutions.map { - val mUniqueness = MatrixUniqueness(it.executions as List) - mUniqueness.splitSteps() - } - - // intersections of steps ONLY in successful clusters - var stepsIntersections = listOf() - - // we only want to find intersections if there is more than one successful execution - if (numberOfSuccessfulClusters > 1 && REMOVE_INTERSECTIONS) { - val commonStepsInSuccessfulEx = listOfSplitSteps - .filterIndexed { i, _ -> clusteredExecutions[i] is SuccessfulExecutionCluster } // search only in successful - .map { it.commonSteps } - .filter { it.isNotEmpty() } - if (commonStepsInSuccessfulEx.size > 1) { - stepsIntersections = commonStepsInSuccessfulEx.first() - for (steps in commonStepsInSuccessfulEx) { - stepsIntersections = stepsIntersections.intersect(steps).toList() - } - } - } - - // for every cluster and step add TraceTagCluster - clusteredExecutions.zip(listOfSplitSteps) { cluster, splitSteps -> - val commonStepsInCluster = - if (stepsIntersections.isNotEmpty() && numberOfSuccessfulClusters > 1) { - splitSteps.commonSteps.subtract(stepsIntersections) - } else splitSteps.commonSteps - - val splitStepsModified = SplitSteps( - uniqueSteps = commonStepsInCluster.toList() - ) - - traceTagClusters.add( - TraceTagCluster( - cluster.header, - generateExecutionTags(cluster.executions as List, splitSteps), - TraceTagWithoutExecution( - commonStepsInCluster.toList(), - cluster.executions.first().result, - splitStepsModified - ), - cluster is SuccessfulExecutionCluster - ) - ) - } - } // clusteredExecutions should not be empty! - - return traceTagClusters - } -} - -/** - * @return list of TraceTag created from executions and splitsSteps - */ -private fun generateExecutionTags(executions: List, splitSteps: SplitSteps): List = - executions.map { TraceTag(it, splitSteps) } - - -/** - * Splits executions with empty paths into clusters. - * - * @return clustered executions. - */ -fun groupExecutionsWithEmptyPaths(testSet: UtMethodTestSet): List { - val methodExecutions = testSet.executions.filterIsInstance() - val clusters = mutableListOf() - val commentPrefix = "OTHER:" - val commentPostfix = "for method ${testSet.method.humanReadableName}" - - val grouped = methodExecutions.groupBy { it.result.clusterKind() } - - val successfulExecutions = grouped[ExecutionGroup.SUCCESSFUL_EXECUTIONS] ?: emptyList() - if (successfulExecutions.isNotEmpty()) { - clusters += SuccessfulExecutionCluster( - "$commentPrefix ${ExecutionGroup.SUCCESSFUL_EXECUTIONS.displayName} $commentPostfix", - successfulExecutions.toList() - ) - } - - clusters += addClustersOfFailedExecutions(grouped, commentPrefix, commentPostfix) - return clusters -} - -/** - * Splits fuzzed executions into clusters. - * - * @return clustered executions. - */ -fun groupFuzzedExecutions(testSet: UtMethodTestSet): List { - val methodExecutions = testSet.executions.filterIsInstance() - val clusters = mutableListOf() - val commentPrefix = "FUZZER:" - val commentPostfix = "for method ${testSet.method.humanReadableName}" - - val grouped = methodExecutions.groupBy { it.result.clusterKind() } - - val successfulExecutions = grouped[ExecutionGroup.SUCCESSFUL_EXECUTIONS] ?: emptyList() - if (successfulExecutions.isNotEmpty()) { - clusters += SuccessfulExecutionCluster( - "$commentPrefix ${ExecutionGroup.SUCCESSFUL_EXECUTIONS.displayName} $commentPostfix", - successfulExecutions.toList() - ) - } - - clusters += addClustersOfFailedExecutions(grouped, commentPrefix, commentPostfix) - return clusters -} - -/** - * Splits symbolic executions into clusters. - * - * If Success cluster has more than [MIN_NUMBER_OF_EXECUTIONS_FOR_CLUSTERING] execution - * then clustering algorithm splits those into more clusters. - * - * @return clustered executions. - */ -private fun toClusterExecutions(testSet: UtMethodTestSet): List { - val methodExecutions = testSet.executions.filterIsInstance() - val clusters = mutableListOf() - val commentPrefix = "SYMBOLIC EXECUTION:" - val commentPostfix = "for method ${testSet.method.humanReadableName}" - - val grouped = methodExecutions.groupBy { it.result.clusterKind() } - - val successfulExecutions = grouped[ExecutionGroup.SUCCESSFUL_EXECUTIONS] ?: emptyList() - if (successfulExecutions.isNotEmpty()) { - val clustered = - if (successfulExecutions.size >= MIN_NUMBER_OF_EXECUTIONS_FOR_CLUSTERING) { - MatrixUniqueness.dbscanClusterExecutions(successfulExecutions) // TODO: only successful? - } else emptyMap() - - if (clustered.size > 1) { - for (c in clustered) { - clusters += - SuccessfulExecutionCluster( - "$commentPrefix ${ExecutionGroup.SUCCESSFUL_EXECUTIONS.displayName} #${clustered.keys.indexOf(c.key)} $commentPostfix", - c.value.toList() - ) - } - } else { - clusters += - SuccessfulExecutionCluster( - "$commentPrefix ${ExecutionGroup.SUCCESSFUL_EXECUTIONS.displayName} $commentPostfix", - successfulExecutions.toList() - ) - } - } - - clusters += addClustersOfFailedExecutions(grouped, commentPrefix, commentPostfix) - return clusters -} - -private fun addClustersOfFailedExecutions( - grouped: Map>, - commentPrefix: String, - commentPostfix: String -): List { - val clusters = grouped - .filterNot { (kind, _) -> kind == ExecutionGroup.SUCCESSFUL_EXECUTIONS } - .map { (suffixId, group) -> - FailedExecutionCluster("$commentPrefix ${suffixId.displayName} $commentPostfix", group) - } - - return clusters -} - -/** The group of execution to be presented in the generated source file with tests. */ -enum class ExecutionGroup { - SUCCESSFUL_EXECUTIONS, - ERROR_SUITE, - CHECKED_EXCEPTIONS, - EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS, - OVERFLOWS, - TIMEOUTS, - - /** - * Executions that caused by `InstrumentedProcessDeath` exception. - * Generated tests will be disabled du to possible JVM crash. - */ - CRASH_SUITE, - - TAINT_ANALYSIS, - SECURITY; - - val displayName: String get() = toString().replace('_', ' ') -} - -private fun UtExecutionResult.clusterKind() = when (this) { - is UtExecutionSuccess -> ExecutionGroup.SUCCESSFUL_EXECUTIONS - is UtImplicitlyThrownException -> if (this.exception.isCheckedException) ExecutionGroup.CHECKED_EXCEPTIONS else ExecutionGroup.ERROR_SUITE - is UtExplicitlyThrownException -> if (this.exception.isCheckedException) ExecutionGroup.CHECKED_EXCEPTIONS else ExecutionGroup.EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS - is UtStreamConsumingFailure -> ExecutionGroup.ERROR_SUITE - is UtOverflowFailure -> ExecutionGroup.OVERFLOWS - is UtTimeoutException -> ExecutionGroup.TIMEOUTS - is UtConcreteExecutionFailure -> ExecutionGroup.CRASH_SUITE - is UtSandboxFailure -> ExecutionGroup.SECURITY - is UtTaintAnalysisFailure -> ExecutionGroup.TAINT_ANALYSIS - is UtConcreteExecutionProcessedFailure -> - error("Processed failure must not be found in generated tests, it can just happen on intermediate phases of tests generation") -} - -/** - * Structure used to represent execution cluster with header - */ -sealed class ExecutionCluster(var header: String, val executions: List) - -/** - * Represents successful execution cluster - */ -private class SuccessfulExecutionCluster(header: String, executions: List) : - ExecutionCluster(header, executions) - -/** - * Represents failed execution cluster - */ -private class FailedExecutionCluster(header: String, executions: List) : - ExecutionCluster(header, executions) - -/** - * Removes intersections (steps that occur in all of successful executions) from cluster comment - * If false then intersections will be printed in cluster comment - */ -private const val REMOVE_INTERSECTIONS: Boolean = true - -/** - * Represents execution cluster - * Contains the entities required for summarization - */ -data class TraceTagCluster( - var clusterHeader: String, - val traceTags: List, - val commonStepsTraceTag: TraceTagWithoutExecution, - val isSuccessful: Boolean -) diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/Util.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/Util.kt deleted file mode 100644 index b5f41607..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/Util.kt +++ /dev/null @@ -1,66 +0,0 @@ -package org.utbot.summary - -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.summary.tag.BasicTypeTag -import org.utbot.summary.tag.getBasicTypeTag -import soot.SootClass -import soot.SootMethod -import soot.jimple.JimpleBody -import soot.jimple.internal.JAssignStmt -import soot.jimple.internal.JInvokeStmt - - -fun List.isEqualPath(other: List): Boolean { - - if (this.size != other.size) { - return false - } - - return this.zip(other).all { (x, y) -> x == y } -} - -fun List.invokes() = this.filter { getBasicTypeTag(it.stmt) == BasicTypeTag.Invoke }.map { it.stmt } - - -fun List.invokeJimpleMethods(): List = - this.invokes().filter { it is JInvokeStmt || it is JAssignStmt } - .map { - it.invokeExpr.method - } - -fun stepsUpToDepth(executions: List, depth: Int) { - for (execution in executions) { - execution.path.clear() - execution.path.addAll(execution.fullPath.filter { it.depth <= depth }) - } -} - -/* -* from 0 to 100 -* */ -fun percentageDiverseExecutions(executions: List): Int { - if (executions.isEmpty()) return 100 - val diverseExecutions = numberDiverseExecutionsBasedOnPaths(executions) - return 100 * diverseExecutions.size / executions.size -} - -fun numberDiverseExecutionsBasedOnPaths(executions: List) = executions.filter { current -> - executions.filter { it != current }.any { other -> - current.path.isEqualPath(other.path) - }.not() -} - -/* - * Copy from framework -> Extensions.kt - */ -fun SootClass.adjustLevel(level: Int) { - if (resolvingLevel() < level) { - setResolvingLevel(level) - } -} - -fun SootMethod.jimpleBody(): JimpleBody { - declaringClass.adjustLevel(SootClass.BODIES) - return retrieveActiveBody() as JimpleBody -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/analysis/ExecutionStructureAnalysis.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/analysis/ExecutionStructureAnalysis.kt deleted file mode 100644 index c25b2874..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/analysis/ExecutionStructureAnalysis.kt +++ /dev/null @@ -1,382 +0,0 @@ -package org.utbot.summary.analysis - -import org.utbot.summary.InvokeDescription -import org.utbot.summary.TraceTagCluster -import org.utbot.summary.jimpleBody -import org.utbot.summary.tag.BasicTypeTag -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTag -import soot.SootMethod -import soot.jimple.JimpleBody -import soot.jimple.Stmt -import soot.jimple.internal.JGotoStmt -import soot.jimple.internal.JIfStmt -import soot.jimple.internal.JReturnStmt - -const val ASSIGN_DECISION_NUM = 0 -const val CALL_DECISION_NUM = -2 -//const val RETURN_DECISION_NUM = -1 - -class ExecutionStructureAnalysis { - - /** - * Deep structural analyzes of each trace is performed. - * Recursion and loops are identified, then registered in each trace - * code statement environment is updated: is it in method under test, or inside of invoke, etc - */ - fun traceStructuralAnalysis( - jimpleBody: JimpleBody, - clusteredTags: List, - methodUnderTest: SootMethod, - invokeDescriptions: List - ) { - val traceTags = clusteredTags.map { it.traceTags } - val stmts = jimpleBody.units.filterIsInstance() - analyzeForRecursionsAndLoops(jimpleBody, traceTags, methodUnderTest) - invokeDescriptions.forEach { invokeDescription -> - analyzeForRecursionsAndLoops( - invokeDescription.sootMethod.jimpleBody(), - traceTags, - methodUnderTest - ) - } - updateCodeExecutionEnvironmentTag(traceTags) - fromTwoInvokesToOneInvoke(traceTags) - indicesReturns(stmts, traceTags) - } - - /** - * Analyze traces with given soot method for recursion and loop occurrences - * @see findLoops - * @see checkInvokedMethodForRecursion - */ - private fun analyzeForRecursionsAndLoops( - jimpleBody: JimpleBody, - traceTags: List>, - methodUnderTest: SootMethod - ) { - val stmts = jimpleBody.units.filterIsInstance() - findLoops(stmts, traceTags) - checkInvokedMethodForRecursion(methodUnderTest, traceTags) - } - - /** - * In every trace find and delete one of two Jimple descriptions of assigned invoke. - * @see ExecutionStructureAnalysis#fromTwoInvokesToOneInvoke - */ - private fun fromTwoInvokesToOneInvoke(traceTags: List>) { - for (clusterTags in traceTags) { - for (traceTag in clusterTags) { - fromTwoInvokesToOneInvoke(traceTag.rootStatementTag) - } - } - } - - /** - * Function finds two descriptions of Jimple invokes that belong to actual single call in source code. - * Soot translates assigned invokes into two Jimple commands. - * Ex.: int c = math.plus(a, b) translated -> - * call a = math.plus(a, b) // Jimple call invoke Math::plus - * assign a = math.plus(a, b) // Jimple assign result of invoke Math::plus - * Delete of extra invoke: - * @see ExecutionStructureAnalysis#skipAssignInvokeStatement - */ - private fun fromTwoInvokesToOneInvoke(stmtTag: StatementTag?) { - val nextStmtTag = stmtTag?.next - if (stmtTag == null || nextStmtTag == null) { - return - } - if (stmtTag.basicTypeTag == BasicTypeTag.Invoke && nextStmtTag.basicTypeTag == BasicTypeTag.Invoke) { - skipAssignInvokeStatement(stmtTag, nextStmtTag) - } - if (stmtTag.basicTypeTag == BasicTypeTag.RecursionAssignment && nextStmtTag.basicTypeTag == BasicTypeTag.RecursionAssignment) { - skipAssignInvokeStatement(stmtTag, nextStmtTag) - } - fromTwoInvokesToOneInvoke(stmtTag.invoke) - fromTwoInvokesToOneInvoke(stmtTag.recursion) - stmtTag.iterations.forEach { - fromTwoInvokesToOneInvoke(it) - } - fromTwoInvokesToOneInvoke(stmtTag.next) - } - - /** - * Function deletes one of two descriptions of invokes belonging to one actual call. - */ - private fun skipAssignInvokeStatement(stmtTag: StatementTag, nextStmtTag: StatementTag) { - val currentStmtTagDecision = stmtTag.step.decision - val nextStmtTagDecision = nextStmtTag.step.decision - if (currentStmtTagDecision == CALL_DECISION_NUM && nextStmtTagDecision == ASSIGN_DECISION_NUM) { - stmtTag.next = nextStmtTag.next - } - } - - /** - * Iterates over all traces, - * and updates the execution environment tag for each trace - */ - private fun updateCodeExecutionEnvironmentTag(traceTags: List>) { - for (clusterTags in traceTags) { - for (traceTag in clusterTags) { - traceTag.updateExecutionEnvironmentTag() - } - } - } - - private fun checkInvokedMethodForRecursion(methodUnderTest: SootMethod, traceTags: List>) { - for (clusterTags in traceTags) { - for (traceTag in clusterTags) { - checkInvokedMethodForRecursion(methodUnderTest, traceTag.rootStatementTag) - } - } - } - - /** - * On the initial statement tag tree built, all invokes are identified, - * Here, the function checks, some of those invokes: - * 1. actually recursion - * 2. Invokes a method which triggers recursion. - * In case 2, we usually limited by a given depth, the recursion path would be unavailable. - * So, the statement that triggers recursion without its execution path, is tagged as RecursionAssignment. - * */ - private fun checkInvokedMethodForRecursion(methodUnderTest: SootMethod, stmtTag: StatementTag?) { - if (stmtTag == null) return - val invokeStmtTag = stmtTag.invoke - val sootInvokeMethod = stmtTag.invokeSootMethod() - if (invokeStmtTag != null && sootInvokeMethod != null) { - if (sootInvokeMethod == methodUnderTest) {// Found recursion - stmtTag.recursion = stmtTag.invoke - stmtTag.invoke = null - stmtTag.basicTypeTag = BasicTypeTag.Recursion - checkInvokedMethodForRecursion(methodUnderTest, stmtTag.recursion) - } else { - checkInvokedMethodForRecursion(methodUnderTest, invokeStmtTag) - checkInvokeAssignmentForRecursionAssignment(sootInvokeMethod, invokeStmtTag) - } - } - for (iterationTag in stmtTag.iterations) { - checkInvokedMethodForRecursion(methodUnderTest, iterationTag) - } - checkInvokedMethodForRecursion(methodUnderTest, stmtTag.next) - } - - /** - * This method examine the situation: - * Method under test calls a method which calls another method. The last call is recursion but without its execution path. - * If such method found then it is Recursion Assigment. - * */ - private fun checkInvokeAssignmentForRecursionAssignment(method: SootMethod, stmtTag: StatementTag) { - if (stmtTag.basicTypeTag == BasicTypeTag.Invoke && stmtTag.invoke == null && stmtTag.invokeSootMethod() == method) { - stmtTag.basicTypeTag = BasicTypeTag.RecursionAssignment - } - stmtTag.iterations.forEach { - checkInvokeAssignmentForRecursionAssignment(method, it) - } - stmtTag.next?.let { - checkInvokeAssignmentForRecursionAssignment(method, it) - } - } - - /** - * @param stmts - an ordered list of all statements inside jimple body. - * Function searches JGotoStmt which is the used for loop instructions. - * JGotoStmt contains the target statement, consequently from target statement - * till JGotoStmt is a loop sequence. After identification of such sequence, - * start index and end index is passed to - * @see registerIterationAtTraces to register in every trace - * Indices are needed to further check their order. If they are not in order, it is not a loop. - */ - private fun findLoops(stmts: List, traceTags: List>) { - val stmtToIndex = stmts.mapIndexed { index, it -> it to index }.toMap() - for (stmt in stmts) { - if (stmt is JGotoStmt) { - val target = stmt.target - registerIterationAtTraces(stmtToIndex[target], stmtToIndex[stmt], stmts, traceTags) - } - } - } - - /** - * @param start - start index loop sequence. - * @param end - end index loop sequence. - * @param stmts - an ordered list of statements. - * Indices order is checked and every trace registers this loop. - */ - private fun registerIterationAtTraces( - start: Int?, - end: Int?, - stmts: List, - traceTags: List> - ) { - if (start != null && end != null && (end - start > 0)) { - // iteration - val iterationStmts = stmts.filterIndexed { i, _ -> (i >= start && i <= end) } - // check trace tags for this iteration - val startIteration = stmts[start] - val endIteration = stmts[end] - for (clusterTraceTags in traceTags) { - for (traceTag in clusterTraceTags) { - TraceIterationAnalyser(traceTag).analyze(startIteration, endIteration, iterationStmts) - } - } - } - } - - private fun indicesReturns(stmts: List, traceTags: List>) { - val returnsToNumber = stmts.filterIsInstance().groupBy { it.toString() } - .flatMap { - if (it.value.size > 1) - it.value.mapIndexed { index, stmt -> stmt to index + 1 } - else - it.value.mapIndexed { index, stmt -> stmt to index } - }.toMap() - - traceTags.forEach { clusterTags -> - clusterTags.forEach { traceTag -> - traceTag.returnsToNumber = returnsToNumber - } - } - } -} - -/** - * Class analyzes a trace for a particular loop iteration, - * if it finds that given loop is actually iterated in the trace, then it registers it. - * Otherwise, it registers as a missed loop inside of the trace. - */ -class TraceIterationAnalyser(val traceTag: TraceTag) { - private var iterationCounter = 0 - - fun analyze( - startStmt: Stmt, - endStmt: Stmt, - iteration: List - ): Boolean { - val found = findIteration(traceTag.rootStatementTag, startStmt, endStmt, iteration) - if (!found) { - traceTag.registerNoIterationCall(iteration) - } - return found - } - - /** - * The main algorithm that recursively searches the loop sequence inside of trace. - * @param stmtTag current statement tag where the start of loop is checked. - * @param startStmt the first statement tag in the loop - * @param endStmt the last statement tag in the loop - * @iteration a list of statements of the loop - * Algorithm looks if the current statement tag is actually start of iteration: - * if not, it continues looking at child tags: invokes, iterations and next tag - * if yes, then it tries to find where iteration ends in this trace. - * if it finds the end of iteration, then it continues searching from next tag, - * in case the next tag is the start of new iteration. - * if it didn't find the end of iteration then it continues checking two scenarios: - * 1. There is a break statement inside of the loop, and ends its analysis when it finds it. - * 2. There is no iteration at all, we have start iteration statement but - * with no actual iteration. Such cases occurs when we have multiple iteration - * of one loop. Ex.: (start statement), ...,(end iteration, go to Start), - * (start statement), other statements - */ - private fun findIteration( - stmtTag: StatementTag?, - startStmt: Stmt, - endStmt: Stmt, - iteration: List - ): Boolean { - var result = false - val nextStmtTag = stmtTag?.next - if (stmtTag == null || nextStmtTag == null) return result - - if (nextStmtTag.step.stmt == startStmt) { - val endStmtTag = findEndIteration(nextStmtTag, endStmt) - nextStmtTag.basicTypeTag = BasicTypeTag.IterationStart - if (endStmtTag != null) { // we have found a complete loop - stmtTag.iterations.add(nextStmtTag) - stmtTag.next = endStmtTag.next - endStmtTag.next = null - endStmtTag.basicTypeTag = BasicTypeTag.IterationEnd - iterationCounter++ - result = true - findIteration(stmtTag, startStmt, endStmt, iteration) - } else { // no end loop stmt - nextStmtTag.next?.let { - if (isBreakable(it, iteration)) { // - val breakStatement = breakChain(it, iteration) - stmtTag.iterations.add(nextStmtTag) - stmtTag.next = breakStatement - iterationCounter++ - result = true - } else { // it is actually exit from loop. - // skip nextStmtTag, - // nextStmtTag is a false call of start iteration - // next iteration is not executed - stmtTag.next = it - } - } - } - } else { - stmtTag.invoke?.let { - result = result || findIteration(it, startStmt, endStmt, iteration) - } - for (tag in stmtTag.iterations) - result = result || findIteration(tag, startStmt, endStmt, iteration) - result = result || findIteration(nextStmtTag, startStmt, endStmt, iteration) - } - return result - } - - /* - * Recursively searches the end of iteration in the trace - * @param stmtTag current considering statement tag - * @param endStmt the last stamt in the loop - * */ - private fun findEndIteration(stmtTag: StatementTag?, endStmt: Stmt): StatementTag? { - if (stmtTag == null) return null - if (stmtTag.step.stmt == endStmt) { - return stmtTag - } - return findEndIteration(stmtTag.next, endStmt) - } - - /** - * In case, we find a start statement of iteration inside of trace - * but we couldn't identify the end in the trace, - * we verify can we declare that this iteration is started but abruptly stopped. - * It can be verified if the next statement also belongs to iteration, then we verify that iteration started - * and something done in this iteration but it ended abruptly without proper goto stmt. - * Then this iteration considered to be breaked in some point of trace. May be not properly put name should be - * Ex. verifyBrokeLoopInTrace - * However, the nested loops (loops inside of loops) have intersected instructions. - * Sometimes JIfStmt and JGotoStmt of one loop comes together with other one or mixed, depending how code is written. - * Loops instructions may depend on each other, and Soot or Java Compiler can optimize them. - * Consequently, two iteration statements can contain each others JIfStmt && JGotoStmt instructions. - * That is why we skip them here. If the next stmts are only JIfStmt and JGotoStmt (they may belong to - * different loops) then it means they (loops) are both abruptly ended. - * @param statementTag considering where break should be happened - */ - private fun isBreakable(statementTag: StatementTag?, iteration: List): Boolean { - if (statementTag == null) return false - if (statementTag.step.stmt !in iteration) { - return false // iteration didn't run (previous statement is a dummy) - } - if (statementTag.step.stmt !is JIfStmt && statementTag.step.stmt !is JGotoStmt && statementTag.step.stmt in iteration) { - return true // the iteration is actually performed, and it should be declared as breaked - } - return isBreakable(statementTag.next, iteration) - } - - /** - * We found that iteration is abruptly ended, - * and this function identifies where break happened. - */ - private fun breakChain(statementTag: StatementTag?, iteration: List): StatementTag? { - val nextStatementTag = statementTag?.next ?: return null - return if (nextStatementTag.step.stmt in iteration) { - breakChain(nextStatementTag, iteration) - } else { - statementTag.next = null - nextStatementTag - } - } -} - diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/ast/JimpleToASTMap.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/ast/JimpleToASTMap.kt deleted file mode 100644 index 5ccb1440..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/ast/JimpleToASTMap.kt +++ /dev/null @@ -1,403 +0,0 @@ -package org.utbot.summary.ast - -import com.github.javaparser.ast.Node -import com.github.javaparser.ast.body.MethodDeclaration -import com.github.javaparser.ast.expr.ArrayAccessExpr -import com.github.javaparser.ast.expr.BinaryExpr -import com.github.javaparser.ast.expr.CastExpr -import com.github.javaparser.ast.expr.CharLiteralExpr -import com.github.javaparser.ast.expr.ConditionalExpr -import com.github.javaparser.ast.expr.EnclosedExpr -import com.github.javaparser.ast.expr.Expression -import com.github.javaparser.ast.expr.FieldAccessExpr -import com.github.javaparser.ast.expr.InstanceOfExpr -import com.github.javaparser.ast.expr.LiteralExpr -import com.github.javaparser.ast.expr.MethodCallExpr -import com.github.javaparser.ast.expr.NameExpr -import com.github.javaparser.ast.expr.UnaryExpr -import com.github.javaparser.ast.stmt.BlockStmt -import com.github.javaparser.ast.stmt.CatchClause -import com.github.javaparser.ast.stmt.ForEachStmt -import com.github.javaparser.ast.stmt.ForStmt -import com.github.javaparser.ast.stmt.IfStmt -import com.github.javaparser.ast.stmt.ReturnStmt -import com.github.javaparser.ast.stmt.Statement -import com.github.javaparser.ast.stmt.SwitchEntry -import com.github.javaparser.ast.stmt.SwitchStmt -import com.github.javaparser.ast.stmt.WhileStmt -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.comment.isLoopStatement -import java.util.LinkedList -import java.util.Queue -import java.util.stream.Collectors -import java.util.stream.Stream -import kotlin.Int.Companion.MAX_VALUE -import kotlin.math.abs -import soot.Unit -import soot.Value -import soot.jimple.internal.JCaughtExceptionRef -import soot.jimple.internal.JEqExpr -import soot.jimple.internal.JGeExpr -import soot.jimple.internal.JGotoStmt -import soot.jimple.internal.JGtExpr -import soot.jimple.internal.JIdentityStmt -import soot.jimple.internal.JIfStmt -import soot.jimple.internal.JLeExpr -import soot.jimple.internal.JLtExpr -import soot.jimple.internal.JNeExpr -import soot.jimple.internal.JReturnStmt - -class JimpleToASTMap(stmts: Iterable, methodDeclaration: MethodDeclaration) { - val stmtToASTNode = mutableMapOf() - - init { - removeComments(methodDeclaration) - mapTernaryConditional(methodDeclaration, stmts) - val ifStmtToNodeMap = createIfStmtToASTNodesMap(methodDeclaration) - for (stmt in stmts) { - val line = stmt.javaSourceStartLineNumber - if (line == -1) { - stmtToASTNode[stmt] = methodDeclaration - } else if (stmt !in stmtToASTNode.keys) { - var ASTNode = getASTNodeByLine(methodDeclaration, line) - - if (ASTNode != null) { - if (ASTNode is IfStmt && stmt is JIfStmt) { - val nodes = ifStmtToNodeMap[ASTNode] - if(!nodes.isNullOrEmpty()) ASTNode = nodes.remove() - } else if (stmt is JReturnStmt) { - ASTNode = validateReturnASTNode(ASTNode) - } - } - stmtToASTNode[stmt] = ASTNode - } - } - remapMultilineLoops(methodDeclaration) - addCatchASTNodes() - alignNonAlignedReturns() - } - - /** - * Avoid conflict with java.util.stream.Stream.toList (available since Java 16 only) - */ - private fun Stream.asList(): List = collect(Collectors.toList()) - - /** - * Function that maps statements inside of ternary conditions to correct AST nodes - */ - private fun mapTernaryConditional(methodDeclaration: MethodDeclaration, stmts: Iterable) { - for (condExpr in methodDeclaration.stream().asList().filterIsInstance()) { - val begin = condExpr.begin.orElse(null) - val end = condExpr.end.orElse(null) - if (begin == null || end == null) continue - val lines = begin.line..end.line - val allStmtsInRange = stmts.filter { it.javaSourceStartLineNumber in lines } - val lastJGotoStmt = allStmtsInRange.lastOrNull { it is JGotoStmt } ?: return - val lastJGotoStmtTarget = (lastJGotoStmt as JGotoStmt).target - val founded = stmts.find { it == lastJGotoStmtTarget } - val conditionalStmtsInRange = if (founded !in allStmtsInRange) allStmtsInRange else allStmtsInRange.slice( - 0 until allStmtsInRange.indexOf(founded) - ) - val queue = LinkedList() - var currentCond = condExpr - while (true) { - queue.add(currentCond.condition) - queue.add(currentCond.thenExpr) - val elseExpr = currentCond.elseExpr - if (elseExpr is ConditionalExpr) { - currentCond = elseExpr - } else { - queue.add(elseExpr) - break - } - } - var currNode = queue.removeLast() - for (stmt in conditionalStmtsInRange.reversed()) { - if (stmt is JGotoStmt || stmt is JIfStmt) { - if (queue.isEmpty()) { - stmtToASTNode[stmt] = currNode - break - } - currNode = queue.removeLast() - } - stmtToASTNode[stmt] = currNode - } - } - } - - /** - * Node is valid if there is only one return statement inside of it - */ - private fun validateReturnASTNode(returnNode: Node): Node { - val returns = returnNode.stream().filter { it is ReturnStmt }.asList() - if (returns.size == 1) return returns[0] - return returnNode - } - - /** - * Removes all comments from AST - */ - private fun removeComments(node: Node) { - for (comment in node.allContainedComments) { - comment.remove() - } - } - - /** - * After mapping, multiline loops are mapped in a wrong way - * So initialization update and condition are mapped all over again - */ - private fun remapMultilineLoops( methodDeclaration: MethodDeclaration) { - val forLoops = methodDeclaration.stream().filter { it is ForStmt || it is WhileStmt || it is ForEachStmt } - for (loop in forLoops) { - val loopList = mutableListOf() - when (loop) { - is ForStmt -> { - loopList.addAll(loop.initialization.stream().asList()) - val compare = loop.compare.orElse(null)?.stream()?.asList() - if (compare != null) loopList.addAll(compare) - loopList.addAll(loop.update.flatMap { it.stream().asList() }) - } - is WhileStmt -> { - loopList.addAll(loop.condition.stream().asList()) - } - is ForEachStmt -> { - loopList.addAll(loop.iterable.stream().asList()) - loopList.addAll(loop.variable.stream().asList()) - } - } - for (stmt in stmtToASTNode.filter { it.value in loopList }.map { it.key }) stmtToASTNode[stmt] = loop - } - - } - private fun addCatchASTNodes() { - val stmts = stmtToASTNode.keys.toTypedArray() - for (index in stmts.indices) { - val stmt = stmts[index] - if (stmt is JIdentityStmt && stmt.rightOp is JCaughtExceptionRef) { - if (index + 1 < stmts.size) { - val nextASTNode = stmtToASTNode[stmts[index + 1]] - if (nextASTNode != null) { - val nearestCatchClause = getNearestCatchClauseASTNode(nextASTNode) - if (nearestCatchClause != null) stmtToASTNode[stmts[index]] = nearestCatchClause - } - } - } - } - } - - /** - * Aligns returns that are inside of ternary condition expr - * it is needed bc such returns have -1 line in jimple so mapping by line doesn't work - */ - private fun alignNonAlignedReturns() { - val nonAlignedReturns = stmtToASTNode.keys.filter { it is JReturnStmt && it.javaSourceStartLineNumber == -1 } - val stmts = stmtToASTNode.keys.toTypedArray() - for (nonAlignedReturn in nonAlignedReturns) { - val index = stmts.indexOf(nonAlignedReturn) - val ternaryIfStmtIndex = stmts.indexOfLast { it is JIfStmt && stmts.indexOf(it) <= index } - - stmtToASTNode[nonAlignedReturn] = stmtToASTNode[stmts[ternaryIfStmtIndex]] - } - } - - private fun isValidExprType(ex: Node): Boolean { - if (ex is NameExpr - || ex is LiteralExpr - || ex is ArrayAccessExpr - || ex is FieldAccessExpr - || ex is CastExpr - || ex is BinaryExpr && ex.operator in doNotSplitOperators - || ex is MethodCallExpr - || ex is InstanceOfExpr - || ex is UnaryExpr && ex.operator in doNotSplitOperators - ) return true - return false - } - - private fun addASTNodesForElseStmts(ifStmtsToASTNodes: MutableMap>): MutableMap> { - val ifStmts = ifStmtsToASTNodes.keys - for (ifStmt in ifStmts) { - if (ifStmt.elseStmt.isPresent) { - val elseStmt = ifStmt.elseStmt.orElse(null) - if (elseStmt is IfStmt) { - val elseConditions = ifStmtsToASTNodes[elseStmt] - if (elseConditions != null) ifStmtsToASTNodes[ifStmt]?.addAll(elseConditions) - } - } - } - return ifStmtsToASTNodes - } - - private fun createIfStmtToASTNodesMap(rootNode: Node): MutableMap> { - val ifStmtToASTNodes = mutableMapOf>() - for (childNode in rootNode.stream()) { - if (childNode is IfStmt) ifStmtToASTNodes[childNode] = decomposeConditionNode(childNode.condition) - } - return addASTNodesForElseStmts(ifStmtToASTNodes) - } - - /** - * Decomposes condition Node so it can be mapped to jimple stmts - */ - private fun decomposeConditionNode(ASTNode: Node): Queue { - val decomposed = LinkedList() - val node = if (ASTNode is EnclosedExpr) unEncloseExpr(ASTNode) else ASTNode - - if (node is BinaryExpr) { - var left = node.left - var right = node.right - if (left is EnclosedExpr) left = unEncloseExpr(left) - if (right is EnclosedExpr) right = unEncloseExpr(right) - - if (isValidExprType(left) && isValidExprType(right)) { - decomposed.add(node) - return decomposed - } - } - if (isValidExprType(node) || node is UnaryExpr) { - decomposed.add(node) - } else { - for (child in node.childNodes) decomposed.addAll(decomposeConditionNode(child)) - } - return decomposed - } - - private fun getASTNodeByLine(node: Node, lineNumber: Int): Node? { - val begin = node.begin.orElse(null) - if (begin?.line == lineNumber) { - return node - } else { - for (childNode in node.childNodes) { - val childStmtToNode = getASTNodeByLine(childNode, lineNumber) - if (childStmtToNode != null) return childStmtToNode - } - } - return null - } - - fun nearestIterationNode(node: Node?, line: Int): Statement? { - if (node == null) return null - val nodes = node.childNodes.toMutableList() - if (node is MethodDeclaration && node.body.isPresent) { - val body = node.body.orElse(null) - if (body != null) nodes.addAll(body.childNodes) - } - if (node.hasParentNode()) { - val parentNode = node.parentNode.orElse(null) - if (parentNode != null) nodes.add(parentNode) - } - val nearbyLoops = nodes.filterIsInstance().filter { isLoopStatement(it) } - return nearbyLoops.minByOrNull { - val beginLine = it.begin.orElse(null)?.line - if (beginLine != null) abs(beginLine - line) else MAX_VALUE - } - - } - - /** - * Returns parent or grandparent node which is a CatchClause - */ - private fun getNearestCatchClauseASTNode(node: Node): CatchClause? { - val nodeParent = node.parentNode.orElse(null) - if (nodeParent != null && nodeParent is BlockStmt) { - val nodeGrandParent = nodeParent.parentNode.orElse(null) - if (nodeGrandParent != null && nodeGrandParent is CatchClause) { - return nodeGrandParent - } - } - return null - } - - operator fun get(unit: Unit) = stmtToASTNode[unit] - - companion object { - /** - * Operators where left and right statements can not be BinaryStmt - */ - val doNotSplitOperators = arrayOf( - BinaryExpr.Operator.LEFT_SHIFT, - BinaryExpr.Operator.SIGNED_RIGHT_SHIFT, - BinaryExpr.Operator.UNSIGNED_RIGHT_SHIFT, - BinaryExpr.Operator.PLUS, - BinaryExpr.Operator.MINUS, - BinaryExpr.Operator.MULTIPLY, - BinaryExpr.Operator.DIVIDE, - BinaryExpr.Operator.REMAINDER, - BinaryExpr.Operator.BINARY_AND, - BinaryExpr.Operator.BINARY_OR, - - UnaryExpr.Operator.PLUS, - UnaryExpr.Operator.MINUS, - UnaryExpr.Operator.PREFIX_DECREMENT, - UnaryExpr.Operator.PREFIX_INCREMENT, - UnaryExpr.Operator.POSTFIX_DECREMENT, - UnaryExpr.Operator.POSTFIX_INCREMENT, - UnaryExpr.Operator.BITWISE_COMPLEMENT - ) - - /** - * @return expression inside of EnclosedExpr - */ - fun unEncloseExpr(expr: EnclosedExpr): Expression { - val unEnclosed = expr.inner - return if (unEnclosed is EnclosedExpr) unEncloseExpr(unEnclosed) - else unEnclosed - } - - /** - * @return SwitchEntry - */ - fun mapSwitchCase(switchStmt: SwitchStmt, step: Step): SwitchEntry? { - val neededLine = step.stmt.unitBoxes[step.decision].unit.javaSourceStartLineNumber - return switchStmt - .childNodes - .filterIsInstance() - .find { neededLine in (it.range.get().begin.line..it.range.get().end.line) } - } - - /** - * @return switch case label №case from the beginning - */ - fun getSwitchCaseLabel(switchStmt: SwitchStmt, case: Int?): String { - val switchStmts = switchStmt.childNodes.filterIsInstance() - val switchCases = switchStmts.mapNotNull { - val label = it.labels.first.orElse(null) - if (label != null) { - transformSwitchEntry(label) to it - } else { - null - } - }.toMap() - val entry = switchCases[case.toString()]?.labels?.first?.orElse(null) - return entry?.toString() ?: "default" - } - - private fun transformSwitchEntry(expr: Expression): String { - if (expr is CharLiteralExpr) return expr.asChar().toInt().toString() - return expr.toString() - } - - /** - * Maps Jimple operator to AST operator - */ - private fun mapJimpleOperatorsToAstOperators(value: Value) = when (value) { - is JEqExpr -> BinaryExpr.Operator.EQUALS - is JGeExpr -> BinaryExpr.Operator.GREATER_EQUALS - is JGtExpr -> BinaryExpr.Operator.GREATER - is JLeExpr -> BinaryExpr.Operator.LESS_EQUALS - is JLtExpr -> BinaryExpr.Operator.LESS - is JNeExpr -> BinaryExpr.Operator.NOT_EQUALS - else -> null - } - - /** - * Check whether JIfStmt and BinaryExpr.operator are the same or reversed - */ - fun isOperatorReversed(jimpleIf: JIfStmt, binaryExpr: BinaryExpr): Boolean { - val mappedJimpleOperator = mapJimpleOperatorsToAstOperators(jimpleIf.conditionBox.value) - if (mappedJimpleOperator == binaryExpr.operator) return false - return true - } - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/ast/SourceCodeParser.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/ast/SourceCodeParser.kt deleted file mode 100644 index 8fa3f041..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/ast/SourceCodeParser.kt +++ /dev/null @@ -1,115 +0,0 @@ -package org.utbot.summary.ast - -import com.github.javaparser.JavaParser -import com.github.javaparser.ParseResult -import com.github.javaparser.ast.CompilationUnit -import com.github.javaparser.ast.Node -import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration -import com.github.javaparser.ast.body.MethodDeclaration -import com.github.javaparser.ast.body.TypeDeclaration -import org.utbot.framework.plugin.api.UtMethodTestSet -import java.io.File -import kotlin.math.abs -import soot.SootMethod - -const val OUTER_INNER_CLASSES_DELIMITER = '$' - -class SourceCodeParser { - /** - * source: String - can be path to source code as string or source code as string - */ - private val cu: ParseResult - var methodAST: MethodDeclaration? = null - - constructor(sourceFile: File, testSet: UtMethodTestSet) { - val parser = JavaParser() - cu = parser.parse(sourceFile) - val className = testSet.method.classId.simpleName - val methodName = testSet.method.name - - val lineNumbers = testSet.jimpleBody?.units?.map { it.javaSourceStartLineNumber } - val maxLineNumber = lineNumbers?.maxOrNull() - if (className != null && maxLineNumber != null) findMethod(className, methodName, maxLineNumber) - } - - constructor(sootMethod: SootMethod, sourceFile: File) { - val methodName = sootMethod.name - val className = sootMethod.declaredClassName - - val maxLineNumber = - if (sootMethod.hasActiveBody()) - sootMethod.retrieveActiveBody()?.units?.maxOfOrNull { it.javaSourceStartLineNumber } - else null - val parser = JavaParser() - cu = parser.parse(sourceFile) - if (maxLineNumber != null) findMethod(className, methodName, maxLineNumber) - } - - /** - * Finds method by class name, method name and last code line in jimple body - * - * @return MethodDeclaration of found method or null if method was not found - */ - private fun findMethod(className: String, methodName: String, maxJimpleLine: Int): MethodDeclaration? { - cu.ifSuccessful { - val clazz = it.types.firstOrNull { clazz -> - clazz.name.identifier == className - } ?: traverseInnerClassDeclarations( - it.types.flatMap { declaration -> declaration.childNodes }.filterIsInstance(), - className - ) - - if (clazz != null) { - val allMethods = clazz.methods.filter { method -> - method.name.identifier == methodName - }.toTypedArray() - - methodAST = when { - allMethods.size == 1 -> allMethods.first() - allMethods.isNotEmpty() -> { - val lineDiffs = allMethods - .map { method -> method.end.get().line } - .map { endLine -> abs(endLine - maxJimpleLine) } - allMethods[lineDiffs.indexOf(lineDiffs.minOrNull())] - } - else -> null - } - } - } - return methodAST - } - - /** - * Sets identifier to each node - * Identifier is ClassOrInterfaceDeclaration - */ - private fun traverseInnerClassDeclarations( - nodes: List, className: String - ): TypeDeclaration<*>? { - var result = nodes.firstOrNull { it.name.identifier == className } - - if (result != null) return result - - run childrenSearch@ { - nodes.forEach { - val childNodes = it.childNodes.filterIsInstance() - if (childNodes.isNotEmpty()) { - result = traverseInnerClassDeclarations(childNodes, className) as ClassOrInterfaceDeclaration? - if (result!= null) return@childrenSearch - } - } - } - return result - } -} - -/** - * Returns name of the class that SootMethod is in - */ -val SootMethod.declaredClassName: String - get() = if (this.declaringClass.isInnerClass) { - // an inner class name declaration follows pattern: OuterClass_Delimiter_InnerClass - this.declaringClass.javaStyleName.substringAfterLast(OUTER_INNER_CLASSES_DELIMITER) - } else { - this.declaringClass.javaStyleName - } \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/ExecutionMetric.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/ExecutionMetric.kt deleted file mode 100644 index 44043d91..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/ExecutionMetric.kt +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.summary.clustering - -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.clustering.dbscan.Metric - -/** The existing implementation of [Metric] for the space of [Step]. */ -class ExecutionMetric : Metric> { - /** - * Minimum Edit Distance - */ - private fun compareTwoPaths(path1: Iterable, path2: Iterable): Double { - require(path1.count() > 0) { "Two paths can not be compared: path1 is empty!"} - require(path2.count() > 0) { "Two paths can not be compared: path2 is empty!"} - - val distances = Array(path1.count()) { i -> Array(path2.count()) { j -> i + j } } - - for (i in 1 until path1.count()) { - for (j in 1 until path2.count()) { - val stmt1 = path1.elementAt(i) - val stmt2 = path2.elementAt(j) - - val d1 = distances[i - 1][j] + 1 // path 1 insert -> diff stmt from path2 - val d2 = distances[i][j - 1] + 1 // path 2 insert -> diff stmt from path1 - val d3 = distances[i - 1][j - 1] + distance(stmt1, stmt2) // aligned or diff - distances[i][j] = minOf(d1, d2, d3) - } - } - - if (distances.isNotEmpty()) { - val last = distances.last() - if (last.isNotEmpty()) { - return last.last().toDouble() - } else { - throw IllegalStateException("Last row in the distance matrix has 0 columns. It should contain more or equal 1 column.") - } - } else { - throw IllegalStateException("Distance matrix has 0 rows. It should contain more or equal 1 row.") - } - } - - private fun distance(stmt1: Step, stmt2: Step): Int { - return if (stmt1 == stmt2) 0 else 2 - } - - override fun compute(object1: Iterable, object2: Iterable): Double { - return compareTwoPaths(object1, object2) - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/MatrixUniqueness.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/MatrixUniqueness.kt deleted file mode 100644 index f2977f18..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/MatrixUniqueness.kt +++ /dev/null @@ -1,110 +0,0 @@ -package org.utbot.summary.clustering - -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.summary.DBSCANClusteringConstants -import org.utbot.summary.clustering.dbscan.DBSCANTrainer -import org.utbot.summary.clustering.dbscan.neighbor.LinearRangeQuery - -class MatrixUniqueness(executions: List) { - - private var methodExecutions: List = executions - private val allSteps = mutableListOf() - private val matrix: List - - init { - executions.forEach { - it.path.forEach { step -> - if (step !in allSteps) allSteps.add(step) - } - } - this.matrix = this.createMatrix() - } - - /** - * Creates uniqueness matrix. - * - * Rows are executions, columns are unique steps from all executions - * - * Every matrix i,j is 1 or 0, as if step in execution or not. - */ - private fun createMatrix(): List { - val matrix = mutableListOf() - for (stmtSeq in this.methodExecutions) { - val matrixLine = IntArray(allSteps.size) - for (step in stmtSeq.path) { - val matrixIndex = allSteps.indexOf(step) - if (matrixIndex >= 0) matrixLine[matrixIndex] += 1 //+ index - } - matrix.add(matrixLine) - } - return matrix - } - - /** - * @return sum of column number col in matrix - */ - private fun colSum(matrix: List, col: Int) = - matrix.sumBy { row -> if (row[col] >= 1) 1 else 0 } //adds 1 if positive else 0 - - /** - * @return vector of column sums - */ - private fun colSums(matrix: List) = matrix.first().indices.map { col -> this.colSum(matrix, col) } - - /** - * Splits all steps into common, partly common and unique. - * - * Unique steps are steps that only occur in one execution. - * Common steps are steps that occur in all executions. - * Partly common steps are steps that occur more than one time, but not in all executions - */ - fun splitSteps(): SplitSteps { - if (matrix.size == 1) return SplitSteps(listOf(), listOf(), allSteps.toList()) - - val commonSteps = mutableListOf() - val partlyCommonSteps = mutableListOf() - val uniqueSteps = mutableListOf() - - val sums = colSums(matrix) - for (index in sums.indices) { - when { - sums[index] >= matrix.size -> commonSteps.add(allSteps[index]) - sums[index] > 1 -> partlyCommonSteps.add(allSteps[index]) - else -> uniqueSteps.add(allSteps[index]) - } - } - return SplitSteps(commonSteps, partlyCommonSteps, uniqueSteps) - } - - companion object { - /** Returns map: cluster identifier, List. */ - fun dbscanClusterExecutions( - methodExecutions: List, - minPts: Int = DBSCANClusteringConstants.MIN_EXEC_DBSCAN, - radius: Float = DBSCANClusteringConstants.RADIUS_DBSCAN - ): Map> { - - val executionPaths = methodExecutions.map { it.path.asIterable() }.toTypedArray() - - val dbscan = DBSCANTrainer( - eps = radius, - minSamples = minPts, - metric = ExecutionMetric(), - rangeQuery = LinearRangeQuery() - ) - val dbscanModel = dbscan.fit(executionPaths) - val clusterLabels = dbscanModel.clusterLabels - return methodExecutions.withIndex().groupBy({ clusterLabels[it.index] }, { it.value }) - } - } -} - -/** - * Structure that contains common, partly common and unique executions - */ -data class SplitSteps( - val commonSteps: List = listOf(), - val partlyCommonSteps: List = listOf(), - val uniqueSteps: List = listOf() -) \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/DBSCANModel.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/DBSCANModel.kt deleted file mode 100644 index d514f8c4..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/DBSCANModel.kt +++ /dev/null @@ -1,13 +0,0 @@ -package org.utbot.summary.clustering.dbscan - -/** - * Keeps the information about clusters produced by [DBSCANTrainer]. - * - * @property [numberOfClusters] Number of clusters. - * @property [clusterLabels] It contains labels of clusters in the range ```[0; k)``` - * or [Int.MIN_VALUE] if point could not be assigned to any cluster. - */ -data class DBSCANModel( - val numberOfClusters: Int = 0, - val clusterLabels: IntArray -) \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/DBSCANTrainer.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/DBSCANTrainer.kt deleted file mode 100644 index 93308f25..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/DBSCANTrainer.kt +++ /dev/null @@ -1,118 +0,0 @@ -package org.utbot.summary.clustering.dbscan - -import org.utbot.summary.clustering.dbscan.neighbor.LinearRangeQuery -import org.utbot.summary.clustering.dbscan.neighbor.Neighbor -import org.utbot.summary.clustering.dbscan.neighbor.RangeQuery - -private const val NOISE = Int.MIN_VALUE -private const val CLUSTER_PART = -2 -private const val UNDEFINED = -1 - -/** - * DBSCAN algorithm implementation. - * - * NOTE: The existing implementation with the [LinearRangeQuery] has a complexity O(n^2) in the worst case. - * - * @property [eps] The radius of search. Should be more than 0.0. - * @property [minSamples] The minimum number of samples to form the cluster. Should be more than 0. - * @property [metric] Metric to calculate distances. - * @property [rangeQuery] Gives access to the data in the implemented order. - * - * @see - * A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise - */ -class DBSCANTrainer(val eps: Float, val minSamples: Int, val metric: Metric, val rangeQuery: RangeQuery) { - init { - require(minSamples > 0) { "MinSamples parameter should be more than 0: $minSamples" } - require(eps > 0.0f) { "Eps parameter should be more than 0: $eps" } - } - - /** Builds a clustering model based on the given data. */ - fun fit(data: Array): DBSCANModel { - require(data.isNotEmpty()) { "Nothing to learn, data is empty." } - - if (rangeQuery is LinearRangeQuery) { - rangeQuery.data = data - rangeQuery.metric = metric - } // TODO: could be refactored if we add some new variants of RangeQuery - - val labels = IntArray(data.size) { UNDEFINED } - - // It changes in the range [0; k), where k is a final number of clusters found by DBSCAN - var clusterLabel = 0 - - for (i in data.indices) { - if (labels[i] == UNDEFINED) { - val neighbors = rangeQuery.findNeighbors(data[i], eps).toMutableList() - if (neighbors.size < minSamples) { - labels[i] = NOISE - } else { - labels[i] = clusterLabel - expandCluster(neighbors, labels, clusterLabel) - - // If the existing cluster can not be expanded, the cluster label is incremented. - clusterLabel++ - } - } - } - - return DBSCANModel(numberOfClusters = clusterLabel, clusterLabels = labels) - } - - private fun expandCluster( - neighbors: MutableList>, - labels: IntArray, - k: Int - ) { - // Neighbors to expand. - neighbors.forEach { - if (labels[it.index] == UNDEFINED) { - // All neighbors of a cluster point became cluster points. - labels[it.index] = CLUSTER_PART - } - } - - // NOTE: the size of neighbors could grow from iteration to iteration and the classical for-loop in Kotlin could not be used - var j = 0 - - // Process every seed point Q. - while (j < neighbors.count()) - { - val q = neighbors[j] - val idx = q.index - - // Change Noise to border point. - if (labels[idx] == NOISE) { - labels[idx] = k - } - - if (labels[idx] == UNDEFINED || labels[idx] == CLUSTER_PART) { - labels[idx] = k - - val qNeighbors = rangeQuery.findNeighbors(q.key, eps) - - if (qNeighbors.size >= minSamples) { - mergeTwoGroupsInCluster(qNeighbors, labels, neighbors) - } - } - j++ - } - } - - private fun mergeTwoGroupsInCluster( - qNeighbors: List>, - labels: IntArray, - neighbors: MutableList> - ) { - for (qNeighbor in qNeighbors) { - val label = labels[qNeighbor.index] - if (label == UNDEFINED) { - labels[qNeighbor.index] = CLUSTER_PART - } - - if (label == UNDEFINED || label == NOISE) { - neighbors.add(qNeighbor) - } - } - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/Metric.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/Metric.kt deleted file mode 100644 index 0115619a..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/Metric.kt +++ /dev/null @@ -1,6 +0,0 @@ -package org.utbot.summary.clustering.dbscan - -interface Metric { - /** Computes the distance between [object1] and [object2] according the given metric. */ - fun compute(object1: T, object2: T): Double -} diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/LinearRangeQuery.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/LinearRangeQuery.kt deleted file mode 100644 index a37bcccd..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/LinearRangeQuery.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.summary.clustering.dbscan.neighbor - -import org.utbot.summary.clustering.dbscan.Metric - -/** - * This approach implements brute-force search with complexity O(n). - * - * @property [data] The whole dataset to search in it. - * @property [metric] Metric. - */ -class LinearRangeQuery : RangeQuery { - lateinit var data: Array - lateinit var metric: Metric - - override fun findNeighbors(queryKey: K, radius: Float): List> { - val neighbors = mutableListOf>() - data.forEachIndexed { index, point -> - val distance = metric.compute(queryKey, point) - if (distance <= radius && queryKey != point) { - neighbors.add(Neighbor(point, index, distance)) - } - } - - return neighbors - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/Neighbor.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/Neighbor.kt deleted file mode 100644 index 54c32a41..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/Neighbor.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.summary.clustering.dbscan.neighbor - -/** - * Neighbor abstraction for algorithms with searching in metric space specialization. - * - * @property [key] Search key. - * @property [index] Direct index to access the point in the basic data structure that keeps a set of points. - * @property [distance] Numerical value that keeps distance from the [key] point in the chosen metric space. - * - * NOTE: Neighbors should be ordered and this is implemented via [Comparable] interface. - */ -class Neighbor(val key: K, val index: Int, private val distance: Double) : Comparable> { - override fun compareTo(other: Neighbor): Int { - val distance = distance.compareTo(other.distance) - return if (distance == 0) index.compareTo(other.index) else distance - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/RangeQuery.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/RangeQuery.kt deleted file mode 100644 index 7b4adf91..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/clustering/dbscan/neighbor/RangeQuery.kt +++ /dev/null @@ -1,7 +0,0 @@ -package org.utbot.summary.clustering.dbscan.neighbor - -/** This is a basic interface for our approaches to ask the set of all points return the subset of the closest neighbors. */ -interface RangeQuery { - /** Returns the list of the closest neighbors in the [radius] from the [queryKey]. */ - fun findNeighbors(queryKey: K, radius: Float): List> -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/SentenceUtil.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/SentenceUtil.kt deleted file mode 100644 index 03061d0f..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/SentenceUtil.kt +++ /dev/null @@ -1,327 +0,0 @@ -package org.utbot.summary.comment - -import com.github.javaparser.ast.Node -import com.github.javaparser.ast.body.MethodDeclaration -import com.github.javaparser.ast.stmt.BlockStmt -import com.github.javaparser.ast.stmt.ForEachStmt -import com.github.javaparser.ast.stmt.ForStmt -import com.github.javaparser.ast.stmt.ThrowStmt -import com.github.javaparser.ast.stmt.WhileStmt -import org.utbot.framework.plugin.api.DocRegularStmt -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.framework.plugin.api.DocTagStatement -import org.utbot.summary.SummarySentenceConstants.AT_CODE -import org.utbot.summary.SummarySentenceConstants.COMMA_SYMBOL -import org.utbot.summary.SummarySentenceConstants.DOT_SYMBOL -import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.SummarySentenceConstants.TAB -import org.utbot.summary.comment.classic.symbolic.SquashedStmtTexts -import org.utbot.summary.comment.classic.symbolic.StmtType -import kotlin.jvm.optionals.getOrNull - -fun numberWithSuffix(number: Int) = when (number % 10) { - 1 -> "${number}st" - 2 -> "${number}nd" - 3 -> "${number}rd" - else -> "${number}th" -} - -/** - * Returns a reason for the given ThrowStmt: a condition or ThrowStmt itself. - * - * ThrowStmt is returned when its grandparent is MethodDeclaration (method under test). - * E.g. - * `public void myMethod() throws RuntimeException { throw new RuntimeException("message") }` - * - * Keep in mind, for inner method that throws something the reason will be that inner method. - */ -private fun getExceptionReason(throwStmt: ThrowStmt): Node? = - throwStmt - .parentNode - .getOrNull() - ?.let { parent -> - if (parent is BlockStmt) { - val grandParent = parent.parentNode.getOrNull() - if (grandParent is MethodDeclaration) throwStmt - else grandParent - } else parent - } - -fun getExceptionReasonForComment(throwStmt: ThrowStmt): Node? = - getExceptionReason(throwStmt) - -fun getExceptionReasonForName(throwStmt: ThrowStmt): Node? = - getExceptionReason(throwStmt) - ?.let { - if (it is ThrowStmt) { - /** - * When the node is ThrowStmt it means that we have a deal with a case - * when the method under test just throws an exception with no conditions. - * So instead of rendering the whole method in display name we want to omit it at all. - */ - null - } else it - } - -fun numberOccurrencesToText(n: Int): String = when (n) { - 0 -> "" - 1 -> "once" - 2 -> "twice" - else -> "$n times" -} - -fun getTextIterationDescription(node: Node): String = when (node) { - is WhileStmt -> whileDescription(node) - is ForStmt -> forDescription(node) - is ForEachStmt -> forEachDescription(node) - else -> "" -} - -fun getTextTypeIterationDescription(node: Node): String = when (node) { - is WhileStmt -> "WhileLoop" - is ForStmt -> "ForLoop" - is ForEachStmt -> "ForEachLoop" - else -> "" -} - -fun isLoopStatement(node: Node) = when (node) { - is WhileStmt -> true - is ForStmt -> true - is ForEachStmt -> true - else -> false -} - -fun prepareString(str: String) = str.substring(1, str.length - 1) - -fun whileDescription(whileStmt: WhileStmt) = "while(${whileStmt.condition})" - -fun forDescription(forStmt: ForStmt): String { - val init = if (forStmt.initialization.isNonEmpty) prepareString(forStmt.initialization.toString()) else "" - val compare = if (forStmt.compare.isPresent) forStmt.compare.get().toString() else "" - val update = if (forStmt.update.isNonEmpty) prepareString(forStmt.update.toString()) else "" - - return "for($init; $compare; $update)" -} - -fun forEachDescription(forEachStmt: ForEachStmt) = "for(${forEachStmt.variable}: ${forEachStmt.iterable})" - -val nextSynonyms = arrayOf( - "afterwards", - "later", - "further", - "next", - "then" -) - -val forbiddenMethodInvokes = arrayOf( - "", - "", - "valueOf", - "getClass", -) - -val forbiddenClassInvokes = arrayOf( - "soot.dummy.InvokeDynamic" -) - -/** - * Filters out - * ```soot.dummy.InvokeDynamic#makeConcat```, - * ```soot.dummy.InvokeDynamic#makeConcatWithConstants```, - * constructor calls (``````), ```bootstrap$``` - * and other unwanted things from name and comment text. - */ -fun shouldSkipInvoke(className: String, methodName: String) = - className in forbiddenClassInvokes || methodName in forbiddenMethodInvokes || methodName.endsWith("$") - -fun squashDocRegularStatements(sentences: List): List { - val newStatements = mutableListOf() - var str = "" - for (stmt in sentences) { - when (stmt) { - is DocRegularStmt -> str += stmt.stmt - is DocTagStatement -> newStatements += squashDocRegularStatements(stmt.content) - else -> { - if (str.isNotEmpty()) { - newStatements += DocRegularStmt(str) - str = "" - } - newStatements += stmt - } - } - } - - return newStatements -} - -fun squashIdenticalRegularStatements(sentences: List): List { - val regularsReversed = sentences.indices.filter { sentences[it] is DocRegularStmt }.reversed() - val mutableSentences = sentences.toMutableList() - for (i in regularsReversed.indices) { - if (i == regularsReversed.size - 1) break - val curr = sentences[regularsReversed[i]] - val prev = sentences[regularsReversed[i + 1]] - curr as DocRegularStmt - prev as DocRegularStmt - - if (curr.stmt.trim() in prev.stmt.trim()) { - mutableSentences[regularsReversed[i]] = - DocRegularStmt(curr.stmt.replace(curr.stmt.trim(), "").replace("\n\n", "\n")) - } - } - return mutableSentences -} - -/** - * This code may be have to be replaced in the future. - * It is used only for iteration sentence blocks. Loops can be iterated - * multiple times, in each iteration it can trigger multiple - * unique statements. And each iteration is one sentence block!!! - * Before sentence is built each block is squashed: - * @see SimpleSentenceBlock#squashStmtText - * then string is built for each such block. - * Now, remember one loop can be multiple squashed sentence strings. - * We can actually concat them and built sentence. However, one particular case with - * multiple squashed sentences of one loop iterations can be: - * iteration 1, squashed txt: triggers condition: c1, c2 - * iteration 2, squashed txt: triggers condition: c3, c4, c5 - * iteration 3, squashed txt: invokes: i1 - * This function squashes above structure into: - * multiple squashed sentences of one loop: - * iteration 1, squashed txt: triggers condition: c1, c2, c3, c4, c5 - * iteration 3, squashed txt: invokes: i1 - */ -fun squash(sentences: MutableList): String { - - for (i in sentences.size - 2 downTo 0) { - val sentence = sentences[i] - val prevSentence = sentences[i + 1] - - val prevCommandStructs = prevSentence.split(NEW_LINE).filter { - it.isNotEmpty() && !it.contains(AT_CODE) && !it.contains(TAB) - } - - val commandStructs = sentence.split(NEW_LINE).filter { - it.isNotEmpty() && !it.contains(AT_CODE) && !it.contains(TAB) - } - val prevCommand = prevCommandStructs.firstOrNull() - val command = commandStructs.lastOrNull() - - if (!prevCommand.isNullOrEmpty() && prevCommand == command) { - val prevSubSentence = prevSentence.substringAfter(prevCommand + NEW_LINE) - sentences[i] += prevSubSentence - sentences.removeAt(i + 1) - } - } - - return sentences.joinToString() -} - -/** - * This one is a prittification function which doesn't affect on the structure of the sentence. - * The whole comment is multiple lines. In one line a sentence can end and another one can start. - * This function looks at each line, if there are more than 2 sentences in one line, and - * one of them has more than 100 chars, then that sentence is moved new line. - */ -fun splitLongSentence(sentence: String): String { - var result = "" - val subSentences = sentence.split(NEW_LINE) //split by line - for (subSentence in subSentences) { - val simpleSentences = subSentence.split("$DOT_SYMBOL ") // split by dot, Now we have 'subsentences' - //if one of the subsentences have more than 100 chars, it is moved to new line. - var countCharacterPerLine = 0 - for (i in 0 until simpleSentences.size - 1) { - val simpleSentence = simpleSentences[i] - when { - countCharacterPerLine + simpleSentence.length <= 100 -> {// - countCharacterPerLine += simpleSentence.length - result += "$simpleSentence. " - } - i != 0 -> { - countCharacterPerLine = simpleSentence.length - result += "\n$simpleSentence. " - } - else -> { - countCharacterPerLine = simpleSentence.length - result += "$simpleSentence. " - } - } - } - // the same as above only for the last line - val simpleSentence = simpleSentences[simpleSentences.size - 1] - result += when { - countCharacterPerLine + simpleSentence.length <= 100 -> simpleSentence - simpleSentences.size != 1 -> NEW_LINE + simpleSentence - else -> simpleSentence - } - result += NEW_LINE - } - return result.substring(0, result.length - 1) -} - -fun lastCommaToDot(sentence: String): String { - val result = sentence.trimEnd() - if (result.lastOrNull() == COMMA_SYMBOL) return result.substring(0, result.length - 1) + DOT_SYMBOL + NEW_LINE - return sentence -} - - -fun merge(first: List, second: List): MutableList { - val list: MutableList = ArrayList(first) - list += second - return list -} - -val criteriaRepetition: ( - SquashedStmtTexts, SquashedStmtTexts -) -> Boolean = { previousSquashedStmts, currentSquashedStmts -> - if (previousSquashedStmts.stmtType == currentSquashedStmts.stmtType) { - currentSquashedStmts.stmtTexts = merge(previousSquashedStmts.stmtTexts, currentSquashedStmts.stmtTexts) - true - } else { - false - } -} - - -/* - If there is invoke that - has the same name as in condition, - condition and invoke located in one line, - condition and invoke are consecutively described - then we can remove invoke description -*/ -val criteriaInvokeCalledInUniqueCondition: (SquashedStmtTexts, SquashedStmtTexts) -> Boolean = - { previousSquashedStmts, currentSquashedStmts -> - var result = false - if (previousSquashedStmts.stmtType == StmtType.Invoke && currentSquashedStmts.stmtType == StmtType.Condition) { - val stmtText = previousSquashedStmts.stmtTexts.firstOrNull() - if (stmtText != null) { - val methodName = stmtText.description.substringAfter("::") - val repetition = currentSquashedStmts.stmtTexts.firstOrNull()?.description?.contains(methodName) - if (repetition == true) result = true - } - } - result - } - - -fun filterSquashedText( - squashedStmtTexts: MutableSet, - criteria: ( - previousSquashedStmts: SquashedStmtTexts, - currentSquashedStmts: SquashedStmtTexts - ) -> Boolean -) { - if (squashedStmtTexts.size < 2) - return - val toRemoveSquashedStmtTexts = mutableSetOf() - var prevSquashedStmtText: SquashedStmtTexts? = null - // apply filter - for (squashedStmtText in squashedStmtTexts) { - prevSquashedStmtText?.let { if (criteria(it, squashedStmtText)) toRemoveSquashedStmtTexts += it } - prevSquashedStmtText = squashedStmtText - } - // remove - toRemoveSquashedStmtTexts.forEach { squashedStmtTexts.remove(it) } -} diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/fuzzer/SimpleCommentForTestProducedByFuzzerBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/fuzzer/SimpleCommentForTestProducedByFuzzerBuilder.kt deleted file mode 100644 index ee272f2f..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/fuzzer/SimpleCommentForTestProducedByFuzzerBuilder.kt +++ /dev/null @@ -1,48 +0,0 @@ -package org.utbot.summary.comment.classic.fuzzer - -import org.utbot.framework.plugin.api.DocPreTagStatement -import org.utbot.framework.plugin.api.DocRegularStmt -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue -import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.comment.customtags.getClassReference -import org.utbot.summary.comment.customtags.getFullClassName -import org.utbot.summary.comment.customtags.getMethodReferenceForFuzzingTest - -class SimpleCommentForTestProducedByFuzzerBuilder( - val methodDescription: FuzzedMethodDescription, - val values: List, - val result: UtExecutionResult? -) { - fun buildDocStatements(): List { - val packageName = methodDescription.packageName - val className = methodDescription.className - val methodName = methodDescription.compilableName - val canonicalName = methodDescription.canonicalName - val isNested = methodDescription.isNested - - val result = if (packageName != null && className != null && methodName != null) { - val fullClassName = getFullClassName(canonicalName, packageName, className, isNested) - - val methodReference = getMethodReferenceForFuzzingTest( - fullClassName, - methodName, - methodDescription.parameters, - false - ) - - val classReference = getClassReference(fullClassName) - - val docStatements = mutableListOf() - docStatements.add(DocRegularStmt("Class under test: $classReference$NEW_LINE")) - docStatements.add(DocRegularStmt("Method under test: $methodReference$NEW_LINE")) - docStatements - } else { - emptyList() - } - - return listOf(DocPreTagStatement(result)) - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/symbolic/SimpleCommentBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/symbolic/SimpleCommentBuilder.kt deleted file mode 100644 index cab592b7..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/symbolic/SimpleCommentBuilder.kt +++ /dev/null @@ -1,421 +0,0 @@ -package org.utbot.summary.comment.classic.symbolic - -import com.github.javaparser.ast.stmt.CatchClause -import com.github.javaparser.ast.stmt.ForStmt -import com.github.javaparser.ast.stmt.IfStmt -import com.github.javaparser.ast.stmt.Statement -import com.github.javaparser.ast.stmt.SwitchStmt -import com.github.javaparser.ast.stmt.ThrowStmt -import com.github.javaparser.ast.stmt.SwitchEntry -import org.utbot.framework.plugin.api.ArtificialError -import org.utbot.framework.plugin.api.InstrumentedProcessDeathException -import org.utbot.framework.plugin.api.DocPreTagStatement -import org.utbot.framework.plugin.api.DocRegularStmt -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.framework.plugin.api.exceptionOrNull -import org.utbot.summary.AbstractTextBuilder -import org.utbot.summary.NodeConverter -import org.utbot.summary.SummarySentenceConstants.CARRIAGE_RETURN -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.* -import org.utbot.summary.comment.customtags.getMethodReferenceForSymbolicTest -import org.utbot.summary.tag.BasicTypeTag -import org.utbot.summary.tag.CallOrderTag -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTagWithoutExecution -import org.utbot.summary.tag.UniquenessTag -import soot.SootMethod -import soot.Type -import soot.jimple.Stmt -import soot.jimple.internal.JAssignStmt -import soot.jimple.internal.JInvokeStmt -import soot.jimple.internal.JVirtualInvokeExpr - -private const val JVM_CRASH_REASON = "JVM crash" -const val EMPTY_STRING = "" - -open class SimpleCommentBuilder( - traceTag: TraceTagWithoutExecution, - sootToAST: MutableMap, - val stringTemplates: StringsTemplatesInterface = StringsTemplatesSingular() -) : - AbstractTextBuilder(traceTag, sootToAST) { - - /** - * Creates String from SimpleSentenceBlock - */ - open fun buildString(currentMethod: SootMethod): String { - val root = SimpleSentenceBlock(stringTemplates = stringTemplates) - buildThrownExceptionInfo(root, currentMethod) - skippedIterations() - buildSentenceBlock(traceTag.rootStatementTag, root, currentMethod) - var sentence = toSentence(root) - - if (sentence.isEmpty()) { - return EMPTY_STRING - } - - sentence = splitLongSentence(sentence) - sentence = lastCommaToDot(sentence) - - return "
    \n$sentence
    ".replace(CARRIAGE_RETURN, "") - } - - private fun buildThrownExceptionInfo( - root: SimpleSentenceBlock, - currentMethod: SootMethod - ) { - traceTag.result.exceptionOrNull()?.let { - val exceptionName = it.javaClass.simpleName - val reason = findExceptionReason(currentMethod, it) - - when (it) { - is TimeoutException, - is ArtificialError -> root.detectedError = reason - else -> root.exceptionThrow = "$exceptionName $reason" - } - } - } - - /** - * Creates List<[DocStatement]> from [SimpleSentenceBlock]. - */ - open fun buildDocStmts(currentMethod: SootMethod): List { - val sentenceBlock = buildSentenceBlock(currentMethod) - val docStmts = toDocStmts(sentenceBlock) - - if (docStmts.isEmpty()) { - return emptyList() - } -// sentence = splitLongSentence(sentence) //TODO SAT-1309 -// sentence = lastCommaToDot(sentence) //TODO SAT-1309 - - return listOf(DocPreTagStatement(docStmts)) - } - - private fun buildSentenceBlock(currentMethod: SootMethod): SimpleSentenceBlock { - val rootSentenceBlock = SimpleSentenceBlock(stringTemplates = stringTemplates) - buildThrownExceptionInfo(rootSentenceBlock, currentMethod) - skippedIterations() - buildSentenceBlock(traceTag.rootStatementTag, rootSentenceBlock, currentMethod) - return rootSentenceBlock - } - - /** - * Transforms rootSentenceBlock into String - */ - protected fun toSentence(rootSentenceBlock: SimpleSentenceBlock): String { - rootSentenceBlock.squashStmtText() - val buildSentence = rootSentenceBlock.toSentence() - if (buildSentence.isEmpty()) return "" - return "${stringTemplates.sentenceBeginning} $buildSentence" - } - - /** - * Transforms rootSentenceBlock into List - */ - protected fun toDocStmts(rootSentenceBlock: SimpleSentenceBlock): List { - val stmts = mutableListOf() - - rootSentenceBlock.squashStmtText() - stmts += rootSentenceBlock.toDocStmt() - if (stmts.isEmpty()) return emptyList() - - stmts.add(0, DocRegularStmt("${stringTemplates.sentenceBeginning} ")) - return stmts - } - - protected fun findExceptionReason(currentMethod: SootMethod, thrownException: Throwable): String { - val path = traceTag.path - if (path.isEmpty()) { - if (thrownException is InstrumentedProcessDeathException) { - return JVM_CRASH_REASON - } - - error("Cannot find last path step for exception $thrownException") - } - - return findExceptionReason(path.last(), currentMethod) - } - - /** - * Tries to find AST node where the exception was thrown - * or AST node that contains a condition which lead to the throw. - */ - private fun findExceptionReason(step: Step, currentMethod: SootMethod): String = - StringBuilder() - .let { stringBuilder -> - val jimpleToASTMap = sootToAST[currentMethod] ?: return "" - - val exceptionNode = - jimpleToASTMap.stmtToASTNode[step.stmt] - .let { node -> - if (node is ThrowStmt) getExceptionReasonForComment(node) - else node - } - ?.also { node -> - stringBuilder.append( - if (node is IfStmt || node is SwitchEntry) "when: " - else "in: " - ) - } - ?: return "" - - stringBuilder - .append( - when { - exceptionNode is IfStmt -> exceptionNode.condition.toString() - exceptionNode is SwitchEntry -> NodeConverter.convertSwitchEntry(exceptionNode, step, removeSpaces = false) - exceptionNode is SwitchStmt -> NodeConverter.convertSwitchStmt(exceptionNode, step, removeSpaces = false) - isLoopStatement(exceptionNode) -> getTextIterationDescription(exceptionNode) - else -> exceptionNode.toString() - } - ) - } - .toString() - .replace(CARRIAGE_RETURN, "") - - /** - * Sentence blocks are built based on unique and partly unique statement tags. - */ - open fun buildSentenceBlock( - statementTag: StatementTag?, - sentenceBlock: SimpleSentenceBlock, - currentMethod: SootMethod - ) { - val jimpleToASTMap = sootToAST[currentMethod] - if (statementTag == null) return - if (jimpleToASTMap == null) return - val recursion = statementTag.recursion - val stmt = statementTag.step.stmt - val invoke = statementTag.invoke - var createNextBlock = false - - val localNoIterations = statementTagSkippedIteration(statementTag, currentMethod) - if (localNoIterations.isNotEmpty()) { - sentenceBlock.notExecutedIterations = localNoIterations - methodToNoIterationDescription[currentMethod]?.removeAll(localNoIterations) - } - - val invokeSootMethod = statementTag.invokeSootMethod() - var invokeRegistered = false - if (invoke != null && invokeSootMethod != null) { - val className = invokeSootMethod.declaringClass.name - val methodName = invokeSootMethod.name - val methodParameterTypes = invokeSootMethod.parameterTypes - val sentenceInvoke = SimpleSentenceBlock(stringTemplates = sentenceBlock.stringTemplates) - buildSentenceBlock(invoke, sentenceInvoke, invokeSootMethod) - sentenceInvoke.squashStmtText() - if (!sentenceInvoke.isEmpty()) { - sentenceBlock.invokeSentenceBlock = - Pair( - getMethodReferenceForSymbolicTest(className, methodName, methodParameterTypes, invokeSootMethod.isPrivate), - sentenceInvoke - ) - createNextBlock = true - invokeRegistered = true - } - } - if (statementTag.basicTypeTag == BasicTypeTag.Invoke && statementTag.uniquenessTag == UniquenessTag.Unique && !invokeRegistered) { - if (statementTag.executionFrequency <= 1) { - addTextInvoke(sentenceBlock, stmt, statementTag.executionFrequency) - } - if (statementTag.executionFrequency > 1 && statementTag.callOrderTag == CallOrderTag.First) { - addTextInvoke(sentenceBlock, stmt, statementTag.executionFrequency) - } - } - - if (statementTag.basicTypeTag == BasicTypeTag.RecursionAssignment && statementTag.uniquenessTag == UniquenessTag.Unique && !invokeRegistered) { - if (statementTag.executionFrequency <= 1) { - addTextRecursion(sentenceBlock, stmt, statementTag.executionFrequency) - } - if (statementTag.executionFrequency > 1 && statementTag.callOrderTag == CallOrderTag.First) { - addTextRecursion(sentenceBlock, stmt, statementTag.executionFrequency) - } - } - - if (jimpleToASTMap[statementTag.step.stmt] !is ForStmt) { - - if (statementTag.basicTypeTag == BasicTypeTag.Condition && statementTag.callOrderTag == CallOrderTag.First) { - if (statementTag.uniquenessTag == UniquenessTag.Unique) { - val conditionText = textCondition(statementTag, jimpleToASTMap) - if (conditionText != null) { - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.Condition, conditionText)) - } - } - if (statementTag.uniquenessTag == UniquenessTag.Partly && statementTag.executionFrequency == 1) { - val conditionText = textCondition(statementTag, jimpleToASTMap) - if (conditionText != null) { - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.Condition, conditionText)) - } - } - } - - if (statementTag.basicTypeTag == BasicTypeTag.SwitchCase && statementTag.uniquenessTag == UniquenessTag.Unique) { - textSwitchCase(statementTag.step, jimpleToASTMap) - ?.let { description -> - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.SwitchCase, description)) - } - } - if (statementTag.basicTypeTag == BasicTypeTag.CaughtException) { - jimpleToASTMap[stmt].let { - if (it is CatchClause) { - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.CaughtException, it.parameter.toString())) - } - } - } - if (statementTag.basicTypeTag == BasicTypeTag.Return) { - textReturn(statementTag, sentenceBlock, stmt, jimpleToASTMap) - } - } - - if (statementTag.iterations.isNotEmpty()) { - val iterationSentenceBlock = buildIterationsBlock(statementTag.iterations, statementTag.step, currentMethod) - sentenceBlock.iterationSentenceBlocks.add(iterationSentenceBlock) - createNextBlock = true - } - - if (recursion != null) { - if (stmt is JAssignStmt) { - val name = (stmt.rightOp as JVirtualInvokeExpr).method.name - val sentenceRecursionBlock = SimpleSentenceBlock(stringTemplates = stringTemplates) - buildSentenceBlock(recursion, sentenceRecursionBlock, currentMethod) - sentenceBlock.recursion = Pair(name, sentenceRecursionBlock) - createNextBlock = true - } - if (stmt is JInvokeStmt) { - val name = stmt.invokeExpr.method.name - val sentenceRecursion = SimpleSentenceBlock(stringTemplates = stringTemplates) - buildSentenceBlock(recursion, sentenceRecursion, currentMethod) - sentenceBlock.recursion = Pair(name, sentenceRecursion) - createNextBlock = true - } - } - - if (createNextBlock) { - val nextSentenceBlock = SimpleSentenceBlock(stringTemplates = stringTemplates) - sentenceBlock.nextBlock = nextSentenceBlock - buildSentenceBlock(statementTag.next, nextSentenceBlock, currentMethod) - } else { - buildSentenceBlock(statementTag.next, sentenceBlock, currentMethod) - } - } - - /** - * Adds RecursionAssignment into sentenceBlock.stmtTexts - */ - protected fun addTextRecursion(sentenceBlock: SimpleSentenceBlock, stmt: Stmt, frequency: Int) { - if (stmt is JAssignStmt || stmt is JInvokeStmt) { - val className = stmt.invokeExpr.methodRef.declaringClass.name - val methodName = stmt.invokeExpr.method.name - addTextRecursion(sentenceBlock, className, methodName, frequency) - } - } - - /** - * Adds Invoke into sentenceBlock.stmtTexts - */ - protected fun addTextInvoke(sentenceBlock: SimpleSentenceBlock, stmt: Stmt, frequency: Int) { - if (stmt is JAssignStmt || stmt is JInvokeStmt) { - val className = stmt.invokeExpr.methodRef.declaringClass.name - val methodName = stmt.invokeExpr.method.name - val methodParameterTypes = stmt.invokeExpr.method.parameterTypes - val isPrivate = stmt.invokeExpr.method.isPrivate - addTextInvoke( - sentenceBlock, - className, - methodName, - methodParameterTypes, - isPrivate, - frequency - ) - } - } - - /** - * Adds Invoke into sentenceBlock.stmtTexts - */ - protected fun addTextInvoke( - sentenceBlock: SimpleSentenceBlock, - className: String, - methodName: String, - methodParameterTypes: List, - isPrivate: Boolean, - frequency: Int - ) { - if (!shouldSkipInvoke(className, methodName)) - sentenceBlock.stmtTexts.add( - StmtDescription( - StmtType.Invoke, - getMethodReferenceForSymbolicTest(className, methodName, methodParameterTypes, isPrivate), - frequency - ) - ) - } - - /** - * Adds RecursionAssignment into sentenceBlock.stmtTexts - */ - protected fun addTextRecursion( - sentenceBlock: SimpleSentenceBlock, - className: String, - methodName: String, - frequency: Int - ) { - if (!shouldSkipInvoke(className, methodName)) - sentenceBlock.stmtTexts.add( - StmtDescription( - StmtType.RecursionAssignment, - methodName, - frequency - ) - ) - } - - protected fun buildIterationsBlock( - iterations: List, - activatedStep: Step, - currentMethod: SootMethod - ): Pair> { - val result = mutableListOf() - val jimpleToASTMap = sootToAST[currentMethod] - iterations.forEach { - val sentenceBlock = SimpleSentenceBlock(stringTemplates = stringTemplates) - buildSentenceBlock(it, sentenceBlock, currentMethod) - result.add(sentenceBlock) - } - val firstStmtNode = jimpleToASTMap?.get(iterations.first().step.stmt) - val activatedNode = jimpleToASTMap?.get(activatedStep.stmt) - val line = iterations.first().line - - var iterationDescription = "" - if (firstStmtNode is Statement) { - iterationDescription = getTextIterationDescription(firstStmtNode) - } - // getTextIterationDescription can return empty description, - // that is why if else is not used here. - if (iterationDescription.isEmpty() && activatedNode is Statement) { - iterationDescription = getTextIterationDescription(activatedNode) - } - //heh, we are still looking for loop txt - if (iterationDescription.isEmpty()) { - val nearestNode = jimpleToASTMap?.nearestIterationNode(activatedNode, line) - if (nearestNode != null) { - iterationDescription = getTextIterationDescription(nearestNode) - } - } - - if (iterationDescription.isEmpty()) { - val nearestNode = jimpleToASTMap?.nearestIterationNode(firstStmtNode, line) - if (nearestNode != null) { - iterationDescription = getTextIterationDescription(nearestNode) - } - } - - return Pair(iterationDescription, result) - } -} - -data class IterationDescription(val from: Int, val to: Int, val description: String, val typeDescription: String) diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/symbolic/SimpleSentenceBlock.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/symbolic/SimpleSentenceBlock.kt deleted file mode 100644 index faa6b2fd..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/classic/symbolic/SimpleSentenceBlock.kt +++ /dev/null @@ -1,571 +0,0 @@ -package org.utbot.summary.comment.classic.symbolic - -import org.utbot.framework.plugin.api.DocCodeStmt -import org.utbot.framework.plugin.api.DocRegularStmt -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.summary.SummarySentenceConstants.AT_CODE -import org.utbot.summary.SummarySentenceConstants.CARRIAGE_RETURN -import org.utbot.summary.SummarySentenceConstants.CLOSE_BRACKET -import org.utbot.summary.SummarySentenceConstants.COMMA_SYMBOL -import org.utbot.summary.SummarySentenceConstants.DOT_SYMBOL -import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.SummarySentenceConstants.OPEN_BRACKET -import org.utbot.summary.SummarySentenceConstants.SENTENCE_SEPARATION -import org.utbot.summary.SummarySentenceConstants.TAB -import org.utbot.summary.comment.* - -class SimpleSentenceBlock(val stringTemplates: StringsTemplatesInterface) { - val iterationSentenceBlocks = mutableListOf>>() - var notExecutedIterations: List? = null - var recursion: Pair? = null - var exceptionThrow: String? = null - var detectedError: String? = null - var nextBlock: SimpleSentenceBlock? = null - - val stmtTexts = mutableListOf() - var squashedStmtTexts = mutableSetOf() - var invokeSentenceBlock: Pair? = null - var tabCounter: Int = 0 - - - fun toSentence(): String { - var result = "" - var putSentenceDot: Boolean - var restartSentence = false - - - squashedStmtTexts.forEach { - result += it.toSentence() - } - - if (invokeSentenceBlock != null) { - val invokeDescription = invokeSentenceBlock?.first - val invokeSentence = invokeSentenceBlock?.second?.toSentence() - if (!invokeDescription.isNullOrEmpty() && !invokeSentence.isNullOrEmpty()) { - val dotAddedAndShiftedInvokeSentence = - lastCommaToDot(invokeSentence).trim().replace(NEW_LINE, NEW_LINE + TAB) - result += stringTemplates.invokeSentence.format(invokeDescription, dotAddedAndShiftedInvokeSentence) - result += NEW_LINE - restartSentence = true - } - } - - iterationSentenceBlocks.forEach { (loopDesc, sentenceBlocks) -> - result += stringTemplates.iterationSentence.format( - stringTemplates.codeSentence.format(loopDesc), - numberOccurrencesToText( - sentenceBlocks.size - ) - ) - putSentenceDot = true - restartSentence = true - val textSentenceBlocks = mutableListOf() - sentenceBlocks.forEach { sentenceBlock -> - sentenceBlock.tabCounter += 1 - textSentenceBlocks += sentenceBlock.toSentence() - } - val insideSentenceStructure = - squash(textSentenceBlocks.asSequence().filter { it.isNotEmpty() }.toMutableList()) - - if (insideSentenceStructure.isNotEmpty()) { - putSentenceDot = false - result += "$COMMA_SYMBOL$NEW_LINE" - result += TAB.repeat(tabCounter + 1) - result += stringTemplates.insideIterationSentence.format(insideSentenceStructure) - } - if (putSentenceDot) result += "$DOT_SYMBOL " - } - - if (recursion != null) { - result += stringTemplates.recursionSentence.format(recursion?.first) - putSentenceDot = true - restartSentence = true - val insideRecursionSentenceStruct = recursion?.second?.toSentence() - if (!insideRecursionSentenceStruct.isNullOrEmpty()) { - result += stringTemplates.insideRecursionSentence.format(insideRecursionSentenceStruct) - putSentenceDot = false - } - if (putSentenceDot) result += "$DOT_SYMBOL " - } - - val nextSentenceBlock = nextBlock?.toSentence() - if (!nextSentenceBlock.isNullOrEmpty()) { - if (restartSentence) { - result += stringTemplates.sentenceBeginning + " " - restartSentence = false - } - result += "${nextSynonyms.random()} $nextSentenceBlock" - - if (nextSentenceBlock.trim().endsWith(DOT_SYMBOL)) { - restartSentence = true - } - } - - if (notExecutedIterations.isNullOrEmpty().not()) { - if (restartSentence) { - result += stringTemplates.sentenceBeginning + " " - restartSentence = false - } - var notIterated = stringTemplates.noIteration + " " - notExecutedIterations?.forEach { - notIterated += stringTemplates.codeSentence.format(it.description) + "$COMMA_SYMBOL " - } - result = notIterated + result - } - - - exceptionThrow?.let { - if (restartSentence) { - result += stringTemplates.sentenceBeginning + " " - restartSentence = false - } - result += stringTemplates.throwSentence.format(it) - result += NEW_LINE - } - - detectedError?.let { - if (restartSentence) { - result += stringTemplates.sentenceBeginning + " " - restartSentence = false - } - result += stringTemplates.suspiciousBehaviorDetectedSentence.format(it) - result += NEW_LINE - } - - return result - } - - fun toDocStmt(): List { - var putSentenceDot: Boolean - var restartSentence = false - val docStmts = mutableListOf() - - squashedStmtTexts.forEach { - docStmts += it.toDocStmts() - } - - if (invokeSentenceBlock != null) { - val invokeDescription = invokeSentenceBlock?.first - val invokeSentence = (invokeSentenceBlock?.second?.toDocStmt() ?: listOf()).toMutableList() - if (!invokeDescription.isNullOrEmpty() && !invokeSentence.isNullOrEmpty()) { - for (i in invokeSentence.indices) { - val stmt = invokeSentence[i] - if (stmt is DocRegularStmt && stmt.stmt.contains(NEW_LINE)) { - invokeSentence[i] = DocRegularStmt(stmt.stmt.replace(NEW_LINE, NEW_LINE + TAB)) - } - } - docStmts += templateToDocStmt( - stringTemplates.invokeSentence, - DocRegularStmt(invokeDescription), - *invokeSentence.toTypedArray() - ) - restartSentence = true - } - } - - iterationSentenceBlocks.forEach { (loopDesc, sentenceBlocks) -> - docStmts += templateToDocStmt( - stringTemplates.iterationSentence, - DocCodeStmt(loopDesc), - DocRegularStmt( - numberOccurrencesToText( - sentenceBlocks.size - ) - ) - ) - putSentenceDot = true - restartSentence = true - val textSentenceBlocks = mutableListOf() - sentenceBlocks.forEach { sentenceBlock -> - sentenceBlock.tabCounter += 1 - textSentenceBlocks += sentenceBlock.toDocStmt() - } - - val squashedRegularStatements = - squashIdenticalRegularStatements(squashDocRegularStatements(textSentenceBlocks)) - - if (squashedRegularStatements.isNotEmpty()) { - putSentenceDot = false - docStmts += DocRegularStmt("$COMMA_SYMBOL$NEW_LINE") - docStmts += DocRegularStmt(TAB.repeat(tabCounter + 1)) - docStmts += templateToDocStmt( - stringTemplates.insideIterationSentence, - *squashedRegularStatements.toTypedArray() - ) - } - if (putSentenceDot) docStmts += DocRegularStmt("$DOT_SYMBOL ") - } - - if (recursion != null) { - docStmts += templateToDocStmt( - stringTemplates.recursionSentence, - DocRegularStmt(recursion?.first ?: "") - ) - putSentenceDot = true - restartSentence = true - val insideRecursionSentenceStruct = recursion?.second?.toDocStmt() - if (!insideRecursionSentenceStruct.isNullOrEmpty()) { - docStmts += templateToDocStmt( - stringTemplates.insideRecursionSentence, - *insideRecursionSentenceStruct.toTypedArray() - ) - - putSentenceDot = false - } - if (putSentenceDot) docStmts += DocRegularStmt("$DOT_SYMBOL ") - } - - val nextSentenceBlock = nextBlock?.toDocStmt() - if (!nextSentenceBlock.isNullOrEmpty()) { - if (restartSentence) { - docStmts += DocRegularStmt("\n" + stringTemplates.sentenceBeginning + " ") - restartSentence = false - } - docStmts += DocRegularStmt("${nextSynonyms.random()} ") - docStmts += nextSentenceBlock - } - - if (notExecutedIterations.isNullOrEmpty().not()) { - if (restartSentence) { - docStmts += DocRegularStmt(stringTemplates.sentenceBeginning + " ") - restartSentence = false - } - val notIterated = mutableListOf(DocRegularStmt(stringTemplates.noIteration + " ")) - notExecutedIterations?.forEach { - notIterated += DocCodeStmt(it.description) - notIterated += DocRegularStmt("$COMMA_SYMBOL ") - } - docStmts.addAll(0, notIterated) - } - - exceptionThrow?.let { - docStmts += DocRegularStmt(NEW_LINE) - if (restartSentence) { - docStmts += DocRegularStmt(stringTemplates.sentenceBeginning + " ") - restartSentence = false - } - docStmts += DocRegularStmt(stringTemplates.throwSentence.format(it)) //TODO SAT-1310 - docStmts += DocRegularStmt(NEW_LINE) - } - - detectedError?.let { - docStmts += DocRegularStmt(NEW_LINE) - if (restartSentence) { - docStmts += DocRegularStmt(stringTemplates.sentenceBeginning + " ") - restartSentence = false - } - docStmts += DocRegularStmt(stringTemplates.suspiciousBehaviorDetectedSentence.format(it)) - docStmts += DocRegularStmt(NEW_LINE) - } - - return docStmts - } - - /** - * During sentence block generation, block are filled with statement description (StmtDescription). - * A list of stmtDescription1, stmtDescription2, ..., stmtDescriptionN. - * Consequently before sentence generation these statements have to be orderly squashed, to list of objects: - * squashedStmtTexts1, squashedStmtTexts2, ...,squashedStmtTextsK - * @see orderedSquashStmtText - * This function triggers squashing operations of this block and its child blocks. - * Also some of the invokes sequentially multiple types are described, because - * they may appear inside of condition structure. Then, soot will give us multiple descriptions - * of one actual call. The remove of abundant description is triggered here also. - * @see removeInvokeCalledInUniqueCondition - * It is not removed in orderedSquashStmtText as these invokes have different types of statements (Ex.: one - * will be JInvokeStmt another as JIfStmt). - */ - fun squashStmtText() { - squashedStmtTexts = orderedSquashStmtText() - removeInvokeCalledInUniqueCondition() - recursion?.second?.squashStmtText() - nextBlock?.squashStmtText() - iterationSentenceBlocks.forEach { (_, iteration) -> - iteration.forEach { block -> block.squashStmtText() } - } - } - - /** - * Each statement has its own description. Sentence block contains a list of - * statement descriptions. They are may be of different types. Ex.: - * invoke:m1 - * invoke: m2 - * activates condition: f1 - * activates condition: f2 - * etc - * This function orderly squashes such statement descriptions into: - * invoke:m1, m2 - * activates condition: f1, f2 - * etc - * @return a list of squashed descriptions of statements - * @see SquashedStmtTexts - */ - private fun orderedSquashStmtText(): MutableSet { - val result = mutableSetOf() - if (stmtTexts.size <= 1) { - stmtTexts.forEach { result += (SquashedStmtTexts(it.stmtType, it, stringTemplates)) } - } else { - var i = 0 - var prevSquash = SquashedStmtTexts(stmtTexts[i].stmtType, stmtTexts[i], stringTemplates) - result += (prevSquash) - while (i < stmtTexts.size - 1) { - i++ - val currentStmtText = stmtTexts[i] - if (prevSquash.stmtType == currentStmtText.stmtType) { - prevSquash.stmtTexts.add(currentStmtText) - } else { - prevSquash = SquashedStmtTexts(currentStmtText.stmtType, currentStmtText, stringTemplates) - result += (prevSquash) - } - } - } - return result - } - - /* - If the condition invokes method call then in some cases this invoke will have - two separate descriptions: its own description and description inside condition. - So, if there is invoke that meets all these requirements at once: - has the same name as in condition, - condition and invoke located in one line, - condition and invoke are consecutively described - then first invoke description is removed - */ - private fun removeInvokeCalledInUniqueCondition() { - filterSquashedText(squashedStmtTexts, criteriaInvokeCalledInUniqueCondition) - filterSquashedText(squashedStmtTexts, criteriaRepetition) - } - - fun isEmpty(): Boolean { - if (squashedStmtTexts.isNotEmpty()) return false - if (iterationSentenceBlocks.isNotEmpty()) return false - if (recursion != null) return false - if (nextBlock?.isEmpty() == false) return false - if (notExecutedIterations.isNullOrEmpty().not()) return false - exceptionThrow?.let { return false } - detectedError?.let { return false } - if (invokeSentenceBlock != null) return false - return true - } - -} - -data class StmtDescription( - val stmtType: StmtType, - val description: String, - val frequency: Int = 0, - val prefix: String = "" -) - -// texts for these stmts types are automatically built -// while others require manual sentence build policy -enum class StmtType { - Condition, Return, CountedReturn, Invoke, SwitchCase, CaughtException, RecursionAssignment -} - -data class SquashedStmtTexts( - val stmtType: StmtType, - var stmtTexts: MutableList = mutableListOf(), - val stringTemplates: StringsTemplatesInterface -) { - constructor( - stmtType: StmtType, - stmtDescription: StmtDescription, - stringTemplates: StringsTemplatesInterface - ) : this(stmtType, stringTemplates = stringTemplates) { - stmtTexts.add(stmtDescription) - stmtTexts = stmtTexts.map { - it.copy(description = it.description.replace(CARRIAGE_RETURN, "")) - }.toMutableList() - } - - fun toSentence(): String { - var result = "" - val separation = SENTENCE_SEPARATION - var tab = TAB - var end = NEW_LINE - result += when (stmtType) { - StmtType.Condition -> stringTemplates.conditionLine - StmtType.CaughtException -> stringTemplates.caughtExceptionLine - StmtType.CountedReturn -> stringTemplates.countedReturnLine - StmtType.Invoke -> stringTemplates.invokeLine - StmtType.Return -> { - tab = "" - stringTemplates.returnLine - } - StmtType.SwitchCase -> { - tab = "" - end = "$COMMA_SYMBOL " - stringTemplates.switchCaseLine - } - StmtType.RecursionAssignment -> { - tab = "" - end = "$COMMA_SYMBOL " - stringTemplates.recursionAssignmentLine - } - } - if (stmtType != StmtType.Invoke && stmtType != StmtType.RecursionAssignment) { - for (i in 0 until stmtTexts.size) { - val stmtText = stmtTexts[i] - result += tab + stmtText.prefix + stringTemplates.codeSentence.format(stmtText.description) - result += if (i != stmtTexts.lastIndex) separation else end - } - } else { - val frequencyOfExecution = stmtTexts.groupingBy { it }.eachCount() - val invokes = frequencyOfExecution.keys.toList() - for (index in invokes.indices) { - val invoke = invokes[index] - val numberSquashed = frequencyOfExecution[invoke] ?: 1 - result += "$tab${invoke.description} ${numberOccurrencesToText(numberSquashed + invoke.frequency - 1)}" - result += if (index != invokes.lastIndex) separation else end - } - } - - return result - } - - fun toDocStmts(): List { - val stmts = mutableListOf() - val separation = SENTENCE_SEPARATION - var tab = TAB - var end = NEW_LINE - stmts += DocRegularStmt( - when (stmtType) { - StmtType.Condition -> stringTemplates.conditionLine - StmtType.CaughtException -> stringTemplates.caughtExceptionLine - StmtType.CountedReturn -> stringTemplates.countedReturnLine - StmtType.Invoke -> stringTemplates.invokeLine - StmtType.Return -> { - tab = "" - stringTemplates.returnLine - } - StmtType.SwitchCase -> { - tab = "" - end = "$COMMA_SYMBOL " - stringTemplates.switchCaseLine - } - StmtType.RecursionAssignment -> { - tab = "" - end = "$COMMA_SYMBOL " - stringTemplates.recursionAssignmentLine - } - } - ) - if (stmtType != StmtType.Invoke && stmtType != StmtType.RecursionAssignment) { - for (i in 0 until stmtTexts.size) { - val stmtText = stmtTexts[i] - if ((tab + stmtText.prefix).isNotEmpty()) stmts += DocRegularStmt(tab + stmtText.prefix) - stmts += DocCodeStmt(stmtText.description.replace(CARRIAGE_RETURN, "")) - - if (i != stmtTexts.lastIndex) { - if (separation.isNotEmpty()) stmts += DocRegularStmt(separation) - } else { - if (end.isNotEmpty()) stmts += DocRegularStmt(end) - } - } - } else { - val frequencyOfExecution = stmtTexts.groupingBy { it }.eachCount() - val invokes = frequencyOfExecution.keys.toList() - for (index in invokes.indices) { - val invoke = invokes[index] - val numberSquashed = frequencyOfExecution[invoke] ?: 1 - val numberOfOccurrences = numberOccurrencesToText(numberSquashed + invoke.frequency - 1) - val line = "$tab${invoke.description} $numberOfOccurrences" - stmts += DocRegularStmt(line) - - if (index != invokes.lastIndex) { - if (separation.isNotEmpty()) stmts += DocRegularStmt(separation) - } else { - if (end.isNotEmpty()) stmts += DocRegularStmt(end) - } - } - } - - return stmts - } -} - -/** - * Enum classed used to define all string variables used - * to build sentence block and in SquashedStmtTexts - */ -interface StringsTemplatesInterface { - val invokeSentence: String - val iterationSentence: String - val insideIterationSentence: String - val recursionSentence: String - val insideRecursionSentence: String - val sentenceBeginning: String - val noIteration: String - val codeSentence: String - val throwSentence: String - val suspiciousBehaviorDetectedSentence: String - - val conditionLine: String - val returnLine: String - val countedReturnLine: String - val invokeLine: String - val switchCaseLine: String - val caughtExceptionLine: String - val recursionAssignmentLine: String -} - -open class StringsTemplatesSingular : StringsTemplatesInterface { - override val invokeSentence: String = "calls %s$COMMA_SYMBOL$NEW_LINE${TAB}there it %s" - override val iterationSentence: String = "iterates the loop %s %s" - override val insideIterationSentence: String = "inside this loop$COMMA_SYMBOL the test %s" - override val recursionSentence: String = "triggers the recursion of %s" - override val insideRecursionSentence: String = "$COMMA_SYMBOL where the test %s" - override val sentenceBeginning: String = "Test" - override val noIteration: String = "does not iterate" - override val codeSentence: String = "$OPEN_BRACKET$AT_CODE %s$CLOSE_BRACKET" - override val throwSentence: String = "throws %s" - override val suspiciousBehaviorDetectedSentence: String = "detects suspicious behavior %s" - - //used in Squashing - override val conditionLine: String = "executes conditions:$NEW_LINE" - override val returnLine: String = "returns from: " - override val countedReturnLine: String = "returns from:$NEW_LINE" - override val invokeLine: String = "invokes:$NEW_LINE" - override val switchCaseLine: String = "activates " - override val caughtExceptionLine: String = "catches exception:$NEW_LINE" - override val recursionAssignmentLine: String = "triggers recursion of " -} - -class StringsTemplatesPlural : StringsTemplatesSingular() { - override val invokeSentence: String = "call %s$COMMA_SYMBOL$NEW_LINE${TAB}there it %s" - override val iterationSentence: String = "iterate the loop %s %s" - override val insideIterationSentence: String = "inside this loop$COMMA_SYMBOL the test %s" - override val recursionSentence: String = "trigger the recursion of %s" - override val insideRecursionSentence: String = "$COMMA_SYMBOL where the test %s" - override val sentenceBeginning: String = "Tests" - override val noIteration: String = "does not iterate" - override val codeSentence: String = "$OPEN_BRACKET$AT_CODE %s$CLOSE_BRACKET" - override val throwSentence: String = "throw %s" - override val suspiciousBehaviorDetectedSentence: String = "detect suspicious behavior %s" - - //used in Squashing - override val conditionLine: String = "execute conditions:$NEW_LINE" - override val returnLine: String = "return from: " - override val countedReturnLine: String = "return from:$NEW_LINE" - override val invokeLine: String = "invoke:$NEW_LINE" - override val switchCaseLine: String = "activate " - override val caughtExceptionLine: String = "catches exception:$NEW_LINE" - override val recursionAssignmentLine: String = "trigger recursion of " -} - -/** - * Replaces %s in template with docStmts in vararg - * If vararg contains more elements than template contains %s then remaining statements are added in the end - */ -fun templateToDocStmt(template: String, vararg docStmts: DocStatement): List { - val stmts = mutableListOf() - val splitTemplate = template.split("%s") - for (i in splitTemplate.indices) { - stmts += DocRegularStmt(splitTemplate[i]) - if (i < docStmts.size) stmts += docStmts[i] - } - if (splitTemplate.size < docStmts.size) stmts += - docStmts.slice(splitTemplate.size until docStmts.size) - return stmts -} diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/cluster/SymbolicExecutionClusterCommentBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/cluster/SymbolicExecutionClusterCommentBuilder.kt deleted file mode 100644 index 7ea53fba..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/cluster/SymbolicExecutionClusterCommentBuilder.kt +++ /dev/null @@ -1,187 +0,0 @@ -package org.utbot.summary.comment.cluster - -import com.github.javaparser.ast.stmt.CatchClause -import com.github.javaparser.ast.stmt.ForStmt -import org.utbot.framework.plugin.api.DocPreTagStatement -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.summary.SummarySentenceConstants.CARRIAGE_RETURN -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.* -import org.utbot.summary.comment.classic.symbolic.* -import org.utbot.summary.comment.customtags.getMethodReferenceForSymbolicTest -import org.utbot.summary.tag.BasicTypeTag -import org.utbot.summary.tag.CallOrderTag -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTagWithoutExecution -import org.utbot.summary.tag.UniquenessTag -import soot.SootMethod -import soot.jimple.internal.JAssignStmt -import soot.jimple.internal.JInvokeStmt -import soot.jimple.internal.JVirtualInvokeExpr - -/** - * Inherits from SimpleCommentBuilder - */ -class SymbolicExecutionClusterCommentBuilder( - traceTag: TraceTagWithoutExecution, - sootToAST: MutableMap -) : SimpleCommentBuilder(traceTag, sootToAST, stringTemplates = StringsTemplatesPlural()) { - /** - * Builds cluster comment, ignores thrown exceptions - */ - override fun buildString(currentMethod: SootMethod): String { - val root = SimpleSentenceBlock(stringTemplates = StringsTemplatesPlural()) - - skippedIterations() - buildSentenceBlock(traceTag.rootStatementTag, root, currentMethod) - var sentence = toSentence(root) - - if (sentence.isEmpty()) { - return EMPTY_STRING - } - - sentence = splitLongSentence(sentence) - sentence = lastCommaToDot(sentence) - - return "
    \n$sentence
    ".replace(CARRIAGE_RETURN, EMPTY_STRING) - } - - override fun buildDocStmts(currentMethod: SootMethod): List { - val root = SimpleSentenceBlock(stringTemplates = StringsTemplatesPlural()) - - skippedIterations() - buildSentenceBlock(traceTag.rootStatementTag, root, currentMethod) - val sentence = toDocStmts(root) - - if (sentence.isEmpty()) { - return emptyList() - } -// sentence = splitLongSentence(sentence) //TODO SAT-1309 -// sentence = lastCommaToDot(sentence) //TODO SAT-1309 - - val docStatements = toDocStmts(root) - return listOf(DocPreTagStatement(docStatements)) - } - - /** - * Builds sentence blocks as parent one, - * but ignores few types of statementTag that are considered in SimpleCommentBuilder - */ - override fun buildSentenceBlock( - statementTag: StatementTag?, - sentenceBlock: SimpleSentenceBlock, - currentMethod: SootMethod - ) { - val jimpleToASTMap = sootToAST[currentMethod] - if (statementTag == null) return - if (jimpleToASTMap == null) return - val recursion = statementTag.recursion - val stmt = statementTag.step.stmt - val invoke = statementTag.invoke - var createNextBlock = false - - val localNoIterations = statementTagSkippedIteration(statementTag, currentMethod) - if (localNoIterations.isNotEmpty()) { - sentenceBlock.notExecutedIterations = localNoIterations - methodToNoIterationDescription[currentMethod]?.removeAll(localNoIterations) - } - - val invokeSootMethod = statementTag.invokeSootMethod() - var invokeRegistered = false - if (invoke != null && invokeSootMethod != null) { - val className = invokeSootMethod.declaringClass.name - val methodName = invokeSootMethod.name - val methodParameterTypes = invokeSootMethod.parameterTypes - val isPrivate = invokeSootMethod.isPrivate - val sentenceInvoke = SimpleSentenceBlock(stringTemplates = StringsTemplatesPlural()) - buildSentenceBlock(invoke, sentenceInvoke, invokeSootMethod) - sentenceInvoke.squashStmtText() - if (!sentenceInvoke.isEmpty()) { - sentenceBlock.invokeSentenceBlock = - Pair( - getMethodReferenceForSymbolicTest(className, methodName, methodParameterTypes, isPrivate), - sentenceInvoke - ) - createNextBlock = true - invokeRegistered = true - } - } - if (statementTag.basicTypeTag == BasicTypeTag.Invoke && statementTag.uniquenessTag == UniquenessTag.Unique && !invokeRegistered) { - if (statementTag.executionFrequency <= 1) { - addTextInvoke(sentenceBlock, stmt, statementTag.executionFrequency) - } - if (statementTag.executionFrequency > 1 && statementTag.callOrderTag == CallOrderTag.First) { - addTextInvoke(sentenceBlock, stmt, statementTag.executionFrequency) - } - } - - if (statementTag.basicTypeTag == BasicTypeTag.RecursionAssignment && statementTag.uniquenessTag == UniquenessTag.Unique && !invokeRegistered) { - if (statementTag.executionFrequency <= 1) { - addTextRecursion(sentenceBlock, stmt, statementTag.executionFrequency) - } - if (statementTag.executionFrequency > 1 && statementTag.callOrderTag == CallOrderTag.First) { - addTextRecursion(sentenceBlock, stmt, statementTag.executionFrequency) - } - } - - if (jimpleToASTMap[statementTag.step.stmt] !is ForStmt) { - - if (statementTag.basicTypeTag == BasicTypeTag.Condition && statementTag.callOrderTag == CallOrderTag.First) { - if (statementTag.uniquenessTag == UniquenessTag.Unique) { - val conditionText = textCondition(statementTag, jimpleToASTMap) - if (conditionText != null) { - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.Condition, conditionText)) - } - } - } - - if (statementTag.basicTypeTag == BasicTypeTag.SwitchCase && statementTag.uniquenessTag == UniquenessTag.Unique) { - textSwitchCase(statementTag.step, jimpleToASTMap) - ?.let { description -> - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.SwitchCase, description)) - } - } - if (statementTag.basicTypeTag == BasicTypeTag.CaughtException && statementTag.uniquenessTag == UniquenessTag.Unique) { - jimpleToASTMap[stmt].let { - if (it is CatchClause) { - sentenceBlock.stmtTexts.add(StmtDescription(StmtType.CaughtException, it.parameter.toString())) - } - } - } - if (statementTag.basicTypeTag == BasicTypeTag.Return && statementTag.uniquenessTag == UniquenessTag.Unique) { - textReturn(statementTag, sentenceBlock, stmt, jimpleToASTMap) - } - } - - if (statementTag.iterations.isNotEmpty()) { - val iterationSentenceBlock = buildIterationsBlock(statementTag.iterations, statementTag.step, currentMethod) - sentenceBlock.iterationSentenceBlocks.add(iterationSentenceBlock) - createNextBlock = true - } - - if (recursion != null) { - if (stmt is JAssignStmt) { - val name = (stmt.rightOp as JVirtualInvokeExpr).method.name - val sentenceRecursionBlock = SimpleSentenceBlock(stringTemplates = StringsTemplatesPlural()) - buildSentenceBlock(recursion, sentenceRecursionBlock, currentMethod) - sentenceBlock.recursion = Pair(name, sentenceRecursionBlock) - createNextBlock = true - } - if (stmt is JInvokeStmt) { - val name = stmt.invokeExpr.method.name - val sentenceRecursion = SimpleSentenceBlock(stringTemplates = StringsTemplatesPlural()) - buildSentenceBlock(recursion, sentenceRecursion, currentMethod) - sentenceBlock.recursion = Pair(name, sentenceRecursion) - createNextBlock = true - } - } - - if (createNextBlock) { - val nextSentenceBlock = SimpleSentenceBlock(stringTemplates = StringsTemplatesPlural()) - sentenceBlock.nextBlock = nextSentenceBlock - buildSentenceBlock(statementTag.next, nextSentenceBlock, currentMethod) - } else { - buildSentenceBlock(statementTag.next, sentenceBlock, currentMethod) - } - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/CustomJavaDocTagProvider.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/CustomJavaDocTagProvider.kt deleted file mode 100644 index 73819ea4..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/CustomJavaDocTagProvider.kt +++ /dev/null @@ -1,112 +0,0 @@ -package org.utbot.summary.comment.customtags.symbolic - -import org.utbot.framework.plugin.api.DocRegularLineStmt -import org.utbot.framework.plugin.api.DocRegularStmt -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.summary.comment.customtags.fuzzer.CommentWithCustomTagForTestProducedByFuzzer - -/** - * Provides a list of supported custom JavaDoc tags. - */ -class CustomJavaDocTagProvider { - // The tags' order is important because plugin builds final JavaDoc comment according to it. - fun getPluginCustomTags(): List = - listOf( - CustomJavaDocTag.ClassUnderTest, - CustomJavaDocTag.MethodUnderTest, - CustomJavaDocTag.ExpectedResult, - CustomJavaDocTag.ActualResult, - CustomJavaDocTag.Executes, - CustomJavaDocTag.Invokes, - CustomJavaDocTag.Iterates, - CustomJavaDocTag.SwitchCase, - CustomJavaDocTag.Recursion, - CustomJavaDocTag.ReturnsFrom, - CustomJavaDocTag.CaughtException, - CustomJavaDocTag.ThrowsException, - CustomJavaDocTag.DetectsSuspiciousBehavior, - ) -} - -sealed class CustomJavaDocTag( - val name: String, - val message: String, - private val valueRetriever: (CustomJavaDocComment) -> Any, - private val valueRetrieverFuzzer: ((CommentWithCustomTagForTestProducedByFuzzer) -> Any)? // TODO: remove after refactoring -) { - object ClassUnderTest : - CustomJavaDocTag( - "utbot.classUnderTest", - "Class under test", - CustomJavaDocComment::classUnderTest, - CommentWithCustomTagForTestProducedByFuzzer::classUnderTest - ) - - object MethodUnderTest : - CustomJavaDocTag( - "utbot.methodUnderTest", - "Method under test", - CustomJavaDocComment::methodUnderTest, - CommentWithCustomTagForTestProducedByFuzzer::methodUnderTest - ) - - object ExpectedResult : - CustomJavaDocTag("utbot.expectedResult", "Expected result", CustomJavaDocComment::expectedResult, null) - - object ActualResult : - CustomJavaDocTag("utbot.actualResult", "Actual result", CustomJavaDocComment::actualResult, null) - - object Executes : - CustomJavaDocTag("utbot.executesCondition", "Executes condition", CustomJavaDocComment::executesCondition, null) - - object Invokes : CustomJavaDocTag("utbot.invokes", "Invokes", CustomJavaDocComment::invokes, null) - object Iterates : CustomJavaDocTag("utbot.iterates", "Iterates", CustomJavaDocComment::iterates, null) - object SwitchCase : - CustomJavaDocTag("utbot.activatesSwitch", "Activates switch", CustomJavaDocComment::switchCase, null) - - object Recursion : - CustomJavaDocTag("utbot.triggersRecursion", "Triggers recursion ", CustomJavaDocComment::recursion, null) - - object ReturnsFrom : CustomJavaDocTag("utbot.returnsFrom", "Returns from", CustomJavaDocComment::returnsFrom, null) - object CaughtException : - CustomJavaDocTag("utbot.caughtException", "Caught exception", CustomJavaDocComment::caughtException, null) - - object ThrowsException : - CustomJavaDocTag("utbot.throwsException", "Throws exception", CustomJavaDocComment::throwsException, null) - - object DetectsSuspiciousBehavior : - CustomJavaDocTag("utbot.detectsSuspiciousBehavior", "Detects suspicious behavior", CustomJavaDocComment::detectsSuspiciousBehavior, null) - - fun generateDocStatement(comment: CustomJavaDocComment): DocRegularStmt? = - when (val value = valueRetriever.invoke(comment)) { - is String -> value.takeIf { it.isNotEmpty() }?.let { - DocRegularStmt("@$name $value\n") - } - is List<*> -> value.takeIf { it.isNotEmpty() }?.let { - val valueToString = value.joinToString(separator = "\n", postfix = "\n") { "@$name $it" } - - DocRegularStmt(valueToString) - } - else -> null - } - - // TODO: could be universal with the function above after creation of hierarchy data classes related to the comments - fun generateDocStatementForTestProducedByFuzzer(comment: CommentWithCustomTagForTestProducedByFuzzer): DocStatement? { - if (valueRetrieverFuzzer != null) { //TODO: it required only when we have two different retrievers - return when (val value = valueRetrieverFuzzer!!.invoke(comment)) { // TODO: unsafe !! - resolve - is String -> value.takeIf { it.isNotEmpty() }?.let { - DocRegularLineStmt("@$name $value") - } - - is List<*> -> value.takeIf { it.isNotEmpty() }?.let { - val valueToString = value.joinToString(separator = ",\n", postfix = "\n") - - DocRegularStmt("@$name $valueToString") - } - - else -> null - } - } - return null - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/CustomTagsUtil.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/CustomTagsUtil.kt deleted file mode 100644 index 5d503461..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/CustomTagsUtil.kt +++ /dev/null @@ -1,84 +0,0 @@ -package org.utbot.summary.comment.customtags - -import org.utbot.framework.plugin.api.ClassId -import org.utbot.summary.SummarySentenceConstants.CARRIAGE_RETURN -import org.utbot.summary.SummarySentenceConstants.JAVA_CLASS_DELIMITER -import org.utbot.summary.SummarySentenceConstants.JAVA_DOC_CLASS_DELIMITER -import org.utbot.summary.comment.classic.symbolic.EMPTY_STRING -import soot.Type - -/** - * Returns a reference to the invoked method. IDE can't resolve references to private methods in comments, - * so we add @link tag only if the invoked method is not private. - * - * It looks like {@link packageName.className#methodName(type1, type2)}. - * - * In case when an enclosing class in nested, we need to replace '$' with '.' - * to render the reference. - */ -fun getMethodReferenceForSymbolicTest( - className: String, - methodName: String, - methodParameterTypes: List, - isPrivate: Boolean -): String { - val methodParametersAsString = if (methodParameterTypes.isNotEmpty()) methodParameterTypes.joinToString(",") else EMPTY_STRING - - return formMethodReferenceForJavaDoc(className, methodName, methodParametersAsString, isPrivate) -} - -/** - * Returns a reference to the invoked method. - * - * It looks like {@link packageName.className#methodName(type1, type2)}. - * - * In case when an enclosing class in nested, we need to replace '$' with '.' - * to render the reference. - */ -fun getMethodReferenceForFuzzingTest(className: String, methodName: String, methodParameterTypes: List, isPrivate: Boolean): String { - val methodParametersAsString = if (methodParameterTypes.isNotEmpty()) methodParameterTypes.joinToString(",") { it.canonicalName } else EMPTY_STRING - - return formMethodReferenceForJavaDoc(className, methodName, methodParametersAsString, isPrivate).replace( - CARRIAGE_RETURN, EMPTY_STRING - ) -} - -private fun formMethodReferenceForJavaDoc( - className: String, - methodName: String, - methodParametersAsString: String, - isPrivate: Boolean -): String { - // to avoid $ in names for static inner classes - val prettyClassName: String = className.replace(JAVA_CLASS_DELIMITER, JAVA_DOC_CLASS_DELIMITER) - val validMethodParameters = methodParametersAsString.replace(JAVA_CLASS_DELIMITER, JAVA_DOC_CLASS_DELIMITER) - - val text = if (validMethodParameters == EMPTY_STRING) { - "$prettyClassName#$methodName()" - } else { - "$prettyClassName#$methodName($validMethodParameters)" - } - - return if (isPrivate) { - text - } else { - "{@link $text}" - } -} - -/** - * Returns a reference to the class. - * Replaces '$' with '.' in case a class is nested. - */ -fun getClassReference(fullClassName: String): String { - return "{@link ${fullClassName.replace(JAVA_CLASS_DELIMITER, JAVA_DOC_CLASS_DELIMITER)}}".replace(CARRIAGE_RETURN, EMPTY_STRING) -} - -/** Returns correct full class name. */ -fun getFullClassName(canonicalName: String?, packageName: String, className: String, isNested: Boolean): String { - return if (isNested && canonicalName != null) { - canonicalName - } else { - if (packageName.isEmpty()) className else "$packageName.$className" - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/fuzzer/CommentWithCustomTagForTestProducedByFuzzer.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/fuzzer/CommentWithCustomTagForTestProducedByFuzzer.kt deleted file mode 100644 index 6cefc2c8..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/fuzzer/CommentWithCustomTagForTestProducedByFuzzer.kt +++ /dev/null @@ -1,15 +0,0 @@ -package org.utbot.summary.comment.customtags.fuzzer - -import org.utbot.summary.comment.classic.symbolic.EMPTY_STRING - -/** - * Represents a set of plugin's custom JavaDoc tags. - */ -data class CommentWithCustomTagForTestProducedByFuzzer( - val classUnderTest: String = EMPTY_STRING, - val methodUnderTest: String = EMPTY_STRING, - val expectedResult: String = EMPTY_STRING, - val actualResult: String = EMPTY_STRING, - var returnsFrom: String = EMPTY_STRING, - var throwsException: String = EMPTY_STRING -) \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/fuzzer/CommentWithCustomTagForTestProducedByFuzzerBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/fuzzer/CommentWithCustomTagForTestProducedByFuzzerBuilder.kt deleted file mode 100644 index ca65e00a..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/fuzzer/CommentWithCustomTagForTestProducedByFuzzerBuilder.kt +++ /dev/null @@ -1,59 +0,0 @@ -package org.utbot.summary.comment.customtags.fuzzer - -import org.utbot.framework.plugin.api.DocCustomTagStatement -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue -import org.utbot.summary.comment.customtags.getClassReference -import org.utbot.summary.comment.customtags.getFullClassName -import org.utbot.summary.comment.customtags.getMethodReferenceForFuzzingTest -import org.utbot.summary.comment.customtags.symbolic.CustomJavaDocTagProvider - -/** - * Builds JavaDoc comments for generated tests using plugin's custom JavaDoc tags. - */ -class CommentWithCustomTagForTestProducedByFuzzerBuilder( - val methodDescription: FuzzedMethodDescription, - val values: List, - val result: UtExecutionResult? -) { - /** - * Collects statements for final JavaDoc comment. - */ - fun buildDocStatements(): List { - val comment = buildCustomJavaDocComment() - val docStatementList = - CustomJavaDocTagProvider().getPluginCustomTags() - .mapNotNull { it.generateDocStatementForTestProducedByFuzzer(comment) } - return listOf(DocCustomTagStatement(docStatementList)) - } - - private fun buildCustomJavaDocComment(): CommentWithCustomTagForTestProducedByFuzzer { - val packageName = methodDescription.packageName - val className = methodDescription.className - val methodName = methodDescription.compilableName - val canonicalName = methodDescription.canonicalName - val isNested = methodDescription.isNested - - return if (packageName != null && className != null && methodName != null) { - val fullClassName = getFullClassName(canonicalName, packageName, className, isNested) - - val methodReference = getMethodReferenceForFuzzingTest( - fullClassName, - methodName, - methodDescription.parameters, - false - ) - - val classReference = getClassReference(fullClassName) - - CommentWithCustomTagForTestProducedByFuzzer( - classUnderTest = classReference, - methodUnderTest = methodReference, - ) - } else { - CommentWithCustomTagForTestProducedByFuzzer() - } - } -} diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/symbolic/CustomJavaDocComment.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/symbolic/CustomJavaDocComment.kt deleted file mode 100644 index 373f101a..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/symbolic/CustomJavaDocComment.kt +++ /dev/null @@ -1,23 +0,0 @@ -package org.utbot.summary.comment.customtags.symbolic - -import org.utbot.summary.comment.classic.symbolic.EMPTY_STRING - -/** - * Represents a set of plugin's custom JavaDoc tags. - */ -data class CustomJavaDocComment( - val classUnderTest: String = EMPTY_STRING, - val methodUnderTest: String = EMPTY_STRING, - val expectedResult: String = EMPTY_STRING, - val actualResult: String = EMPTY_STRING, - var executesCondition: List = listOf(), - var invokes: List = listOf(), - var iterates: List = listOf(), - var switchCase: String = EMPTY_STRING, - var recursion: String = EMPTY_STRING, - var returnsFrom: String = EMPTY_STRING, - var countedReturn: String = EMPTY_STRING, - var caughtException: String = EMPTY_STRING, - var throwsException: String = EMPTY_STRING, - var detectsSuspiciousBehavior: String = EMPTY_STRING -) \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/symbolic/CustomJavaDocCommentBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/symbolic/CustomJavaDocCommentBuilder.kt deleted file mode 100644 index 613a9dae..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/comment/customtags/symbolic/CustomJavaDocCommentBuilder.kt +++ /dev/null @@ -1,116 +0,0 @@ -package org.utbot.summary.comment.customtags.symbolic - -import org.utbot.framework.plugin.api.ArtificialError -import org.utbot.framework.plugin.api.DocCustomTagStatement -import org.utbot.framework.plugin.api.DocStatement -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.framework.plugin.api.exceptionOrNull -import org.utbot.summary.SummarySentenceConstants.CARRIAGE_RETURN -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.* -import org.utbot.summary.comment.classic.symbolic.* -import org.utbot.summary.comment.customtags.getClassReference -import org.utbot.summary.comment.customtags.getMethodReferenceForSymbolicTest -import org.utbot.summary.tag.TraceTagWithoutExecution -import soot.SootMethod - -/** - * Builds JavaDoc comments for generated tests using plugin's custom JavaDoc tags. - */ -class CustomJavaDocCommentBuilder( - traceTag: TraceTagWithoutExecution, - sootToAST: MutableMap -) : SimpleCommentBuilder(traceTag, sootToAST, stringTemplates = StringsTemplatesPlural()) { - - /** - * Collects statements for final JavaDoc comment. - */ - fun buildDocStatements(method: SootMethod): List { - val comment = buildCustomJavaDocComment(method) - val docStatementList = - CustomJavaDocTagProvider().getPluginCustomTags().mapNotNull { it.generateDocStatement(comment) } - return listOf(DocCustomTagStatement(docStatementList)) - } - - private fun buildCustomJavaDocComment(currentMethod: SootMethod): CustomJavaDocComment { - val methodReference = getMethodReferenceForSymbolicTest( - currentMethod.declaringClass.name, - currentMethod.name, - currentMethod.parameterTypes, - false - ) - val classReference = getClassReference(currentMethod.declaringClass.javaStyleName) - - val comment = CustomJavaDocComment( - classUnderTest = classReference, - methodUnderTest = methodReference, - ) - - val rootSentenceBlock = SimpleSentenceBlock(stringTemplates = stringTemplates) - skippedIterations() - buildSentenceBlock(traceTag.rootStatementTag, rootSentenceBlock, currentMethod) - rootSentenceBlock.squashStmtText() - - // builds Throws exception section - val thrownException = traceTag.result.exceptionOrNull() - if (thrownException != null) { - val exceptionName = thrownException.javaClass.name - val reason = findExceptionReason(currentMethod, thrownException) - .replace(CARRIAGE_RETURN, "") - - when (thrownException) { - is TimeoutException, - is ArtificialError -> comment.detectsSuspiciousBehavior = reason - else -> comment.throwsException = "{@link $exceptionName} $reason" - } - } - - if (rootSentenceBlock.recursion != null) { - comment.recursion += rootSentenceBlock.recursion?.first - val insideRecursionSentence = rootSentenceBlock.recursion?.second?.toSentence() - if (!insideRecursionSentence.isNullOrEmpty()) { - comment.recursion += stringTemplates.insideRecursionSentence.format(insideRecursionSentence) - .replace(CARRIAGE_RETURN, "").trim() - } - } - - generateSequence(rootSentenceBlock) { it.nextBlock }.forEach { - it.stmtTexts.forEach { statement -> - processStatement(statement, comment) - } - - it.invokeSentenceBlock?.let { - comment.invokes += it.first.replace(CARRIAGE_RETURN, "") - it.second.stmtTexts.forEach { statement -> - processStatement(statement, comment) - } - } - - it.iterationSentenceBlocks.forEach { (loopDesc, sentenceBlocks) -> - comment.iterates += stringTemplates.iterationSentence.format( - stringTemplates.codeSentence.format(loopDesc), - numberOccurrencesToText( - sentenceBlocks.size - ) - ).replace(CARRIAGE_RETURN, "") - } - } - - return comment - } - - private fun processStatement( - statement: StmtDescription, - comment: CustomJavaDocComment - ) { - when (statement.stmtType) { - StmtType.Invoke -> comment.invokes += statement.description.replace(CARRIAGE_RETURN, "") - StmtType.Condition -> comment.executesCondition += "{@code ${statement.description.replace(CARRIAGE_RETURN, "")}}" - StmtType.Return -> comment.returnsFrom = "{@code ${statement.description.replace(CARRIAGE_RETURN, "")}}" - StmtType.CaughtException -> comment.caughtException = "{@code ${statement.description.replace(CARRIAGE_RETURN, "")}}" - StmtType.SwitchCase -> comment.switchCase = "{@code ${statement.description.replace(CARRIAGE_RETURN, "")}}" - StmtType.CountedReturn -> comment.countedReturn = "{@code ${statement.description.replace(CARRIAGE_RETURN, "")}}" - StmtType.RecursionAssignment -> comment.recursion = "of {@code ${statement.description.replace(CARRIAGE_RETURN, "")}}" - } - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/MethodBasedNameSuggester.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/MethodBasedNameSuggester.kt deleted file mode 100644 index a1ba9a72..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/MethodBasedNameSuggester.kt +++ /dev/null @@ -1,19 +0,0 @@ -package org.utbot.summary.fuzzer.names - -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue -import org.utbot.summary.MethodDescriptionSource - -class MethodBasedNameSuggester(private val source: MethodDescriptionSource = MethodDescriptionSource.FUZZER) : NameSuggester { - override fun suggest( - description: FuzzedMethodDescription, - values: List, - result: UtExecutionResult? - ): Sequence { - val compilableName = description.compilableName?.capitalize() ?: "Created" - // See [Summarization.generateSummariesForTests]. - val suffix = if (source == MethodDescriptionSource.FUZZER) "ByFuzzer" else "" - return sequenceOf(TestSuggestedInfo("test${compilableName}${suffix}")) - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt deleted file mode 100644 index d7390ca2..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/ModelBasedNameSuggester.kt +++ /dev/null @@ -1,185 +0,0 @@ -package org.utbot.summary.fuzzer.names - -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.voidClassId -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue -import org.utbot.summary.SummarySentenceConstants.FROM_TO_NAMES_COLON -import org.utbot.summary.SummarySentenceConstants.FROM_TO_NAMES_TRANSITION -import org.utbot.summary.comment.classic.fuzzer.SimpleCommentForTestProducedByFuzzerBuilder -import org.utbot.summary.comment.customtags.fuzzer.CommentWithCustomTagForTestProducedByFuzzerBuilder -import java.util.* - -class ModelBasedNameSuggester( - private val suggester: List = listOf( - PrimitiveModelNameSuggester, - ArrayModelNameSuggester, - ) -) : NameSuggester { - - var maxNumberOfParametersWhenNameIsSuggested = 3 - set(value) { - field = maxOf(0, value) - } - - override fun suggest( - description: FuzzedMethodDescription, - values: List, - result: UtExecutionResult? - ): Sequence { - if (description.parameters.size > maxNumberOfParametersWhenNameIsSuggested) { - return emptySequence() - } - - return sequenceOf( - TestSuggestedInfo( - testName = if (UtSettings.enableTestNamesGeneration) createTestName(description, values, result) else null, - displayName = if (UtSettings.enableDisplayNameGeneration) createDisplayName(description, values, result) else null, - javaDoc = if (UtSettings.enableJavaDocGeneration) createJavaDoc(description, values, result) else null - ) - ) - } - - /** - * Name of a test. - * - * Result example: - * - * 1. *Without any information*: `testMethod` - * 2. *With parameters only*: `testMethodNameWithCornerCasesAndEmptyString` - * 3. *With return value*: `testMethodReturnZeroWithNonEmptyString` - * 4. *When throws an exception*: `testMethodThrowsNPEWithEmptyString` - */ - private fun createTestName( - description: FuzzedMethodDescription, - values: List, - result: UtExecutionResult? - ): String { - val returnString = when (result) { - is UtExecutionSuccess -> (result.model as? UtPrimitiveModel)?.value?.let { v -> - when (v) { - is Number -> prettifyNumber(v) - is Boolean -> v.toString() - .replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } - - else -> null - }?.let { "Returns$it" } - } - - is UtExplicitlyThrownException, is UtImplicitlyThrownException -> result.exceptionOrNull()?.let { t -> - prettifyException(t).let { "Throws$it" } - } - - else -> null // TODO: handle other types of the UtExecutionResult - } ?: "" - - val parameters = values.asSequence() - .flatMap { value -> - suggester.map { suggester -> - suggester.suggest(description, value) - } - } - .filterNot { it.isNullOrBlank() } - .groupingBy { it } - .eachCount() - .entries - .joinToString(separator = "And") { (name, count) -> - name + if (count > 1) "s" else "" - } - - return buildString { - append("test") - append(description.compilableName?.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } - ?: "Method") - append(returnString) - if (parameters.isNotEmpty()) { - append("With", parameters) - } - } - } - - /** - * Display name of a test. - * - * Result example: - * 1. **Full name**: `firstArg = 12, secondArg < 100.0, thirdArg = empty string -> throw IllegalArgumentException` - * 2. **Name without appropriate information**: `arg_0 = 0 and others -> return 0` - * - * NOTE: The ```:``` symbol is used as a separator instead - * of ```->``` if the [UtSettings.GENERATE_DISPLAYNAME_FROM_TO_STYLE] is false. - */ - private fun createDisplayName( - description: FuzzedMethodDescription, - values: List, - result: UtExecutionResult? - ): String { - val displayNameSeparator = if (UtSettings.useDisplayNameArrowStyle) FROM_TO_NAMES_TRANSITION else FROM_TO_NAMES_COLON - - val summaries = values.asSequence() - .mapIndexed { index, value -> - value.summary?.replace("%var%", description.parameterNameMap(index) ?: "arg_$index") - } - .filterNotNull() - .toList() - - val postfix = when { - summaries.isEmpty() && values.isNotEmpty() -> "with generated values" - summaries.size < values.size -> " and others" - else -> "" - } - val parameters = summaries.joinToString(postfix = postfix) - - val returnValue = when (result) { - is UtExecutionSuccess -> result.model.let { m -> - when { - m is UtPrimitiveModel && m.classId != voidClassId -> "$displayNameSeparator return " + m.value - m is UtNullModel -> "$displayNameSeparator return null" - else -> null - } - } - - is UtExplicitlyThrownException, is UtImplicitlyThrownException -> "$displayNameSeparator throw ${(result as UtExecutionFailure).exception::class.java.simpleName}" - else -> null - } - - return listOfNotNull(parameters, returnValue).joinToString(separator = " ") - } - - /** - * Builds the JavaDoc. - */ - private fun createJavaDoc( - description: FuzzedMethodDescription, - values: List, - result: UtExecutionResult? - ): List { - return if (UtSettings.useCustomJavaDocTags) { - CommentWithCustomTagForTestProducedByFuzzerBuilder(description, values, result).buildDocStatements() - } else SimpleCommentForTestProducedByFuzzerBuilder(description, values, result).buildDocStatements() - } - - companion object { - private fun prettifyNumber(value: T): String? { - return when { - value.toDouble() == 0.0 -> "Zero" - value.toDouble() == 1.0 -> "One" - value is Double -> when { - value.isNaN() -> "Nan" - value.isInfinite() -> "Infinity" - else -> null - } - - (value is Byte || value is Short || value is Int || value is Long) && value.toLong() in 0..99999 -> value.toString() - else -> null - } - } - - private fun prettifyException(throwable: Throwable): String = - throwable.javaClass.simpleName - .toCharArray() - .asSequence() - .filter { it.isUpperCase() } - .joinToString(separator = "") - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/NameSuggester.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/NameSuggester.kt deleted file mode 100644 index 3c9dfd35..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/NameSuggester.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.utbot.summary.fuzzer.names - -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue - -/** - * Name suggester generates a sequence of suggested test information such as: - * - method test name. - * - display name. - */ -interface NameSuggester { - fun suggest(description: FuzzedMethodDescription, values: List, result: UtExecutionResult?): Sequence -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/SingleModelNameSuggester.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/SingleModelNameSuggester.kt deleted file mode 100644 index 5df98414..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/SingleModelNameSuggester.kt +++ /dev/null @@ -1,52 +0,0 @@ -package org.utbot.summary.fuzzer.names - -import org.utbot.framework.plugin.api.UtArrayModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.util.isPrimitive -import org.utbot.fuzzer.FuzzedMethodDescription -import org.utbot.fuzzer.FuzzedValue - -interface SingleModelNameSuggester { - fun suggest(description: FuzzedMethodDescription, value: FuzzedValue): String? -} - -object PrimitiveModelNameSuggester : SingleModelNameSuggester { - override fun suggest(description: FuzzedMethodDescription, value: FuzzedValue): String? { - val model = value.model - if (model is UtPrimitiveModel) { - val v = model.value - return when { - v == "" -> "EmptyString" - v is String && v.isBlank() -> "BlankString" - v is String && v.isNotEmpty() -> "NonEmptyString" - v is Char && (v == Char.MIN_VALUE || v == Char.MAX_VALUE) -> "CornerCase" - v is Byte && (v == Byte.MIN_VALUE || v == Byte.MAX_VALUE) -> "CornerCase" - v is Short && (v == Short.MIN_VALUE || v == Short.MAX_VALUE) -> "CornerCase" - v is Int && (v == Int.MIN_VALUE || v == Int.MAX_VALUE) -> "CornerCase" - v is Long && (v == Long.MIN_VALUE || v == Long.MAX_VALUE) -> "CornerCase" - v is Float && v.isInfinite() || v is Double && v.isInfinite() -> "CornerCase" - v is Float && v.isNaN() || v is Double && v.isNaN() -> "CornerCase" - v is Number && v.toDouble() == 0.0 -> "CornerCase" - else -> null - } - } - return null - } -} - -object ArrayModelNameSuggester : SingleModelNameSuggester { - override fun suggest(description: FuzzedMethodDescription, value: FuzzedValue): String? { - val model = value.model - if (model is UtArrayModel) { - return buildString { - if (model.length > 0) { - append("Non") - } - append("Empty") - append(if (model.classId.elementClassId?.isPrimitive == true ) "Primitive" else "Object") - append("Array") - } - } - return null - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt deleted file mode 100644 index a9ce55d9..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/fuzzer/names/TestSuggestedInfo.kt +++ /dev/null @@ -1,12 +0,0 @@ -package org.utbot.summary.fuzzer.names - -import org.utbot.framework.plugin.api.DocStatement - -/** - * Information that can be used to generate test meta-information, including name, display name and JavaDoc. - */ -class TestSuggestedInfo( - val testName: String? = null, - val displayName: String? = null, - val javaDoc: List? = null -) \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/name/NameUtil.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/name/NameUtil.kt deleted file mode 100644 index 483c3c8a..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/name/NameUtil.kt +++ /dev/null @@ -1,98 +0,0 @@ -package org.utbot.summary.name - -import org.utbot.framework.plugin.api.ArtificialError -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.TimeoutException -import org.utbot.framework.plugin.api.util.prettyName -import org.utbot.summary.tag.UniquenessTag -import soot.SootMethod - - -data class TestNameDescription( - val name: String, - val depth: Int, - val line: Int, - val uniquenessTag: UniquenessTag, - val nameType: NameType, - val index: Int, - val step: Step, - val method: SootMethod -) : Comparable { - override fun compareTo(other: TestNameDescription): Int { - if (this.uniquenessTag == UniquenessTag.Unique && other.uniquenessTag == UniquenessTag.Common) return 1 - if (this.uniquenessTag == UniquenessTag.Unique && other.uniquenessTag == UniquenessTag.Partly) return 1 - if (this.uniquenessTag == UniquenessTag.Partly && other.uniquenessTag == UniquenessTag.Common) return 1 - if (this.uniquenessTag == UniquenessTag.Partly && other.uniquenessTag == UniquenessTag.Unique) return -1 - if (this.uniquenessTag == UniquenessTag.Common && other.uniquenessTag == UniquenessTag.Partly) return -1 - if (this.uniquenessTag == UniquenessTag.Common && other.uniquenessTag == UniquenessTag.Unique) return -1 - - if (this.nameType == NameType.ThrowsException && other.nameType != NameType.ThrowsException) return 1 - if (this.nameType != NameType.ThrowsException && other.nameType == NameType.ThrowsException) return -1 - - if (this.nameType == NameType.CaughtException && other.nameType != NameType.CaughtException) return 1 - if (this.nameType != NameType.CaughtException && other.nameType == NameType.CaughtException) return -1 - - if (this.nameType == NameType.NoIteration && other.nameType != NameType.NoIteration) return 1 - if (this.nameType != NameType.NoIteration && other.nameType == NameType.NoIteration) return -1 - - if (this.nameType == NameType.Condition && other.nameType != NameType.Condition) return 1 - if (this.nameType != NameType.Condition && other.nameType == NameType.Condition) return -1 - - if (this.nameType == NameType.Invoke && other.nameType != NameType.Invoke) return 1 - if (this.nameType != NameType.Invoke && other.nameType == NameType.Invoke) return -1 - - if (this.depth > other.depth) return 1 - if (this.depth < other.depth) return -1 - - if (this.line > other.line) return 1 - if (this.line < other.line) return -1 - - if (this.index > other.index) return 1 - if (this.index < other.index) return -1 - - return 0 - } -} - -enum class NameType { - Condition, - Return, - Invoke, - SwitchCase, - CaughtException, - NoIteration, - ThrowsException, - StartIteration, - ArtificialError, - TimeoutError -} - -data class DisplayNameCandidate(val name: String, val uniquenessTag: UniquenessTag, val index: Int) - - -fun List.returnsToUnique() = this.map { - if (it.nameType == NameType.Return) { - it.copy(uniquenessTag = UniquenessTag.Unique) - } else { - it - } -} - -fun buildNameFromThrowable(exception: Throwable): String? { - val exceptionName = exception.prettyName - - if (exceptionName.isNullOrEmpty()) return null - return when (exception) { - is TimeoutException -> "${exception.prettyName}Exceeded" - is ArtificialError -> "Detect${exception.prettyName}" - else -> "Throw$exceptionName" - } -} - -fun getThrowableNameType(exception: Throwable): NameType { - return when (exception) { - is ArtificialError -> NameType.ArtificialError - is TimeoutException -> NameType.TimeoutError - else -> NameType.ThrowsException - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/name/SimpleNameBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/name/SimpleNameBuilder.kt deleted file mode 100644 index 4c51cb46..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/name/SimpleNameBuilder.kt +++ /dev/null @@ -1,475 +0,0 @@ -package org.utbot.summary.name - -import com.github.javaparser.ast.stmt.CatchClause -import com.github.javaparser.ast.stmt.ForStmt -import com.github.javaparser.ast.stmt.ThrowStmt -import org.utbot.framework.plugin.api.InstrumentedProcessDeathException -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.exceptionOrNull -import org.utbot.framework.plugin.api.isFailure -import org.utbot.summary.AbstractTextBuilder -import org.utbot.summary.NodeConverter -import org.utbot.summary.SummarySentenceConstants.FROM_TO_NAMES_TRANSITION -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.getExceptionReasonForName -import org.utbot.summary.comment.getTextTypeIterationDescription -import org.utbot.summary.comment.shouldSkipInvoke -import org.utbot.summary.NodeConverter.Companion.convertNodeToDisplayNameString -import org.utbot.summary.tag.BasicTypeTag -import org.utbot.summary.tag.CallOrderTag -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTagWithoutExecution -import org.utbot.summary.tag.UniquenessTag -import soot.SootMethod -import soot.jimple.internal.JAssignStmt -import soot.jimple.internal.JInvokeStmt -import soot.jimple.internal.JVirtualInvokeExpr - -class SimpleNameBuilder( - traceTag: TraceTagWithoutExecution, - sootToAST: MutableMap, - val methodUnderTest: SootMethod -) : - AbstractTextBuilder(traceTag, sootToAST) { - - private var testNameDescription: TestNameDescription? = null - private val testNames: MutableList = collectCandidateNames() - val fromToName = fromToName() - val name = buildMethodName() - val displayName = buildDisplayName() - - - private fun collectCandidateNames(): MutableList { - val testNames = mutableListOf() - collectTags(traceTag.rootStatementTag, testNames, methodUnderTest) - exceptionThrow(testNames) - return testNames - } - - /** - * Collects Tags and chooses node that will be used in name of the test case - * @return name of the test case - */ - private fun buildMethodName(): String { - val methodName = methodUnderTest.name.capitalize() - testNames.sortDescending() - testNameDescription = testNames.firstOrNull() - val subName = testNameDescription?.name - return if (subName != null) { - "test${methodName}_$subName" - } else { - "test$methodName" - } - } - - /** - * Should be run after build function, else testNameDescription is null and displayName will be empty - * - * @return string with the node that is used to create name of the function - * Such description can use special symbols and spaces - */ - private fun buildDisplayName(): String { - val nameDescription = testNameDescription - val sootMethod = testNameDescription?.method - val jimpleToASTMap = sootMethod?.let { sootToAST[it] } - var res = "" - if (nameDescription != null && jimpleToASTMap != null) { - val index = nameDescription.index - val step = traceTag.path[index] - val astNode = jimpleToASTMap[step.stmt] - - if (astNode != null) { - if (traceTag.result.isFailure) { - res += "Throw ${traceTag.result.exceptionOrNull()?.let { it::class.simpleName }}" - res += exceptionPlace(jimpleToASTMap) - } else if (index > 0) { - return convertNodeToDisplayNameString(astNode, step) - } - } - } - return res - } - - private fun exceptionPlace( - jimpleToASTMap: JimpleToASTMap, - placeAfter: String = " when: ", - placeIn: String = " in: " - ): String { - if (traceTag.path.isEmpty()) return "" - - if (traceTag.result.isFailure) { - val lastStep = traceTag.path.last() - val lastNode = jimpleToASTMap[lastStep.stmt] - if (lastNode is ThrowStmt) { - val exceptionReason = getExceptionReasonForName(lastNode) ?: return "" - return placeAfter + convertNodeToDisplayNameString(exceptionReason, lastStep) - } else if (lastNode != null) { - return placeIn + convertNodeToDisplayNameString(lastNode, lastStep) - } - } - return "" - } - - private fun fromToName(): String { - val jimpleToASTMap = sootToAST[methodUnderTest] - val maxDepth = testNames.maxOfOrNull { it.depth } ?: 0 - - val candidateNames = testNames.returnsToUnique().filter { it.depth == maxDepth } - .filter { - it.nameType != NameType.StartIteration && it.nameType != NameType.NoIteration - }.mapNotNull { nameDescription -> - fromNameDescriptionToCandidateSimpleName(nameDescription) - }.toMutableList() - - if (traceTag.result.isFailure && jimpleToASTMap != null) { - val throwPlace = exceptionPlace(jimpleToASTMap, placeAfter = "", placeIn = "") - candidateNames.add( - 0, - DisplayNameCandidate( - throwPlace, - UniquenessTag.Unique, - traceTag.path.size - ) - ) - } - - val chosenNames = choosePairFromToNames(candidateNames) - if (chosenNames != null) { - val firstName = chosenNames.first - val secondName = chosenNames.second - if (firstName != null) { - return "$firstName $FROM_TO_NAMES_TRANSITION $secondName" - } else { - return "$FROM_TO_NAMES_TRANSITION $secondName" - } - } - return "" - } - - private fun fromNameDescriptionToCandidateSimpleName(nameDescription: TestNameDescription): DisplayNameCandidate? { - if (nameDescription.nameType == NameType.ArtificialError || - nameDescription.nameType == NameType.TimeoutError || - nameDescription.nameType == NameType.ThrowsException - ) { - return DisplayNameCandidate( - nameDescription.name, - nameDescription.uniquenessTag, - traceTag.path.size + 1 - ) - } - if (nameDescription.nameType == NameType.Invoke) { - return DisplayNameCandidate( - nameDescription.name, - nameDescription.uniquenessTag, - nameDescription.index - ) - } - val node = sootToAST[nameDescription.method]?.get(nameDescription.step.stmt) - if (node is CatchClause) { - return DisplayNameCandidate( - "Catch (${node.parameter})", - nameDescription.uniquenessTag, - nameDescription.index - ) - } - if (node != null) { - val name = convertNodeToDisplayNameString(node, nameDescription.step) - return DisplayNameCandidate( - name, - nameDescription.uniquenessTag, - nameDescription.index - ) - } else { - return null - } - } - - /* - * First, the method tries to find two unique tags which - * can represented as From unique tag -> To unique tag. - * Example: Unique condition -> Unique return. - * If the method didn't find two different and unique tags then - * it will try to build names in the following priority: - * 2. Partly Unique Tag -> Unique Tag - * 3. Partly Unique Tag -> Partly Unique Tag - * 4. Unique Tag -> Partly Unique Tag - * 4. Unique Tag -> Any Tag - * 5. Any Tag -> Unique Tag - * 6. Any Tag -> Partly Unique Tag - * 7. -> Unique Tag - * 8. -> Partly Unique Tag - * 9. -> Any last Tag - * otherwise, returns null - */ - private fun choosePairFromToNames(candidates: List): Pair? { - - val fromNameUnique = candidates.firstOrNull { it.uniquenessTag == UniquenessTag.Unique } - val toNameUnique = candidates.lastOrNull { it.uniquenessTag == UniquenessTag.Unique } - // from unique tag -> to unique tag - buildCandidate(fromNameUnique, toNameUnique, null)?.let { - return it - } - val fromNamePartly = candidates.firstOrNull { it.uniquenessTag == UniquenessTag.Partly } - val toNamePartly = candidates.lastOrNull { it.uniquenessTag == UniquenessTag.Partly } - // from partly unique tag -> to unique tag - // from partly unique tag -> to partly unique tag - buildCandidate(fromNamePartly, toNameUnique, toNamePartly)?.let { - return it - } - val toNameAny = candidates.lastOrNull() - // from unique tag -> to partly unique - // from unique tag -> to any - buildCandidate(fromNameUnique, toNamePartly, toNameAny)?.let { - return it - } - val fromNameAny = candidates.firstOrNull() - // from any tag -> to unique tag - // from any tag -> to partly unique tag - buildCandidate(fromNameAny, toNameUnique, toNamePartly)?.let { - return it - } - - if (toNameUnique != null) { - return Pair(null, toNameUnique.name) - } - if (toNamePartly != null) { - return Pair(null, toNamePartly.name) - } - if (toNameAny != null) { - return Pair(null, toNameAny.name) - } - return null - } - - /** - * The method tries to build a pair name with an attempt order: - * 1. from candidate name -> to candidate name 1 - * 2. from candidate name -> to candidate name 2 - * otherwise, returns null - */ - fun buildCandidate( - fromCandidateName: DisplayNameCandidate?, - toCandidateName1: DisplayNameCandidate?, - toCandidateName2: DisplayNameCandidate? - ): Pair? { - if (fromCandidateName != null && toCandidateName1 != null - && fromCandidateName.name != toCandidateName1.name - && fromCandidateName.index < toCandidateName1.index - ) { - return Pair(fromCandidateName.name, toCandidateName1.name) - } - if (fromCandidateName != null && toCandidateName2 != null - && fromCandidateName.name != toCandidateName2.name - && fromCandidateName.index < toCandidateName2.index - ) { - return Pair(fromCandidateName.name, toCandidateName2.name) - } - return null - } - - /** - * [TraceTagWithoutExecution.path] could be empty in case exception is thrown not in source code but in engine - * (for example, [InstrumentedProcessDeathException]). - */ - private fun exceptionThrow(testNames: MutableList) { - val exception = traceTag.result.exceptionOrNull() ?: return - val name = buildNameFromThrowable(exception) - - if (name != null && traceTag.path.isNotEmpty()) { - val nameType = getThrowableNameType(exception) - - testNames.add(TestNameDescription( - name, - testNames.maxOfOrNull { it.depth } ?: 0, - testNames.maxOfOrNull { it.line } ?: 0, - UniquenessTag.Unique, - nameType, - testNames.maxOfOrNull { it.index } ?: 0, - traceTag.path.last(), - methodUnderTest - )) - } - } - - private fun collectTags( - statementTag: StatementTag?, - testNames: MutableList, - currentMethod: SootMethod - ) { - val jimpleToASTMap = sootToAST[currentMethod] - if (statementTag == null) return - if (jimpleToASTMap == null) return - val recursion = statementTag.recursion - val stmt = statementTag.step.stmt - val depth = statementTag.step.depth - val line = statementTag.line - val invoke = statementTag.invoke - - val localNoIterations = statementTagSkippedIteration(statementTag, currentMethod) - if (localNoIterations.isNotEmpty()) { - localNoIterations.forEach { - testNames.add( - TestNameDescription( - "NoIteration${it.typeDescription}", - depth, - it.from, - UniquenessTag.Unique, - NameType.NoIteration, - statementTag.index, - statementTag.step, - currentMethod - ) - ) - methodToNoIterationDescription[currentMethod]?.remove(it) - } - } - - val invokeSootMethod = statementTag.invokeSootMethod() - if (invoke != null && invokeSootMethod != null) { - val beforeInvokeNumberNames = testNames.size - collectTags(invoke, testNames, invokeSootMethod) - if (testNames.size != beforeInvokeNumberNames) { - testNames.add( - beforeInvokeNumberNames, - TestNameDescription( - invokeSootMethod.name, - depth + 1, - 0, - UniquenessTag.Common, - NameType.Invoke, - statementTag.index, - statementTag.step, - invokeSootMethod - ) - ) - } - } - - if (jimpleToASTMap[statementTag.step.stmt] !is ForStmt) { - val nodeAST = jimpleToASTMap[stmt] - if (nodeAST != null) { - if (statementTag.basicTypeTag == BasicTypeTag.Condition && statementTag.callOrderTag == CallOrderTag.First) { - var conditionName: String? = null - if (statementTag.uniquenessTag == UniquenessTag.Unique - || (statementTag.uniquenessTag == UniquenessTag.Partly && statementTag.executionFrequency == 1) - ) { - conditionName = NodeConverter.convertNodeToString(nodeAST, statementTag.step) - } - conditionName?.let { - testNames.add( - TestNameDescription( - it, - depth, - line, - statementTag.uniquenessTag, - NameType.Condition, - statementTag.index, - statementTag.step, - currentMethod - ) - ) - } - } - - - var prefix = "" - var name = NodeConverter.convertNodeToString(nodeAST, statementTag.step) - var type: NameType? = null - - if (statementTag.basicTypeTag == BasicTypeTag.SwitchCase && statementTag.uniquenessTag == UniquenessTag.Unique) { - type = NameType.SwitchCase - } else if (statementTag.basicTypeTag == BasicTypeTag.CaughtException) { - type = NameType.CaughtException - prefix = "Catch" - } else if (statementTag.basicTypeTag == BasicTypeTag.Return) { - type = NameType.Return - prefix = "Return" - name = name ?: "" - } else if (statementTag.basicTypeTag == BasicTypeTag.Invoke && statementTag.uniquenessTag == UniquenessTag.Unique) { - val declaringClass = stmt.invokeExpr.methodRef.declaringClass - val methodName = stmt.invokeExpr.method.name.capitalize() - if (!shouldSkipInvoke(declaringClass.name, methodName)) { - if (stmt is JAssignStmt || stmt is JInvokeStmt) { - type = NameType.Invoke - prefix += declaringClass.javaStyleName.substringBefore('$') - prefix += methodName - name = - "" //todo change var name to val name, everything should be mapped through .convertNodeToString - } - } - } - - if (type != null) { - testNames.add( - TestNameDescription( - prefix + name, - depth, - line, - statementTag.uniquenessTag, - type, - statementTag.index, - statementTag.step, - currentMethod - ) - ) - } - } - } - - if (statementTag.iterations.isNotEmpty()) { - val firstNode = jimpleToASTMap[statementTag.iterations.first().step.stmt] - - val iterationDescription = if (firstNode != null) getTextTypeIterationDescription(firstNode) else null - - if (iterationDescription != null && iterationDescription.isNotEmpty()) { - testNames.add( - TestNameDescription( - "Iterate$iterationDescription", - depth, - line, - UniquenessTag.Partly, - NameType.StartIteration, - statementTag.index, - statementTag.step, - currentMethod - ) - ) - } - - statementTag.iterations.forEach { - collectTags(it, testNames, currentMethod) - } - } - - if (recursion != null) { - val name = when (stmt) { - is JAssignStmt -> "Recursion" + (stmt.rightOp as JVirtualInvokeExpr).method.name //todo through .convertNodeToString - is JInvokeStmt -> "Recursion" + stmt.invokeExpr.method.name //todo through .convertNodeToString - else -> "" - } - if (name.isNotEmpty()) { - testNames.add( - TestNameDescription( - name, - depth, - line, - statementTag.uniquenessTag, - NameType.Invoke, - statementTag.index, - statementTag.step, - currentMethod - ) - ) - collectTags(recursion, testNames, currentMethod) - } - } - collectTags(statementTag.next, testNames, currentMethod) - } - - override fun conditionStep(step: Step, reversed: Boolean, jimpleToASTMap: JimpleToASTMap): String { - val nodeAST = jimpleToASTMap[step.stmt] - return if (nodeAST != null) { - NodeConverter.convertNodeToString(nodeAST, step) ?: "" - } else "" - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/StatementTag.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/tag/StatementTag.kt deleted file mode 100644 index 3c678243..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/StatementTag.kt +++ /dev/null @@ -1,136 +0,0 @@ -package org.utbot.summary.tag - -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.SummarySentenceConstants.TAB -import soot.SootMethod -import soot.jimple.internal.JAssignStmt -import soot.jimple.internal.JInvokeStmt - -class StatementTag( - val step: Step, - val uniquenessTag: UniquenessTag, - val callOrderTag: CallOrderTag,// the same statement order of execution - val executionFrequency: Int, // how many times it is executed in this execution - val index: Int, // index in execution sequence - var codeEnvironment: CodeEnvironment = CodeEnvironment.MUT -) { - var basicTypeTag = getBasicTypeTag(step.stmt) - val executionTag = getExecutionTag(step) - val line = step.stmt.javaSourceStartLineNumber //line of code - var next: StatementTag? = null - var invoke: StatementTag? = null - var recursion: StatementTag? = null - val iterations = mutableListOf() - - fun invokeSootMethod(): SootMethod? { - if (basicTypeTag == BasicTypeTag.Invoke) { - val stmt = step.stmt - if (stmt is JInvokeStmt || stmt is JAssignStmt) { - return stmt.invokeExpr.method - } - } - return null - } - - /** - * Recursively updates tags of the execution environment. - * The execution environments: the method under test, recursion, invoke - */ - fun updateExecutionEnvironmentTag(codeEnvironment: CodeEnvironment) { - this.codeEnvironment = codeEnvironment - invoke?.updateExecutionEnvironmentTag(CodeEnvironment.Invoke) - recursion?.updateExecutionEnvironmentTag(CodeEnvironment.Recursion) - iterations.forEach { it.updateExecutionEnvironmentTag(codeEnvironment) } - next?.updateExecutionEnvironmentTag(codeEnvironment) - } - - override fun toString(): String = buildString { - append("$line: ${step.stmt}") - invoke?.let { - append(NEW_LINE) - append("${TAB}Invocation:$NEW_LINE") - append("$TAB$TAB") - append(it.toString().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - recursion?.let { - append(NEW_LINE) - append("${TAB}Invocation:$NEW_LINE") - append("${TAB}${TAB}") - append(invoke.toString().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - if (iterations.isNotEmpty()) { - append(NEW_LINE) - append("Iterations: ${iterations.size}") - for (i in 0 until iterations.size) { - append(NEW_LINE) - append("${TAB}Iteration $i$NEW_LINE") - append("${TAB}${TAB}") - append(iterations[i].toString().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - } - next?.let { - append("$NEW_LINE$next") - } - } - - fun fullPrint(): String = buildString { - append("$line, ${step.depth}: ${step.stmt} $basicTypeTag $executionTag ") - append("UNIQ:$uniquenessTag ORDER:$callOrderTag FREQ::$executionFrequency ENV:$codeEnvironment") - invoke?.let { - append(NEW_LINE) - append("${TAB}Invocation:$NEW_LINE") - append("${TAB}${TAB}") - append(it.fullPrint().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - recursion?.let { - append(NEW_LINE) - append("${TAB}Recursion:$NEW_LINE") - append("${TAB}${TAB}") - append(it.fullPrint().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - if (iterations.isNotEmpty()) { - append(NEW_LINE) - append("Iterations: ${iterations.size}") - for (i in 0 until iterations.size) { - append(NEW_LINE) - append("${TAB}Iteration $i$NEW_LINE") - append("${TAB}${TAB}") - append(iterations[i].fullPrint().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - } - next?.let { - append("$NEW_LINE${it.fullPrint()}") - } - } - - fun executionStepsStructure(): String = buildString { - append("$line, ${step.decision}, ${step.depth}: ${step.stmt} ") - invoke?.let { - append(NEW_LINE) - append("${TAB}Invocation:$NEW_LINE") - append("${TAB}${TAB}") - append(it.executionStepsStructure().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - recursion?.let { - append(NEW_LINE) - append("${TAB}Recursion:$NEW_LINE") - append("${TAB}${TAB}") - append(it.executionStepsStructure().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - if (iterations.isNotEmpty()) { - append(NEW_LINE) - append("Iterations: ${iterations.size}") - for (i in 0 until iterations.size) { - append(NEW_LINE) - append("${TAB}Iteration $i$NEW_LINE") - append("${TAB}${TAB}") - append(iterations[i].executionStepsStructure().replace(NEW_LINE, "$NEW_LINE${TAB}${TAB}")) - } - } - next?.let { - append(NEW_LINE) - append(it.executionStepsStructure()) - } - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/StatementTreeBuilder.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/tag/StatementTreeBuilder.kt deleted file mode 100644 index 230e56ec..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/StatementTreeBuilder.kt +++ /dev/null @@ -1,117 +0,0 @@ -package org.utbot.summary.tag - -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.clustering.SplitSteps - -/** - * @param traceSteps - a list of execution steps. - * @param splitSteps - contain the information about common, unique and partly unique steps - * A class builds an initial TAGGED representation from a list of steps - */ -class StatementTreeBuilder(private val splitSteps: SplitSteps, private val traceSteps: List) { - /** - * @param stmtCallCounter saves the information about number of execution of each step. - * some of the statements and their exact decisions are multiple times executed. - * It is counted here (step's depth are not taken into account). - * @see Step#equals - there is no equality check on depth - */ - private val stmtCallCounter = mutableMapOf() - - /** - * This function defines root tag which is the first step in the trace. - * The rest structure is built by buildStatementTree and attached to the root tag. - */ - fun build(): StatementTag? { - val rootStatementTag = createStatementTag(0) - if (rootStatementTag != null) { - buildStatementTree( - 1, - rootStatementTag, - rootStatementTag.step.depth - ) - } - return rootStatementTag - } - - /** - * Recursively builds a basic tree tag structure from the list of steps, given - * @param startIndex next step's id - * @param statementTag previous tag, - * Take a note this function can not identify such structures as - * loops, missed loops, recursion and etc. - * These structures are identified in - * @see ExecutionStructureAnalysis - * as they require initial tree tag structure. Otherwise it would be unreadable code here. - */ - private fun buildStatementTree(startIndex: Int = 0, statementTag: StatementTag? = null, depth: Int = 0, isInvokedRecursively: Boolean = false): Int { - var currentIndex = startIndex - var previousStatementTag = statementTag - while (currentIndex < traceSteps.size) { - val currentStatement = createStatementTag(currentIndex) - if (currentStatement?.basicTypeTag == BasicTypeTag.Invoke) { - currentIndex++ - val nextStatementTag = createStatementTag(currentIndex) - nextStatementTag?.let { - when { - it.step.depth < depth -> { - // When analyzing a steps' path, we can accidentally return before we process the whole path, - // this leads to missing info in summaries. - // In order to solve it, we track whether we called the method from [StatementTreeBuilder.build()] - // or called it here recursively. - // In the first case we do not return, - // in the second case we return an index. - currentIndex-- - if (isInvokedRecursively) return currentIndex - else return@let - } - it.step.depth > depth -> { - currentStatement.invoke = nextStatementTag - - // We save the nextStatementTag in .next as well at the end of the step path - // in order to recover info from it - if (currentIndex == traceSteps.lastIndex) currentStatement.next = nextStatementTag - - currentIndex = buildStatementTree( - currentIndex + 1, - nextStatementTag, - nextStatementTag.step.depth, - isInvokedRecursively = true - ) - currentIndex-- - } - else -> { - stmtCallCounter[it.step] = stmtCallCounter[it.step]?.minus(1) ?: 0 - currentIndex-- - } - } - } - } - previousStatementTag?.let { - it.next = currentStatement - } - previousStatementTag = currentStatement - currentIndex++ - } - return currentIndex - } - - /** - * @param index - step's index in the list of executed steps - * Creates a statement tag from given step index - * Returns statement tag or null element if the index is out of range - */ - private fun createStatementTag(index: Int): StatementTag? { - if (index >= traceSteps.size) return null - val currentStep = traceSteps[index] - val executionFrequency = traceSteps.filter { currentStep == it }.size - stmtCallCounter.merge(currentStep, 1, Int::plus) - val callOrderTag = getCallOrderTag(stmtCallCounter[currentStep]) - return StatementTag( - currentStep, - statementFrequencyTag(currentStep, splitSteps), - callOrderTag, - executionFrequency, - index - ) - } -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TagTypes.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TagTypes.kt deleted file mode 100644 index 579afa51..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TagTypes.kt +++ /dev/null @@ -1,39 +0,0 @@ -package org.utbot.summary.tag - -enum class BasicTypeTag { - Initialization, - Condition, - Return, - Assignment, - Basic, - ExceptionAssignment, - ExceptionThrow, - Invoke, - IterationStart, - IterationEnd, - Recursion, - RecursionAssignment, - SwitchCase, - CaughtException -} - -enum class ExecutionTag { - Executed, True, False -} - -enum class UniquenessTag { - Unique, Partly, Common -} - -enum class CallOrderTag { - First, Second, Many -} -/** - * Code executed environment: - * 1. Inside method under test - * 2. Inside invoke call - * 3. Inside recursion call - */ -enum class CodeEnvironment { - MUT, Invoke, Recursion -} \ No newline at end of file diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TagUtils.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TagUtils.kt deleted file mode 100644 index 59c748e1..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TagUtils.kt +++ /dev/null @@ -1,89 +0,0 @@ -package org.utbot.summary.tag - -import org.utbot.framework.plugin.api.Step -import org.utbot.summary.clustering.SplitSteps -import soot.RefType -import soot.jimple.Expr -import soot.jimple.IfStmt -import soot.jimple.InvokeExpr -import soot.jimple.Stmt -import soot.jimple.internal.JAssignStmt -import soot.jimple.internal.JCaughtExceptionRef -import soot.jimple.internal.JIdentityStmt -import soot.jimple.internal.JInvokeStmt -import soot.jimple.internal.JLookupSwitchStmt -import soot.jimple.internal.JNewExpr -import soot.jimple.internal.JReturnStmt -import soot.jimple.internal.JReturnVoidStmt -import soot.jimple.internal.JTableSwitchStmt -import soot.jimple.internal.JThrowStmt - -private const val ERROR_NAME = "Error" -private const val EXCEPTION_NAME = "Exception" - -/** - * creates statements order tag: first call, second call, or many - * @param number - number call - */ -fun getCallOrderTag(number: Int?): CallOrderTag { - if (number == 1) - return CallOrderTag.First - if (number == 2) - return CallOrderTag.Second - return CallOrderTag.Many -} - - -fun statementFrequencyTag(step: Step, splitSteps: SplitSteps): UniquenessTag = - when { - splitSteps.commonSteps.contains(step) -> { - UniquenessTag.Common - } - splitSteps.uniqueSteps.contains(step) -> { - UniquenessTag.Unique - } - else -> UniquenessTag.Partly - } - - -fun getBasicTypeTag(stmt: Stmt): BasicTypeTag = when (stmt) { - is JIdentityStmt -> basicIdentityTag(stmt) - is IfStmt -> BasicTypeTag.Condition - is JReturnStmt -> BasicTypeTag.Return - is JReturnVoidStmt -> BasicTypeTag.Return - is JAssignStmt -> basicAssignmentTag(stmt) - is JThrowStmt -> BasicTypeTag.ExceptionThrow - is JInvokeStmt -> BasicTypeTag.Invoke - is JTableSwitchStmt -> BasicTypeTag.SwitchCase - is JLookupSwitchStmt -> BasicTypeTag.SwitchCase - else -> BasicTypeTag.Basic -} - -fun basicIdentityTag(stmt: JIdentityStmt): BasicTypeTag { - if (stmt.rightOp is JCaughtExceptionRef) { - return BasicTypeTag.CaughtException - } - return BasicTypeTag.Initialization -} - -fun basicAssignmentTag(stmt: JAssignStmt): BasicTypeTag { - val rightValue = stmt.rightOp - val rightType = stmt.rightOp.type - if (rightValue is JNewExpr && rightType is RefType) { - if (rightType.className.contains(ERROR_NAME) || rightType.className.contains(EXCEPTION_NAME)) - return BasicTypeTag.ExceptionAssignment - } - if (rightValue is Expr && rightValue is InvokeExpr) { - return BasicTypeTag.Invoke - } - return BasicTypeTag.Assignment -} - -fun getExecutionTag(step: Step): ExecutionTag { - return when (step.stmt) { - is IfStmt -> conditionExecutionTag(step.decision) - else -> ExecutionTag.Executed - } -} - -fun conditionExecutionTag(decision: Int): ExecutionTag = if (decision == 1) ExecutionTag.True else ExecutionTag.False diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TraceTag.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TraceTag.kt deleted file mode 100644 index f002310c..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TraceTag.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.summary.tag - -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.summary.SummarySentenceConstants.NEW_LINE -import org.utbot.summary.clustering.SplitSteps - - -class TraceTag(val execution: UtSymbolicExecution, splitSteps: SplitSteps) : TraceTagWithoutExecution(execution, splitSteps) { - override fun toString(): String { - return "${NEW_LINE}Input params:${execution.stateBefore.parameters} Output: $result${NEW_LINE} ${rootStatementTag.toString()}" - } - - fun fullPrint(): String { - return "${NEW_LINE}Input params:${execution.stateBefore.parameters} Output: $result${NEW_LINE}" + - "Method: ${rootStatementTag?.fullPrint()}" - } - - // sometimes it is easier just to look at the executions steps with our analysis - fun executionStepsStructure(): String = "${rootStatementTag?.executionStepsStructure()}" -} diff --git a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TraceTagWithoutExecution.kt b/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TraceTagWithoutExecution.kt deleted file mode 100644 index cd3b99e1..00000000 --- a/utbot-summary/src/main/kotlin/org/utbot/summary/tag/TraceTagWithoutExecution.kt +++ /dev/null @@ -1,44 +0,0 @@ -package org.utbot.summary.tag - -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.summary.clustering.SplitSteps -import soot.jimple.Stmt -import soot.jimple.internal.JReturnStmt - - -open class TraceTagWithoutExecution(val path: List, val result: UtExecutionResult, splitSteps: SplitSteps) { - var summary: String = "" - - // Tags - val rootStatementTag = StatementTreeBuilder(splitSteps, path).build() - - // If this execution misses iteration of some loops as while loop, for loops - // then it is tracked here. Any loop is a set of statements. - val noIterationCall = mutableListOf>() - var returnsToNumber: Map? = null - - constructor(execution: UtSymbolicExecution, splitSteps: SplitSteps) : this(execution.path, execution.result, splitSteps) - - /* - * If stmt is already contained in the previously registered iteration, it is not registered a second time. - * This avoids the situation when there is iteration inside iteration. - * Stmts are not registered twice as in inner and outer loop. - * Iterations are added consecutively from the most inner loop to most outer loop. - * The outer loop usually contains information about inner loop, - * it is here filtered out. - * */ - fun registerNoIterationCall(iteration: List) { - val registeredStmts = noIterationCall.flatten().toSet() - noIterationCall.add(iteration.filter { it !in registeredStmts }.toSet()) - } - - /* - * Updates the tags of the execution environment for each Statement in this structure, - * begins from root tag which is always executed inside method under test - */ - fun updateExecutionEnvironmentTag() { - rootStatementTag?.updateExecutionEnvironmentTag(CodeEnvironment.MUT) - } -} diff --git a/utbot-summary/src/test/kotlin/org/utbot/summary/clustering/ExecutionMetricTest.kt b/utbot-summary/src/test/kotlin/org/utbot/summary/clustering/ExecutionMetricTest.kt deleted file mode 100644 index 853260f3..00000000 --- a/utbot-summary/src/test/kotlin/org/utbot/summary/clustering/ExecutionMetricTest.kt +++ /dev/null @@ -1,26 +0,0 @@ -package org.utbot.summary.clustering - -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Test - -import org.utbot.framework.plugin.api.Step -import java.lang.IllegalArgumentException - -internal class ExecutionMetricTest { - @Test - fun computeWithTwoEmptySteps() { - val executionMetric = ExecutionMetric() - val object1 = listOf() - val object2 = listOf() - - - val exception = Assertions.assertThrows(IllegalArgumentException::class.java) { - executionMetric.compute(object1 = object1, object2 = object2) - } - - Assertions.assertEquals( - "Two paths can not be compared: path1 is empty!", - exception.message - ) - } -} \ No newline at end of file diff --git a/utbot-summary/src/test/kotlin/org/utbot/summary/clustering/dbscan/DBSCANTrainerTest.kt b/utbot-summary/src/test/kotlin/org/utbot/summary/clustering/dbscan/DBSCANTrainerTest.kt deleted file mode 100644 index e00d9516..00000000 --- a/utbot-summary/src/test/kotlin/org/utbot/summary/clustering/dbscan/DBSCANTrainerTest.kt +++ /dev/null @@ -1,227 +0,0 @@ -package org.utbot.summary.clustering.dbscan - -import org.junit.jupiter.api.Test - -import org.junit.jupiter.api.Assertions.* -import org.utbot.summary.clustering.dbscan.neighbor.LinearRangeQuery -import java.lang.IllegalArgumentException -import kotlin.math.sqrt - -internal class DBSCANTrainerTest { - /** Helper test class for keeping ```(x, y)``` data. */ - data class Point(val x: Float, val y: Float) - - /** Helper [Metric] interface implementation, emulates the Euclidean distance. */ - class TestEuclideanMetric : Metric { - override fun compute(object1: Point, object2: Point): Double { - return sqrt((object2.y - object1.y) * (object2.y - object1.y) + (object2.x - object1.x) * (object2.x - object1.x)).toDouble(); - } - } - - @Test - fun emptyData() { - val testData = arrayOf() - - val dbscan = DBSCANTrainer( - eps = 0.3f, - minSamples = 10, - metric = TestEuclideanMetric(), - rangeQuery = LinearRangeQuery() - ) - - val exception = assertThrows(IllegalArgumentException::class.java) { - dbscan.fit(testData) - } - - assertEquals( - "Nothing to learn, data is empty.", - exception.message - ) - } - - /** - * Basic training on the synthetic data produced by the following Python script - * - * ``` - * import numpy as np - * - * from sklearn.cluster import DBSCAN - * from sklearn.datasets import make_blobs - * from sklearn.preprocessing import StandardScaler - * centers = [[1, 1], [-1, -1], [1, -1]] - * X, labels_true = make_blobs( n_samples=150, centers=centers, cluster_std=0.4, random_state=0) - * X = StandardScaler().fit_transform(X) - * ``` - */ - @Test - fun fit() { - val testData = arrayOf( - Point(0.51306161f, 1.1471073f), - Point(0.65512213f, -0.97066103f), - Point(1.26449613f, 1.83734944f), - Point(0.21216956f, -0.378767f), - Point(-1.14479616f, -1.11145131f), - Point(-1.58153887f, -0.08196208f), - Point(0.68254979f, 1.1919578f), - Point(0.8696672f, -0.64867363f), - Point(0.61143818f, -0.24018834f), - Point(1.00293973f, 0.97573626f), - Point(-1.31881688f, -0.01560197f), - Point(0.19938146f, -0.88057948f), - Point(0.70288688f, -0.45600334f), - Point(0.39380809f, -0.08454808f), - Point(0.72528092f, 1.41221765f), - Point(0.65361304f, 1.43176371f), - Point(0.32385524f, 1.03936418f), - Point(0.46518951f, 1.09421048f), - Point(-0.9317319f, -0.55894622f), - Point(0.96247469f, 1.31228971f), - Point(1.39551198f, 0.88413591f), - Point(-0.55513847f, -1.20821209f), - Point(-0.13006728f, 0.12120668f), - Point(0.34633163f, -1.25444427f), - Point(-1.17539483f, -0.16636096f), - Point(0.65798122f, -0.5354049f), - Point(0.40147441f, 1.12480245f), - Point(-1.08732589f, -0.74995774f), - Point(1.02084117f, -0.5595343f), - Point(0.83145875f, -0.41939857f), - Point(0.25429041f, 0.71164368f), - Point(0.82080917f, -1.76332956f), - Point(0.54271592f, 1.28676704f), - Point(-1.5439909f, -1.54936442f), - Point(0.4647383f, 0.80490875f), - Point(0.93527623f, -0.41244765f), - Point(0.29053258f, -0.81791807f), - Point(0.97237203f, -0.86484064f), - Point(0.24560256f, 1.675701f), - Point(-1.58357069f, -1.00510479f), - Point(0.43127435f, -0.70360332f), - Point(1.24950949f, -1.48959247f), - Point(-1.47038338f, -0.67631311f), - Point(0.78716138f, 0.93212787f), - Point(-1.30748385f, -1.1382141f), - Point(1.35500499f, 1.42078681f), - Point(-1.79807073f, -0.57907958f), - Point(0.84687941f, 0.66636195f), - Point(1.12595818f, 1.19478593f), - Point(-1.62915162f, 0.06104132f), - Point(0.29503262f, -0.84287903f), - Point(0.17436004f, 1.56779641f), - Point(-1.78931547f, -0.30544452f), - Point(0.40932172f, -0.83543907f), - Point(0.73407798f, 1.10835044f), - Point(-1.69686198f, -0.41757271f), - Point(-1.02900758f, -0.52437524f), - Point(-0.44552695f, -0.1624096f), - Point(0.04515838f, -0.44531824f), - Point(0.41639988f, 1.12356039f), - Point(0.41883977f, -0.87053195f), - Point(-1.06646137f, -0.76427654f), - Point(-1.75121296f, 0.07411488f), - Point(0.66875136f, 1.96066291f), - Point(0.74615069f, 1.64538505f), - Point(-1.4539805f, -0.9743326f), - Point(0.83834828f, 1.39488498f), - Point(1.14611708f, 1.73333403f), - Point(0.02666318f, 1.44518563f), - Point(0.61263928f, -0.79914282f), - Point(-0.5612403f, -0.33012658f), - Point(0.71430928f, 1.42150062f), - Point(-0.8271744f, -0.55964167f), - Point(1.11054723f, 0.78379483f), - Point(0.20866016f, 1.61584836f), - Point(-1.74117296f, -0.8536984f), - Point(0.45219304f, -0.52102926f), - Point(0.03304239f, 1.18200098f), - Point(-1.46240807f, 0.03735307f), - Point(-1.6835453f, -1.28496829f), - Point(0.52848656f, 1.32579874f), - Point(0.62424741f, 1.42485476f), - Point(-0.92140293f, -0.7435152f), - Point(0.72019561f, -0.80753388f), - Point(-1.77168534f, -0.35415786f), - Point(-0.99006985f, -0.36228449f), - Point(1.43008949f, -0.53114204f), - Point(-1.39699376f, -0.37048473f), - Point(-0.33447176f, 1.51953577f), - Point(-1.54094919f, -0.41958353f), - Point(1.24707045f, 2.00352637f), - Point(-1.05179021f, -0.32382983f), - Point(0.80410635f, 1.54016696f), - Point(0.77419081f, -0.72136257f), - Point(0.48321364f, -0.49553707f), - Point(-1.22688273f, -0.43571376f), - Point(-0.35946552f, -0.31515231f), - Point(-1.56393f, -0.74142087f), - Point(-0.85120093f, -1.10386605f), - Point(0.54370978f, -1.33609677f), - Point(-1.80709156f, -0.86295711f), - Point(-1.4306462f, -1.21880623f), - Point(1.56628119f, -1.09610687f), - Point(0.5429767f, -0.64517576f), - Point(0.7210137f, 1.8314722f), - Point(1.0476718f, 2.13794048f), - Point(0.82209878f, 0.99808183f), - Point(0.72589108f, -0.59266492f), - Point(0.31720674f, 0.49316348f), - Point(-0.95678938f, -0.93676362f), - Point(0.38067925f, -1.22208381f), - Point(0.50685865f, 1.74115147f), - Point(0.62138202f, -0.28566211f), - Point(0.31420085f, 1.41562276f), - Point(1.24935081f, 1.18495494f), - Point(-0.09312197f, -0.60957458f), - Point(0.25558171f, -0.21125889f), - Point(0.94997215f, 1.31513688f), - Point(-0.92055416f, -0.64901292f), - Point(0.34641694f, 0.59232248f), - Point(-0.00310758f, 2.02491012f), - Point(-1.33063994f, -0.94161521f), - Point(-0.53956611f, -0.1063121f), - Point(0.50831758f, -0.53894866f), - Point(-1.64934396f, -0.2479317f), - Point(1.54882393f, -0.69958647f), - Point(-1.13713306f, -1.10898152f), - Point(1.11560774f, -0.2625019f), - Point(1.09499453f, -0.42783123f), - Point(0.91515798f, -1.31309166f), - Point(-1.04742583f, -1.30728723f), - Point(0.93460287f, -0.17592166f), - Point(0.10733517f, -0.87532123f), - Point(0.69067372f, 1.38272846f), - Point(-1.87571495f, -0.51193531f), - Point(0.77670292f, -0.44591649f), - Point(1.03645977f, 1.20591592f), - Point(0.30957047f, 1.28512294f), - Point(-1.60652529f, -0.95177271f), - Point(-1.59341756f, -0.47303068f), - Point(0.41518085f, -0.83790075f), - Point(0.06165044f, -0.65847604f), - Point(0.85786827f, -0.7283573f), - Point(0.86856118f, -0.90745093f), - Point(-1.55601094f, -0.67072178f), - Point(-1.48701576f, 0.06862574f), - Point(1.55291185f, 0.69826175f), - Point(0.43088221f, -0.7758177f), - Point(-1.7243115f, -0.66279942f), - Point(0.52016266f, -0.77638553f) - ) - - val dbscan = DBSCANTrainer( - eps = 0.3f, - minSamples = 10, - metric = TestEuclideanMetric(), - rangeQuery = LinearRangeQuery() - ) - - val dbscanModel = dbscan.fit(testData) - val clusterLabels = dbscanModel.clusterLabels - - assertEquals(150, clusterLabels.size) - assertEquals(27, clusterLabels.count { it == 0 }) - assertEquals(35, clusterLabels.count { it == 1 }) - assertEquals(18, clusterLabels.count { it == 2 }) - assertEquals(70, clusterLabels.count { it == Int.MIN_VALUE }) - } -} \ No newline at end of file diff --git a/utbot-summary/src/test/kotlin/org/utbot/summary/comment/SimpleCommentBuilderTest.kt b/utbot-summary/src/test/kotlin/org/utbot/summary/comment/SimpleCommentBuilderTest.kt deleted file mode 100644 index 17fa0d3d..00000000 --- a/utbot-summary/src/test/kotlin/org/utbot/summary/comment/SimpleCommentBuilderTest.kt +++ /dev/null @@ -1,83 +0,0 @@ -package org.utbot.summary.comment - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.mockito.Mockito.mock -import org.mockito.Mockito.`when` -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.UtOverflowFailure -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.classic.symbolic.SimpleCommentBuilder -import org.utbot.summary.comment.customtags.getMethodReferenceForSymbolicTest -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTag -import soot.SootMethod -import soot.jimple.Stmt -import soot.jimple.internal.JReturnStmt - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -class SimpleCommentBuilderTest { - private lateinit var traceTag: TraceTag - private lateinit var jimpleToASTMap: JimpleToASTMap - private lateinit var sootToAst: MutableMap - private lateinit var sootMethod: SootMethod - private lateinit var statementTag: StatementTag - private lateinit var step: Step - private lateinit var statement: Stmt - - @BeforeAll - fun setUp() { - traceTag = mock(TraceTag::class.java) - sootMethod = mock(SootMethod::class.java) - jimpleToASTMap = mock(JimpleToASTMap::class.java) - statementTag = mock(StatementTag::class.java) - step = mock(Step::class.java) - statement = mock(JReturnStmt::class.java) - sootToAst = mutableMapOf() - - `when`(statementTag.step).thenReturn(step) - `when`(step.stmt).thenReturn(statement) - `when`(traceTag.path).thenReturn(listOf(step)) - `when`(traceTag.rootStatementTag).thenReturn(statementTag) - `when`(traceTag.result).thenReturn(UtOverflowFailure(Throwable())) - - sootToAst[sootMethod] = jimpleToASTMap - } - - @Test - fun `throws throwable if execution result is null`() { - val commentBuilder = SimpleCommentBuilder(traceTag, sootToAst) - val comment = commentBuilder.buildString(sootMethod) - val expectedComment = "
    \n" +
    -                "Test throws Throwable \n" +
    -                "
    " - assertEquals(expectedComment, comment) - } - - @Test - fun `builds one doc statement`() { - val commentBuilder = SimpleCommentBuilder(traceTag, sootToAst) - val statements = commentBuilder.buildDocStmts(sootMethod) - val expectedDocStatement = "Test \n" + - "throws Throwable \n" - assertEquals(statements.size, 1) - assertEquals(statements[0].toString(), expectedDocStatement) - } - - @Test - fun `builds inline link for method`() { - val methodReference = getMethodReferenceForSymbolicTest("org.utbot.ClassName", "methodName", listOf(), false) - val expectedMethodReference = "{@link org.utbot.ClassName#methodName()}" - assertEquals(methodReference, expectedMethodReference) - } - - @Test - fun `builds inline link for method in nested class`() { - val methodReference = - getMethodReferenceForSymbolicTest("org.utbot.ClassName\$NestedClassName", "methodName", listOf(), false) - val expectedMethodReference = "{@link org.utbot.ClassName.NestedClassName#methodName()}" - assertEquals(methodReference, expectedMethodReference) - } -} \ No newline at end of file diff --git a/utbot-summary/src/test/kotlin/org/utbot/summary/comment/SymbolicExecutionClusterCommentBuilderTest.kt b/utbot-summary/src/test/kotlin/org/utbot/summary/comment/SymbolicExecutionClusterCommentBuilderTest.kt deleted file mode 100644 index 5a3b7fe2..00000000 --- a/utbot-summary/src/test/kotlin/org/utbot/summary/comment/SymbolicExecutionClusterCommentBuilderTest.kt +++ /dev/null @@ -1,63 +0,0 @@ -package org.utbot.summary.comment - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.mockito.Mockito.mock -import org.mockito.Mockito.`when` -import org.utbot.framework.plugin.api.Step -import org.utbot.framework.plugin.api.UtOverflowFailure -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.comment.cluster.SymbolicExecutionClusterCommentBuilder -import org.utbot.summary.tag.StatementTag -import org.utbot.summary.tag.TraceTag -import soot.SootMethod -import soot.jimple.Stmt -import soot.jimple.internal.JReturnStmt - -private const val EMPTY_STRING = "" - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -class SymbolicExecutionClusterCommentBuilderTest { - private lateinit var traceTag: TraceTag - private lateinit var jimpleToASTMap: JimpleToASTMap - private lateinit var sootToAst: MutableMap - private lateinit var sootMethod: SootMethod - private lateinit var statementTag: StatementTag - private lateinit var step: Step - private lateinit var statement: Stmt - - @BeforeAll - fun setUp() { - traceTag = mock(TraceTag::class.java) - sootMethod = mock(SootMethod::class.java) - jimpleToASTMap = mock(JimpleToASTMap::class.java) - statementTag = mock(StatementTag::class.java) - step = mock(Step::class.java) - statement = mock(JReturnStmt::class.java) - sootToAst = mutableMapOf() - - `when`(statementTag.step).thenReturn(step) - `when`(step.stmt).thenReturn(statement) - `when`(traceTag.path).thenReturn(listOf(step)) - `when`(traceTag.rootStatementTag).thenReturn(statementTag) - `when`(traceTag.result).thenReturn(UtOverflowFailure(Throwable())) - - sootToAst[sootMethod] = jimpleToASTMap - } - - @Test - fun `builds empty comment if execution result is null`() { - val commentBuilder = SymbolicExecutionClusterCommentBuilder(traceTag, sootToAst) - val comment = commentBuilder.buildString(sootMethod) - assertEquals(EMPTY_STRING, comment) - } - - @Test - fun `does not build any statements for javadoc if execution result is null`() { - val commentBuilder = SymbolicExecutionClusterCommentBuilder(traceTag, sootToAst) - val statements = commentBuilder.buildDocStmts(sootMethod) - assertEquals(statements.size, 0) - } -} \ No newline at end of file diff --git a/utbot-summary/src/test/kotlin/org/utbot/summary/name/SimpleNameBuilderTest.kt b/utbot-summary/src/test/kotlin/org/utbot/summary/name/SimpleNameBuilderTest.kt deleted file mode 100644 index fc0acf2a..00000000 --- a/utbot-summary/src/test/kotlin/org/utbot/summary/name/SimpleNameBuilderTest.kt +++ /dev/null @@ -1,74 +0,0 @@ -package org.utbot.summary.name - -import org.junit.jupiter.api.Assertions.assertEquals -import org.junit.jupiter.api.BeforeAll -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInstance -import org.mockito.Mockito.mock -import org.mockito.Mockito.`when` -import org.utbot.framework.plugin.api.UtOverflowFailure -import org.utbot.summary.ast.JimpleToASTMap -import org.utbot.summary.tag.TraceTag -import org.utbot.summary.tag.UniquenessTag -import soot.SootMethod - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -class SimpleNameBuilderTest { - private lateinit var traceTag: TraceTag - private lateinit var jimpleToASTMap: JimpleToASTMap - private lateinit var sootToAst: MutableMap - private lateinit var sootMethod: SootMethod - - @BeforeAll - fun setUp() { - traceTag = mock(TraceTag::class.java) - sootMethod = mock(SootMethod::class.java) - jimpleToASTMap = mock(JimpleToASTMap::class.java) - sootToAst = mutableMapOf() - - `when`(traceTag.result).thenReturn(UtOverflowFailure(Throwable())) - - sootToAst[sootMethod] = jimpleToASTMap - } - - @Test - fun `method name should start with test`() { - `when`(sootMethod.name).thenReturn("methodName") - - val simpleNameBuilder = SimpleNameBuilder(traceTag, sootToAst, sootMethod) - val methodName = simpleNameBuilder.name - assert(methodName.startsWith("test")) - } - - @Test - fun `creates a name pair with a candidate with a bigger index`() { - `when`(sootMethod.name).thenReturn("") - - val simpleNameBuilder = SimpleNameBuilder(traceTag, sootToAst, sootMethod) - val fromCandidateName = DisplayNameCandidate("fromCandidate", UniquenessTag.Unique, 3) - - val toCandidate1 = DisplayNameCandidate("candidate1", UniquenessTag.Common, 2) - val toCandidate2 = DisplayNameCandidate("candidate2", UniquenessTag.Common, 4) - - val candidate = simpleNameBuilder.buildCandidate(fromCandidateName, toCandidate1, toCandidate2) - - val resultPair = Pair(fromCandidateName.name, toCandidate2.name) - assertEquals(candidate, resultPair) - } - - @Test - fun `returns null if candidates are equal`() { - `when`(sootMethod.name).thenReturn("") - - val simpleNameBuilder = SimpleNameBuilder(traceTag, sootToAst, sootMethod) - val fromCandidateName = DisplayNameCandidate("candidate", UniquenessTag.Unique, 0) - - // two equal candidates - val toCandidate1 = DisplayNameCandidate("candidate", UniquenessTag.Common, 1) - val toCandidate2 = DisplayNameCandidate("candidate", UniquenessTag.Common, 1) - - val candidate = simpleNameBuilder.buildCandidate(fromCandidateName, toCandidate1, toCandidate2) - - assertEquals(candidate, null) - } -} \ No newline at end of file diff --git a/utbot-summary/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/utbot-summary/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker deleted file mode 100644 index 1f0955d4..00000000 --- a/utbot-summary/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker +++ /dev/null @@ -1 +0,0 @@ -mock-maker-inline diff --git a/utbot-testing/build.gradle b/utbot-testing/build.gradle deleted file mode 100644 index 716fcb0c..00000000 --- a/utbot-testing/build.gradle +++ /dev/null @@ -1,62 +0,0 @@ -compileKotlin { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } -} - -compileTestKotlin { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 - } -} - -java { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 -} - -dependencies { - api project(':utbot-framework-api') - - api project(':utbot-java-fuzzing') - api project(':utbot-instrumentation') - api project(':utbot-summary') - - implementation(project(":utbot-framework")) - testImplementation project(':utbot-sample') - testImplementation project(":utbot-framework").sourceSets.test.output - testImplementation project(":utbot-core").sourceSets.test.output - - implementation("org.unittestbot.soot:soot-utbot-fork:${sootVersion}") { - exclude group:'com.google.guava', module:'guava' - } - - implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: jacksonVersion - implementation group: 'com.github.curious-odd-man', name: 'rgxgen', version: rgxgenVersion - implementation group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: log4j2Version - implementation group: 'io.github.microutils', name: 'kotlin-logging', version: kotlinLoggingVersion - implementation group: 'org.jacoco', name: 'org.jacoco.report', version: jacocoVersion - implementation group: 'org.apache.commons', name: 'commons-text', version: apacheCommonsTextVersion - // we need this for construction mocks from composite models - implementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - - // To use JUnit4, comment out JUnit5 and uncomment JUnit4 dependencies here. Please also check "test" section - // testImplementation group: 'junit', name: 'junit', version: '4.13.1' - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.8.1' - implementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.8.1' - - // used for testing code generation - testImplementation group: 'commons-io', name: 'commons-io', version: commonsIoVersion - testImplementation group: 'junit', name: 'junit', version: junit4Version - testImplementation group: 'org.junit.platform', name: 'junit-platform-console-standalone', version: junit4PlatformVersion - testImplementation group: 'org.antlr', name: 'antlr4', version: antlrVersion - testImplementation group: 'org.mockito', name: 'mockito-core', version: mockitoVersion - testImplementation group: 'org.mockito', name: 'mockito-inline', version: mockitoInlineVersion - testImplementation group: 'com.google.guava', name: 'guava', version: guavaVersion - - testImplementation group: 'org.mockito', name: 'mockito-inline', version: mockitoInlineVersion - testImplementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version - - implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-core', version: ksmtVersion - implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-z3', version: ksmtVersion -} \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/CheckersUtil.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/CheckersUtil.kt deleted file mode 100644 index 2779d8a9..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/CheckersUtil.kt +++ /dev/null @@ -1,106 +0,0 @@ -package org.utbot.testing - -import org.utbot.framework.codegen.domain.* -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.MockStrategyApi.NO_MOCKS -import org.utbot.framework.plugin.api.MockStrategyApi.OTHER_CLASSES -import org.utbot.framework.util.Conflict -import org.utbot.framework.util.ConflictTriggers - -data class TestInfrastructureConfiguration( - val projectType: ProjectType, - val testFramework: TestFramework, - val mockFramework: MockFramework, - val mockStrategy: MockStrategyApi, - val staticsMocking: StaticsMocking, - val parametrizedTestSource: ParametrizedTestSource, - val codegenLanguage: CodegenLanguage, - val forceStaticMocking: ForceStaticMocking, - val resetNonFinalFieldsAfterClinit: Boolean = true, - val generateUtilClassFile: Boolean, - val runtimeExceptionTestsBehaviour: RuntimeExceptionTestsBehaviour = RuntimeExceptionTestsBehaviour.PASS, - val enableTestsTimeout: Boolean = false // our tests should not fail due to timeout -) { - val isParametrizedAndMocked: Boolean - get() = parametrizedTestSource == ParametrizedTestSource.PARAMETRIZE && - (mockStrategy != NO_MOCKS || - conflictTriggers[Conflict.ForceMockHappened] ?: false || conflictTriggers[Conflict.ForceStaticMockHappened] ?: false) - - val isDisabled: Boolean - get() = run { - // TODO Any? JIRA:1366 - if (codegenLanguage == CodegenLanguage.KOTLIN) return true - - // TODO a problem with try-with-resources JIRA:1329 - if (codegenLanguage == CodegenLanguage.KOTLIN && staticsMocking == MockitoStaticMocking) return true - - // TODO There is no assertArrayEquals JIRA:1416 - if (testFramework == TestNg) return true - - // because otherwise the code generator will not create mocks even for mandatory to mock classes - if (forceStaticMocking == ForceStaticMocking.FORCE && staticsMocking == NoStaticMocking) return true - - // junit4 doesn't support parametrized tests - if (testFramework == Junit4 && parametrizedTestSource == ParametrizedTestSource.PARAMETRIZE) return true - - //if we do not use mocks at all, we do not use static mocking too - if (mockStrategy == NO_MOCKS && staticsMocking == MockitoStaticMocking) return true - - // if we want to generate mocks for every class but CUT, we must have specified staticsMocking - if (mockStrategy == OTHER_CLASSES && staticsMocking == NoStaticMocking) return true - - return false - } -} - -val conflictTriggers: ConflictTriggers = ConflictTriggers() - -val allTestInfrastructureConfigurations: List = run { - val possibleConfiguration = mutableListOf() - - for (mockStrategy in listOf(NO_MOCKS, OTHER_CLASSES)) { - for (testFramework in TestFramework.allItems) { - val mockFramework = MockFramework.MOCKITO - val forceStaticMocking = ForceStaticMocking.FORCE - - for (staticsMocking in StaticsMocking.allItems) { - for (parametrizedTestSource in ParametrizedTestSource.allItems) { - for (codegenLanguage in CodegenLanguage.allItems) { - // We should not reset values for non-final static fields in parameterized tests - val resetNonFinalFieldsAfterClinit = - parametrizedTestSource == ParametrizedTestSource.DO_NOT_PARAMETRIZE - - possibleConfiguration += TestInfrastructureConfiguration( - ProjectType.PureJvm, - testFramework, - mockFramework, - mockStrategy, - staticsMocking, - parametrizedTestSource, - codegenLanguage, - forceStaticMocking, - resetNonFinalFieldsAfterClinit, - generateUtilClassFile = false - ) - possibleConfiguration += TestInfrastructureConfiguration( - ProjectType.PureJvm, - testFramework, - mockFramework, - mockStrategy, - staticsMocking, - parametrizedTestSource, - codegenLanguage, - forceStaticMocking, - resetNonFinalFieldsAfterClinit, - generateUtilClassFile = true - ) - } - } - } - } - } - - possibleConfiguration.toList() -} \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/CodeGenerationIntegrationTest.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/CodeGenerationIntegrationTest.kt deleted file mode 100644 index 021a5d64..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/CodeGenerationIntegrationTest.kt +++ /dev/null @@ -1,199 +0,0 @@ -package org.utbot.testing - -import org.utbot.common.FileUtil -import org.utbot.common.withAccessibility -import org.utbot.framework.UtSettings -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.instrumentation.ConcreteExecutor -import kotlin.reflect.KClass -import mu.KotlinLogging -import org.junit.jupiter.api.Disabled -import org.junit.jupiter.api.MethodOrderer -import org.junit.jupiter.api.Order -import org.junit.jupiter.api.Test -import org.junit.jupiter.api.TestInfo -import org.junit.jupiter.api.TestInstance -import org.junit.jupiter.api.TestMethodOrder -import org.junit.jupiter.api.extension.BeforeAllCallback -import org.junit.jupiter.api.extension.ExtendWith -import org.junit.jupiter.api.extension.ExtensionContext -import org.junit.jupiter.api.fail -import org.junit.jupiter.engine.descriptor.ClassTestDescriptor -import org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.context.ApplicationContext -import java.nio.file.Path - -@TestInstance(TestInstance.Lifecycle.PER_CLASS) -@TestMethodOrder(MethodOrderer.OrderAnnotation::class) -@ExtendWith(CodeGenerationIntegrationTest.Companion.ReadRunningTestsNumberBeforeAllTestsCallback::class) -abstract class CodeGenerationIntegrationTest( - private val testClass: KClass<*>, - private var testCodeGeneration: Boolean = true, - private val configurationsToTest: List, - private val applicationContext: ApplicationContext = defaultApplicationContext, -) { - private val testSets: MutableList = arrayListOf() - - fun processTestSet(testSet: UtMethodTestSet) { - if (testCodeGeneration) testSets += testSet - } - - protected fun withEnabledTestingCodeGeneration(testCodeGeneration: Boolean, block: () -> Unit) { - val prev = this.testCodeGeneration - - try { - this.testCodeGeneration = testCodeGeneration - block() - } finally { - this.testCodeGeneration = prev - } - } - - // save all generated test cases from current class to test code generation - private fun addTestScenario(pkg: Package) { - if (testCodeGeneration) { - packageResult.getOrPut(pkg) { mutableListOf() } += TestScenario( - testClass, - testSets, - configurationsToTest - ) - } - } - - private fun cleanAfterProcessingPackage(pkg: Package) { - // clean test cases after cur package processing - packageResult[pkg]?.clear() - - // clean cur package test classes info - testClassesAmountByPackage[pkg] = 0 - processedTestClassesAmountByPackage[pkg] = 0 - } - - @Test - @Order(Int.MAX_VALUE) - fun processTestCases(testInfo: TestInfo) { - val pkg = testInfo.testClass.get().`package` - addTestScenario(pkg) - - // check if tests are inside package and current test is not the last one - if (runningTestsNumber > 1 && !isPackageFullyProcessed(testInfo.testClass.get())) { - logger.info("Package $pkg is not fully processed yet, code generation will be tested later") - return - } - ConcreteExecutor.defaultPool.close() - - FileUtil.clearTempDirectory(UtSettings.daysLimitForTempFiles) - - val testScenarios = packageResult[pkg] ?: return - try { - val pipelineErrors = mutableListOf() - - for (testScenarioForClass in testScenarios) { - for (configuration in testScenarioForClass.checkedConfigurations) { - try { - val classStages = ClassStages( - testScenarioForClass.testClass, - StageStatusCheck( - firstStage = CodeGeneration, - lastStage = configuration.lastStage, - status = ExecutionStatus.SUCCESS, - ), - testScenarioForClass.testSets, - ) - - val pipelineConfig = TestCodeGeneratorPipeline.configurePipeline(configuration) - TestCodeGeneratorPipeline(pipelineConfig, applicationContext).runClassesCodeGenerationTests(classStages) - } catch (e: RuntimeException) { - logger.warn(e) { "error in test pipeline" } - pipelineErrors.add(e.message) - } - } - } - - if (pipelineErrors.isNotEmpty()) - fail { pipelineErrors.joinToString(System.lineSeparator()) } - } finally { - cleanAfterProcessingPackage(pkg) - } - } - - companion object { - - init { - // trigger old temporary file deletion - FileUtil.OldTempFileDeleter - } - - private val packageResult: MutableMap> = mutableMapOf() - - private var allRunningTestClasses: List = mutableListOf() - - data class TestScenario( - val testClass: KClass<*>, - val testSets: List, - val checkedConfigurations: List, - ) - - val standardTestingConfigurations = listOf( - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, TestExecution), - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.PARAMETRIZE, TestExecution), - Configuration(CodegenLanguage.KOTLIN, ParametrizedTestSource.DO_NOT_PARAMETRIZE, TestExecution), - ) - - val ignoreKotlinCompilationConfigurations = listOf( - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, TestExecution), - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.PARAMETRIZE, TestExecution), - Configuration(CodegenLanguage.KOTLIN, ParametrizedTestSource.DO_NOT_PARAMETRIZE, CodeGeneration), - ) - - class ReadRunningTestsNumberBeforeAllTestsCallback : BeforeAllCallback { - override fun beforeAll(extensionContext: ExtensionContext) { - val clazz = Class.forName("org.junit.jupiter.engine.descriptor.AbstractExtensionContext") - val field = clazz.getDeclaredField("testDescriptor") - runningTestsNumber = field.withAccessibility { - val testDescriptor = field.get(extensionContext.parent.get()) - // get all running tests and filter disabled - allRunningTestClasses = (testDescriptor as JupiterEngineDescriptor).children - .map { it as ClassTestDescriptor } - .filter { it.testClass.getAnnotation(Disabled::class.java) == null } - .toList() - allRunningTestClasses.size - } - } - } - - private var processedTestClassesAmountByPackage: MutableMap = mutableMapOf() - private var testClassesAmountByPackage: MutableMap = mutableMapOf() - - private var runningTestsNumber: Int = 0 - - internal val logger = KotlinLogging.logger { } - - @JvmStatic - protected val testCaseGeneratorCache = mutableMapOf() - - data class BuildInfo(val buildDir: Path, val dependencyPath: String?) - - private fun getTestPackageSize(packageName: String): Int = - // filter all not disabled tests classes - allRunningTestClasses - .filter { it.testClass.`package`.name == packageName } - .distinctBy { it.testClass.name.substringBeforeLast("Kt") } - .size - - private fun isPackageFullyProcessed(testClass: Class<*>): Boolean { - val currentPackage = testClass.`package` - - if (currentPackage !in testClassesAmountByPackage) - testClassesAmountByPackage[currentPackage] = getTestPackageSize(currentPackage.name) - - processedTestClassesAmountByPackage.merge(currentPackage, 1, Int::plus) - - val processed = processedTestClassesAmountByPackage[currentPackage]!! - val total = testClassesAmountByPackage[currentPackage]!! - return processed == total - } - } -} \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/CompilationAndRunUtils.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/CompilationAndRunUtils.kt deleted file mode 100644 index dcaf335f..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/CompilationAndRunUtils.kt +++ /dev/null @@ -1,135 +0,0 @@ -package org.utbot.testing - -import org.utbot.framework.plugin.api.CodegenLanguage -import java.io.File -import java.nio.file.Path -import org.utbot.common.FileUtil -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.process.OpenModulesContainer - -data class ClassUnderTest( - val testClassSimpleName: String, - val packageName: String, - val generatedTestFile: File -) - -fun writeFile(fileContents: String, targetFile: File): File { - val targetDir = targetFile.parentFile - targetDir.mkdirs() - targetFile.writeText(fileContents) - return targetFile -} - -fun writeTest( - testContents: String, - testClassName: String, - buildDirectory: Path, - generatedLanguage: CodegenLanguage -): File { - val classUnderTest = ClassUnderTest( - testClassName.substringAfterLast("."), - testClassName.substringBeforeLast(".").replace("class ", ""), - File(buildDirectory.toFile(), "${testClassName.substringAfterLast(".")}${generatedLanguage.extension}") - ) - - logger.info { - "File size for ${classUnderTest.testClassSimpleName}: ${FileUtil.byteCountToDisplaySize(testContents.length.toLong())}" - } - return writeFile(testContents, classUnderTest.generatedTestFile) -} - -fun compileTests( - buildDirectory: String, - sourcesFiles: List, - generatedLanguage: CodegenLanguage -) { - val classpath = System.getProperty("java.class.path") - val command = generatedLanguage.getCompilationCommand(buildDirectory, classpath, sourcesFiles) - - logger.trace { "Command to compile [${sourcesFiles.joinToString(" ")}]: [${command.joinToString(" ")}]" } - val exitCode = execCommandLine(command, "Tests compilation") - logger.info { "Compilation exit code: $exitCode" } -} - -fun runTests( - buildDirectory: String, - testsNames: List, - testFramework: TestFramework, - generatedLanguage: CodegenLanguage -) { - val classpath = System.getProperty("java.class.path") + File.pathSeparator + buildDirectory - val executionInvoke = generatedLanguage.executorInvokeCommand - val additionalArguments = buildList { - addAll(OpenModulesContainer.javaVersionSpecificArguments) - add("-ea") - } - - val command = testFramework.getRunTestsCommand( - executionInvoke, - classpath, - testsNames, - buildDirectory, - additionalArguments - ) - - logger.trace { "Command to run test: [${command.joinToString(" ")}]" } - - // We use argument file to pass classpath, so we should just call execCommand. - // Because of some reason, it is impossible to use the same approach with Junit4 and TestNg, therefore, - // we work with classpath using environment variable. - val exitCode = if (testFramework is Junit5) { - execCommandLine(command, "Tests execution") - } else { - setClassPathAndExecCommandLine(command, "Tests execution", classpath) - } - - logger.info { "Run for [${testsNames.joinToString(" ")}] completed with exit code: $exitCode" } -} - -/** - * Constructs process with [command]. - * - * If the [classpath] is not null, sets it in environment variable. Use it to avoid CMD limitation - * for the length of the command. - */ -private fun constructProcess(command: List, classpath: String? = null): ProcessBuilder { - val process = ProcessBuilder(command).redirectErrorStream(true) - - classpath?.let { process.environment()["CLASSPATH"] = classpath } - - return process -} - -private fun generateReportByProcess(process: Process, executionName: String, command: List): Int { - val report = process.inputStream.reader().readText() - - logger.info { "$executionName report: [$report]" } - - val exitCode = process.waitFor() - - if (exitCode != 0) { - logger.warn { "Exit code for process run: $exitCode" } - logger.warn { "The command line led to the pipeline failure: [${command.joinToString(" ")}]" } - throw RuntimeException("$executionName failed with non-zero exit code = $exitCode") - } - - return exitCode -} - -private fun execCommandLine(command: List, executionName: String): Int { - val process = constructProcess(command).start() - - return generateReportByProcess(process, executionName, command) -} - -@Suppress("SameParameterValue") -/** - * Sets [classpath] into an environment variable and executes the given [command]. - * It is used for JUnit4 and TestNg run. - */ -private fun setClassPathAndExecCommandLine(command: List, executionName: String, classpath: String): Int { - val process = constructProcess(command, classpath).start() - - return generateReportByProcess(process, executionName, command) -} diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/Configurations.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/Configurations.kt deleted file mode 100644 index d468673a..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/Configurations.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.testing - -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.context.simple.SimpleApplicationContext -import org.utbot.framework.context.simple.SimpleMockerContext -import org.utbot.framework.context.spring.SpringApplicationContextImpl -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.SpringSettings -import org.utbot.framework.plugin.api.SpringTestType - -interface AbstractConfiguration { - val projectType: ProjectType - val mockStrategy: MockStrategyApi - val language: CodegenLanguage - val parametrizedTestSource: ParametrizedTestSource - val lastStage: Stage -} - -data class Configuration( - override val language: CodegenLanguage, - override val parametrizedTestSource: ParametrizedTestSource, - override val lastStage: Stage, -): AbstractConfiguration { - override val projectType: ProjectType - get() = ProjectType.PureJvm - - override val mockStrategy: MockStrategyApi - get() = MockStrategyApi.defaultItem -} - -data class SpringConfiguration( - override val language: CodegenLanguage, - override val parametrizedTestSource: ParametrizedTestSource, - override val lastStage: Stage, -): AbstractConfiguration { - override val projectType: ProjectType - get() = ProjectType.Spring - - override val mockStrategy: MockStrategyApi - get() = MockStrategyApi.springDefaultItem -} - -val defaultApplicationContext = SimpleApplicationContext( - SimpleMockerContext( - mockFrameworkInstalled = true, - staticsMockingIsConfigured = true, - ) -) - -val springNoConfigApplicationContext = SpringApplicationContextImpl( - delegateContext = defaultApplicationContext, - springTestType = SpringTestType.UNIT_TEST, - springSettings = SpringSettings.AbsentSpringSettings, - beanDefinitions = emptyList() -) diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/TestCodeGeneratorPipeline.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/TestCodeGeneratorPipeline.kt deleted file mode 100644 index 4e1d16a3..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/TestCodeGeneratorPipeline.kt +++ /dev/null @@ -1,434 +0,0 @@ -package org.utbot.testing - -import mu.KotlinLogging -import org.junit.jupiter.api.Assertions.assertFalse -import org.utbot.common.FileUtil -import org.utbot.common.measureTime -import org.utbot.common.info -import org.utbot.framework.codegen.generator.CodeGeneratorResult -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.generator.CodeGeneratorParams -import org.utbot.framework.codegen.services.language.CgLanguageAssistant -import org.utbot.framework.codegen.tree.ututils.UtilClassKind -import org.utbot.framework.codegen.tree.ututils.UtilClassKind.Companion.UT_UTILS_INSTANCE_NAME -import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.plugin.api.* -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.description -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.api.util.withUtContext -import java.io.File -import java.nio.file.Path -import kotlin.reflect.KClass - -internal val logger = KotlinLogging.logger {} - -class TestCodeGeneratorPipeline( - private val testInfrastructureConfiguration: TestInfrastructureConfiguration, - private val applicationContext: ApplicationContext -) { - - fun runClassesCodeGenerationTests(classesStages: ClassStages) { - val pipeline = with(classesStages) { - ClassPipeline(StageContext(testClass, testSets, testSets.size), check) - } - - checkPipelinesResults(pipeline) - } - - private fun runPipelinesStages(classPipeline: ClassPipeline): CodeGenerationResult { - val classUnderTest = classPipeline.stageContext.classUnderTest - val classPipelineName = classUnderTest.qualifiedName - ?: error("${classUnderTest.simpleName} doesn't have a fqn name") - - logger - .info() - .measureTime({ "Executing code generation tests for [$classPipelineName]" }) { - CodeGeneration.verifyPipeline(classPipeline)?.let { - withUtContext(UtContext(classUnderTest.java.classLoader)) { - processCodeGenerationStage(it) - } - } - - Compilation.verifyPipeline(classPipeline)?.let { - processCompilationStages(it) - } - - TestExecution.verifyPipeline(classPipeline)?.let { - processTestExecutionStages(it) - } - - return with(classPipeline.stageContext) { - CodeGenerationResult(classUnderTest, numberOfTestCases, stages) - } - } - } - - @Suppress("UNCHECKED_CAST") - private fun processCodeGenerationStage(classPipeline: ClassPipeline) { - with(classPipeline.stageContext) { - val information = StageExecutionInformation(CodeGeneration) - val testSets = data as List - - val codegenLanguage = testInfrastructureConfiguration.codegenLanguage - val parametrizedTestSource = testInfrastructureConfiguration.parametrizedTestSource - - val codeGenerationResult = callToCodeGenerator(testSets, classUnderTest) - val testClass = codeGenerationResult.generatedCode - - // actual number of the tests in the generated testClass - val generatedMethodsCount = testClass - .lines() - .count { - val trimmedLine = it.trimStart() - val prefix = when (codegenLanguage) { - CodegenLanguage.JAVA -> - when (parametrizedTestSource) { - ParametrizedTestSource.DO_NOT_PARAMETRIZE -> "@Test" - ParametrizedTestSource.PARAMETRIZE -> "public void parameterizedTestsFor" - } - - CodegenLanguage.KOTLIN -> - when (parametrizedTestSource) { - ParametrizedTestSource.DO_NOT_PARAMETRIZE -> "@Test" - ParametrizedTestSource.PARAMETRIZE -> "fun parameterizedTestsFor" - } - } - trimmedLine.startsWith(prefix) - } - // expected number of the tests in the generated testClass - val expectedNumberOfGeneratedMethods = - when (parametrizedTestSource) { - ParametrizedTestSource.DO_NOT_PARAMETRIZE -> testSets.sumOf { it.executions.size } - ParametrizedTestSource.PARAMETRIZE -> testSets.filter { it.executions.isNotEmpty() }.size - } - - // check for error in the generated file - runCatching { - val separator = System.lineSeparator() - require(ERROR_REGION_BEGINNING !in testClass) { - val lines = testClass.lines().withIndex().toList() - - val errorsRegionsBeginningIndices = lines - .filter { it.value.trimStart().startsWith(ERROR_REGION_BEGINNING) } - - val errorsRegionsEndIndices = lines - .filter { it.value.trimStart().startsWith(ERROR_REGION_END) } - - val errorRegions = errorsRegionsBeginningIndices.map { beginning -> - val endIndex = errorsRegionsEndIndices.indexOfFirst { it.index > beginning.index } - lines.subList(beginning.index + 1, errorsRegionsEndIndices[endIndex].index).map { it.value } - } - - val errorText = errorRegions.joinToString(separator, separator, separator) { errorRegion -> - val text = errorRegion.joinToString(separator = separator) - "Error region in ${classUnderTest.simpleName}: $text" - } - - logger.error(errorText) - - "Errors regions has been generated: $errorText" - } - - // for now, we skip a comparing of generated and expected test methods - // in parametrized test generation mode - // because there are problems with determining expected number of methods, - // due to a feature that generates several separated parametrized tests - // when we have several executions with different result type - if (parametrizedTestSource != ParametrizedTestSource.PARAMETRIZE) { - require(generatedMethodsCount == expectedNumberOfGeneratedMethods) { - "Something went wrong during the code generation for ${classUnderTest.simpleName}. " + - "Expected to generate $expectedNumberOfGeneratedMethods test methods, " + - "but got only $generatedMethodsCount" - } - } - }.onFailure { - val classes = listOf(classPipeline).retrieveClasses() - val buildDirectory = classes.createBuildDirectory() - - val testClassName = classPipeline.retrieveTestClassName("BrokenGeneratedTest") - val generatedTestFile = writeTest(testClass, testClassName, buildDirectory, codegenLanguage) - val generatedUtilClassFile = codeGenerationResult.utilClassKind?.writeUtilClassToFile(buildDirectory, codegenLanguage) - - logger.error("Broken test has been written to the file: [$generatedTestFile]") - if (generatedUtilClassFile != null) { - logger.error("Util class for the broken test has been written to the file: [$generatedUtilClassFile]") - } - logger.error("Failed configuration: $testInfrastructureConfiguration") - - throw it - } - - classPipeline.stageContext = copy(data = codeGenerationResult, stages = stages + information.completeStage()) - } - } - - private fun UtilClassKind.writeUtilClassToFile(buildDirectory: Path, language: CodegenLanguage): File { - val utilClassFile = File(buildDirectory.toFile(), "$UT_UTILS_INSTANCE_NAME${language.extension}") - val utilClassText = getUtilClassText(language) - return writeFile(utilClassText, utilClassFile) - } - - private data class GeneratedTestClassInfo( - val testClassName: String, - val generatedTestFile: File, - val generatedUtilClassFile: File? - ) - - @Suppress("UNCHECKED_CAST") - private fun processCompilationStages(classesPipeline: ClassPipeline) { - val information = StageExecutionInformation(Compilation) - val classes = listOf(classesPipeline).retrieveClasses() - val buildDirectory = classes.createBuildDirectory() - - val codegenLanguage = testInfrastructureConfiguration.codegenLanguage - - val codeGeneratorResult = classesPipeline.stageContext.data as CodeGeneratorResult//String - val testClass = codeGeneratorResult.generatedCode - - val testClassName = classesPipeline.retrieveTestClassName("GeneratedTest") - val generatedTestFile = writeTest(testClass, testClassName, buildDirectory, codegenLanguage) - val generatedUtilClassFile = codeGeneratorResult.utilClassKind?.writeUtilClassToFile(buildDirectory, codegenLanguage) - - logger.info("Test has been written to the file: [$generatedTestFile]") - if (generatedUtilClassFile != null) { - logger.info("Util class for the test has been written to the file: [$generatedUtilClassFile]") - } - - val testClassesNamesToTestGeneratedTests = GeneratedTestClassInfo(testClassName, generatedTestFile, generatedUtilClassFile) - - - val sourceFiles = mutableListOf().apply { - testClassesNamesToTestGeneratedTests.generatedTestFile.absolutePath?.let { this += it } - testClassesNamesToTestGeneratedTests.generatedUtilClassFile?.absolutePath?.let { this += it } - } - compileTests( - "$buildDirectory", - sourceFiles, - codegenLanguage - ) - - classesPipeline.stageContext = classesPipeline.stageContext.copy( - data = CompilationResult("$buildDirectory", testClassesNamesToTestGeneratedTests.testClassName), - stages = classesPipeline.stageContext.stages + information.completeStage() - ) - } - - /** - * For simple CUT equals to its fqn + [testSuffix] suffix, - * for nested CUT is its package + dot + its simple name + [testSuffix] suffix (to avoid outer class mention). - */ - private fun ClassPipeline.retrieveTestClassName(testSuffix: String): String = - stageContext.classUnderTest.let { "${it.java.`package`.name}.${it.simpleName}" } + testSuffix - - private fun List>.createBuildDirectory() = - FileUtil.isolateClassFiles(*toTypedArray()).toPath() - - private fun List.retrieveClasses() = map { it.stageContext.classUnderTest.java } - - @Suppress("UNCHECKED_CAST") - private fun processTestExecutionStages(classesPipeline: ClassPipeline) { - val information = StageExecutionInformation(TestExecution) - val compilationResult = classesPipeline.stageContext.data as CompilationResult - val buildDirectory = compilationResult.buildDirectory - val testClassesNames = listOf(compilationResult.testClassName) - - with(testInfrastructureConfiguration) { - runTests(buildDirectory, testClassesNames, testFramework, codegenLanguage) - } - - classesPipeline.stageContext = classesPipeline.stageContext.copy( - data = Unit, - stages = classesPipeline.stageContext.stages + information.completeStage() - ) - } - - private fun callToCodeGenerator( - testSets: List, - classUnderTest: KClass<*> - ): CodeGeneratorResult { - val params = mutableMapOf>() - - withUtContext(UtContext(classUnderTest.java.classLoader)) { - val codeGenerator = with(testInfrastructureConfiguration) { - applicationContext.createCodeGenerator( - CodeGeneratorParams( - classUnderTest.id, - projectType = projectType, - generateUtilClassFile = generateUtilClassFile, - paramNames = params, - testFramework = testFramework, - staticsMocking = staticsMocking, - forceStaticMocking = forceStaticMocking, - generateWarningsForStaticMocking = false, - codegenLanguage = codegenLanguage, - cgLanguageAssistant = CgLanguageAssistant.getByCodegenLanguage(codegenLanguage), - parameterizedTestSource = parametrizedTestSource, - runtimeExceptionTestsBehaviour = runtimeExceptionTestsBehaviour, - enableTestsTimeout = enableTestsTimeout, - ) - ) - } - val testClassCustomName = "${classUnderTest.java.simpleName}GeneratedTest" - - return codeGenerator.generateAsStringWithTestReport(testSets, testClassCustomName) - } - } - - private fun checkPipelinesResults(classesPipeline: ClassPipeline) { - val result = runPipelinesStages(classesPipeline) - val classChecks = classesPipeline.stageContext.classUnderTest to listOf(classesPipeline.check) - processResults(result, classChecks) - } - - private fun processResults( - result: CodeGenerationResult, - classChecks: Pair, List> - ) { - val stageStatusChecks = classChecks.second.mapNotNull { check -> - runCatching { check(result) } - .fold( - onSuccess = { if (it) null else check.description }, - onFailure = { it.description } - ) - } - val transformedResult: Pair, List> = result.classUnderTest to stageStatusChecks - val failedResultExists = transformedResult.second.isNotEmpty() - - assertFalse(failedResultExists) { - "There are failed checks: ${transformedResult.second}" - } - } - - companion object { - private val defaultConfiguration = - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, TestExecution) - - //TODO: this variable must be lateinit, without strange default initializer - var currentTestInfrastructureConfiguration: TestInfrastructureConfiguration = configurePipeline(defaultConfiguration) - - fun configurePipeline(configuration: AbstractConfiguration) = - TestInfrastructureConfiguration( - projectType = configuration.projectType, - testFramework = TestFramework.defaultItem, - codegenLanguage = configuration.language, - mockFramework = MockFramework.defaultItem, - mockStrategy = configuration.mockStrategy, - staticsMocking = StaticsMocking.defaultItem, - parametrizedTestSource = configuration.parametrizedTestSource, - forceStaticMocking = ForceStaticMocking.defaultItem, - generateUtilClassFile = false - ).also { - currentTestInfrastructureConfiguration = it - } - - private const val ERROR_REGION_BEGINNING = "///region Errors" - private const val ERROR_REGION_END = "///endregion" - } -} - -enum class ExecutionStatus { - IN_PROCESS, FAILED, SUCCESS -} - -sealed class Stage(private val name: String, val nextStage: Stage?) { - override fun toString() = name - - fun verifyPipeline(classesPipeline: ClassPipeline): ClassPipeline? = - if (classesPipeline.check.firstStage <= this && classesPipeline.check.lastStage >= this) classesPipeline else null - - abstract operator fun compareTo(stage: Stage): Int -} - -object CodeGeneration : Stage("Code Generation", Compilation) { - override fun compareTo(stage: Stage): Int = if (stage is CodeGeneration) 0 else -1 -} - -object Compilation : Stage("Compilation", TestExecution) { - override fun compareTo(stage: Stage): Int = - when (stage) { - is CodeGeneration -> 1 - is Compilation -> 0 - else -> -1 - } -} - -object TestExecution : Stage("Test Execution", null) { - override fun compareTo(stage: Stage): Int = if (stage is TestExecution) 0 else 1 -} - -private fun pipeline(firstStage: Stage = CodeGeneration, lastStage: Stage = TestExecution): Sequence = - generateSequence(firstStage) { if (it == lastStage) null else it.nextStage } - -data class StageExecutionInformation( - val stage: Stage, - val status: ExecutionStatus = ExecutionStatus.IN_PROCESS -) { - fun completeStage(status: ExecutionStatus = ExecutionStatus.SUCCESS) = copy(status = status) -} - -data class CodeGenerationResult( - val classUnderTest: KClass<*>, - val numberOfTestCases: Int, - val stageStatisticInformation: List -) - -sealed class PipelineResultCheck( - val description: String, - private val check: (CodeGenerationResult) -> Boolean -) { - open operator fun invoke(codeGenerationResult: CodeGenerationResult) = check(codeGenerationResult) -} - -/** - * Checks that stage failed and all previous stages are successfully processed. - */ -class StageStatusCheck( - val firstStage: Stage = CodeGeneration, - val lastStage: Stage, - status: ExecutionStatus, -) : PipelineResultCheck( - description = "Expect [$lastStage] to be in [$status] status", - check = constructPipelineResultCheck(firstStage, lastStage, status) -) - -private fun constructPipelineResultCheck( - firstStage: Stage, - lastStage: Stage, - status: ExecutionStatus -): (CodeGenerationResult) -> Boolean = - { result -> - val statuses = result.stageStatisticInformation.associate { it.stage to it.status } - val failedPrevStage = pipeline(firstStage, lastStage) - .takeWhile { it != lastStage } - .firstOrNull { statuses[it] != ExecutionStatus.SUCCESS } - - if (failedPrevStage != null) error("[$lastStage] is not started cause $failedPrevStage has failed") - - statuses[lastStage] == status - } - -data class CompilationResult(val buildDirectory: String, val testClassName: String) - -/** - * Context to run Stage. Contains class under test, data (input of current stage), number of analyzed test cases and - * stage execution information. - */ -data class StageContext( - val classUnderTest: KClass<*>, - val data: Any = Unit, - val numberOfTestCases: Int = 0, - val stages: List = emptyList(), - val status: ExecutionStatus = ExecutionStatus.SUCCESS -) - -data class ClassStages( - val testClass: KClass<*>, - val check: StageStatusCheck, - val testSets: List = emptyList() -) - -data class ClassPipeline(var stageContext: StageContext, val check: StageStatusCheck) \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/TestSpecificTestCaseGenerator.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/TestSpecificTestCaseGenerator.kt deleted file mode 100644 index 4f2af2dc..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/TestSpecificTestCaseGenerator.kt +++ /dev/null @@ -1,109 +0,0 @@ -package org.utbot.testing - -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking -import mu.KotlinLogging -import org.utbot.engine.EngineController -import org.utbot.engine.Mocker -import org.utbot.engine.UtBotSymbolicEngine -import org.utbot.engine.util.mockListeners.ForceMockListener -import org.utbot.engine.util.mockListeners.ForceStaticMockListener -import org.utbot.framework.UtSettings -import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.TestCaseGenerator -import org.utbot.framework.plugin.api.UtError -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.UtSymbolicExecution -import org.utbot.framework.plugin.api.util.id -import org.utbot.framework.plugin.services.JdkInfoDefaultProvider -import org.utbot.framework.util.Conflict -import org.utbot.framework.util.jimpleBody -import org.utbot.taint.TaintConfigurationProvider -import java.nio.file.Path - -/** - * Special [UtMethodTestSet] generator for test methods that has a correct - * wrapper for suspend function [TestCaseGenerator.generateAsync]. - */ -class TestSpecificTestCaseGenerator( - buildDir: Path, - classpath: String?, - dependencyPaths: String, - engineActions: MutableList<(UtBotSymbolicEngine) -> Unit> = mutableListOf(), - isCanceled: () -> Boolean = { false }, - private val taintConfigurationProvider: TaintConfigurationProvider? = null, - applicationContext: ApplicationContext = defaultApplicationContext, -): TestCaseGenerator( - listOf(buildDir), - classpath, - dependencyPaths, - JdkInfoDefaultProvider().info, - engineActions, - isCanceled, - forceSootReload = false, - applicationContext = applicationContext, -) { - - private val logger = KotlinLogging.logger {} - - fun generate( - method: ExecutableId, - mockStrategy: MockStrategyApi, - additionalMockAlwaysClasses: Set = emptySet() - ): UtMethodTestSet { - if (isCanceled()) { - return UtMethodTestSet(method) - } - - logger.trace { "UtSettings:${System.lineSeparator()}" + UtSettings.toString() } - - val executions = mutableListOf() - val errors = mutableMapOf() - - val mockAlwaysDefaults = Mocker.javaDefaultClasses.mapTo(mutableSetOf()) { it.id } + additionalMockAlwaysClasses - val defaultTimeEstimator = ExecutionTimeEstimator(UtSettings.utBotGenerationTimeoutInMillis, 1) - - val forceMockListener = ForceMockListener.create(this, conflictTriggers) - val forceStaticMockListener = ForceStaticMockListener.create(this, conflictTriggers) - - runBlocking { - val controller = EngineController() - controller.job = launch { - super - .generateAsync( - controller, - method, - mockStrategy, - mockAlwaysDefaults, - defaultTimeEstimator, - taintConfigurationProvider - ) - .collect { - when (it) { - is UtExecution -> { - if (it is UtSymbolicExecution && - (conflictTriggers.triggered(Conflict.ForceMockHappened) || - conflictTriggers.triggered(Conflict.ForceStaticMockHappened)) - ) { - it.containsMocking = true - } - executions += it - } - is UtError -> errors.merge(it.description, 1, Int::plus) - } - } - } - } - - conflictTriggers.reset(Conflict.ForceMockHappened, Conflict.ForceStaticMockHappened) - forceMockListener.detach(this, forceMockListener) - forceStaticMockListener.detach(this, forceStaticMockListener) - - val minimizedExecutions = super.minimizeExecutions(method.classId, executions) - return UtMethodTestSet(method, minimizedExecutions, jimpleBody(method), errors) - } -} \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/UtModelTestCaseChecker.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/UtModelTestCaseChecker.kt deleted file mode 100644 index 8297859d..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/UtModelTestCaseChecker.kt +++ /dev/null @@ -1,227 +0,0 @@ -@file:Suppress("NestedLambdaShadowedImplicitParameter") - -package org.utbot.testing - -import org.junit.jupiter.api.Assertions.assertTrue -import org.utbot.common.ClassLocation -import org.utbot.common.FileUtil.findPathToClassFiles -import org.utbot.common.FileUtil.locateClass -import org.utbot.common.WorkaroundReason.HACK -import org.utbot.common.workaround -import org.utbot.engine.prettify -import org.utbot.framework.UtSettings.checkSolverTimeoutMillis -import org.utbot.framework.UtSettings.useFuzzing -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.MockStrategyApi.NO_MOCKS -import org.utbot.framework.plugin.api.UtAssembleModel -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtDirectSetFieldModel -import org.utbot.framework.plugin.api.UtExecution -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.exceptionOrNull -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.declaringClazz -import org.utbot.framework.plugin.api.util.defaultValueModel -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.util.Conflict -import org.utbot.testcheckers.ExecutionsNumberMatcher -import java.nio.file.Path -import kotlin.reflect.KClass -import kotlin.reflect.KFunction -import kotlin.reflect.KFunction1 -import kotlin.reflect.KFunction2 -import kotlin.reflect.KFunction3 - -abstract class UtModelTestCaseChecker( - testClass: KClass<*>, - testCodeGeneration: Boolean = true, - configurations: List = standardTestingConfigurations, -) : CodeGenerationIntegrationTest(testClass, testCodeGeneration, configurations) { - protected fun check( - method: KFunction2<*, *, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (UtModel, UtExecutionResult) -> Boolean, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, - mockStrategy, - branches, - matchers, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected fun check( - method: KFunction3<*, *, *, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (UtModel, UtModel, UtExecutionResult) -> Boolean, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, - mockStrategy, - branches, - matchers, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected fun checkStatic( - method: KFunction1<*, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (UtModel, UtExecutionResult) -> Boolean, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, - mockStrategy, - branches, - matchers, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected fun checkStaticsAfter( - method: KFunction2<*, *, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (UtModel, StaticsModelType, UtExecutionResult) -> Boolean, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, - arguments = ::withStaticsAfter, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - private fun internalCheck( - method: KFunction<*>, - mockStrategy: MockStrategyApi, - branches: ExecutionsNumberMatcher, - matchers: Array>, - arguments: (UtExecution) -> List = ::withResult, - additionalMockAlwaysClasses: Set = emptySet() - ) { - workaround(HACK) { - // @todo change to the constructor parameter - checkSolverTimeoutMillis = 0 - useFuzzing = false - } - val executableId = method.executableId - - withUtContext(UtContext(method.declaringClazz.classLoader)) { - val testSet = executions(executableId, mockStrategy, additionalMockAlwaysClasses) - - assertTrue(testSet.errors.isEmpty()) { - "We have errors: ${testSet.errors.entries.map { "${it.value}: ${it.key}" }.prettify()}" - } - - // if force mocking took place in parametrized test generation, - // we do not need to process this [testSet] - if (TestCodeGeneratorPipeline.currentTestInfrastructureConfiguration.isParametrizedAndMocked) { - conflictTriggers.reset(Conflict.ForceMockHappened, Conflict.ForceStaticMockHappened) - return - } - - val executions = testSet.executions - assertTrue(branches(executions.size)) { - "Branch count matcher '$branches' fails for #executions=${executions.size}: ${executions.prettify()}" - } - executions.checkMatchers(matchers, arguments) - - processTestSet(testSet) - } - } - - private fun List.checkMatchers( - matchers: Array>, - arguments: (UtExecution) -> List - ) { - val exceptions = mutableMapOf>() - val notMatched = matchers.indices.filter { i -> - this.none { ex -> - runCatching { invokeMatcher(matchers[i], arguments(ex)) } - .onFailure { exceptions.merge(i, listOf(it)) { v1, v2 -> v1 + v2 } } - .getOrDefault(false) - } - } - - val matchersNumbers = notMatched.map { it + 1 } - assertTrue(notMatched.isEmpty()) { - "Execution matchers $matchersNumbers not match to ${this.prettify()}, found exceptions: ${exceptions.prettify()}" - } - } - - private fun executions( - method: ExecutableId, - mockStrategy: MockStrategyApi, - additionalMockAlwaysClasses: Set = emptySet() - ): UtMethodTestSet { - val classLocation = locateClass(method.classId.jClass) - if (classLocation != previousClassLocation) { - buildDir = findPathToClassFiles(classLocation) - previousClassLocation = classLocation - } - - val buildInfo = CodeGenerationIntegrationTest.Companion.BuildInfo(buildDir, dependencyPath = null) - val testCaseGenerator = testCaseGeneratorCache - .getOrPut(buildInfo) { - TestSpecificTestCaseGenerator( - buildDir, - classpath = null, - dependencyPaths = System.getProperty("java.class.path"), - ) - } - - return testCaseGenerator.generate(method, mockStrategy, additionalMockAlwaysClasses) - } - - protected inline fun UtExecutionResult.isException(): Boolean = exceptionOrNull() is T - - /** - * Finds mocked method and returns values. - */ - protected fun UtModel.mocksMethod(method: KFunction<*>): List? { - if (this !is UtCompositeModel) return null - if (!isMock) return null - return mocks[method.executableId] - } - - protected inline fun UtExecutionResult.primitiveValue(): T = getOrThrow().primitiveValue() - - /** - * Finds field model in [UtCompositeModel] and [UtAssembleModel]. For assemble model supports direct field access only. - */ - protected fun UtModel.findField(fieldName: String, declaringClass: ClassId = this.classId): UtModel = - findField(FieldId(declaringClass, fieldName)) - - /** - * Finds field model in [UtCompositeModel] and [UtAssembleModel]. For assemble model supports direct field access only. - */ - @Suppress("MemberVisibilityCanBePrivate") - protected fun UtModel.findField(fieldId: FieldId): UtModel = when (this) { - is UtCompositeModel -> this.fields[fieldId]!! - is UtAssembleModel -> { - val fieldAccess = this.modificationsChain - .filterIsInstance() - .singleOrNull { it.fieldId == fieldId } - fieldAccess?.fieldModel ?: fieldId.type.defaultValueModel() - } - - else -> error("Can't get ${fieldId.name} from $this") - } - - companion object { - private var previousClassLocation: ClassLocation? = null - private lateinit var buildDir: Path - } -} - -private fun withResult(ex: UtExecution) = ex.stateBefore.parameters + ex.result -private fun withStaticsAfter(ex: UtExecution) = ex.stateBefore.parameters + ex.stateAfter.statics + ex.result - -private typealias StaticsModelType = Map \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseChecker.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseChecker.kt deleted file mode 100644 index bc77d9de..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseChecker.kt +++ /dev/null @@ -1,2376 +0,0 @@ -@file:Suppress("NestedLambdaShadowedImplicitParameter") - -package org.utbot.testing - -import org.junit.jupiter.api.Assertions.assertTrue -import org.utbot.common.ClassLocation -import org.utbot.common.FileUtil.clearTempDirectory -import org.utbot.common.FileUtil.findPathToClassFiles -import org.utbot.common.FileUtil.locateClass -import org.utbot.engine.prettify -import org.utbot.framework.SummariesGenerationType -import org.utbot.framework.UtSettings -import org.utbot.framework.UtSettings.daysLimitForTempFiles -import org.utbot.framework.context.ApplicationContext -import org.utbot.framework.coverage.Coverage -import org.utbot.framework.coverage.counters -import org.utbot.framework.coverage.methodCoverage -import org.utbot.framework.coverage.toAtLeast -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.ExecutableId -import org.utbot.framework.plugin.api.FieldId -import org.utbot.framework.plugin.api.FieldMockTarget -import org.utbot.framework.plugin.api.MockId -import org.utbot.framework.plugin.api.MockInfo -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.MockStrategyApi.NO_MOCKS -import org.utbot.framework.plugin.api.ObjectMockTarget -import org.utbot.framework.plugin.api.ParameterMockTarget -import org.utbot.framework.plugin.api.UtCompositeModel -import org.utbot.framework.plugin.api.UtConcreteValue -import org.utbot.framework.plugin.api.UtInstrumentation -import org.utbot.framework.plugin.api.UtMethodTestSet -import org.utbot.framework.plugin.api.UtMockValue -import org.utbot.framework.plugin.api.UtModel -import org.utbot.framework.plugin.api.UtPrimitiveModel -import org.utbot.framework.plugin.api.UtValueExecution -import org.utbot.framework.plugin.api.util.UtContext -import org.utbot.framework.plugin.api.util.declaringClazz -import org.utbot.framework.plugin.api.util.enclosingClass -import org.utbot.framework.plugin.api.util.executableId -import org.utbot.framework.plugin.api.util.jClass -import org.utbot.framework.plugin.api.util.kClass -import org.utbot.framework.plugin.api.util.withUtContext -import org.utbot.framework.util.Conflict -import org.utbot.framework.util.toValueTestCase -import org.utbot.summary.summarizeAll -import org.utbot.testcheckers.ExecutionsNumberMatcher -import java.io.File -import java.nio.file.Path -import java.nio.file.Paths -import java.util.stream.Collectors -import java.util.stream.Stream -import kotlin.reflect.KClass -import kotlin.reflect.KFunction -import kotlin.reflect.KFunction0 -import kotlin.reflect.KFunction1 -import kotlin.reflect.KFunction2 -import kotlin.reflect.KFunction3 -import kotlin.reflect.KFunction4 -import kotlin.reflect.KFunction5 - -abstract class UtValueTestCaseChecker( - testClass: KClass<*>, - testCodeGeneration: Boolean = true, - val configurations: List = standardTestingConfigurations, - val applicationContext: ApplicationContext = defaultApplicationContext, -) : CodeGenerationIntegrationTest(testClass, testCodeGeneration, configurations) { - // contains already analyzed by the engine methods - private val analyzedMethods: MutableMap = mutableMapOf() - - val searchDirectory: Path = Paths.get("../utbot-sample/src/main/java") - - init { - UtSettings.checkSolverTimeoutMillis = 0 - UtSettings.checkNpeInNestedMethods = true - UtSettings.checkNpeInNestedNotPrivateMethods = true - UtSettings.substituteStaticsWithSymbolicVariable = true - UtSettings.useAssembleModelGenerator = true - UtSettings.saveRemainingStatesForConcreteExecution = false - UtSettings.useFuzzing = false - UtSettings.useCustomJavaDocTags = false - UtSettings.summaryGenerationType = SummariesGenerationType.FULL - } - - // checks paramsBefore and result - protected inline fun check( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet(), - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun check( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun check( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun check( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun check( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check paramsBefore and Result, suitable to check exceptions - protected inline fun checkWithException( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithException( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithException( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithException( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithException( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check this, paramsBefore and result value - protected inline fun checkWithThis( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withThisAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThis( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, - arguments = ::withThisAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThis( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, - arguments = ::withThisAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThis( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, - arguments = ::withThisAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThis( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, T4::class, - arguments = ::withThisAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThisAndException( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withThisAndException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThisAndException( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, - arguments = ::withThisAndException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThisAndException( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, - arguments = ::withThisAndException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThisAndException( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, - arguments = ::withThisAndException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithThisAndException( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, T4::class, - arguments = ::withThisAndException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks paramsBefore, mocks and result value - protected inline fun checkMocksInStaticMethod( - method: KFunction0, - branches: ExecutionsNumberMatcher, - vararg matchers: (Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInStaticMethod( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInStaticMethod( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInStaticMethod( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInStaticMethod( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks paramsBefore, mocks and result value - protected inline fun checkMocks( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocks( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocks( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocks( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocks( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, Mocks, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMocks, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisMocksAndExceptions( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Mocks, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withThisMocksAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisMocksAndExceptions( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, Mocks, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, - arguments = ::withThisMocksAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisMocksAndExceptions( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, Mocks, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withThisMocksAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisMocksAndExceptions( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, Mocks, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withThisMocksAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisMocksAndExceptions( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, Mocks, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withThisMocksAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check paramsBefore, mocks and instrumentation and result value - protected inline fun checkMocksAndInstrumentation( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withMocksAndInstrumentation, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksAndInstrumentation( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMocksAndInstrumentation, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksAndInstrumentation( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMocksAndInstrumentation, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksAndInstrumentation( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMocksAndInstrumentation, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksAndInstrumentation( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMocksAndInstrumentation, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check this, paramsBefore, mocks, instrumentation and return value - protected inline fun checkMocksInstrumentationAndThis( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMocksInstrumentationAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInstrumentationAndThis( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, - arguments = ::withMocksInstrumentationAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInstrumentationAndThis( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, - arguments = ::withMocksInstrumentationAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInstrumentationAndThis( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, - arguments = ::withMocksInstrumentationAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMocksInstrumentationAndThis( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, Mocks, Instrumentation, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMocksInstrumentationAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks paramsBefore and return value for static methods - protected inline fun checkStaticMethod( - method: KFunction0, - branches: ExecutionsNumberMatcher, - vararg matchers: (R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethod( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethod( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethod( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethod( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks paramsBefore and Result, suitable for exceptions check - protected inline fun checkStaticMethodWithException( - method: KFunction0, - branches: ExecutionsNumberMatcher, - vararg matchers: (Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodWithException( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodWithException( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodWithException( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodWithException( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withException, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check arguments, statics and return value - protected inline fun checkStatics( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStatics( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStatics( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStatics( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStatics( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check arguments, statics and Result for exceptions check - protected inline fun checkStaticsAndException( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withStaticsBeforeAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAndException( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withStaticsBeforeAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAndException( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withStaticsBeforeAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAndException( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withStaticsBeforeAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAndException( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, Result) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withStaticsBeforeAndExceptions, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAfter( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAfter( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAfter( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAfter( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsAfter( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisAndStaticsAfter( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withThisAndStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisAndStaticsAfter( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, - arguments = ::withThisAndStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisAndStaticsAfter( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, - arguments = ::withThisAndStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisAndStaticsAfter( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, - arguments = ::withThisAndStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkThisAndStaticsAfter( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, T4::class, - arguments = ::withThisAndStaticsAfter, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks paramsBefore, staticsBefore and return value for static methods - protected inline fun checkStaticsInStaticMethod( - method: KFunction0, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsInStaticMethod( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsInStaticMethod( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsInStaticMethod( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsInStaticMethod( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsInStaticMethod( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, T5, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withStaticsBefore, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // check this, arguments and result value - protected inline fun checkStaticsWithThis( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withThisStaticsBeforeAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsWithThis( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, - arguments = ::withThisStaticsBeforeAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsWithThis( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, - arguments = ::withThisStaticsBeforeAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsWithThis( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, - arguments = ::withThisStaticsBeforeAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticsWithThis( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, T4::class, - arguments = ::withThisStaticsBeforeAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutationsAndResult( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withParamsMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutationsAndResult( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T1, T2, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withParamsMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutationsAndResult( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T1, T2, T3, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withParamsMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutationsAndResult( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, T1, T2, T3, T4, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withParamsMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks mutations in the parameters - protected inline fun checkParamsMutations( - method: KFunction2<*, T, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withParamsMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutations( - method: KFunction3<*, T1, T2, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T1, T2) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withParamsMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutations( - method: KFunction4<*, T1, T2, T3, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T1, T2, T3) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withParamsMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkParamsMutations( - method: KFunction5<*, T1, T2, T3, T4, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, T1, T2, T3, T4) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withParamsMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks mutations in the parameters and statics for static method - protected fun checkStaticMethodMutation( - method: KFunction0<*>, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutation( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, T, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutation( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, T1, T2, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutation( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, T1, T2, T3, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutation( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, T1, T2, T3, T4, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutationAndResult( - method: KFunction0, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutationAndResult( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutationAndResult( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutationAndResult( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkStaticMethodMutationAndResult( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - - // checks mutations in the parameters and statics - protected inline fun checkMutations( - method: KFunction2<*, T, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, T, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutations( - method: KFunction3<*, T1, T2, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, T1, T2, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutations( - method: KFunction4<*, T1, T2, T3, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, T1, T2, T3, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutations( - method: KFunction5<*, T1, T2, T3, T4, *>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, T1, T2, T3, T4, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMutations, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks mutations in the parameters and statics - protected inline fun checkMutationsAndResult( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (StaticsType, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutationsAndResult( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, T, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutationsAndResult( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, StaticsType, T1, T2, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutationsAndResult( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, StaticsType, T1, T2, T3, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkMutationsAndResult( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, StaticsType, T1, T2, T3, T4, StaticsType, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMutationsAndResult, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - // checks mutations in this, parameters and statics - protected inline fun checkAllMutationsWithThis( - method: KFunction1, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, StaticsType, T, StaticsType, R) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - arguments = ::withMutationsAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkAllMutationsWithThis( - method: KFunction2, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, StaticsType, T, T1, StaticsType, R) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, - arguments = ::withMutationsAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkAllMutationsWithThis( - method: KFunction3, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, StaticsType, T, T1, T2, StaticsType, R) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, - arguments = ::withMutationsAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkAllMutationsWithThis( - method: KFunction4, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, StaticsType, T, T1, T2, T3, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, - arguments = ::withMutationsAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkAllMutationsWithThis( - method: KFunction5, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, T1, T2, T3, T4, StaticsType, T, T1, T2, T3, T4, StaticsType) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, T1::class, T2::class, T3::class, T4::class, - arguments = ::withMutationsAndThis, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - //region checks substituting statics with symbolic variable or not - protected inline fun checkWithoutStaticsSubstitution( - method: KFunction1<*, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithoutStaticsSubstitution( - method: KFunction2<*, T, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithoutStaticsSubstitution( - method: KFunction3<*, T1, T2, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithoutStaticsSubstitution( - method: KFunction4<*, T1, T2, T3, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - protected inline fun checkWithoutStaticsSubstitution( - method: KFunction5<*, T1, T2, T3, T4, R>, - branches: ExecutionsNumberMatcher, - vararg matchers: (T1, T2, T3, T4, R?) -> Boolean, - coverage: CoverageMatcher = Full, - mockStrategy: MockStrategyApi = NO_MOCKS, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) = internalCheck( - method, mockStrategy, branches, matchers, coverage, T1::class, T2::class, T3::class, T4::class, - additionalDependencies = additionalDependencies, - additionalMockAlwaysClasses = additionalMockAlwaysClasses - ) - - //endregion - - /** - * @param method method under test - * @param generateWithNested a flag indicating if we need to generate nested test classes - * or just generate one top-level test class - * @see [ClassWithStaticAndInnerClassesTest] - */ - fun checkAllCombinations( - method: KFunction<*>, - generateWithNested: Boolean = false, - additionalMockAlwaysClasses: Set = emptySet() - ) { - val failed = mutableListOf() - val succeeded = mutableListOf() - - allTestInfrastructureConfigurations - .filterNot { it.isDisabled } - .forEach { config -> - runCatching { - internalCheckForCodeGeneration(method, config, generateWithNested, additionalMockAlwaysClasses) - }.onFailure { - failed += config - }.onSuccess { - succeeded += config - } - } - - // TODO check that all generated classes have different content JIRA:1415 - - logger.info { "Total configurations: ${succeeded.size + failed.size}. Failed: ${failed.size}." } - require(failed.isEmpty()) { - val separator = System.lineSeparator() - val failedConfigurations = failed.joinToString(prefix = separator, separator = separator) - logger.error { "Failed configurations: $failedConfigurations" } - "Failed configurations: $failedConfigurations" - } - } - - @Suppress("ControlFlowWithEmptyBody", "UNUSED_VARIABLE") - private fun internalCheckForCodeGeneration( - method: KFunction<*>, - testInfrastructureConfiguration: TestInfrastructureConfiguration, - generateWithNested: Boolean, - additionalMockAlwaysClasses: Set = emptySet() - ) { - withSettingsFromTestFrameworkConfiguration(testInfrastructureConfiguration) { - with(testInfrastructureConfiguration) { - - val executableId = method.executableId - computeAdditionalDependenciesClasspathAndBuildDir(method.declaringClazz, emptyArray()) - val utContext = UtContext(method.declaringClazz.classLoader) - - clearTempDirectory(daysLimitForTempFiles) - - withUtContext(utContext) { - val methodWithStrategy = - MethodWithMockStrategy(executableId, mockStrategy, resetNonFinalFieldsAfterClinit) - - val (testSet, coverage) = analyzedMethods.getOrPut(methodWithStrategy) { - walk(executableId, mockStrategy, additionalMockAlwaysClasses = additionalMockAlwaysClasses) - } - - // if force mocking took place in parametrized test generation, - // we do not need to process this [testSet] - if (TestCodeGeneratorPipeline.currentTestInfrastructureConfiguration.isParametrizedAndMocked) { - conflictTriggers.reset(Conflict.ForceMockHappened, Conflict.ForceStaticMockHappened) - return - } - - val methodUnderTestOwnerId = testSet.method.classId - val classUnderTest = if (generateWithNested) { - generateSequence(methodUnderTestOwnerId) { clazz -> clazz.enclosingClass }.last().kClass - } else { - methodUnderTestOwnerId.kClass - } - - val stageStatusCheck = StageStatusCheck( - firstStage = CodeGeneration, - lastStage = TestExecution, - status = ExecutionStatus.SUCCESS - ) - val classStages = ClassStages(classUnderTest, stageStatusCheck, listOf(testSet)) - - TestCodeGeneratorPipeline(testInfrastructureConfiguration, applicationContext).runClassesCodeGenerationTests(classStages) - } - } - } - } - - inline fun internalCheck( - method: KFunction, - mockStrategy: MockStrategyApi, - branches: ExecutionsNumberMatcher, - matchers: Array>, - coverageMatcher: CoverageMatcher, - vararg classes: KClass<*>, - noinline arguments: (UtValueExecution<*>) -> List = ::withResult, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ) { - if (UtSettings.checkAllCombinationsForEveryTestInSamples) { - checkAllCombinations(method) - } - - val executableId = method.executableId - - withUtContext(UtContext(method.declaringClazz.classLoader)) { - val additionalDependenciesClassPath = - computeAdditionalDependenciesClasspathAndBuildDir(executableId.classId.jClass, additionalDependencies) - - val (testSet, coverage) = if (coverageMatcher is DoNotCalculate) { - val testSet = executions( - executableId, - mockStrategy, - additionalDependenciesClassPath, - additionalMockAlwaysClasses - ) - - MethodResult(testSet, Coverage()) - } else { - walk(executableId, mockStrategy, additionalDependenciesClassPath, additionalMockAlwaysClasses) - } - listOf(testSet).summarizeAll(searchDirectory, sourceFile = null) - val valueTestCase = testSet.toValueTestCase() - - assertTrue(testSet.errors.isEmpty()) { - "We have errors: ${ - testSet.errors.entries.map { "${it.value}: ${it.key}" }.prettify() - }" - } - - // if force mocking took place in parametrized test generation, - // we do not need to process this [testSet] - if (TestCodeGeneratorPipeline.currentTestInfrastructureConfiguration.isParametrizedAndMocked) { - conflictTriggers.reset(Conflict.ForceMockHappened, Conflict.ForceStaticMockHappened) - return - } - - val valueExecutions = valueTestCase.executions - assertTrue(branches(valueExecutions.size)) { - "Branch count matcher '$branches' fails for ${valueExecutions.size}: ${valueExecutions.prettify()}" - } - - valueExecutions.checkTypes(R::class, classes.toList()) - - valueExecutions.checkMatchers(matchers, arguments) - assertTrue(coverageMatcher(coverage)) { - "Coverage matcher '$coverageMatcher' fails for $coverage (at least: ${coverage.toAtLeast()})" - } - - processTestSet(testSet) - } - } - - fun List>.checkTypes( - resultType: KClass<*>, - argumentTypes: List> - ) { - for (execution in this) { - val typesWithArgs = argumentTypes.zip(execution.stateBefore.params.map { it.type }) - - assertTrue(typesWithArgs.all { it.second::class.isInstance(it.first::class) }) { "Param types do not match" } - - execution.returnValue.getOrNull()?.let { returnValue -> - assertTrue(resultType::class.isInstance(returnValue::class)) { "Return type does not match" } - } - } - } - - fun List>.checkMatchers( - matchers: Array>, - arguments: (UtValueExecution<*>) -> List - ) { - val notMatched = matchers.indices.filter { i -> - this.none { ex -> - runCatching { invokeMatcher(matchers[i], arguments(ex)) }.getOrDefault(false) - } - } - - val matchersNumbers = notMatched.map { it + 1 } - - assertTrue(notMatched.isEmpty()) { "Execution matchers $matchersNumbers not match to ${this.prettify()}" } - - // Uncomment if you want to check that each value matches at least one matcher. -// val notMatchedValues = this.filter { ex -> -// matchers.none { matcher -> -// runCatching { -// invokeMatcher(matcher, arguments(ex)) -// }.getOrDefault(false) -// } -// } -// assertTrue(notMatchedValues.isEmpty()) { "Values not match to matchers, ${notMatchedValues.prettify()}" } - } - - fun walk( - method: ExecutableId, - mockStrategy: MockStrategyApi, - additionalDependenciesClassPath: String = "", - additionalMockAlwaysClasses: Set = emptySet() - ): MethodResult { - val testSet = executions(method, mockStrategy, additionalDependenciesClassPath, additionalMockAlwaysClasses) - val methodCoverage = methodCoverage( - method, - testSet.toValueTestCase().executions, - buildDir.toString() + File.pathSeparator + additionalDependenciesClassPath - ) - return MethodResult(testSet, methodCoverage) - } - - open fun executions( - method: ExecutableId, - mockStrategy: MockStrategyApi, - additionalDependenciesClassPath: String, - additionalMockAlwaysClasses: Set = emptySet() - ): UtMethodTestSet { - val buildInfo = CodeGenerationIntegrationTest.Companion.BuildInfo(buildDir, additionalDependenciesClassPath) - - val testCaseGenerator = createTestCaseGenerator(buildInfo) - return testCaseGenerator.generate(method, mockStrategy, additionalMockAlwaysClasses) - } - - // factory method - open fun createTestCaseGenerator(buildInfo: CodeGenerationIntegrationTest.Companion.BuildInfo) = - testCaseGeneratorCache.getOrPut(buildInfo) { - TestSpecificTestCaseGenerator( - buildInfo.buildDir, - buildInfo.dependencyPath, - System.getProperty("java.class.path"), - applicationContext = applicationContext - ) - } - - fun executionsModel( - method: ExecutableId, - mockStrategy: MockStrategyApi, - additionalDependencies: Array> = emptyArray(), - additionalMockAlwaysClasses: Set = emptySet() - ): UtMethodTestSet { - val additionalDependenciesClassPath = - computeAdditionalDependenciesClasspathAndBuildDir(method.classId.jClass, additionalDependencies) - withUtContext(UtContext(method.classId.jClass.classLoader)) { - val buildInfo = CodeGenerationIntegrationTest.Companion.BuildInfo(buildDir, additionalDependenciesClassPath) - val testCaseGenerator = createTestCaseGenerator(buildInfo) - return testCaseGenerator.generate(method, mockStrategy, additionalMockAlwaysClasses) - } - } - - companion object { - private var previousClassLocation: ClassLocation? = null - private lateinit var buildDir: Path - - fun computeAdditionalDependenciesClasspathAndBuildDir( - clazz: Class<*>, - additionalDependencies: Array> - ): String { - val additionalDependenciesClassPath = additionalDependencies - .map { locateClass(it) } - .joinToString(File.pathSeparator) { findPathToClassFiles(it).toAbsolutePath().toString() } - val classLocation = locateClass(clazz) - if (classLocation != previousClassLocation) { - buildDir = findPathToClassFiles(classLocation) - previousClassLocation = classLocation - } - return additionalDependenciesClassPath - } - } - - data class MethodWithMockStrategy( - val method: ExecutableId, - val mockStrategy: MockStrategyApi, - val substituteStatics: Boolean - ) - - data class MethodResult(val testSet: UtMethodTestSet, val coverage: Coverage) -} - -@Suppress("UNCHECKED_CAST") -// TODO please use matcher.reflect().call(...) when it will be ready, currently call isn't supported in kotlin reflect -fun invokeMatcher(matcher: Function, params: List) = when (matcher) { - is Function1<*, *> -> (matcher as Function1).invoke(params[0]) - is Function2<*, *, *> -> (matcher as Function2).invoke(params[0], params[1]) - is Function3<*, *, *, *> -> (matcher as Function3).invoke( - params[0], params[1], params[2] - ) - is Function4<*, *, *, *, *> -> (matcher as Function4).invoke( - params[0], params[1], params[2], params[3] - ) - is Function5<*, *, *, *, *, *> -> (matcher as Function5).invoke( - params[0], params[1], params[2], params[3], params[4], - ) - is Function6<*, *, *, *, *, *, *> -> (matcher as Function6).invoke( - params[0], params[1], params[2], params[3], params[4], params[5], - ) - is Function7<*, *, *, *, *, *, *, *> -> (matcher as Function7).invoke( - params[0], params[1], params[2], params[3], params[4], params[5], params[6], - ) - else -> error("Function with arity > 7 not supported") -} - -fun between(bounds: IntRange) = ExecutionsNumberMatcher("$bounds") { it in bounds } -val ignoreExecutionsNumber = ExecutionsNumberMatcher("Do not calculate") { it > 0 } - -fun atLeast(percents: Int) = AtLeast(percents) - -fun signatureOf(function: Function<*>): String { - function as KFunction - return function.executableId.signature -} - -fun MockInfo.mocksMethod(method: Function<*>) = signatureOf(method) == this.method.signature - -fun List.singleMockOrNull(field: String, method: Function<*>): MockInfo? = - singleOrNull { (it.mock as? FieldMockTarget)?.field == field && it.mocksMethod(method) } - -fun List.singleMock(field: String, method: Function<*>): MockInfo = - single { (it.mock as? FieldMockTarget)?.field == field && it.mocksMethod(method) } - -fun List.singleMock(id: MockId, method: Function<*>): MockInfo = - single { (it.mock as? ObjectMockTarget)?.id == id && it.mocksMethod(method) } - -inline fun MockInfo.value(index: Int = 0): T = - when (val value = (values[index] as? UtConcreteValue<*>)?.value) { - is T -> value - else -> error("Unsupported type: ${values[index]}") - } - -fun MockInfo.mockValue(index: Int = 0): UtMockValue = values[index] as UtMockValue - -fun MockInfo.isParameter(num: Int): Boolean = (mock as? ParameterMockTarget)?.index == num - -inline fun Result<*>.isException(): Boolean = exceptionOrNull() is T - -inline fun UtCompositeModel.mockValues(methodName: String): List = - mocks.filterKeys { it.name == methodName }.values.flatten().map { it.primitiveValue() } - -inline fun UtModel.primitiveValue(): T = - (this as? UtPrimitiveModel)?.value as? T ?: error("Can't transform $this to ${T::class}") - -sealed class CoverageMatcher(private val description: String, private val cmp: (Coverage) -> Boolean) { - operator fun invoke(c: Coverage) = cmp(c) - override fun toString() = description -} - -object Full : CoverageMatcher("full coverage", { it.counters.all { it.total == it.covered } }) - -class AtLeast(percents: Int) : CoverageMatcher("at least $percents% coverage", - { it.counters.all { 100 * it.covered >= percents * it.total } }) - -object DoNotCalculate : CoverageMatcher("Do not calculate", { true }) - -class FullWithAssumptions(assumeCallsNumber: Int) : CoverageMatcher( - "full coverage except failed assume calls", - { it.instructionCounter.let { it.covered >= it.total - assumeCallsNumber } } -) { - init { - require(assumeCallsNumber > 0) { - "Non-positive number of assume calls $assumeCallsNumber passed (for zero calls use Full coverage matcher" - } - } -} - -// simple matchers -fun withResult(ex: UtValueExecution<*>) = ex.paramsBefore + ex.evaluatedResult -fun withException(ex: UtValueExecution<*>) = ex.paramsBefore + ex.returnValue -fun withStaticsBefore(ex: UtValueExecution<*>) = ex.paramsBefore + ex.staticsBefore + ex.evaluatedResult -fun withStaticsBeforeAndExceptions(ex: UtValueExecution<*>) = ex.paramsBefore + ex.staticsBefore + ex.returnValue -fun withStaticsAfter(ex: UtValueExecution<*>) = ex.paramsBefore + ex.staticsAfter + ex.evaluatedResult -fun withThisAndStaticsAfter(ex: UtValueExecution<*>) = listOf(ex.callerBefore) + ex.paramsBefore + ex.staticsAfter + ex.evaluatedResult -fun withThisAndResult(ex: UtValueExecution<*>) = listOf(ex.callerBefore) + ex.paramsBefore + ex.evaluatedResult -fun withThisStaticsBeforeAndResult(ex: UtValueExecution<*>) = - listOf(ex.callerBefore) + ex.paramsBefore + ex.staticsBefore + ex.evaluatedResult - -fun withThisAndException(ex: UtValueExecution<*>) = listOf(ex.callerBefore) + ex.paramsBefore + ex.returnValue -fun withMocks(ex: UtValueExecution<*>) = ex.paramsBefore + listOf(ex.mocks) + ex.evaluatedResult -fun withMocksAndInstrumentation(ex: UtValueExecution<*>) = - ex.paramsBefore + listOf(ex.mocks) + listOf(ex.instrumentation) + ex.evaluatedResult - -fun withThisMocksAndExceptions(ex: UtValueExecution<*>) = - listOf(ex.callerBefore) + ex.paramsBefore + listOf(ex.mocks) + ex.returnValue - -fun withMocksInstrumentationAndThis(ex: UtValueExecution<*>) = - listOf(ex.callerBefore) + ex.paramsBefore + listOf(ex.mocks) + listOf(ex.instrumentation) + ex.evaluatedResult - -// mutations -fun withParamsMutations(ex: UtValueExecution<*>) = ex.paramsBefore + ex.paramsAfter -fun withMutations(ex: UtValueExecution<*>) = ex.paramsBefore + ex.staticsBefore + ex.paramsAfter + ex.staticsAfter -fun withParamsMutationsAndResult(ex: UtValueExecution<*>) = ex.paramsBefore + ex.paramsAfter + ex.evaluatedResult -fun withMutationsAndResult(ex: UtValueExecution<*>) = - ex.paramsBefore + ex.staticsBefore + ex.paramsAfter + ex.staticsAfter + ex.evaluatedResult - -fun withMutationsAndThis(ex: UtValueExecution<*>) = - mutableListOf().apply { - add(ex.callerBefore) - addAll(ex.paramsBefore) - add(ex.staticsBefore) - - add(ex.callerAfter) - addAll(ex.paramsAfter) - add(ex.staticsAfter) - - add(ex.evaluatedResult) - } - -private val UtValueExecution<*>.callerBefore get() = stateBefore.caller!!.value -private val UtValueExecution<*>.paramsBefore get() = stateBefore.params.map { it.value } -private val UtValueExecution<*>.staticsBefore get() = stateBefore.statics - -private val UtValueExecution<*>.callerAfter get() = stateAfter.caller!!.value -private val UtValueExecution<*>.paramsAfter get() = stateAfter.params.map { it.value } -private val UtValueExecution<*>.staticsAfter get() = stateAfter.statics - -private val UtValueExecution<*>.evaluatedResult get() = returnValue.getOrNull() - -fun Map>.findByName(name: String) = entries.single { name == it.key.name }.value.value -fun Map>.singleValue() = values.single().value - -typealias StaticsType = Map> -private typealias Mocks = List -private typealias Instrumentation = List - -inline fun withSettingsFromTestFrameworkConfiguration( - config: TestInfrastructureConfiguration, - block: () -> T -): T { - val substituteStaticsWithSymbolicVariable = UtSettings.substituteStaticsWithSymbolicVariable - UtSettings.substituteStaticsWithSymbolicVariable = config.resetNonFinalFieldsAfterClinit - - val previousConfig = TestCodeGeneratorPipeline.currentTestInfrastructureConfiguration - TestCodeGeneratorPipeline.currentTestInfrastructureConfiguration = config - try { - return block() - } finally { - UtSettings.substituteStaticsWithSymbolicVariable = substituteStaticsWithSymbolicVariable - TestCodeGeneratorPipeline.currentTestInfrastructureConfiguration = previousConfig - } -} - -/** - * Avoid conflict with java.util.stream.Stream.toList (available since Java 16 only) - */ -fun Stream.asList(): List = collect(Collectors.toList()) diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseCheckerForTaint.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseCheckerForTaint.kt deleted file mode 100644 index 050b26b3..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/UtValueTestCaseCheckerForTaint.kt +++ /dev/null @@ -1,37 +0,0 @@ -package org.utbot.testing - -import org.junit.jupiter.api.AfterAll -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.plugin.api.* -import org.utbot.taint.TaintConfigurationProvider -import kotlin.reflect.KClass - -open class UtValueTestCaseCheckerForTaint( - testClass: KClass<*>, - testCodeGeneration: Boolean = true, - pipelines: List = listOf( - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.DO_NOT_PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.JAVA, ParametrizedTestSource.PARAMETRIZE, Compilation), - Configuration(CodegenLanguage.KOTLIN, ParametrizedTestSource.DO_NOT_PARAMETRIZE, CodeGeneration), - ), - private val taintConfigurationProvider: TaintConfigurationProvider, -) : UtValueTestCaseChecker(testClass, testCodeGeneration, pipelines) { - - init { - UtSettings.useTaintAnalysis = true - } - - override fun createTestCaseGenerator(buildInfo: CodeGenerationIntegrationTest.Companion.BuildInfo) = - TestSpecificTestCaseGenerator( - buildInfo.buildDir, - buildInfo.dependencyPath, - System.getProperty("java.class.path"), - taintConfigurationProvider = taintConfigurationProvider, - ) - - @AfterAll - fun reset() { - UtSettings.useTaintAnalysis = false - } -} \ No newline at end of file diff --git a/utbot-testing/src/main/kotlin/org/utbot/testing/Utils.kt b/utbot-testing/src/main/kotlin/org/utbot/testing/Utils.kt deleted file mode 100644 index 60ced254..00000000 --- a/utbot-testing/src/main/kotlin/org/utbot/testing/Utils.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.utbot.testing - -import org.utbot.framework.plugin.api.UtExecutionFailure -import org.utbot.framework.plugin.api.UtExecutionResult -import org.utbot.framework.plugin.api.UtExecutionSuccess -import org.utbot.framework.plugin.api.UtModel - -fun UtExecutionResult.getOrThrow(): UtModel = when (this) { - is UtExecutionSuccess -> model - is UtExecutionFailure -> throw exception -} diff --git a/utbot-ui-commons/build.gradle.kts b/utbot-ui-commons/build.gradle.kts deleted file mode 100644 index ff729c6a..00000000 --- a/utbot-ui-commons/build.gradle.kts +++ /dev/null @@ -1,56 +0,0 @@ -val kotlinLoggingVersion: String by rootProject -val ideType: String by rootProject -val ideVersion: String by rootProject -val semVer: String? by rootProject -val slf4jVersion: String by rootProject -val androidStudioPath: String? by rootProject - -plugins { - id("org.jetbrains.intellij") version "1.13.1" -} -project.tasks.asMap["runIde"]?.enabled = false - -intellij { - version.set(ideVersion) - type.set(ideType) - - plugins.set(listOf( - "java", - "org.jetbrains.android" - )) -} - -tasks { - compileKotlin { - kotlinOptions { - jvmTarget = "17" - freeCompilerArgs = freeCompilerArgs + listOf("-Xallow-result-return-type", "-Xsam-conversions=class") - allWarningsAsErrors = false - } - } - - java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - - runIde { - jvmArgs("-Xmx2048m") - jvmArgs("--add-exports", "java.desktop/sun.awt.windows=ALL-UNNAMED") - androidStudioPath?.let { ideDir.set(file(it)) } - } - - patchPluginXml { - sinceBuild.set("223") - untilBuild.set("223.*") - version.set(semVer) - } -} - -dependencies { - implementation(group = "io.github.microutils", name = "kotlin-logging", version = kotlinLoggingVersion) - implementation(group = "org.jetbrains", name = "annotations", version = "16.0.2") - implementation(project(":utbot-api")) - implementation(project(":utbot-framework")) - implementation(group = "org.slf4j", name = "slf4j-api", version = slf4jVersion) -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/language/agnostic/LanguageAssistant.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/language/agnostic/LanguageAssistant.kt deleted file mode 100644 index 87d7314e..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/language/agnostic/LanguageAssistant.kt +++ /dev/null @@ -1,112 +0,0 @@ -package org.utbot.intellij.plugin.language.agnostic - -import mu.KotlinLogging -import com.intellij.lang.Language -import com.intellij.openapi.actionSystem.AnActionEvent -import com.intellij.openapi.actionSystem.CommonDataKeys -import com.intellij.openapi.actionSystem.PlatformDataKeys -import com.intellij.openapi.project.Project -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.psi.PsiDirectory -import com.intellij.psi.PsiElement -import com.intellij.psi.PsiFile -import com.intellij.psi.PsiFileSystemItem -import org.jetbrains.kotlin.idea.core.util.toPsiDirectory -import org.jetbrains.kotlin.idea.core.util.toPsiFile - -private val logger = KotlinLogging.logger {} - -abstract class LanguageAssistant { - - abstract fun update(e: AnActionEvent) - abstract fun actionPerformed(e: AnActionEvent) - - companion object { - private val languages = mutableMapOf() - - fun get(e: AnActionEvent): LanguageAssistant? { - val project = e.project ?: return null - val editor = e.getData(CommonDataKeys.EDITOR) - if (editor != null) { - //The action is being called from editor - e.getData(CommonDataKeys.PSI_FILE)?.language?.let { language -> - updateLanguages(language) - return languages[language.id] - } ?: return null - } else { - // The action is being called from 'Project' tool window - val language = when (val element = e.getData(CommonDataKeys.PSI_ELEMENT)) { - is PsiFileSystemItem -> { - e.getData(CommonDataKeys.VIRTUAL_FILE_ARRAY)?.let { - findLanguageRecursively(project, it) - } - } - is PsiElement -> { - element.containingFile?.let { getLanguageFromFile(it) } - } - else -> { - val someSelection = e.getData(PlatformDataKeys.PSI_ELEMENT_ARRAY)?: return null - someSelection.firstNotNullOfOrNull { - when(it) { - is PsiFileSystemItem -> findLanguageRecursively(project, arrayOf(it.virtualFile)) - is PsiElement -> it.language - else -> { null } - } - } - } - } ?: return null - - updateLanguages(language) - return languages[language.id] - } - } - - private fun updateLanguages(language: Language) { - if (!languages.containsKey(language.id)) { - loadWithException(language)?.let { - languages.put(language.id, it.kotlin.objectInstance as LanguageAssistant) - } - } - } - - private fun getLanguageFromFile(file: PsiFile): Language? { - updateLanguages(file.language) - return if (languages.containsKey(file.language.id)) - file.language - else - null - } - - private fun findLanguageRecursively(directory: PsiDirectory): Language? { - return directory.files - .firstNotNullOfOrNull { getLanguageFromFile(it) } ?: - directory.subdirectories.firstNotNullOfOrNull { findLanguageRecursively(it) } - } - - private fun findLanguageRecursively(project: Project, virtualFiles: Array): Language? { - val psiFiles = virtualFiles.mapNotNull { it.toPsiFile(project) } - val psiDirectories = virtualFiles.mapNotNull { it.toPsiDirectory(project) } - - - val fileLanguage = psiFiles.firstNotNullOfOrNull { getLanguageFromFile(it) } - return fileLanguage ?: psiDirectories.firstNotNullOfOrNull { findLanguageRecursively(it) } - } - } -} - -private fun loadWithException(language: Language): Class<*>? { - try { - return when (language.id) { - "Python" -> Class.forName("org.utbot.intellij.plugin.language.python.PythonLanguageAssistant") - "ECMAScript 6" -> Class.forName("org.utbot.intellij.plugin.language.js.JsLanguageAssistant") - "go" -> Class.forName("org.utbot.intellij.plugin.language.go.GoLanguageAssistant") - "JAVA", "kotlin" -> Class.forName("org.utbot.intellij.plugin.language.JvmLanguageAssistant") - else -> error("Unknown language id: ${language.id}") - } - } catch (e: ClassNotFoundException) { - logger.info("Language ${language.id} is disabled") - } catch (e: IllegalStateException) { - logger.info("Language ${language.id} is not supported") - } - return null -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/models/BaseTestModel.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/models/BaseTestModel.kt deleted file mode 100644 index 321a2af4..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/models/BaseTestModel.kt +++ /dev/null @@ -1,197 +0,0 @@ -package org.utbot.intellij.plugin.models - -import com.intellij.openapi.module.Module -import com.intellij.openapi.module.ModuleUtil -import com.intellij.openapi.project.Project -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.openapi.vfs.newvfs.impl.FakeVirtualFile -import com.intellij.psi.JavaPsiFacade -import com.intellij.psi.PsiClass -import com.intellij.psi.search.GlobalSearchScope -import com.intellij.psi.search.searches.AnnotatedElementsSearch -import org.jetbrains.kotlin.idea.core.getPackage -import org.jetbrains.kotlin.idea.util.projectStructure.allModules -import org.jetbrains.kotlin.idea.util.rootManager -import org.jetbrains.kotlin.idea.util.sourceRoot -import org.utbot.common.PathUtil.fileExtension -import org.utbot.framework.codegen.domain.ProjectType -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.intellij.plugin.ui.utils.ITestSourceRoot -import org.utbot.intellij.plugin.ui.utils.getResourcesPaths -import org.utbot.intellij.plugin.ui.utils.getSortedTestRoots -import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle -import org.utbot.intellij.plugin.ui.utils.suitableTestSourceRoots -import org.utbot.intellij.plugin.util.binaryName -import java.nio.file.Files -import javax.xml.parsers.DocumentBuilder -import javax.xml.parsers.DocumentBuilderFactory -import kotlin.streams.asSequence - - -val PsiClass.packageName: String get() = this.containingFile.containingDirectory.getPackage()?.qualifiedName ?: "" -const val HISTORY_LIMIT = 10 - -const val SPRINGBOOT_APPLICATION_FQN = "org.springframework.boot.autoconfigure.SpringBootApplication" -const val SPRINGBOOT_CONFIGURATION_FQN = "org.springframework.boot.SpringBootConfiguration" -const val SPRING_CONFIGURATION_ANNOTATION_FQN = "org.springframework.context.annotation.Configuration" -const val SPRING_TESTCONFIGURATION_ANNOTATION_FQN = "org.springframework.boot.test.context.TestConfiguration" - -const val SPRING_BEANS_SCHEMA_URL = "http://www.springframework.org/schema/beans" -const val SPRING_LOAD_DTD_GRAMMAR_PROPERTY = "http://apache.org/xml/features/nonvalidating/load-dtd-grammar" -const val SPRING_LOAD_EXTERNAL_DTD_PROPERTY = "http://apache.org/xml/features/nonvalidating/load-external-dtd" - -open class BaseTestsModel( - val project: Project, - val srcModule: Module, - val potentialTestModules: List, - var srcClasses: Set = emptySet(), -) { - // GenerateTestsModel is supposed to be created with non-empty list of potentialTestModules. - // Otherwise, the error window is supposed to be shown earlier. - var testModule: Module = potentialTestModules.firstOrNull() ?: error("Empty list of test modules in model") - - var testSourceRoot: VirtualFile? = null - var testPackageName: String? = null - open var sourceRootHistory : MutableList = mutableListOf() - open lateinit var codegenLanguage: CodegenLanguage - open lateinit var projectType: ProjectType - - fun setSourceRootAndFindTestModule(newTestSourceRoot: VirtualFile?) { - requireNotNull(newTestSourceRoot) - testSourceRoot = newTestSourceRoot - var target = newTestSourceRoot - while (target != null && target is FakeVirtualFile) { - target = target.parent - } - if (target == null) { - error("Could not find module for $newTestSourceRoot") - } - - testModule = ModuleUtil.findModuleForFile(target, project) - ?: error("Could not find module for $newTestSourceRoot") - } - - val isMultiPackage: Boolean by lazy { - srcClasses.map { it.packageName }.distinct().size != 1 - } - - fun getAllTestSourceRoots() : MutableList { - with(if (project.isBuildWithGradle) project.allModules() else potentialTestModules) { - return this.flatMap { it.suitableTestSourceRoots().toList() }.toMutableList().distinct().toMutableList() - } - } - - fun getSortedTestRoots(): MutableList = getSortedTestRoots( - getAllTestSourceRoots(), - sourceRootHistory, - srcModule.rootManager.sourceRoots.map { file: VirtualFile -> file.toNioPath().toString() }, - codegenLanguage - ) - - /** - * Finds @SpringBootApplication classes in Spring application. - * - * @see [getSortedAnnotatedClasses] - */ - fun getSortedSpringBootApplicationClasses(): Set = - getSortedAnnotatedClasses(SPRINGBOOT_CONFIGURATION_FQN) + - getSortedAnnotatedClasses(SPRINGBOOT_APPLICATION_FQN) - - /** - * Finds @TestConfiguration and @Configuration classes in Spring application. - * - * @see [getSortedAnnotatedClasses] - */ - fun getSortedSpringConfigurationClasses(): Set = - getSortedAnnotatedClasses(SPRING_TESTCONFIGURATION_ANNOTATION_FQN) + - getSortedAnnotatedClasses(SPRING_CONFIGURATION_ANNOTATION_FQN) - - /** - * Finds classes annotated with given annotation in [srcModule] and [potentialTestModules]. - * - * Sorting order: - * - classes from test source roots (in the order provided by [getSortedTestRoots]) - * - classes from production source roots - */ - private fun getSortedAnnotatedClasses(annotationFqn: String): Set { - val searchScope = - potentialTestModules - .fold(GlobalSearchScope.moduleScope(srcModule)) { accScope, module -> - accScope.union(GlobalSearchScope.moduleScope(module)) - } - - val annotationClass = JavaPsiFacade - .getInstance(project) - .findClass(annotationFqn, GlobalSearchScope.allScope(project)) - ?: return emptySet() - - val testRootToIndex = - getSortedTestRoots() - .withIndex() - .associate { (i, root) -> root.dir to i } - - return AnnotatedElementsSearch - .searchPsiClasses(annotationClass, searchScope) - .findAll() - .sortedBy { testRootToIndex[it.containingFile.sourceRoot] ?: Int.MAX_VALUE } - .mapNotNullTo(mutableSetOf()) { it.binaryName } - } - - fun getSpringXMLConfigurationFiles(): Set { - val resourcesPaths = - buildList { - addAll(potentialTestModules) - add(srcModule) - }.distinct().flatMapTo(mutableSetOf()) { it.getResourcesPaths() } - val xmlFilePaths = resourcesPaths.flatMapTo(mutableListOf()) { path -> - Files.walk(path) - .asSequence() - .filter { it.fileExtension == ".xml" } - } - - val builder = customizeXmlBuilder() - return xmlFilePaths.mapNotNullTo(mutableSetOf()) { path -> - try { - val doc = builder.parse(path.toFile()) - - val hasBeanTagName = doc.documentElement.tagName == "beans" - val hasAttribute = doc.documentElement.getAttribute("xmlns") == SPRING_BEANS_SCHEMA_URL - when { - hasBeanTagName && hasAttribute -> path.toString() - else -> null - } - } catch (e: Exception) { - // `DocumentBuilder.parse` is an unpredictable operation, may have some side effects, we suppress them. - null - } - } - } - - /** - * Creates "safe" xml builder instance. - * - * Using standard `DocumentBuilderFactory.newInstance()` may lead to some problems like - * https://stackoverflow.com/questions/343383/unable-to-parse-xml-file-using-documentbuilder. - * - * We try to solve it in accordance with top-rated recommendation here - * https://stackoverflow.com/questions/155101/make-documentbuilder-parse-ignore-dtd-references. - */ - private fun customizeXmlBuilder(): DocumentBuilder { - val builderFactory = DocumentBuilderFactory.newInstance() - builderFactory.isNamespaceAware = true - - // See documentation https://xerces.apache.org/xerces2-j/features.html - builderFactory.setFeature(SPRING_LOAD_DTD_GRAMMAR_PROPERTY, false) - builderFactory.setFeature(SPRING_LOAD_EXTERNAL_DTD_PROPERTY, false) - - return builderFactory.newDocumentBuilder() - } - - fun updateSourceRootHistory(path: String) { - sourceRootHistory.apply { - remove(path)//Remove existing entry if any - add(path)//Add the most recent entry to the end to be brought first at sorting, see org.utbot.intellij.plugin.ui.utils.RootUtilsKt.getSortedTestRoots - while (size > HISTORY_LIMIT) removeFirst() - } - } -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/settings/CommonSettings.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/settings/CommonSettings.kt deleted file mode 100644 index 4f8d9573..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/settings/CommonSettings.kt +++ /dev/null @@ -1,293 +0,0 @@ -@file:Suppress("MemberVisibilityCanBePrivate") - -package org.utbot.intellij.plugin.settings - -import com.intellij.openapi.components.PersistentStateComponent -import com.intellij.openapi.components.State -import com.intellij.openapi.components.Storage -import com.intellij.openapi.project.Project -import com.intellij.util.xmlb.Converter -import com.intellij.util.xmlb.annotations.OptionTag -import java.io.IOException -import java.nio.file.Files -import java.nio.file.Paths -import org.utbot.common.FileUtil -import org.utbot.engine.Mocker -import org.utbot.framework.UtSettings -import org.utbot.framework.codegen.domain.ForceStaticMocking -import org.utbot.framework.codegen.domain.HangingTestsTimeout -import org.utbot.framework.codegen.domain.Junit4 -import org.utbot.framework.codegen.domain.Junit5 -import org.utbot.framework.codegen.domain.MockitoStaticMocking -import org.utbot.framework.codegen.domain.NoStaticMocking -import org.utbot.framework.codegen.domain.ParametrizedTestSource -import org.utbot.framework.codegen.domain.RuntimeExceptionTestsBehaviour -import org.utbot.framework.codegen.domain.StaticsMocking -import org.utbot.framework.codegen.domain.TestFramework -import org.utbot.framework.codegen.domain.TestNg -import org.utbot.framework.plugin.api.ClassId -import org.utbot.framework.plugin.api.CodeGenerationSettingItem -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.framework.plugin.api.JavaDocCommentStyle -import org.utbot.framework.plugin.api.MockFramework -import org.utbot.framework.plugin.api.MockStrategyApi -import org.utbot.framework.plugin.api.TreatOverflowAsError -import java.util.concurrent.CompletableFuture -import kotlin.reflect.KClass -import org.utbot.common.isWindows -import org.utbot.framework.SummariesGenerationType -import org.utbot.framework.codegen.domain.UnknownTestFramework -import org.utbot.framework.plugin.api.SpringTestType -import org.utbot.framework.plugin.api.isSummarizationCompatible - -@State( - name = "UtBotSettings", - storages = [Storage("utbot-settings.xml")] -) -class Settings(val project: Project) : PersistentStateComponent { - data class State( - var sourceRootHistory: MutableList = mutableListOf(), - var codegenLanguage: CodegenLanguage = CodegenLanguage.defaultItem, - @OptionTag(converter = TestFrameworkConverter::class) - var testFramework: TestFramework = TestFramework.defaultItem, - var mockStrategy: MockStrategyApi = MockStrategyApi.defaultItem, - var mockFramework: MockFramework = MockFramework.defaultItem, - @OptionTag(converter = StaticsMockingConverter::class) - var staticsMocking: StaticsMocking = StaticsMocking.defaultItem, - var runtimeExceptionTestsBehaviour: RuntimeExceptionTestsBehaviour = RuntimeExceptionTestsBehaviour.defaultItem, - @OptionTag(converter = HangingTestsTimeoutConverter::class) - var hangingTestsTimeout: HangingTestsTimeout = HangingTestsTimeout(), - var useTaintAnalysis: Boolean = false, - var runInspectionAfterTestGeneration: Boolean = true, - var forceStaticMocking: ForceStaticMocking = ForceStaticMocking.defaultItem, - var treatOverflowAsError: TreatOverflowAsError = TreatOverflowAsError.defaultItem, - var parametrizedTestSource: ParametrizedTestSource = ParametrizedTestSource.defaultItem, - var classesToMockAlways: Array = Mocker.defaultSuperClassesToMockAlwaysNames.toTypedArray(), - var springTestType: SpringTestType = SpringTestType.defaultItem, - var fuzzingValue: Double = 0.05, - var runGeneratedTestsWithCoverage: Boolean = false, - var commentStyle: JavaDocCommentStyle = JavaDocCommentStyle.defaultItem, - var summariesGenerationType: SummariesGenerationType = UtSettings.summaryGenerationType, - var generationTimeoutInMillis: Long = UtSettings.utBotGenerationTimeoutInMillis, - var enableExperimentalLanguagesSupport: Boolean = false, - ) { - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as State - - if (sourceRootHistory != other.sourceRootHistory) return false - if (codegenLanguage != other.codegenLanguage) return false - if (testFramework != other.testFramework) return false - if (mockStrategy != other.mockStrategy) return false - if (mockFramework != other.mockFramework) return false - if (staticsMocking != other.staticsMocking) return false - if (runtimeExceptionTestsBehaviour != other.runtimeExceptionTestsBehaviour) return false - if (hangingTestsTimeout != other.hangingTestsTimeout) return false - if (useTaintAnalysis != other.useTaintAnalysis) return false - if (runInspectionAfterTestGeneration != other.runInspectionAfterTestGeneration) return false - if (forceStaticMocking != other.forceStaticMocking) return false - if (treatOverflowAsError != other.treatOverflowAsError) return false - if (parametrizedTestSource != other.parametrizedTestSource) return false - if (!classesToMockAlways.contentEquals(other.classesToMockAlways)) return false - if (springTestType != other.springTestType) return false - if (fuzzingValue != other.fuzzingValue) return false - if (runGeneratedTestsWithCoverage != other.runGeneratedTestsWithCoverage) return false - if (commentStyle != other.commentStyle) return false - if (summariesGenerationType != other.summariesGenerationType) return false - if (generationTimeoutInMillis != other.generationTimeoutInMillis) return false - - return true - } - override fun hashCode(): Int { - var result = sourceRootHistory.hashCode() - result = 31 * result + codegenLanguage.hashCode() - result = 31 * result + testFramework.hashCode() - result = 31 * result + mockStrategy.hashCode() - result = 31 * result + mockFramework.hashCode() - result = 31 * result + staticsMocking.hashCode() - result = 31 * result + runtimeExceptionTestsBehaviour.hashCode() - result = 31 * result + hangingTestsTimeout.hashCode() - result = 31 * result + useTaintAnalysis.hashCode() - result = 31 * result + runInspectionAfterTestGeneration.hashCode() - result = 31 * result + forceStaticMocking.hashCode() - result = 31 * result + treatOverflowAsError.hashCode() - result = 31 * result + parametrizedTestSource.hashCode() - result = 31 * result + classesToMockAlways.contentHashCode() - result = 31 * result + springTestType.hashCode() - result = 31 * result + fuzzingValue.hashCode() - result = 31 * result + if (runGeneratedTestsWithCoverage) 1 else 0 - result = 31 * result + summariesGenerationType.hashCode() - result = 31 * result + generationTimeoutInMillis.hashCode() - - return result - } - } - - private var state = State() - val sourceRootHistory: MutableList get() = state.sourceRootHistory - - val codegenLanguage: CodegenLanguage get() = state.codegenLanguage - - val testFramework: TestFramework get() = state.testFramework - - val mockStrategy: MockStrategyApi get() = state.mockStrategy - - val runtimeExceptionTestsBehaviour: RuntimeExceptionTestsBehaviour get() = state.runtimeExceptionTestsBehaviour - - var hangingTestsTimeout: HangingTestsTimeout - get() = state.hangingTestsTimeout - set(value) { - state.hangingTestsTimeout = value - } - - var generationTimeoutInMillis : Long - get() = state.generationTimeoutInMillis - set(value) { - state.generationTimeoutInMillis = value - } - - val staticsMocking: StaticsMocking get() = state.staticsMocking - - val useTaintAnalysis: Boolean get() = state.useTaintAnalysis - - val runInspectionAfterTestGeneration: Boolean get() = state.runInspectionAfterTestGeneration - - val forceStaticMocking: ForceStaticMocking get() = state.forceStaticMocking - - val experimentalLanguagesSupport: Boolean get () = state.enableExperimentalLanguagesSupport - - val treatOverflowAsError: TreatOverflowAsError get() = state.treatOverflowAsError - - val parametrizedTestSource: ParametrizedTestSource get() = state.parametrizedTestSource - - val classesToMockAlways: Set get() = state.classesToMockAlways.toSet() - - val springTestType: SpringTestType get() = state.springTestType - - val javaDocCommentStyle: JavaDocCommentStyle get() = state.commentStyle - - var fuzzingValue: Double - get() = state.fuzzingValue - set(value) { - state.fuzzingValue = value.coerceIn(0.0, 1.0) - } - var runGeneratedTestsWithCoverage = state.runGeneratedTestsWithCoverage - - var enableSummariesGeneration = state.summariesGenerationType - - fun setClassesToMockAlways(classesToMockAlways: List) { - state.classesToMockAlways = classesToMockAlways.distinct().toTypedArray() - } - - override fun getState(): State = state - - override fun initializeComponent() { - super.initializeComponent() - CompletableFuture.runAsync { - FileUtil.clearTempDirectory(UtSettings.daysLimitForTempFiles) - - // Don't replace file with custom user's settings - if (UtSettings.areCustomized()) return@runAsync - // In case settings.properties file is not yet presented - // (or stays with all default template values) in {homeDir}/.utbot folder - // we copy (or re-write) it from plugin resource file - val settingsClass = javaClass - Paths.get(UtSettings.defaultSettingsPath()).toFile().apply { - try { - this.parentFile.apply { - if (this.mkdirs() && isWindows) Files.setAttribute(this.toPath(), "dos:hidden", true) - } - settingsClass.getResource("../../../../../settings.properties")?.let { - this.writeBytes(it.openStream().readBytes()) - } - } catch (ignored: IOException) { - } - } - } - } - - override fun loadState(state: State) { - this.state = state - if (!state.codegenLanguage.isSummarizationCompatible()) { - this.state.summariesGenerationType = SummariesGenerationType.NONE - } - } - - // these classes are all ref types so we can use only names here - fun chosenClassesToMockAlways(): Set = state.classesToMockAlways.mapTo(mutableSetOf()) { ClassId(it) } - - fun setProviderByLoader(loader: KClass<*>, provider: CodeGenerationSettingItem) = - when (loader) { - // TODO: service loaders for test generator and code generator are removed from settings temporarily -// TestGeneratorServiceLoader::class -> setGeneratorName(provider) -// CodeGeneratorServiceLoader::class -> setCodeGeneratorName(provider) - MockStrategyApi::class -> state.mockStrategy = provider as MockStrategyApi - CodegenLanguage::class -> state.codegenLanguage = provider as CodegenLanguage - RuntimeExceptionTestsBehaviour::class -> { - state.runtimeExceptionTestsBehaviour = provider as RuntimeExceptionTestsBehaviour - } - ForceStaticMocking::class -> state.forceStaticMocking = provider as ForceStaticMocking - TreatOverflowAsError::class -> { - // TODO: SAT-1566 - state.treatOverflowAsError = provider as TreatOverflowAsError - UtSettings.treatOverflowAsError = provider == TreatOverflowAsError.AS_ERROR - } - JavaDocCommentStyle::class -> state.commentStyle = provider as JavaDocCommentStyle - // TODO: add error processing - else -> error("Unknown class [$loader] to map value [$provider]") - } - - fun providerNameByServiceLoader(loader: KClass<*>): CodeGenerationSettingItem = - when (loader) { - // TODO: service loaders for test generator and code generator are removed from settings temporarily -// TestGeneratorServiceLoader::class -> generatorName -// CodeGeneratorServiceLoader::class -> codeGeneratorName - MockStrategyApi::class -> mockStrategy - CodegenLanguage::class -> codegenLanguage - RuntimeExceptionTestsBehaviour::class -> runtimeExceptionTestsBehaviour - ForceStaticMocking::class -> forceStaticMocking - TreatOverflowAsError::class -> treatOverflowAsError - JavaDocCommentStyle::class -> javaDocCommentStyle - // TODO: add error processing - else -> error("Unknown service loader: $loader") - } -} - -// use it to serialize testFramework in State -private class TestFrameworkConverter : Converter() { - override fun toString(value: TestFramework): String = value.id - - override fun fromString(value: String): TestFramework = when (value) { - Junit4.id -> Junit4 - Junit5.id -> Junit5 - TestNg.id -> TestNg - else -> UnknownTestFramework(value) - } -} - -// use it to serialize staticsMocking in State -private class StaticsMockingConverter : Converter() { - override fun toString(value: StaticsMocking): String = "$value" - - override fun fromString(value: String): StaticsMocking = when (value) { - NoStaticMocking.id -> NoStaticMocking - MockitoStaticMocking.id -> MockitoStaticMocking - else -> error("Unknown StaticsMocking $value") - } -} - -// TODO is it better to use kotlinx.serialization? -// use it to serialize hangingTestsTimeout in State -private class HangingTestsTimeoutConverter : Converter() { - override fun toString(value: HangingTestsTimeout): String = - "HangingTestsTimeout:${value.timeoutMs}" - - override fun fromString(value: String): HangingTestsTimeout { - val arguments = value.substringAfter("HangingTestsTimeout:") - val timeoutMs = arguments.toLong() - return HangingTestsTimeout(timeoutMs) - } -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/settings/TestFrameworkMapper.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/settings/TestFrameworkMapper.kt deleted file mode 100644 index 79c290b8..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/settings/TestFrameworkMapper.kt +++ /dev/null @@ -1,9 +0,0 @@ -package org.utbot.intellij.plugin.settings - -import org.utbot.framework.codegen.domain.TestFramework - -interface TestFrameworkMapper { - fun toString(value: TestFramework): String - fun fromString(value: String): TestFramework - fun handleUnknown(testFramework: TestFramework): TestFramework -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/Notifications.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/Notifications.kt deleted file mode 100644 index 97cc93c2..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/Notifications.kt +++ /dev/null @@ -1,207 +0,0 @@ -package org.utbot.intellij.plugin.ui - -import com.intellij.notification.Notification -import com.intellij.notification.NotificationDisplayType -import com.intellij.notification.NotificationGroup -import com.intellij.notification.NotificationListener -import com.intellij.notification.NotificationType -import com.intellij.openapi.actionSystem.ActionManager -import com.intellij.openapi.actionSystem.AnAction -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.keymap.KeymapUtil -import com.intellij.openapi.module.Module -import com.intellij.openapi.project.Project -import com.intellij.openapi.startup.StartupActivity -import com.intellij.openapi.wm.WindowManager -import com.intellij.ui.GotItTooltip -import javax.swing.event.HyperlinkEvent -import mu.KotlinLogging - -abstract class Notifier { - protected val logger = KotlinLogging.logger {} - - protected abstract val notificationType: NotificationType - protected abstract val displayId: String - protected open fun content(project: Project?, module: Module?, info: String): String = info - - open fun notify(info: String, project: Project? = null, module: Module? = null) { - notify(info, project, module, AnAction.EMPTY_ARRAY) - } - - open fun notify(info: String, project: Project? = null, module: Module? = null, actions: Array) { - notificationGroup - .createNotification(content(project, module, info), notificationType) - .apply { actions.forEach { this.addAction(it) } } - .notify(project) - } - - protected open val notificationDisplayType = NotificationDisplayType.BALLOON - - protected val notificationGroup: NotificationGroup - get() = NotificationGroup.findRegisteredGroup(displayId) ?: NotificationGroup(displayId, notificationDisplayType) -} - -abstract class WarningNotifier : Notifier() { - override val notificationType: NotificationType = NotificationType.WARNING - final override fun notify(info: String, project: Project?, module: Module?) { - super.notify(info, project, module) - } -} - -abstract class ErrorNotifier : Notifier() { - final override val notificationType: NotificationType = NotificationType.ERROR - - override fun notify(info: String, project: Project?, module: Module?) { - super.notify(info, project, module) - error(content(project, module, info)) - } -} - -object CommonErrorNotifier : ErrorNotifier() { - override val displayId: String = "UTBot plugin errors" -} - -class CommonLoggingNotifier(val type :NotificationType = NotificationType.WARNING) : Notifier() { - override val displayId: String = "UTBot plugin errors" - override val notificationType = type - - override fun notify(info: String, project: Project?, module: Module?) { - super.notify(info, project, module) - when (notificationType) { - NotificationType.WARNING -> logger.warn(content(project, module, info)) - NotificationType.INFORMATION -> logger.info(content(project, module, info)) - else -> logger.error(content(project, module, info)) - } - } -} - -object UnsupportedJdkNotifier : ErrorNotifier() { - override val displayId: String = "Unsupported JDK" - override fun content(project: Project?, module: Module?, info: String): String = - "JDK versions older than 8 are not supported. This project's JDK version is $info" -} - -object InvalidClassNotifier : WarningNotifier() { - override val displayId: String = "Invalid class" - override fun content(project: Project?, module: Module?, info: String): String = - "Generate tests with UnitTestBot for the $info is not supported." -} - -object MissingLibrariesNotifier : WarningNotifier() { - override val displayId: String = "Missing libraries" - override fun content(project: Project?, module: Module?, info: String): String = - "Library $info missing on the test classpath of module ${module?.name}" -} - -@Suppress("unused") -object UnsupportedTestFrameworkNotifier : ErrorNotifier() { - override val displayId: String = "Unsupported test framework" - override fun content(project: Project?, module: Module?, info: String): String = - "Test framework $info is not supported yet" -} - -abstract class UrlNotifier : Notifier() { - - protected abstract val titleText: String - protected abstract val urlOpeningListener: NotificationListener - - override fun notify(info: String, project: Project?, module: Module?) { - notificationGroup.createNotification(content(project, module, info), notificationType) - .setTitle(titleText).setListener(urlOpeningListener).notify(project) - } -} - -abstract class InformationUrlNotifier : UrlNotifier() { - override val notificationType: NotificationType = NotificationType.INFORMATION -} - -abstract class WarningUrlNotifier : UrlNotifier() { - override val notificationType: NotificationType = NotificationType.WARNING -} - -abstract class EventLogNotifier : InformationUrlNotifier() { - override val notificationDisplayType = NotificationDisplayType.NONE -} - -object SarifReportNotifier : EventLogNotifier() { - - override val displayId: String = "SARIF report" - - override val titleText: String = "" // no title - - override val urlOpeningListener: NotificationListener = NotificationListener.UrlOpeningListener(false) -} - -object TestsReportNotifier : InformationUrlNotifier() { - override val displayId: String = "Generated unit tests report" - - override val titleText: String = "UnitTestBot: unit tests generated successfully" - - public override val urlOpeningListener: TestReportUrlOpeningListener = TestReportUrlOpeningListener -} - -// TODO replace inheritance with decorators -object WarningTestsReportNotifier : WarningUrlNotifier() { - override val displayId: String = "Generated unit tests report" - - override val titleText: String = "UnitTestBot: unit tests generated with warnings" - - public override val urlOpeningListener: TestReportUrlOpeningListener = TestReportUrlOpeningListener -} - -object DetailsTestsReportNotifier : EventLogNotifier() { - override val displayId: String = "Test report details" - - override val titleText: String = "Test report details of the unit tests generation via UnitTestBot" - - public override val urlOpeningListener: TestReportUrlOpeningListener = TestReportUrlOpeningListener -} - -/** - * Listener that handles URLs starting with [prefix], like "#utbot/configure-mockito". - */ -object TestReportUrlOpeningListener: NotificationListener.Adapter() { - const val prefix = "#utbot/" - const val mockitoSuffix = "configure-mockito" - const val mockitoInlineSuffix = "mockito-inline" - const val eventLogSuffix = "event-log" - - val callbacks: Map Unit>> = hashMapOf( - Pair(mockitoSuffix, mutableListOf()), - Pair(mockitoInlineSuffix, mutableListOf()), - Pair(eventLogSuffix, mutableListOf()), - ) - - private val defaultListener = NotificationListener.UrlOpeningListener(false) - - override fun hyperlinkActivated(notification: Notification, e: HyperlinkEvent) { - val description = e.description - if (description.startsWith(prefix)) { - handleDescription(description.removePrefix(prefix)) - } else { - return defaultListener.hyperlinkUpdate(notification, e) - } - } - - private fun handleDescription(descriptionSuffix: String) = - callbacks[descriptionSuffix]?.map { it() } ?: error("No such command with #utbot prefix: $descriptionSuffix") -} - -object GotItTooltipActivity : StartupActivity { - private const val KEY = "UTBot.GotItMessageWasShown" - override fun runActivity(project: Project) { - ApplicationManager.getApplication().invokeLater { - val shortcut = ActionManager.getInstance() - .getKeyboardShortcut("org.utbot.intellij.plugin.ui.actions.GenerateTestsAction")?:return@invokeLater - val shortcutText = KeymapUtil.getShortcutText(shortcut) - val message = GotItTooltip(KEY, - "
    You can get test coverage for methods,
    Java classes, and even for whole source roots
    with $shortcutText
    ") - .withHeader("UnitTestBot is ready!") - if (message.canShow()) { - WindowManager.getInstance().getFrame(project)?.rootPane?.let { - message.show(it, GotItTooltip.BOTTOM_LEFT) - } - } - } - } -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/CodeGenerationSettingItemRenderer.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/CodeGenerationSettingItemRenderer.kt deleted file mode 100644 index 48e46a1e..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/CodeGenerationSettingItemRenderer.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.utbot.intellij.plugin.ui.components - -import java.awt.Component -import javax.swing.DefaultListCellRenderer -import javax.swing.JList -import org.utbot.framework.plugin.api.CodeGenerationSettingItem - -class CodeGenerationSettingItemRenderer : DefaultListCellRenderer() { - override fun getListCellRendererComponent( - list: JList<*>?, - value: Any?, - index: Int, - isSelected: Boolean, - cellHasFocus: Boolean - ): Component { - return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus).apply { - if (value is CodeGenerationSettingItem) { - text = value.displayName - } - } - } -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt deleted file mode 100644 index 618df2cf..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestFolderComboWithBrowseButton.kt +++ /dev/null @@ -1,126 +0,0 @@ -package org.utbot.intellij.plugin.ui.components - -import com.intellij.openapi.application.ReadAction -import com.intellij.openapi.fileChooser.FileChooser -import com.intellij.openapi.fileChooser.FileChooserDescriptor -import com.intellij.openapi.module.ModuleUtil -import com.intellij.openapi.project.guessProjectDir -import com.intellij.openapi.ui.ComboBox -import com.intellij.openapi.ui.ComponentWithBrowseButton -import com.intellij.openapi.ui.FixedSizeButton -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.openapi.vfs.newvfs.impl.FakeVirtualFile -import com.intellij.ui.ColoredListCellRenderer -import com.intellij.ui.SimpleTextAttributes -import com.intellij.util.ArrayUtil -import com.intellij.util.ui.UIUtil -import java.io.File -import javax.swing.DefaultComboBoxModel -import javax.swing.JList -import org.utbot.common.PathUtil -import org.utbot.intellij.plugin.models.BaseTestsModel -import org.utbot.intellij.plugin.ui.utils.ITestSourceRoot -import org.utbot.intellij.plugin.ui.utils.addDedicatedTestRoot -import org.utbot.intellij.plugin.ui.utils.isBuildWithGradle - -private const val SET_TEST_FOLDER = "set test folder" - -class TestFolderComboWithBrowseButton(private val model: BaseTestsModel) : - ComponentWithBrowseButton>(ComboBox(), null) { - - - init { - if (model.project.isBuildWithGradle) { - setButtonEnabled(false) - UIUtil.findComponentOfType(this, FixedSizeButton::class.java)?.toolTipText = "Please define custom test source root via Gradle" - } - childComponent.isEditable = false - childComponent.renderer = object : ColoredListCellRenderer() { - override fun customizeCellRenderer( - list: JList, - value: Any?, - index: Int, - selected: Boolean, - hasFocus: Boolean - ) { - if (value is String) { - append(value) - return - } - if (value is VirtualFile) { - append(formatUrl(value, model)) - } - if (value is FakeVirtualFile) { - append(" (will be created)", SimpleTextAttributes.ERROR_ATTRIBUTES) - } - } - } - - val testRoots = model.getSortedTestRoots() - - // this method is blocked for Gradle, where multiple test modules can exist - model.testModule.addDedicatedTestRoot(testRoots, model.codegenLanguage) - - if (testRoots.isNotEmpty()) { - configureRootsCombo(testRoots) - } else { - newItemList(setOf(SET_TEST_FOLDER)) - } - - addActionListener { - val testSourceRoot = chooseTestRoot(model) - testSourceRoot?.let { - model.setSourceRootAndFindTestModule(it) - - if (childComponent.itemCount == 1 && childComponent.selectedItem == SET_TEST_FOLDER) { - newItemList(setOf(it)) - } else { - //Prepend and select newly added test root - val testRootItems = linkedSetOf(it) - testRootItems += (0 until childComponent.itemCount).map { i -> childComponent.getItemAt(i) as VirtualFile} - newItemList(testRootItems) - } - } - } - } - - private fun chooseTestRoot(model: BaseTestsModel): VirtualFile? = - ReadAction.compute { - val desc = object:FileChooserDescriptor(false, true, false, false, false, false) { - override fun isFileSelectable(file: VirtualFile?): Boolean { - return file != null && ModuleUtil.findModuleForFile(file, model.project) != null && super.isFileSelectable(file) - } - } - val initialFile = model.project.guessProjectDir() - - val files = FileChooser.chooseFiles(desc, model.project, initialFile) - files.singleOrNull() - } - - private fun configureRootsCombo(testRoots: List) { - val selectedRoot = testRoots.first() - - // do not update model.testModule here, because fake test source root could have been chosen - model.testSourceRoot = selectedRoot.dir - newItemList(testRoots.mapNotNull { it.dir }.toSet()) - } - - private fun newItemList(comboItems: Set) { - childComponent.model = DefaultComboBoxModel(ArrayUtil.toObjectArray(comboItems)) - } - - private fun formatUrl(virtualFile: VirtualFile, model: BaseTestsModel): String { - var directoryUrl = if (virtualFile is FakeVirtualFile) { - virtualFile.parent.presentableUrl + File.separatorChar + virtualFile.name - } else { - virtualFile.presentableUrl - } - @Suppress("DEPRECATION") - val projectHomeUrl = model.project.baseDir.presentableUrl - - PathUtil.safeRelativize(projectHomeUrl, directoryUrl) - ?.let { directoryUrl = ".../$it" } - - return directoryUrl - } -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestSourceDirectoryChooser.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestSourceDirectoryChooser.kt deleted file mode 100644 index 8876815f..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/components/TestSourceDirectoryChooser.kt +++ /dev/null @@ -1,57 +0,0 @@ -package org.utbot.intellij.plugin.ui.components - -import com.intellij.openapi.fileChooser.FileChooserDescriptor -import com.intellij.openapi.project.Project -import com.intellij.openapi.project.guessProjectDir -import com.intellij.openapi.roots.ProjectFileIndex -import com.intellij.openapi.ui.TextBrowseFolderListener -import com.intellij.openapi.ui.TextFieldWithBrowseButton -import com.intellij.openapi.ui.ValidationInfo -import com.intellij.openapi.vfs.VirtualFile -import java.nio.file.Paths -import org.utbot.common.PathUtil.replaceSeparator -import org.utbot.intellij.plugin.models.BaseTestsModel - -class TestSourceDirectoryChooser( - val model: BaseTestsModel, - file: VirtualFile? = null -) : TextFieldWithBrowseButton() { - private val projectRoot = file - ?.let { getContentRoot(model.project, file) } - ?: model.project.guessProjectDir() - ?: error("Source file lies outside of a module") - - init { - val descriptor = FileChooserDescriptor( - false, - true, - false, - false, - false, - false - ) - descriptor.setRoots(projectRoot) - addBrowseFolderListener( - TextBrowseFolderListener(descriptor, model.project) - ) - text = replaceSeparator(Paths.get(projectRoot.path, defaultDirectory).toString()) - } - - fun validatePath(): ValidationInfo? { - val typedPath = Paths.get(text).toAbsolutePath() - return if (typedPath.startsWith(replaceSeparator(projectRoot.path))) { - defaultDirectory = Paths.get(projectRoot.path).relativize(typedPath).toString() - null - } else - ValidationInfo("Specified directory lies outside of the project", this) - } - - private fun getContentRoot(project: Project, file: VirtualFile): VirtualFile { - return ProjectFileIndex.getInstance(project) - .getContentRootForFile(file) ?: error("Source file lies outside of a module") - } - - companion object { - private var defaultDirectory = "utbot_tests" - } -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/DialogWindowUtils.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/DialogWindowUtils.kt deleted file mode 100644 index c462a1a7..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/DialogWindowUtils.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.ui.ColoredListCellRenderer -import com.intellij.ui.SimpleTextAttributes -import org.utbot.framework.codegen.domain.TestFramework -import javax.swing.JList - -fun createTestFrameworksRenderer(additionalText: String): ColoredListCellRenderer { - return object : ColoredListCellRenderer() { - override fun customizeCellRenderer( - list: JList, value: TestFramework, - index: Int, selected: Boolean, hasFocus: Boolean - ) { - this.append(value.displayName, SimpleTextAttributes.REGULAR_ATTRIBUTES) - if (!value.isInstalled) { - this.append(additionalText, SimpleTextAttributes.ERROR_ATTRIBUTES) - } - } - } -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ErrorUtils.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ErrorUtils.kt deleted file mode 100644 index 05472409..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ErrorUtils.kt +++ /dev/null @@ -1,17 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.openapi.application.invokeLater -import com.intellij.openapi.project.Project -import com.intellij.openapi.ui.Messages - -fun showErrorDialogLater(project: Project, message: String, title: String) { - invokeLater { - Messages.showErrorDialog(project, message, title) - } -} - -fun showWarningDialogLater(project: Project, message: String, title: String) { - invokeLater { - Messages.showWarningDialog(project, message, title) - } -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt deleted file mode 100644 index 27e2a71d..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/ModuleUtils.kt +++ /dev/null @@ -1,287 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import org.utbot.common.PathUtil.toPath -import org.utbot.common.WorkaroundReason -import org.utbot.common.workaround -import org.utbot.framework.plugin.api.CodegenLanguage -import com.intellij.openapi.command.WriteCommandAction -import com.intellij.openapi.externalSystem.model.ProjectSystemId -import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil -import com.intellij.openapi.module.Module -import com.intellij.openapi.module.ModuleManager -import com.intellij.openapi.module.ModuleUtilCore -import com.intellij.openapi.project.Project -import com.intellij.openapi.project.guessModuleDir -import com.intellij.openapi.roots.ContentEntry -import com.intellij.openapi.roots.ModifiableRootModel -import com.intellij.openapi.roots.ModuleRootManager -import com.intellij.openapi.roots.SourceFolder -import com.intellij.openapi.roots.TestModuleProperties -import com.intellij.openapi.vfs.VfsUtil -import com.intellij.openapi.vfs.VfsUtilCore -import com.intellij.openapi.vfs.VirtualFile -import com.intellij.openapi.vfs.newvfs.impl.FakeVirtualFile -import com.intellij.util.PathUtil.getParentPath -import java.nio.file.Path -import mu.KotlinLogging -import org.jetbrains.jps.model.java.JavaResourceRootType -import org.jetbrains.jps.model.module.JpsModuleSourceRootType -import org.jetbrains.kotlin.config.KotlinFacetSettingsProvider -import org.jetbrains.kotlin.config.TestResourceKotlinRootType -import org.jetbrains.kotlin.platform.TargetPlatformVersion - -private val logger = KotlinLogging.logger {} - -interface ITestSourceRoot { - val dirPath: String - val dirName: String - val dir: VirtualFile? - val expectedLanguage : CodegenLanguage -} - -class TestSourceRoot(override val dir: VirtualFile, override val expectedLanguage: CodegenLanguage) : ITestSourceRoot { - override val dirPath: String = dir.toNioPath().toString() - override val dirName: String = dir.name - - override fun toString() = dirPath - - override fun equals(other: Any?) = - other is TestSourceRoot && dir == other.dir && expectedLanguage == other.expectedLanguage - - override fun hashCode() = 31 * dir.hashCode() + expectedLanguage.hashCode() -} - -/** - * @return jvm target version of the module - */ -fun Module.kotlinTargetPlatform(): TargetPlatformVersion { - val facetSettingsProvider = KotlinFacetSettingsProvider.getInstance(this.project) - ?: error("No facet settings for module $this") - val moduleFacetSettings = facetSettingsProvider.getInitializedSettings(this) - - return moduleFacetSettings.targetPlatform - ?.componentPlatforms - ?.map { it.targetPlatformVersion } - ?.singleOrNull() ?: error("Can't determine target platform for module $this") -} - -/** - * Gets paths to project resources source roots. - * - * E.g. src/main/resources - */ -fun Module.getResourcesPaths(): List = - ModuleRootManager.getInstance(this) - .contentEntries - .flatMap { it.sourceFolders.toList() } - .filter { it.rootType is JavaResourceRootType && !it.isTestSource } - .mapNotNull { it.file?.toNioPath() } - -/** - * Gets a path to test resources source root. - * - * If no roots exist, our suggestion is a folder named "resources" in the entry root. - */ -fun Module.getOrCreateTestResourcesPath(testSourceRoot: VirtualFile?): Path { - val testResourcesUrl = getOrCreateTestResourcesUrl(this, testSourceRoot) - return VfsUtilCore.urlToPath(testResourcesUrl).toPath() -} - -/** - * Gets a path to Sarif reports directory or creates it. - */ -fun Module.getOrCreateSarifReportsPath(testSourceRoot: VirtualFile?): Path { - val testResourcesPath = this.getOrCreateTestResourcesPath(testSourceRoot) - return "$testResourcesPath/utbot-sarif-report/".toPath() -} - -/** - * Find test modules by current source module. - */ -fun Module.testModules(project: Project): List { - var testModules = findPotentialModulesForTests(project, this) - val testRootUrls = testModules.flatMap { it.suitableTestSourceRoots() } - - //if no suitable module for tests is found, create tests in the same root - if (testRootUrls.isEmpty() && testModules.flatMap { it.suitableTestSourceFolders() }.isEmpty()) { - testModules = listOf(this) - } - return testModules -} - -private fun findPotentialModulesForTests(project: Project, srcModule: Module): List { - val modules = mutableListOf() - for (module in ModuleManager.getInstance(project).modules) { - if (srcModule == TestModuleProperties.getInstance(module).productionModule) { - modules += module - } - } - if (modules.isNotEmpty()) return modules - - if (srcModule.suitableTestSourceFolders().isEmpty()) { - val modulesWithTestRoot = mutableSetOf().also { - ModuleUtilCore.collectModulesDependsOn(srcModule, it) - it.remove(srcModule) - }.filter { it.suitableTestSourceFolders().isNotEmpty() } - - if (modulesWithTestRoot.size == 1) return modulesWithTestRoot - } - return listOf(srcModule) -} - -/** - * Finds all suitable test root virtual files. - */ -fun Module.suitableTestSourceRoots(): List { - val sourceRootsInModule = suitableTestSourceFolders().mapNotNull { it.testSourceRoot } - - if (sourceRootsInModule.isNotEmpty()) { - return sourceRootsInModule - } - - //suggest choosing from all dependencies modules - val dependentModules = mutableSetOf() - ModuleUtilCore.collectModulesDependsOn(this, dependentModules) - - return dependentModules - .flatMap { it.suitableTestSourceFolders() } - .mapNotNull { it.testSourceRoot } -} - -private val SourceFolder.testSourceRoot:TestSourceRoot? - get() { - val file = file - val expectedLanguage = expectedLanguageForTests - if (file != null && expectedLanguage != null) - return TestSourceRoot(file, expectedLanguage) - return null - } - -private fun Module.suitableTestSourceFolders(): List { - val sourceFolders = ModuleRootManager.getInstance(this) - .contentEntries - .flatMap { it.sourceFolders.toList() } - .filterNotNull() - - return sourceFolders - .filterNot { it.isForGeneratedSources() } - .filter { it.isTestSource } -} - -private val GRADLE_SYSTEM_ID = ProjectSystemId("GRADLE") - -val Project.isBuildWithGradle get() = - ModuleManager.getInstance(this).modules.any { - ExternalSystemApiUtil.isExternalSystemAwareModule(GRADLE_SYSTEM_ID, it) - } - -const val dedicatedTestSourceRootName = "utbot_tests" - -fun Module.addDedicatedTestRoot(testSourceRoots: MutableList, language: CodegenLanguage): VirtualFile? { - // Don't suggest new test source roots for a Gradle project where 'unexpected' test roots won't work - if (project.isBuildWithGradle) return null - // Dedicated test root already exists - if (testSourceRoots.any { root -> root.dir?.name == dedicatedTestSourceRootName }) return null - - val moduleInstance = ModuleRootManager.getInstance(this) - val testFolder = moduleInstance.contentEntries.flatMap { it.sourceFolders.toList() } - .firstOrNull { it.rootType in testSourceRootTypes } - (testFolder?.let { testFolder.file?.parent } - ?: testFolder?.contentEntry?.file ?: this.guessModuleDir())?.let { - val file = FakeVirtualFile(it, dedicatedTestSourceRootName) - testSourceRoots.add(TestSourceRoot(file, language)) - // We return "true" IFF it's case of not yet created fake directory - return if (VfsUtil.findRelativeFile(it, dedicatedTestSourceRootName) == null) file else null - } - return null -} - -private const val resourcesSuffix = "/resources" - -private fun getOrCreateTestResourcesUrl(module: Module, testSourceRoot: VirtualFile?): String { - val rootModel = ModuleRootManager.getInstance(module).modifiableModel - try { - val sourceFolders = rootModel.contentEntries.flatMap { it.sourceFolders.toList() } - - val testResourcesFolder = sourceFolders - .filter { sourceFolder -> - sourceFolder.rootType in testResourceRootTypes && !sourceFolder.isForGeneratedSources() - } - // taking the source folder that has the maximum common prefix - // with `testSourceRoot`, which was selected by the user - .maxByOrNull { sourceFolder -> - val sourceFolderPath = sourceFolder.file?.path ?: "" - val testSourceRootPath = testSourceRoot?.path ?: "" - sourceFolderPath.commonPrefixWith(testSourceRootPath).length - } - if (testResourcesFolder != null) { - return testResourcesFolder.url - } - - val testFolder = sourceFolders.firstOrNull { it.rootType in testSourceRootTypes } - val contentEntry = testFolder?.getModifiableContentEntry() ?: rootModel.contentEntries.first() - - val parentFolderUrl = testFolder?.let { getParentPath(testFolder.url) } - val testResourcesUrl = - if (parentFolderUrl != null) "${parentFolderUrl}$resourcesSuffix" else "${contentEntry.url}$resourcesSuffix" - - val codegenLanguage = - if (testFolder?.rootType == TestResourceKotlinRootType) CodegenLanguage.KOTLIN else CodegenLanguage.JAVA - - try { - contentEntry.addSourceRootIfAbsent(rootModel, testResourcesUrl, codegenLanguage.testResourcesRootType()) - } catch (e: java.lang.IllegalStateException) { - // Hack to avoid unmodifiable ModuleBridge testModule on Android SAT-1536. - workaround(WorkaroundReason.HACK) { - logger.info("Error during SARIF report generation: $e") - return testFolder!!.url - } - } - - return testResourcesUrl - } finally { - if (!rootModel.isDisposed && rootModel.isWritable) rootModel.dispose() - } -} - -private fun SourceFolder.getModifiableContentEntry() : ContentEntry? { - return ModuleRootManager.getInstance(contentEntry.rootModel.module).modifiableModel.contentEntries.find { entry -> entry.url == url } -} - -fun ContentEntry.addSourceRootIfAbsent( - model: ModifiableRootModel, - sourceRootUrl: String, - type: JpsModuleSourceRootType<*> -) { - getSourceFolders(type).find { it.url == sourceRootUrl }?.apply { - model.dispose() - return - } - WriteCommandAction.runWriteCommandAction(rootModel.module.project) { - try { - VfsUtil.createDirectoryIfMissing(VfsUtilCore.urlToPath(sourceRootUrl)) - addSourceFolder(sourceRootUrl, type) - model.commit() - } catch (e: Exception) { - logger.error { e } - model.dispose() - } - } -} - -private val SourceFolder.expectedLanguageForTests: CodegenLanguage? - get() { - // unfortunately, Gradle creates Kotlin test source root with Java source root type, so type is misleading, - // and we should try looking for name first - if (file?.name == "kotlin") - return CodegenLanguage.KOTLIN - - if (file?.name == "java") - return CodegenLanguage.JAVA - - return when (rootType) { - CodegenLanguage.KOTLIN.testRootType() -> CodegenLanguage.KOTLIN - CodegenLanguage.JAVA.testRootType() -> CodegenLanguage.JAVA - else -> null - } - } \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtils.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtils.kt deleted file mode 100644 index ecba3646..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtils.kt +++ /dev/null @@ -1,113 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import com.intellij.openapi.roots.SourceFolder -import com.intellij.openapi.util.io.FileUtil -import com.intellij.openapi.util.text.StringUtil -import org.jetbrains.jps.model.java.JavaResourceRootProperties -import org.jetbrains.jps.model.java.JavaResourceRootType -import org.jetbrains.jps.model.java.JavaSourceRootProperties -import org.jetbrains.jps.model.java.JavaSourceRootType -import org.jetbrains.jps.model.module.JpsModuleSourceRootType -import org.jetbrains.kotlin.config.ResourceKotlinRootType -import org.jetbrains.kotlin.config.SourceKotlinRootType -import org.jetbrains.kotlin.config.TestResourceKotlinRootType -import org.jetbrains.kotlin.config.TestSourceKotlinRootType -import org.utbot.framework.plugin.api.CodegenLanguage -import org.utbot.intellij.plugin.util.IntelliJApiHelper - -val sourceRootTypes: Set> = setOf(JavaSourceRootType.SOURCE, SourceKotlinRootType) -val testSourceRootTypes: Set> = setOf(JavaSourceRootType.TEST_SOURCE, TestSourceKotlinRootType) -val resourceRootTypes: Set> = setOf(JavaResourceRootType.RESOURCE, ResourceKotlinRootType) -val testResourceRootTypes: Set> = setOf(JavaResourceRootType.TEST_RESOURCE, TestResourceKotlinRootType) - -/** - * Defines test root type for selected codegen language. - */ -fun CodegenLanguage.testRootType(): JpsModuleSourceRootType = - when (this) { - CodegenLanguage.JAVA -> JavaSourceRootType.TEST_SOURCE - CodegenLanguage.KOTLIN -> TestSourceKotlinRootType - else -> TestSourceKotlinRootType - } - -/** - * Defines test resources root type for selected codegen language. - */ -fun CodegenLanguage.testResourcesRootType(): JpsModuleSourceRootType = - when (this) { - CodegenLanguage.JAVA -> JavaResourceRootType.TEST_RESOURCE - CodegenLanguage.KOTLIN -> TestResourceKotlinRootType - else -> TestResourceKotlinRootType - } - -/** - * Generalizes [JavaResourceRootProperties.isForGeneratedSources] for both Java and Kotlin. - * - * Unfortunately, Android Studio has another project model, so we cannot rely on the flag value. - * The only way is to find build/generated substring in the folder path. - */ -fun SourceFolder.isForGeneratedSources(): Boolean { - val properties = jpsElement.getProperties(sourceRootTypes + testSourceRootTypes) - val resourceProperties = jpsElement.getProperties(resourceRootTypes + testResourceRootTypes) - - val markedGeneratedSources = - properties?.isForGeneratedSources == true || resourceProperties?.isForGeneratedSources == true - val androidStudioGeneratedSources = - IntelliJApiHelper.isAndroidStudio() && this.file?.path?.contains("build/generated") == true - - return markedGeneratedSources || androidStudioGeneratedSources -} - -const val SRC_MAIN = "src/main/" - -/** - * Sorting test roots, the main idea is to place 'the best' - * test source root the first and to provide readability in general - * @param allTestRoots are all test roots of a project to be sorted - * @param moduleSourcePaths is list of source roots for the module for which we're going to generate tests. - * The first test source root in the resulting list is expected - * to be the closest one to the module based on module source roots. - * @param codegenLanguage is target generation language - */ -fun getSortedTestRoots( - allTestRoots: MutableList, - sourceRootHistory: List, - moduleSourcePaths: List, - codegenLanguage: CodegenLanguage -): MutableList { - var commonModuleSourceDirectory = FileUtil.toSystemIndependentName(moduleSourcePaths.getCommonPrefix()) - //Remove standard suffix that may prevent exact module path matching - commonModuleSourceDirectory = StringUtil.trimEnd(commonModuleSourceDirectory, SRC_MAIN) - - return allTestRoots.distinct().toMutableList().sortedWith( - compareByDescending { - // Heuristics: Dirs with proper code language should go first - it.expectedLanguage == codegenLanguage - }.thenByDescending { - // Heuristics: Dirs from within module 'common' directory should go first - FileUtil.toSystemIndependentName(it.dirPath).startsWith(commonModuleSourceDirectory) - }.thenByDescending { - // Heuristics: dedicated test source root named 'utbot_tests' should go first - it.dirName == dedicatedTestSourceRootName - }.thenByDescending { - // Recent used root should be handy too - sourceRootHistory.indexOf(it.dirPath) - }.thenBy { - // ABC-sorting - it.dirPath - } - ).toMutableList() -} - - -fun List.getCommonPrefix() : String { - var result = "" - for ((i, s) in withIndex()) { - result = if (i == 0) { - s - } else { - StringUtil.commonPrefix(result, s) - } - } - return result -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/IntelliJApiHelper.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/IntelliJApiHelper.kt deleted file mode 100644 index 98b891ac..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/IntelliJApiHelper.kt +++ /dev/null @@ -1,75 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.ide.plugins.PluginManagerCore -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.application.ModalityState -import com.intellij.openapi.application.runReadAction -import com.intellij.openapi.application.runWriteAction -import com.intellij.openapi.extensions.PluginId -import com.intellij.openapi.progress.ProgressIndicator -import com.intellij.openapi.project.Project -import com.intellij.util.PlatformUtils -import com.intellij.util.ReflectionUtil -import com.intellij.util.concurrency.AppExecutorUtil -import mu.KotlinLogging -import org.utbot.framework.CancellationStrategyType.* -import org.utbot.framework.UtSettings - -/** - * This object is required to encapsulate Android API usage and grant safe access to it. - */ -object IntelliJApiHelper { - private val logger = KotlinLogging.logger {} - enum class Target { THREAD_POOL, READ_ACTION, WRITE_ACTION, EDT_LATER } - - fun run(target: Target, indicator: ProgressIndicator? = null, logMessage : String, runnable: Runnable) { - logger.info { "[${target}]: " + logMessage + - if (indicator != null) ", indicator[${indicator.text}; ${(indicator.fraction * 100).toInt()}%]" else "" } - - if (indicator?.isCanceled == true) { - when (UtSettings.cancellationStrategyType) { - NONE, - SAVE_PROCESSED_RESULTS -> {} - CANCEL_EVERYTHING -> { - logger.info { "Indicator is already cancelled" } - return - } - } - } - - val wrapper = Runnable { - try { - runnable.run() - } catch (e: Exception) { - logger.error(e) { target.toString() } - throw e - } - } - when (target) { - Target.THREAD_POOL -> AppExecutorUtil.getAppExecutorService().submit { wrapper.run() } - Target.READ_ACTION -> runReadAction { wrapper.run() } - Target.WRITE_ACTION -> runWriteAction { wrapper.run() } - Target.EDT_LATER -> ApplicationManager.getApplication().invokeLater( wrapper, ModalityState.NON_MODAL ) - } - } - - private val isAndroidPluginAvailable: Boolean = - !PluginManagerCore.isDisabled(PluginId.getId("org.jetbrains.android")) - - fun isAndroidStudio(): Boolean = - isAndroidPluginAvailable && ("AndroidStudio" == PlatformUtils.getPlatformPrefix()) - - fun androidGradleSDK(project: Project): String? { - if (!isAndroidPluginAvailable) return null - try { - val finderClass = Class.forName("com.android.tools.idea.gradle.util.GradleProjectSettingsFinder") - var method = ReflectionUtil.getMethod(finderClass, "findGradleProjectSettings", Project::class.java) ?: return null - val gradleProjectSettings = method.invoke(project) ?: return null - method = ReflectionUtil.getMethod(gradleProjectSettings.javaClass, "getGradleJvm") ?: return null - val gradleJvm = method.invoke(gradleProjectSettings) - return if (gradleJvm is String) gradleJvm else null - } catch (e: Exception) { - return null - } - } -} diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/PsiClassHelper.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/PsiClassHelper.kt deleted file mode 100644 index 26cd7707..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/PsiClassHelper.kt +++ /dev/null @@ -1,124 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.psi.PsiClass -import com.intellij.psi.PsiMember -import com.intellij.psi.PsiMethod -import com.intellij.psi.SyntheticElement -import com.intellij.psi.JavaPsiFacade -import com.intellij.psi.PsiModifier -import com.intellij.psi.search.GlobalSearchScope -import com.intellij.openapi.project.Project -import com.intellij.refactoring.util.classMembers.MemberInfo -import com.intellij.testIntegration.TestIntegrationUtils -import org.jetbrains.kotlin.asJava.elements.KtLightMember -import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.asJava.elements.isGetter -import org.jetbrains.kotlin.asJava.elements.isSetter -import org.jetbrains.kotlin.psi.KtClass -import org.utbot.common.filterWhen -import org.utbot.framework.UtSettings -import org.utbot.intellij.plugin.models.packageName - -/** - * Used to build binary name from canonical name - * in a similar form which could be obtained by [java.lang.Class.getName] method. - * - * E.g. ```org.example.OuterClass.InnerClass.InnerInnerClass``` -> ```org.example.OuterClass$InnerClass$InnerInnerClass``` - */ -val PsiClass.binaryName: String - get() = - if (packageName.isEmpty()) { - qualifiedName?.replace(".", "$") ?: "" - } else { - val name = - qualifiedName - ?.substringAfter("$packageName.") - ?.replace(".", "$") - ?: error("Binary name construction failed: unable to get qualified name of $this") - "$packageName.$name" - } - -val PsiMember.isAbstract: Boolean - get() = modifierList?.hasModifierProperty(PsiModifier.ABSTRACT)?: false - -val PsiMember.isStatic: Boolean - get() = modifierList?.hasModifierProperty(PsiModifier.STATIC)?: false - -private val PsiMember.isKotlinGetterOrSetter: Boolean - get() { - if (this !is KtLightMethod) - return false - return this.isGetter || this.isSetter - } - -private val PsiMember.isKotlinAndProtected: Boolean - get() = this is KtLightMember<*> && this.hasModifierProperty(PsiModifier.PROTECTED) - -// By now, we think that method in Kotlin is autogenerated iff navigation to its declaration leads to its declaring class -// rather than the method itself (because such methods don't have bodies that we can navigate to) -private val PsiMember.isKotlinAutogeneratedMethod: Boolean - get() = this is KtLightMethod && navigationElement is KtClass - -private val PsiMethod.canBeCalledStatically: Boolean - get() = isStatic || containingClass?.let { it.isStatic && !it.isInterface && !it.isAbstract } ?: throw IllegalStateException("No containing class found for method $this") - -private val PsiMethod.isUntestableMethodOfAbstractOrInterface: Boolean - get() { - val hasAbstractContext = generateSequence(containingClass) { it.containingClass }.any { it.isAbstract || it.isInterface } - return hasAbstractContext && !canBeCalledStatically - } - -private fun Iterable.filterTestableMethods(): List = this - .filterWhen(UtSettings.skipTestGenerationForSyntheticAndImplicitlyDeclaredMethods) { - it.member !is SyntheticElement && !it.member.isKotlinAutogeneratedMethod - } - .filterNot { (it.member as PsiMethod).isUntestableMethodOfAbstractOrInterface } - .filterNot { it.member.isKotlinGetterOrSetter } - .filterNot { it.member.isKotlinAndProtected } - -private val PsiClass.isPrivateOrProtected: Boolean - get() = this.modifierList?.let { - hasModifierProperty(PsiModifier.PRIVATE) || hasModifierProperty(PsiModifier.PROTECTED) - } ?: false - - -// TODO: maybe we need to delete [includeInherited] param here (always false when calling)? -fun PsiClass.extractClassMethodsIncludingNested(includeInherited: Boolean): List { - val ourMethods = TestIntegrationUtils.extractClassMethods(this, includeInherited) - .filterTestableMethods() - - val methodsFromNestedClasses = - innerClasses - .filter { !it.isPrivateOrProtected } - .flatMap { it.extractClassMethodsIncludingNested(includeInherited) } - - return ourMethods + methodsFromNestedClasses -} - -fun PsiClass.extractFirstLevelMembers(includeInherited: Boolean): List { - val methods = TestIntegrationUtils.extractClassMethods(this, includeInherited) - .filterTestableMethods() - val classes = if (includeInherited) - allInnerClasses - else - innerClasses - return methods + classes.filter { !it.isPrivateOrProtected }.map { MemberInfo(it) } -} - -val PsiClass.isVisible: Boolean - get() = generateSequence(this) { it.containingClass }.none { it.isPrivateOrProtected } - -object PsiClassHelper { - /** - * Finds [PsiClass]. - * - * @param name binary name which is converted to canonical name. - */ - fun findClass(name: String, project: Project): PsiClass? { - // Converting name to canonical name - val canonicalName = name.replace("$", ".") - return JavaPsiFacade - .getInstance(project) - .findClass(canonicalName, GlobalSearchScope.projectScope(project)) - } -} \ No newline at end of file diff --git a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/UtSettingsHelper.kt b/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/UtSettingsHelper.kt deleted file mode 100644 index 3f6a400a..00000000 --- a/utbot-ui-commons/src/main/kotlin/org/utbot/intellij/plugin/util/UtSettingsHelper.kt +++ /dev/null @@ -1,31 +0,0 @@ -package org.utbot.intellij.plugin.util - -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.fileEditor.FileEditorManager -import com.intellij.openapi.fileEditor.OpenFileDescriptor -import com.intellij.openapi.project.Project -import com.intellij.openapi.vfs.VfsUtil -import java.io.File -import java.nio.charset.Charset -import org.utbot.framework.UtSettings - -fun showSettingsEditor(project: Project, key: String? = null) { - val ioFile = File(UtSettings.getPath()) - ApplicationManager.getApplication().executeOnPooledThread { - var logicalLine: Int = -1 - key?.let { - logicalLine = ioFile.readLines(Charset.defaultCharset()) - .indexOfFirst { s -> s.startsWith("$key=") or s.startsWith("#$key=") } - } - VfsUtil.findFileByIoFile(ioFile, true)?.let { - val descriptor = if (logicalLine != -1) { - OpenFileDescriptor(project, it, logicalLine, 0) - } else { - OpenFileDescriptor(project, it) - } - ApplicationManager.getApplication().invokeLater { - FileEditorManager.getInstance(project).openTextEditor(descriptor, true) - } - } - } -} diff --git a/utbot-ui-commons/src/test/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtilsTest.kt b/utbot-ui-commons/src/test/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtilsTest.kt deleted file mode 100644 index cbc29510..00000000 --- a/utbot-ui-commons/src/test/kotlin/org/utbot/intellij/plugin/ui/utils/RootUtilsTest.kt +++ /dev/null @@ -1,68 +0,0 @@ -package org.utbot.intellij.plugin.ui.utils - -import org.junit.jupiter.api.Assertions -import org.junit.jupiter.api.Test -import org.utbot.framework.plugin.api.CodegenLanguage - -internal class RootUtilsTest { - internal class MockTestSourceRoot(override val dirPath: String) : ITestSourceRoot { - override val dir = null - override val dirName = dirPath.substring(dirPath.lastIndexOf("/") + 1) - override val expectedLanguage = if (dirName == "java") CodegenLanguage.JAVA else CodegenLanguage.KOTLIN - override fun toString()= dirPath - } - - @Test - fun testCommonPrefix() { - val commonPrefix = listOf( - "/UTBotJavaTest/utbot-framework/src/main/java", - "/UTBotJavaTest/utbot-framework/src/main/kotlin", - "/UTBotJavaTest/utbot-framework/src/main/resources" - ).getCommonPrefix() - Assertions.assertEquals("/UTBotJavaTest/utbot-framework/src/main/", commonPrefix) - Assertions.assertTrue(commonPrefix.endsWith(SRC_MAIN)) - } - - @Test - fun testRootSorting() { - val allTestRoots = mutableListOf( - MockTestSourceRoot("/UTBotJavaTest/utbot-analytics/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-analytics/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-analytics-torch/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-cli/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-framework/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-framework-api/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-framework-api/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-framework-test/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-framework-test/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-java-fuzzing/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-java-fuzzing/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-gradle/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-instrumentation/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-instrumentation/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-instrumentation-tests/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-instrumentation-tests/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-intellij/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-maven/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-sample/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-summary/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-summary-tests/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-core/src/test/java"), - MockTestSourceRoot("/UTBotJavaTest/utbot-core/src/test/kotlin"), - MockTestSourceRoot("/UTBotJavaTest/utbot-rd/src/test/kotlin"), - ) - val moduleSourcePaths = listOf( - "/UTBotJavaTest/utbot-framework/src/main/java", - "/UTBotJavaTest/utbot-framework/src/main/kotlin", - "/UTBotJavaTest/utbot-framework/src/main/resources", - ) - val sortedTestRoots = getSortedTestRoots( - allTestRoots, - listOf("/UTBotJavaTest/utbot-core/src/test/java"), - moduleSourcePaths, - CodegenLanguage.JAVA - ) - Assertions.assertEquals("/UTBotJavaTest/utbot-framework/src/test/java", sortedTestRoots.first().toString()) - Assertions.assertEquals("/UTBotJavaTest/utbot-core/src/test/java", sortedTestRoots[1].toString()) - } -} \ No newline at end of file